89 lines
2.7 KiB
Makefile
Executable file
89 lines
2.7 KiB
Makefile
Executable file
#!/usr/bin/make -f
|
|
|
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
|
export DEB_CFLAGS_MAINT_APPEND = -Wall -DNDEBUG
|
|
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
|
|
|
export DPKG_GENSYMBOLS_CHECK_LEVEL := 4
|
|
export KNOT_SOFTHSM2_DSO = /usr/lib/softhsm/libsofthsm2.so
|
|
|
|
include /usr/share/dpkg/default.mk
|
|
|
|
# Disable fastparser if requested
|
|
ifeq (maint,$(filter $(DEB_BUILD_OPTIONS),maint))
|
|
FASTPARSER := --disable-fastparser
|
|
else
|
|
FASTPARSER := --enable-fastparser
|
|
endif
|
|
|
|
LIBKNOT_SYMBOLS := $(wildcard $(CURDIR)/debian/libknot*.symbols)
|
|
|
|
# MAJOR.MINOR version part
|
|
BASE_VERSION := $(shell echo $(DEB_VERSION) | sed 's/^\([^.]\+\.[^.]\+\).*/\1/')
|
|
|
|
# pyproject is supported by knot but fails on second `pybuild --build`
|
|
# invocation due to bug in dh-python's plugin_pyproject.py wheel unpack
|
|
export PYBUILD_SYSTEM = distutils
|
|
|
|
%:
|
|
dh $@ \
|
|
--with python3
|
|
|
|
override_dh_auto_configure:
|
|
@echo 'architecture:' $(DEB_HOST_ARCH)
|
|
dh_auto_configure -- \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var/lib \
|
|
--libexecdir=/usr/lib/knot \
|
|
--with-rundir=/run/knot \
|
|
--with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/knot/modules-$(BASE_VERSION) \
|
|
--with-storage=/var/lib/knot \
|
|
--enable-systemd=auto \
|
|
--enable-dnstap \
|
|
--with-module-dnstap=shared \
|
|
--with-module-geoip=shared \
|
|
--enable-recvmmsg=yes \
|
|
--disable-silent-rules \
|
|
--enable-xdp=yes \
|
|
--enable-quic=yes \
|
|
--disable-static \
|
|
$(FASTPARSER)
|
|
|
|
override_dh_auto_configure-indep:
|
|
pybuild --dir python/libknot --configure
|
|
pybuild --dir python/knot_exporter --configure
|
|
|
|
override_dh_auto_build-indep:
|
|
dh_auto_build -- html
|
|
pybuild --dir python/libknot --build
|
|
pybuild --dir python/knot_exporter --build
|
|
|
|
override_dh_auto_install-arch:
|
|
dh_auto_install -- install
|
|
# rename knot.sample.conf to knot.conf
|
|
mv $(CURDIR)/debian/tmp/etc/knot/knot.sample.conf $(CURDIR)/debian/tmp/etc/knot/knot.conf
|
|
@if grep -E -q "DoQ support: +no" "$(CURDIR)/debian/tmp/usr/sbin/knotd"; then \
|
|
echo "Stripping the QUIC symbols"; \
|
|
sed -i '/knot_quic_/d' $(LIBKNOT_SYMBOLS); \
|
|
fi
|
|
|
|
override_dh_auto_install-indep:
|
|
dh_auto_install -- install-html
|
|
# rename knot.sample.conf to knot.conf
|
|
mv $(CURDIR)/debian/tmp/etc/knot/knot.sample.conf $(CURDIR)/debian/tmp/etc/knot/knot.conf
|
|
pybuild --dir python/libknot --install
|
|
pybuild --dir python/knot_exporter --install
|
|
rm -rf $(CURDIR)/debian/tmp/usr/lib/python*/dist-packages/libknot/__pycache__
|
|
rm -rf $(CURDIR)/debian/tmp/usr/lib/python*/dist-packages/knot_exporter/__pycache__
|
|
|
|
override_dh_auto_test-indep:
|
|
override_dh_auto_test-arch:
|
|
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
|
dh_auto_test
|
|
endif
|
|
|
|
override_dh_missing:
|
|
dh_missing --exclude=.la --fail-missing
|
|
|
|
override_dh_installchangelogs:
|
|
dh_installchangelogs NEWS
|