diff options
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..f24801d14 --- /dev/null +++ b/debian/rules @@ -0,0 +1,126 @@ +#!/usr/bin/make -f +# -*- makefile -*- +#export DH_VERBOSE=1 +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ + +execute_after_dh_autoreconf: + patch -f --no-backup-if-mismatch -i $(CURDIR)/debian/ltmain-whole-archive.diff build-aux/ltmain.sh + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +else +PARALLEL = +endif + +PYTHON3S:=$(shell py3versions -vr) +DEB_HOST_ARCH?=$(shell dpkg-architecture -qDEB_HOST_ARCH) + +override_dh_auto_configure: + test -d _debian || mkdir _debian + cd _debian && ( \ + test -e Makefile || \ + ../configure --prefix=/usr --localstatedir=/var --enable-ssl \ + --sysconfdir=/etc \ + $(DATAPATH_CONFIGURE_OPTS) \ + $(EXTRA_CONFIGURE_OPTS) \ + ) +ifneq (,$(filter i386 amd64 ppc64el arm64, $(DEB_HOST_ARCH))) + test -d _dpdk || mkdir _dpdk + cd _dpdk && ( \ + test -e Makefile || \ + ../configure --prefix=/usr --localstatedir=/var --enable-ssl \ + --with-dpdk=shared --sysconfdir=/etc \ + $(DATAPATH_CONFIGURE_OPTS) \ + $(EXTRA_CONFIGURE_OPTS) \ + ) +endif + + +# NOTE(jamespage): by default, just run all tests +TEST_LIST = +TEST_LIST_DPDK = + +# armhf: +# 30: bfd - check that BFD works together with RSTP FAILED (bfd.at:829) +ifneq (,$(filter armhf, $(DEB_HOST_ARCH))) +TEST_LIST = 1-29 31- +TEST_LIST_DPDK = $(TEST_LIST) +endif # armhf + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + if $(MAKE) -C _debian check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \ + $(MAKE) -C _debian check TESTSUITEFLAGS='--recheck'; then :; \ + else \ + cat _debian/tests/testsuite.log; \ + exit 1; \ + fi +# Skip DPDK testing on arm64 as builders don't have crc32 support +# which is used in aarch64 based crc optimization in ovs >= 2.12.0~ +ifneq (,$(filter i386 amd64 ppc64el, $(DEB_HOST_ARCH))) + if $(MAKE) -C _dpdk check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST_DPDK)' || \ + $(MAKE) -C _dpdk check TESTSUITEFLAGS='--recheck'; then :; \ + else \ + cat _dpdk/tests/testsuite.log; \ + exit 1; \ + fi +endif # i386/amd64/ppc64el +endif # nocheck + +override_dh_auto_build: + dh_auto_build --sourcedirectory=_debian -- dist distdir=openvswitch + dh_auto_build --sourcedirectory=_debian +ifneq (,$(filter i386 amd64 ppc64el arm64, $(DEB_HOST_ARCH))) + dh_auto_build --sourcedirectory=_dpdk +endif + +execute_before_dh_auto_clean: + find . -name "*.pyc" -delete + +override_dh_auto_install: + dh_auto_install --sourcedirectory=_debian + +execute_after_dh_install: + set -e && for pyvers in $(PYTHON3S); do \ + cd python && python$$pyvers setup.py install --install-layout=deb \ + --root $(CURDIR)/debian/python3-openvswitch; cd ..; \ + mkdir -p $(CURDIR)/debian/openvswitch-test/usr/lib/python$$pyvers/dist-packages/ovstest; \ + install -v -D -m 644 python/ovstest/*.py \ + $(CURDIR)/debian/openvswitch-test/usr/lib/python$$pyvers/dist-packages/ovstest; \ + done + +override_dh_installinit: + dh_installinit --restart-after-upgrade + dh_installinit -popenvswitch-switch --name=ovsdb-server --no-start + dh_installinit -popenvswitch-switch --name=ovs-vswitchd --no-start + dh_installinit -popenvswitch-switch --name=ovs-record-hostname --no-start + +override_dh_installsystemd: + dh_installsystemd -popenvswitch-switch --name=ovsdb-server --no-start + dh_installsystemd -popenvswitch-switch --name=ovs-vswitchd --no-start + dh_installsystemd -popenvswitch-switch --name=ovs-record-hostname --no-start + dh_installsystemd --restart-after-upgrade -Xovs-vswitchd.service -Xovsdb-server.service -Xovs-record-hostname.service + +override_dh_strip: + dh_strip --dbgsym-migration='openvswitch-dbg (<< 2.17~)' + +override_dh_python3: + dh_python3 --shebang=/usr/bin/python3 + +# Helper target for creating snapshots from upstream git +DATE=$(shell date +%Y%m%d) +# Upstream branch to track +BRANCH=branch-2.17 +VERSION=2.17.0 + +get-orig-snapshot: + rm -Rf openvswitch-upstream + git clone --branch $(BRANCH) --depth 1 https://github.com/openvswitch/ovs openvswitch-upstream + cd openvswitch-upstream && \ + export COMMIT=`git rev-parse --short HEAD` && \ + git archive --format tgz --prefix=openvswitch-$(VERSION)~git$(DATE).$$COMMIT/ \ + -o ../../openvswitch_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) + rm -Rf openvswitch-upstream |