Вы хотите set -o pipefail
.
Из страницы справочника Bash:
pipefail
If set, the return value of a pipeline is the value of
the last (rightmost) command to exit with a non-zero status,
or zero if all commands in the pipeline exit successfully.
This option is disabled by default.
У меня есть та же проблема. Я думаю, что equivs был сборкой для создания очень простых пакетов только. Не пакеты с более глубокой исходной структурой каталогов.
Поскольку обходное решение I "исправило" сценарий жемчуга equivs-сборки следующим образом:
/usr/bin/equivs-build
(вокруг строки 70):
die "Cannot parse Files line: '$_'\n" unless m:^\s*(\S+)\s+(\S+)/?\s*$:;
#$install_files{"$2/$1"} = $1;
$install_files{"$2"} = $1; # do not append source path to target path
Теперь Вы указываете все входные и выходные пути с именем файла в файле управления. Т.е.
Files: opt/sounds/test.wav /opt/sounds/test.wav
opt/sounds/test4.wav /opt/sounds/default.wav
С помощью того метода можно использовать произвольную глубокую исходную структуру dir. Как преимущество можно также указать другое целевое имя файла в случае необходимости.
Надежда, которая помогает.
equivs-build
, посмотрите github.com/gioele/createdeb/issues/1#issuecomment-19374130 – gioele 22.08.2013, 17:59