Posso ricostruire un pacchetto senza ricompilare la fonte?


19

Sto costruendo un nuovo .deb e voglio correggere gli errori di lintian nella confezione. Tuttavia, ogni volta che lo ricostruisco, il file delle regole fa un 'clean clean' e quindi ricomincia a compilare.

C'è un modo per istruire il processo di compilazione che non voglio ricompilare, che sto solo modificando il packaging e che per ora usando l'ultimo set di binari andrà bene?

Risposte:


26

Dipende da come stai costruendo il pacchetto. dpkg-buildpackagenon chiama il cleanbersaglio se gli passa l' -ncopzione. Un'altra opzione utile per la compilazione di test è -uc(non firmare il file delle modifiche). debuilderedita queste opzioni da dpkg-buildpackage.

Per una build di test, puoi semplicemente farlo fakeroot debian/rules binary(regola l'obiettivo come appropriato per un pacchetto multi-binario).


8

Utilizzando ccache, è possibile creare il pacchetto normalmente, senza ricompilare effettivamente i file di origine invariati.

ccache funziona memorizzando i vecchi risultati delle compilation e ricostruisce solo se l'origine è effettivamente cambiata.

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

2
Ho ottenuto dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*ma ho rimosso questa opzione, sembra funzionare bene senza di essa
Dave Butler,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.