Чи можу я відновити пакет, не перекомпілюючи джерело?


19

Я будую новий .deb і хочу виправити помилки в упаковці. Однак кожен раз, коли я перестроюю, файл правил робить «очищенням» і, таким чином, починає збиратися знову.

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

Відповіді:


26

Це залежить від того, як ви будуєте пакет. dpkg-buildpackageне викликає cleanціль, якщо ви передасте їй -ncваріант. Іншим корисним варіантом для складання тесту є -uc(не підписуйте файл змін). debuildуспадковує ці варіанти від dpkg-buildpackage.

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


8

Використовуючи ccache, ви можете створити пакет як звичайний, фактично не перекомпілюючи незмінені вихідні файли.

ccache працює, зберігаючи старі результати компіляцій, і відбудовується лише, якщо джерело фактично змінилося.

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

2
Я отримав, dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*але я вилучив цей варіант, здається, працює нормально без нього
Дейв Батлер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.