Вообще говоря, вы можете создать функцию, которая сделает это за вас:
myzip() { zip "$1".zip "$1"; }
Затем позвоните myzip filename.txt
и вы получитеfilename.txt.zip
rpmbuild
особо не заботится о текущем каталоге, кроме поиска файлов, переданных ему в качестве аргументов. Все остальное основано на значении макроса _topdir
. rpmbuild
также на самом деле ожидает, что вы будете создавать все с единой структурой каталогов.
Вы можете навсегда определить корень структуры каталогов rpmbuild
для любого конкретного пользователя, сохранив соответствующее значение в~/.rpmmacros
:
%_topdir /path/to/your/data
Или, как вы определили, заменять _topdir
каждый раз, когда вы запускаете rpmbuild
с опцией -D
.
У меня та же проблема, и я использовал следующее решение.
Открыть файл~/.rpmmacros
и измените строку:
%_topdir %(echo $HOME)/rpmbuild
для:
%_topdir %(pwd)
Сейчас:
rpmbuild -ba./SPECS/myFoo.spec
будет работать как исключенный.