如果你查看dpkg-buildpackage
的手册,你会发现它没有区分configure
步骤和make
步骤 - 在它看来,只有build
步骤和binary
步骤。虽然./configure; make; make install
是非常常见的,但它并不被dpkg-buildpackage
视为唯一真正的构建方法;它留给debian/rules
根据需要调用适当的操作。
对于dnsutils
,或者更确切地说,bind
,debian/rules
似乎非常手动化(尽管它调用了许多debhelper实用程序,但它并不依赖于debhelper的自动化)。因此,在这里,最简单的方法是利用debian/rules
中的目标:
$ debian/rules stamps/configure
dh_testdir
if [ ! -d autoreconf-bck ]; then \
mkdir autoreconf-bck; \
cp -pr config.h.in configure libtool.m4 ltmain.sh autoreconf-bck; \
fi
cp -r bin/named bin/named-pkcs11
cp -r bin/dnssec bin/dnssec-pkcs11
cp -r lib/isc lib/isc-pkcs11
cp -r lib/dns lib/dns-pkcs11
patch -p1 < debian/patches/extra-add_native_pkcs11.diff
patching file bin/dnssec-pkcs11/Makefile.in
patching file bin/named-pkcs11/Makefile.in
...
========================================================================
Configuration summary:
------------------------------------------------------------------------
Optional features enabled:
Multiprocessing support (--enable-threads)
GeoIP access control (--with-geoip)
GSS-API (--with-gssapi)
Native PKCS#11/Cryptoki support (--enable-native-pkcs11)
Provider library: ${prefix}/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so
GOST algorithm support (encoding: raw) (--with-gost)
ECDSA algorithm support (--with-ecdsa)
AAAA filtering (--enable-filter-aaaa)
Print backtrace on crash (--enable-backtrace)
Use symbol table for backtrace, named only (--enable-symtable)
Use GNU libtool (--with-libtool)
Dynamically loadable zone (DLZ) drivers:
None
Features disabled or unavailable on this platform:
Large-system tuning (--with-tuning)
Recursive fetch limits for DoS attack mitigation (--enable-fetchlimit)
Source Identity Token support (--enable-sit)
Allow 'fixed' rrset-order (--enable-fixed-rrset)
OpenSSL cryptography/DNSSEC (--with-openssl)
Use libseccomp system call filtering (--enable-seccomp)
Very verbose query trace logging (--enable-querytrace)
Automated Testing Framework (--with-atf)
JSON statistics (--with-libjson)
Unrecognized options:
--enable-rrl
========================================================================
touch stamps/configure
如果使用debhelper的dh_auto_configure,另一种方法是在debian/rules中重写dh_auto_configure,在构建过程之后使其失败。
一般来说,
dpkg-buildpackage
对于
configure
一无所知,因此无法在那里停止。