rpmbuild использует не текущий рабочий каталог, а домашний каталог пользователя?

Вообще говоря, вы можете создать функцию, которая сделает это за вас:

myzip() { zip "$1".zip "$1"; }

Затем позвоните myzip filename.txtи вы получитеfilename.txt.zip

1
20.11.2019, 16:16
2 ответа

rpmbuild особо не заботится о текущем каталоге, кроме поиска файлов, переданных ему в качестве аргументов. Все остальное основано на значении макроса _topdir. rpmbuildтакже на самом деле ожидает, что вы будете создавать все с единой структурой каталогов.

Вы можете навсегда определить корень структуры каталогов rpmbuildдля любого конкретного пользователя, сохранив соответствующее значение в~/.rpmmacros:

%_topdir /path/to/your/data

Или, как вы определили, заменять _topdirкаждый раз, когда вы запускаете rpmbuildс опцией -D.

2
27.01.2020, 23:29

У меня та же проблема, и я использовал следующее решение.

Открыть файл~/.rpmmacros

и измените строку:

%_topdir %(echo $HOME)/rpmbuild

для:

%_topdir %(pwd)

Сейчас:

rpmbuild -ba./SPECS/myFoo.spec

будет работать как исключенный.

1
26.02.2021, 17:10

Теги

Похожие вопросы