Bisakah saya membangun kembali paket tanpa mengkompilasi ulang sumbernya?

19

Saya sedang membangun .deb baru dan ingin memperbaiki kesalahan lintian dalam kemasan. Namun, setiap kali saya membangun kembali, file aturan melakukan 'make clean' dan dengan demikian mulai mengkompilasi kembali.

Apakah ada cara untuk menginstruksikan proses pembuatan yang tidak ingin saya kompilasi ulang, bahwa saya hanya mengubah kemasannya, dan menggunakan set binari terakhir akan baik-baik saja untuk saat ini?

crb
sumber

Jawaban:

26

Itu tergantung pada bagaimana Anda membangun paket. dpkg-buildpackagetidak memanggil cleantarget jika Anda memberikannya -ncopsi. Opsi lain yang bermanfaat untuk pengujian adalah -uc(jangan menandatangani file perubahan). debuildmewarisi opsi ini dari dpkg-buildpackage.

Untuk tes build, Anda cukup melakukan fakeroot debian/rules binary(sesuaikan target yang sesuai untuk paket multi-biner).

Gilles 'SANGAT berhenti menjadi jahat'
sumber
8

Dengan menggunakan ccache, Anda dapat membangun paket seperti biasa, tanpa benar-benar mengkompilasi ulang file sumber yang tidak berubah.

ccache bekerja dengan menyimpan hasil kompilasi lama, dan hanya membangun kembali jika sumbernya benar-benar berubah.

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*
lfaraone
sumber
2
Saya mendapatkan dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*tetapi saya menghapus opsi itu, tampaknya berfungsi dengan baik tanpanya
Dave Butler