#!/usr/bin/make -f # standard Debian options & profiles export DEB_BUILD_MAINT_OPTIONS = hardening=+all ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS))) MAKE_SILENT="V=0" export DH_VERBOSE=0 else MAKE_SILENT="V=1" export DH_VERBOSE=1 export DH_OPTIONS=-v endif # package-specific build profiles ifeq ($(filter pkg.frr.nortrlib,$(DEB_BUILD_PROFILES)),) CONF_RPKI=--enable-rpki else CONF_RPKI=--disable-rpki endif ifeq ($(filter pkg.frr.lua,$(DEB_BUILD_PROFILES)),) CONF_LUA=--disable-scripting else CONF_LUA=--enable-scripting endif ifeq ($(filter pkg.frr.pim6d,$(DEB_BUILD_PROFILES)),) CONF_PIM6=--disable-pim6d else CONF_PIM6=--enable-pim6d endif export PYTHON=python3 %: dh $@ -Bbuild --with=sphinxdoc override_dh_auto_configure: $(shell dpkg-buildflags --export=sh); export LIBS="$$LIBS -latomic"; \ dh_auto_configure -- \ --sbindir=/usr/lib/frr \ --with-vtysh-pager=/usr/bin/pager \ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \ --with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \ LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \ --disable-dependency-tracking \ \ $(CONF_RPKI) \ $(CONF_LUA) \ $(CONF_PIM6) \ --with-libpam \ --enable-doc \ --enable-doc-html \ --enable-snmp \ --enable-fpm \ --disable-protobuf \ --disable-zeromq \ --enable-ospfapi \ --enable-bgp-vnc \ --enable-multipath=256 \ \ --enable-user=frr \ --enable-group=frr \ --enable-vty-group=frrvty \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ # end override_dh_auto_install: dh_auto_install sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr-reload.py sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/generate_support_bundle.py sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr_babeltrace.py sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/ospfclient.py # let dh_systemd_* and dh_installinit do their thing automatically cp build/tools/frr.service debian/frr.service cp build/tools/frr@.service debian/frr@.service cp build/tools/frrinit.sh debian/frr.init -rm -f debian/tmp/usr/lib/frr/frr # install config files mkdir -p debian/tmp/etc cp -r tools/etc/* debian/tmp/etc/ -rm debian/tmp/etc/frr/daemons.conf # drop dev-only files find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f rm -rf debian/tmp/usr/include -rm debian/tmp/usr/lib/frr/ssd # drop test-tools files ifeq (,$(filter $(dh_listpackages), frr-test-tools)) rm -f debian/tmp/usr/lib/frr/fpm_listener else endif override_dh_auto_build: dh_auto_build -- $(MAKE_SILENT) override_dh_installinit: dh_installinit -r override_dh_installsystemd: dh_installsystemd -r override_dh_makeshlibs: dh_makeshlibs -n override_dh_missing: dh_missing --fail-missing ifneq ($(filter nocheck,$(DEB_BUILD_PROFILES) $(DEB_BUILD_OPTIONS)),) override_dh_auto_test: true endif override_dh_auto_clean: dh_auto_clean -rm -rf tests/.pytest_cache -rm -f debian/frr.init -rm -f debian/frr.service -rm -f debian/frr@.service