我正在尝试制作一个我(合作)编写的软件的软件包。我正在使用
debuild -i -us -uc -b
原则上,这很好。为了缩短编译时间,我想使用 debuild 来并行运行 make(例如,我通常通过运行 来执行此操作make -j4
)。我在网上找到了一些建议如下的地方:
debuild -eDEB_BUILD_OPTIONS="parallel=4" -us -uc -b
debuild -j4 -us -uc -b
另一个网站建议在文件中添加一些代码debian/rules
,基本上设置
MAKEFLAGS += -j4
但是,这些似乎都不起作用。我遗漏了什么吗?还是我应该在源的 autoconf/automake 设置中更改某些内容?
答案1
它必须在 debian/rules 中启用。如果软件包使用 dh,则 debian/rules 中有如下一行:
dh $@
将其更改为
dh $@ --parallel
然后你的命令将起作用,至少 DEB_BUILD_OPTIONS="parallel=4"
答案2
我建议使用DEB_BUILD_OPTIONS
环境变量,如下所述第 4.9.1 节Debian 政策手册。
DEB_BUILD_OPTIONS='parallel=4' debuild -i -us -uc -b
答案3
使用 debhelper 10,您不再需要提供选项--parallel
;debian/rules
它现在默认运行并行构建。请参阅发行说明
因此,答案就是将 的内容设置debian/compat
为,并将中的版本10
更新debhelper
为。>=10
debian/control
答案4
综上所述,对我而言,以下方法有效:
export DEB_BUILD_OPTIONS='parallel=16'
fakeroot debian/rules binary