Como manter o conteúdo do BuildRoot?


11

O bom e antigo rpm ao criar o pacote em etapas simplesmente manteve o conteúdo do BuildRoot - foi muito útil para mim, porque se algum software fosse difícil de criar, eu poderia verificar o BuildRoot se tudo estiver bem.

Agora, com todas as rpm "aprimoradas" - o conteúdo do BuildRoot é excluído automaticamente, então não consigo mergulhar nele (a etapa de instalação não é tão longa).

Um truque que eu conheço seria adicionar algum tipo de suspensão no final do estágio de instalação às especificações da rpm. Mas isso é feio.

Então - PERGUNTA - como manter o conteúdo do BuildRoot de maneira agradável - em outras palavras, como desativar a exclusão automática de uma vez por todas?

Respostas:


6

Você já tentou usar rpmbuild -binos testes, para que você construa tudo ao longo da %installfase? Isso deve mostrar o que está acontecendo sem a limpeza automática posterior.

Então, quando estiver satisfeito, construa normalmente.


Obrigado. Essa é a abordagem menos invasiva e funciona.
greenoldman

7

Basta adicionar

    %define __spec_install_pre /bin/true

no topo do .specarquivo


1
Funciona para mim no RHEL / CentOS 7.
Como

Isso funciona no Fedora 27.
Máté Wierdl

3

Tente adicionar um manequim %cleanao arquivo de especificações. Algo como:

%clean
echo NOOP

não funciona porque o BUILDROOT é excluído no início de% install - faz parte da inicialização do% install.
smcg 16/09

Se o objetivo é manter o buildroot após a construção, para investigação, ele funcionará.
Ederag

0

Isso é chato, eu concordo. Se você não se importa em modificar seu rpm, sugiro ir para a fonte de rpm e descobrir onde o BuildRoot é excluído, desabilite essa linha (provavelmente é apenas uma linha) e recompile. A outra coisa que eu sugeriria é registrar um bug na lista de desejos para restaurar o comportamento antigo, que acredito ser configurável.

Pergunta: em qual versão do rpm esse comportamento mudou?


Eu não sei sobre a versão, mas a mudança no rpm oficial seria difícil: lists.rpm.org/pipermail/rpm-list/2008-December/000040.html A explicação indica que a idelogia desempenha um papel importante. Patching rpm seria possível, obrigado pela dica. Talvez eu também pudesse reverter a criação automática do BuildRoot.
greenoldman

@macias: Eu olhei as fontes rpm no Debian (4.9.0-2), mas não encontrei nada útil. No entanto, mesmo que os desenvolvedores não estejam dispostos a alterá-lo, espero que estejam dispostos a dizer como fazer isso por si mesmo.
Faheem Mitha

felizmente, a opção -bi funciona nesse caso, então pulo as correções se possível - a lista de softwares com regressões está ficando mais longa de qualquer maneira.
greenoldman
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.