Comment conserver le contenu du BuildRoot?

11

Le bon vieux rpm lors de la construction du package par étapes a simplement gardé le contenu du BuildRoot - il m'a été très utile, car si un logiciel était difficile à créer, je pouvais vérifier BuildRoot si tout allait bien.

Maintenant, avec tous les rpm "améliorés" - le contenu de BuildRoot est supprimé automatiquement, donc je ne peux pas vraiment y plonger (l'étape d'installation n'est pas si longue).

Un hack que je connais serait d'ajouter une sorte de sommeil à la fin de l'étape d'installation aux spécifications de rpm. Mais c'est moche.

Donc - QUESTION - comment garder le contenu de BuildRoot de manière agréable - en d'autres termes, comment désactiver définitivement la suppression automatique?

greenoldman
la source

Réponses:

6

Avez-vous essayé d'utiliser rpmbuild -bidans les tests, de sorte que vous obtenez tout construit à travers la %installphase? Cela devrait vous montrer ce qui se passe sans nettoyer automatiquement par la suite.

Ensuite, lorsque vous êtes satisfait, construisez comme d'habitude.

mattdm
la source
Je vous remercie. C'est l'approche la moins intrusive et ça marche.
greenoldman
7

Il suffit d'ajouter

    %define __spec_install_pre /bin/true

en haut du .specfichier

domusofsail
la source
1
Cela fonctionne pour moi dans RHEL / CentOS 7.
Comme
Cela fonctionne dans Fedora 27.
Máté Wierdl
3

Essayez d'ajouter un mannequin %cleanau fichier de spécifications. Quelque chose comme:

%clean
echo NOOP
iFred
la source
ne fonctionne pas, car BUILDROOT est supprimé au début de% install - il fait partie de l'initialisation de% install.
smcg
Si l'objectif est de garder buildroot après la construction, pour enquête, cela fonctionne.
ederag
0

C'est ennuyeux, je suis d' accord. Si cela ne vous dérange pas de modifier votre RPM, je vous suggère d'aller dans la source RPM et de découvrir où le BuildRoot est supprimé, de désactiver cette ligne (il s'agit probablement d'une seule ligne) et de recompiler. L'autre chose que je suggérerais est de déposer un bogue de liste de souhaits pour restaurer l'ancien comportement, qui, je crois, était configurable.

Question: dans quelle version de rpm ce comportement a-t-il changé?

Faheem Mitha
la source
Je ne connais pas la version, mais le changement de rpm officiel serait difficile: lists.rpm.org/pipermail/rpm-list/2008-December/000040.html L'explication indique que l'idélogie joue un rôle énorme. Patcher des rpm serait cependant possible, merci pour cette astuce. Peut-être que je gérerais également la création automatique de BuildRoot.
greenoldman
@macias: J'ai regardé les sources rpm sur Debian (4.9.0-2), mais je n'ai rien trouvé d'utile. Cependant, même si les développeurs ne sont pas prêts à le changer, je m'attends à ce qu'ils soient prêts à vous dire comment le faire par vous-même.
Faheem Mitha
heureusement, le commutateur -bi fonctionne pour ce cas, donc je saute les correctifs si je le peux - la liste des logiciels avec les régressions s'allonge de toute façon.
greenoldman