Можно ли восстановить пакет без перекомпиляции источника?

16

Я создаю новый .deb и хочу исправить ошибки lintian в упаковке. Тем не менее, каждый раз, когда я перестраиваю, файл правил выполняет «make clean» и, таким образом, снова начинает компиляцию.

Есть ли способ проинструктировать процесс сборки, который я не хочу перекомпилировать, что я просто изменяю упаковку, и использование последнего набора двоичных файлов будет хорошо?

    
задан crb 22.08.2010 в 18:02
источник

2 ответа

20

Это зависит от того, как вы создаете пакет. dpkg-buildpackage не вызывает цель clean , если вы передадите ей параметр -nc . Другой полезной опцией для сборки теста является -uc (не подписывайте файл изменений). debuild наследует эти параметры из dpkg-buildpackage .

Для тестовой сборки вы можете просто сделать fakeroot debian/rules binary (скорректировать цель, подходящую для многобайтового пакета).

    
ответ дан Gilles 22.08.2010 в 18:54
источник
7

Используя ccache , вы можете создать пакет как обычно, без перекомпиляции неизмененных исходных файлов.

ccache работает, сохраняя старые результаты компиляций и восстанавливается только в том случае, если источник действительно изменился.

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*
    
ответ дан lfaraone 22.08.2010 в 19:16