Как управлять каталогом 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 ответ:
Вы сами создаете подкаталоги в
%install
или где угодно.Пример: вы хотите установить все ваши файлы в
/opt/mypkg/
, но также хотите файл конфигурации/etc/mypkg.conf
. Итак, в разделе%install
Вы:mkdir -p %{buildroot}/opt/mypkg mkdir -p %{buildroot}/etc
Таким образом, вы воссоздаете дерево, которое хотите установить, все с
%{buildroot}
в качестве эквивалента целевого/
.