RPM: retornando valores da macro RPM incluída
Esta é uma pergunta de acompanhamento paraRPM: carregando o script bash no% pre scriptlet.
Estou tentando definir algumas funções utilitárias como macros, para que mais tarde eu possa%include
eles ao criar outros pacotes RPM também. Digamos que eu quero ter uma funçãotestfunc()
que eu quero usar para verificar se algo está presente no sistema de destino. Se a condição não for atendida, desejo interromper a execução do meu RPM%pre
scriptlet.
Coisas que tentei:
Definindo uma função bash na macro
common.spec
%define importfunction() (testfunc() { echo "Cancelling installation!" ; exit 1 ; })
package.spec
%include SPECS/common.spec
...
%pre
%importfunction
testfunc
Saída de instalação do RPM
testfunc: comando não encontrado
Saindo diretamente da macro
common.spec
%define testfunc() (echo "Cancelling installation!" ; exit 1)
package.spec
%include SPECS/common.spec
...
%pre
%testfunc
echo "Installation still running :("
Saída de instalação do RPM
Cancelando a instalação!
Instalação ainda em execução :(
O problema é que o%pre
O scriptlet não está saindo neste caso.
Questões
Como posso interromper a execução de%pre
da minha macro?É possível retornar um valor da macro e armazená-los em uma variável durante%pre
?