From a3591eaefac0a740bb5c196577da4c7e706a4c58 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Mon, 6 Apr 2020 19:28:56 +0200 Subject: [PATCH] debian: make cross-compile work This allows e.g. "sbuild --host=arm64" to build packages for other architectures on, say, fat amd64 servers. As a side effect, the Debian build uses a separate builddir, which helps noting issues on that front. Signed-off-by: David Lamparter (cherry-picked from commit d1312e009b62331d39d0b9e77997b2f42be66f46) --- debian/control | 8 ++++---- debian/frr-doc.info | 2 +- debian/frr.manpages | 32 ++++++++++++++++---------------- debian/rules | 13 +++++++++---- 4 files changed, 30 insertions(+), 25 deletions(-) diff --git a/debian/control b/debian/control index 06c16cc945..debc6f7f8a 100644 --- a/debian/control +++ b/debian/control @@ -25,10 +25,10 @@ Build-Depends: bison, libyang2-dev, lsb-base, pkg-config, - python3, - python3-dev, - python3-pytest , - python3-sphinx, + python3:native, + python3-dev:native, + python3-pytest:native , + python3-sphinx:native, texinfo (>= 4.7), lua5.3 , liblua5.3-dev diff --git a/debian/frr-doc.info b/debian/frr-doc.info index a83255a24f..1976365e36 100644 --- a/debian/frr-doc.info +++ b/debian/frr-doc.info @@ -1 +1 @@ -doc/user/_build/texinfo/frr.info +build/doc/user/_build/texinfo/frr.info diff --git a/debian/frr.manpages b/debian/frr.manpages index 5075fd763d..5a1b74cfca 100644 --- a/debian/frr.manpages +++ b/debian/frr.manpages @@ -1,16 +1,16 @@ -doc/manpages/_build/man/frr-bgpd.8 -doc/manpages/_build/man/frr-eigrpd.8 -doc/manpages/_build/man/frr-fabricd.8 -doc/manpages/_build/man/frr-isisd.8 -doc/manpages/_build/man/frr-ldpd.8 -doc/manpages/_build/man/frr-nhrpd.8 -doc/manpages/_build/man/frr-ospf6d.8 -doc/manpages/_build/man/frr-ospfd.8 -doc/manpages/_build/man/frr-pimd.8 -doc/manpages/_build/man/frr-ripd.8 -doc/manpages/_build/man/frr-ripngd.8 -doc/manpages/_build/man/frr-watchfrr.8 -doc/manpages/_build/man/frr-zebra.8 -doc/manpages/_build/man/frr.1 -doc/manpages/_build/man/mtracebis.8 -doc/manpages/_build/man/vtysh.1 +build/doc/manpages/_build/man/frr-bgpd.8 +build/doc/manpages/_build/man/frr-eigrpd.8 +build/doc/manpages/_build/man/frr-fabricd.8 +build/doc/manpages/_build/man/frr-isisd.8 +build/doc/manpages/_build/man/frr-ldpd.8 +build/doc/manpages/_build/man/frr-nhrpd.8 +build/doc/manpages/_build/man/frr-ospf6d.8 +build/doc/manpages/_build/man/frr-ospfd.8 +build/doc/manpages/_build/man/frr-pimd.8 +build/doc/manpages/_build/man/frr-ripd.8 +build/doc/manpages/_build/man/frr-ripngd.8 +build/doc/manpages/_build/man/frr-watchfrr.8 +build/doc/manpages/_build/man/frr-zebra.8 +build/doc/manpages/_build/man/frr.1 +build/doc/manpages/_build/man/mtracebis.8 +build/doc/manpages/_build/man/vtysh.1 diff --git a/debian/rules b/debian/rules index 6305603341..083464034f 100755 --- a/debian/rules +++ b/debian/rules @@ -36,7 +36,7 @@ endif export PYTHON=python3 %: - dh $@ + dh $@ -Bbuild override_dh_auto_configure: $(shell dpkg-buildflags --export=sh); \ @@ -78,9 +78,9 @@ override_dh_auto_install: sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/generate_support_bundle.py # let dh_systemd_* and dh_installinit do their thing automatically - cp tools/frr.service debian/frr.service - cp tools/frr@.service debian/frr@.service - cp tools/frrinit.sh debian/frr.init + 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 @@ -114,6 +114,11 @@ override_dh_makeshlibs: 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: # we generally do NOT want a full distclean since that wipes both # debian/changelog and config.version -- 2.39.5