Как управлять каталогом rpmbuild buildroot и install


Меня смущают некоторые каталоги в rpmbuild.

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

Вопросы: как управлять этим каталогом? Какое сборочного окружения означают?

 $ cat 3.spec
 ..
 BuildRoot: /opt/abc
 ..
 %prep
 echo %{buildroot}
 echo  $RPM_BUILD_ROOT   

Что бы я ни задал BuildRoot, я получаю результат, который был определен в /usr/lib/rpm/macros. Если я определю %buildroot в ~/.rpmmacros, я получу результат из него.

2: Как я могу контролировать пункт назначения когда мы устанавливаем пакет rpm? Например: rpm -ivh xxx.rpm, где будут установлены файлы?

1 2

1 ответ:

Вы сами создаете подкаталоги в %install или где угодно.

Пример: вы хотите установить все ваши файлы в /opt/mypkg/ , но также хотите файл конфигурации /etc/mypkg.conf. Итак, в разделе %install Вы:

mkdir -p %{buildroot}/opt/mypkg
mkdir -p %{buildroot}/etc

Таким образом, вы воссоздаете дерево, которое хотите установить, все с %{buildroot} в качестве эквивалента целевого /.