A fase %install
em um arquivo de especificação de RPM deve criar uma hierarquia de sistema de arquivos que é descompactada em um sistema quando você instala o rpm resultante. Essa hierarquia inteira deve ser criada no diretório %{buildroot}
(AKA $RPM_BUILD_ROOT
) pelos comandos encontrados na seção %install
. Seu conteúdo é inserido textualmente (em expansões de macro RPM) em um script que é interpretado por shell - que é a linha:
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.2kgeNY
Agora, se você deixar a fase% install vazia, o conteúdo do script não será - porque ele inicializa várias coisas que um empacotador provavelmente desejará usar durante a instalação ( $RPM_BUILD_ROOT
é um dos mais importantes).
O que exatamente a inicialização faz depende da distribuição - verifique o conteúdo do pacote rpm ( rpm -ql rpm
), arquivos como /usr/lib/rpm/macros
(podem estar em algum outro lugar do sistema) são bons candidatos para conter macros (RPM) que são expandidos em torno do que você coloca na fase %install
do seu arquivo de especificação.
Dito isso, na maioria das vezes (especialmente com software que usa autotools), a parte principal da fase %install
deve ser
make install DESTDIR=%{buildroot}
A macro %make_install
deve fazer exatamente isso. Algumas distribuições também têm um "atalho" macro semelhante ao RPM, como, e. %makeinstall
no openSUSE , que pode oferecer alguns recursos adicionais sobre o upstream genérico um.