Puis-je reconstruire un package sans recompiler la source?


19

Je construis un nouveau .deb et je veux corriger les erreurs lintian dans l'emballage. Cependant, chaque fois que je reconstruis, le fichier de règles effectue un «nettoyage» et recommence donc la compilation.

Existe-t-il un moyen d'indiquer au processus de génération que je ne veux pas recompiler, que je modifie simplement le package et que l'utilisation du dernier ensemble de binaires sera acceptable pour l'instant?

Réponses:


26

Cela dépend de la façon dont vous construisez le package. dpkg-buildpackagen'appelle pas la cleancible si vous lui passez l' -ncoption. Une autre option utile pour la génération de test est -uc(ne signez pas le fichier de modifications). debuildhérite de ces options dpkg-buildpackage.

Pour une construction de test, vous pouvez simplement faire fakeroot debian/rules binary(ajuster la cible comme il convient pour un package binaire multiple).


8

À l'aide de ccache, vous pouvez créer le package comme d'habitude, sans recompiler réellement les fichiers source inchangés.

ccache fonctionne en stockant les anciens résultats des compilations et ne reconstruit que si la source a réellement changé.

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*

2
J'ai obtenu dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*mais j'ai supprimé cette option, semble fonctionner correctement sans elle
Dave Butler
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.