这些是来自应用程序的 debian/规则。被称为内克斯。它是 GNU/Linux 的 CPU-Z 替代品,并且有一个 debian 子目录,其中包含以下文件 -
┌─[shirish@debian] - [~/games/I-Nex] - [4454]
└─[$] ll -r debian
-rw-r--r-- 1 shirish shirish 296 2016-11-13 02:12 i-nex-library.desktop
-rw-r--r-- 1 shirish shirish 93 2016-11-13 02:12 gbp.conf
-rw-r--r-- 1 shirish shirish 16588 2016-11-13 02:12 copyright
-rw-r--r-- 1 shirish shirish 14328 2016-11-13 02:12 changelog
drwxr-xr-x 2 shirish shirish 4096 2016-11-13 02:12 source
-rwxr-xr-x 1 shirish shirish 384 2016-11-13 02:12 rules
-rw-r--r-- 1 shirish shirish 63 2016-11-13 02:12 manpages
-rw-r--r-- 1 shirish shirish 110 2016-11-13 02:12 i-nex.triggers
-rw-r--r-- 1 shirish shirish 6535 2016-11-13 02:12 i-nex.desktop
-rw-r--r-- 1 shirish shirish 1408 2016-11-13 03:16 control
-rw-r--r-- 1 shirish shirish 2 2016-11-13 03:16 compat
-rw-r--r-- 1 shirish shirish 6 2016-11-13 03:17 debhelper-build-stamp
drwxr-xr-x 5 shirish shirish 4096 2016-11-13 03:18 i-nex
-rw-r--r-- 1 shirish shirish 62 2016-11-13 03:19 i-nex.substvars
-rw-r--r-- 1 shirish shirish 91 2016-11-13 03:19 files
-rw-r--r-- 1 shirish shirish 455 2016-11-13 03:19 i-nex.debhelper.log
我运行以下两个命令,最后会出现一个 debian 包 -
$ fakeroot debian/rules build
$ fakeroot debian/rules binary
从上面的清单可以明显看出,在后端,debhelper 正在根据时间戳和构建日志执行构建过程。这也通过运行得到证实
$ fakeroot debian/rules clean
其中 debian 子目录删除了所有 debhelper 条目。
现在可以看到这是 debian/rules -
┌─[shirish@debian] - [~/games/I-Nex] - [4453]
└─[$] cat debian/rules
#!/usr/bin/make -f
LSB_CS = $(shell lsb_release -cs)
ifeq ($(LSB_CS),lucid)
COMPRESSION = -- -z9 -Zgzip
else
COMPRESSION = -- -z9 -Zxz
endif
override_dh_autoreconf:
cd I-Nex && autoreconf -i
override_dh_auto_configure:
dh_auto_configure --sourcedirectory=I-Nex
override_dh_builddeb:
dh_builddeb $(COMPRESSION)
override_dh_fixperms:
dh_fixperms
%:
dh $@ --with autoreconf
现在根据这个回答,似乎唯一要改变的是最后一行 -
dh $@ --with autoreconf
和
dh $@ --parallel --with autoreconf
当然,这是假设并行编译时没有丢失依赖项。我错过了什么吗?
答案1
没错,在兼容性级别 9 中,
dh $@ --parallel --with autoreconf
足以启用并行构建。请注意,并行构建的“缺少依赖项”是指上游构建规则(Makefile
等)中的目标依赖项,而不是包依赖项。
对于兼容性级别 10,默认情况下启用上述两个选项,因此
dh $@
足以启用并行构建autoreconf
。
dh
和手册页debhelper
包含所有详细信息。