Opções personalizadas durante a instalação do RPM com o rpmbuild

0

Eu gostaria de usar opções personalizadas durante a instalação do RPM. Eu uso o rpmbuild para criar o RPM para que eu tenha o arquivo SPEC.
Posso definir minha própria opção que eu posso usar no arquivo SPEC (por exemplo, rpm -i --r_password=something acme-1.1-1.el7.noarch.rpm e o valor de r_password será colocado em um arquivo - > controlado por na seção %post no Arquivo SPEC)?

    
por Viktor 09.10.2018 / 17:10

1 resposta

0

Não, você não pode. Você pode usar macros em% post. Mas eles são avaliados durante o tempo de compilação e você só pode substituí-lo durante o tempo de compilação:

%{!?foo:%global foo SOME_DEFAULT}

%post
echo %{foo}

A primeira linha define alguns padrões quando a macro foo não está presente.

Então você pode executar:

rpmbuild -ba --define='foo bar' evil.spec

onde você define sua própria macro foo com o conteúdo bar . Depois que o rpm é construído, tudo é colocado na pedra e você não pode mudar o rpm.

Mas você pode fazer algo como:

%post
cat /etc/myconfig.cfg | ... #do something based on content of the file

e o usuário diz para:

echo foo > /etc/myconfig.cfg; rpm -i acme-1.1-1.el7.noarch.rpm
    
por 10.10.2018 / 23:04