Packaging

如何防止 debuild 執行清理?

  • December 5, 2021

我正在嘗試在 Debian 上編輯一個 Apache 模組(嚴格來說,我在 Raspbian Jessie-Lite 上這樣做),並且廣泛遵循Debian 建構說明

$ mkdir -p ~/src/debian; cd ~/src/debian
$ apt-get source apache2-bin
$ cd apache2-2.4.10
$ debuild -b -uc -us

在舊的原始 Pi 上建構過程大約需要一個半小時​​。這很好。一次!但我相信建構過程正在執行 a make clean,因此在對單個 mod_*.c 文件進行小幅編輯後,它想要重建整個東西,這有點減慢了我的開發速度!

我已經嘗試添加-dcdebuild命令中,但是它沒有建構任何東西。我什至嘗試刪除目標 mod_*.so 文件以“鼓勵”它重建它,但仍然沒有!

更新 2016-08-21:將 -nc 添加到 debuild 命令不會導致重新編譯模組。這是該命令的輸出:

$ debuild -b -uc -us -nc
dpkg-buildpackage -rfakeroot -D -us -uc -b -nc
dpkg-buildpackage: source package apache2
dpkg-buildpackage: source version 2.4.10-10+deb8u5
dpkg-buildpackage: source distribution jessie-security
dpkg-buildpackage: source changed by Salvatore Bonaccorso <carnil@debian.org>
dpkg-source --before-build apache2-2.4.10
dpkg-buildpackage: host architecture armhf
debian/rules build
dh build --parallel --with autotools_dev
fakeroot debian/rules binary
dh binary --parallel --with autotools_dev
dpkg-genchanges -b >../apache2_2.4.10-10+deb8u5_armhf.changes
dpkg-genchanges: binary-only upload (no source code included)
dpkg-source --after-build apache2-2.4.10
dpkg-buildpackage: binary-only upload (no source included)
Now running lintian...
N: 16 tags overridden (1 error, 4 warnings, 11 info)
Finished running lintian.

-nc選項添加到debuild命令行。但是,這可能會暴露建構系統或包裝中的問題,因此請做好準備。但是對於小的修復,它通常可以正常工作。

但是,由於apache2源包使用 debhelper(與許多其他包一樣),僅此還不夠,因為 debhelper 還在每個二進制包的單獨日誌文件中保存自己的已完成步驟日誌。這些可以通過 完全刪除dh_clean。但是要讓 debhelper 重做的只是必要的工作,只截斷相關的工作

sed -i '/^dh_auto_build$/Q' debian/apache2-bin.debhelper.log

在執行之前debuild -nc

引用自:https://unix.stackexchange.com/questions/304590