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?

crb
la source

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).

Gilles 'SO- arrête d'être méchant'
la source
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_*
lfaraone
la source
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