summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2020-04-06 19:28:56 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2023-01-24 18:19:42 +0100
commita3591eaefac0a740bb5c196577da4c7e706a4c58 (patch)
treedbeb61d41d0cdb05e0b34120bbc9ced499e56c42
parentyang: fix race condition in embedmodel.py mkdir (diff)
downloadfrr-a3591eaefac0a740bb5c196577da4c7e706a4c58.tar.xz
frr-a3591eaefac0a740bb5c196577da4c7e706a4c58.zip
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 <equinox@diac24.net> (cherry-picked from commit d1312e009b62331d39d0b9e77997b2f42be66f46)
-rw-r--r--debian/control8
-rw-r--r--debian/frr-doc.info2
-rw-r--r--debian/frr.manpages32
-rwxr-xr-xdebian/rules13
4 files changed, 30 insertions, 25 deletions
diff --git a/debian/control b/debian/control
index 06c16cc94..debc6f7f8 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 <!nocheck>,
- python3-sphinx,
+ python3:native,
+ python3-dev:native,
+ python3-pytest:native <!nocheck>,
+ python3-sphinx:native,
texinfo (>= 4.7),
lua5.3 <pkg.frr.lua>,
liblua5.3-dev <pkg.frr.lua>
diff --git a/debian/frr-doc.info b/debian/frr-doc.info
index a83255a24..1976365e3 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 5075fd763..5a1b74cfc 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 630560334..083464034 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