buildflags := $(shell if dpkg-buildflags --export=configure >/dev/null 2>&1; \
then dpkg-buildflags --export=configure; fi)
+# dpkg-buildflags tends to turn on -Wformat, which is admirable, but
+# the -Wformat-zero-length subset of that option triggers a couple of
+# false positives in Open vSwitch so turn it right back off again.
+# (We do this in configure.ac also, but the Debian buildflags override
+# those.)
+buildflags := $(patsubst -Wformat,-Wformat -Wno-format-zero-length,$(buildflags))
+
configure: configure-stamp
configure-stamp:
dh_testdir
cd _debian && ( \
test -e Makefile || \
../configure --prefix=/usr --localstatedir=/var --enable-ssl \
- --sysconfdir=/etc CFLAGS="$(CFLAGS)" \
+ --sysconfdir=/etc --host=$(DEB_HOST_GNU_TYPE) CFLAGS="$(CFLAGS)" \
$(buildflags) $(DATAPATH_CONFIGURE_OPTS))
touch configure-stamp
build-arch-stamp: configure-stamp
$(MAKE) -C _debian
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
- if $(MAKE) -C _debian check TESTSUITEFLAGS='$(PARALLEL)'; then :; \
+ if $(MAKE) -C _debian check TESTSUITEFLAGS='$(PARALLEL)' || \
+ $(MAKE) -C _debian check TESTSUITEFLAGS='--recheck'; then :; \
else \
cat _debian/tests/testsuite.log; \
exit 1; \
dh_installdirs -p$(pdkms) usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)
# copy the source
- cd debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION) && tar xvzf $(CURDIR)/_debian/openvswitch.tar.gz && mv openvswitch/* . && rmdir openvswitch
+ cd debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION) && tar xvzf $(CURDIR)/_debian/openvswitch.tar.gz && mv openvswitch/* openvswitch/.[a-z]* . && rmdir openvswitch
+
+ # check we can get kernel module names
+ $(MAKE) -C _debian/datapath print-build-modules
# Prepare dkms.conf from the dkms.conf.in template
- sed "s/__VERSION__/$(DEB_UPSTREAM_VERSION)/g" debian/dkms.conf.in > debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/dkms.conf
+ sed "s/__VERSION__/$(DEB_UPSTREAM_VERSION)/g; s/__MODULES__/$(shell $(MAKE) -C _debian/datapath print-build-modules | grep -v make)/" debian/dkms.conf.in > debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/dkms.conf
# We don't need the debian folder in there, just upstream sources...
rm -rf debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/debian
# And we should also clean useless license files, which are already
# descriped in our debian/copyright anyway.
rm -f debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/COPYING \
- debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/ovsdb/ovsdbmonitor/COPYING \
debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/xenserver/LICENSE
install-arch: build-arch