Czy mogę odbudować pakiet bez ponownej kompilacji źródła?

19

Buduję nowy plik .deb i chcę naprawić błędy lintian w opakowaniu. Jednak za każdym razem, gdy przebudowuję, plik reguł „czyści” i w ten sposób zaczyna się ponownie kompilować.

Czy istnieje sposób, aby poinstruować proces kompilacji, że nie chcę ponownej kompilacji, że po prostu zmieniam pakiet, a używanie ostatniego zestawu plików binarnych będzie na razie w porządku?

crb
źródło

Odpowiedzi:

26

To zależy od tego, jak budujesz pakiet. dpkg-buildpackagenie wywołuje cleancelu, jeśli podasz mu -ncopcję. Inną przydatną opcją dla kompilacji testowej jest -uc(nie podpisuj pliku zmian). debuilddziedziczy te opcje od dpkg-buildpackage.

W przypadku wersji testowej możesz to zrobić po prostu fakeroot debian/rules binary(dostosuj cel odpowiednio do pakietu wielu binarnych).

Gilles „SO- przestań być zły”
źródło
8

Używając ccache, możesz zbudować pakiet jak zwykle, bez faktycznej rekompilacji niezmienionych plików źródłowych.

ccache działa, przechowując stare wyniki kompilacji i odbudowuje tylko, jeśli źródło faktycznie się zmieniło.

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*
lfaraone
źródło
2
Mam, dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*ale usunąłem tę opcję, wydaje się, że bez niej działa dobrze
Dave Butler