X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=debian%2Frules;h=2a70bd63f38c47ec8104bd303e936bc6fde5cea7;hb=0d3f215202191016792b9c7c37d6a6b7e2d57234;hp=6806980156eb53f28775524f47027bad91750815;hpb=d3643fc5989f88b1eda701d8aefca0ed3ff9dcdc;p=cascardo%2Fovs.git diff --git a/debian/rules b/debian/rules index 680698015..2a70bd63f 100755 --- a/debian/rules +++ b/debian/rules @@ -9,123 +9,85 @@ # # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 +#export DH_VERBOSE=1 -# Official build number. Leave set to 0 if not an official build. -BUILD_NUMBER = 0 +PACKAGE=openvswitch +PACKAGE_DKMS=openvswitch-datapath-dkms +DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([0-9]:)*([^-]+).*,\2,p') ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) else PARALLEL = endif -MAKEFLAGS += $(PARALLEL) -ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) -CFLAGS += -O0 -else -CFLAGS += -O2 -endif +%: + dh $@ --with autoreconf,python2 --parallel + +# use --as-needed only if supported by dh-autoreconf (to simplify backporting) +DH_AS_NEEDED=$(shell dpkg --compare-versions $$(dpkg --status dh-autoreconf | grep Version | cut -d' ' -f2) ge 6 && echo --as-needed) +override_dh_autoreconf: + dh_autoreconf $(DH_AS_NEEDED) -configure: configure-stamp -configure-stamp: - dh_testdir - test -e configure || ./boot.sh - test -d _debian || mkdir _debian - echo $(DEB_BUILD_OPTIONS) - echo $$CC - cd _debian && ( \ - test -e Makefile || \ - ../configure --prefix=/usr --localstatedir=/var --enable-ssl \ - --with-build-number=$(BUILD_NUMBER) \ - CFLAGS="$(CFLAGS)" $(DATAPATH_CONFIGURE_OPTS)) - touch configure-stamp - -#Architecture -build: build-arch build-indep - -build-arch: build-arch-stamp -build-arch-stamp: configure-stamp - $(MAKE) -C _debian +override_dh_auto_configure: + dh_auto_configure -- --enable-ssl $(DATAPATH_CONFIGURE_OPTS) + +override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) - if $(MAKE) -C _debian check TESTSUITEFLAGS='$(PARALLEL)'; then :; \ + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL)' RECHECK=yes; then :; \ else \ - cat _debian/tests/testsuite.log; \ + cat tests/testsuite.log; \ exit 1; \ fi endif - touch $@ - -build-indep: build-indep-stamp -build-indep-stamp: configure-stamp - $(MAKE) -C _debian dist distdir=openvswitch - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-arch-stamp build-indep-stamp configure-stamp - rm -rf _debian - [ ! -f Makefile ] || $(MAKE) distclean - dh_clean - -install: install-indep install-arch -install-indep: build-indep - dh_testdir - dh_testroot - dh_clean -k -i - dh_installdirs -i - dh_install -i - sed 's/^BUILD_NUMBER = .*/BUILD_NUMBER = $(BUILD_NUMBER)/' \ - < debian/rules.modules \ - > debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules + +override_dh_auto_build: + dh_auto_build -- dist distdir=openvswitch + +override_dh_auto_clean: + rm -f python/ovs/*.pyc python/ovs/db/*.pyc + dh_auto_clean + +override_dh_install: + dh_install + # openvswitch-switch + cp debian/openvswitch-switch.template debian/openvswitch-switch/usr/share/openvswitch/switch/default.template + + # ovn-host + cp debian/ovn-host.template debian/ovn-host/usr/share/ovn/host/default.template + + # ovn-central + cp debian/ovn-central.template debian/ovn-central/usr/share/ovn/central/default.template + + # openvswitch-datapath-source + cp debian/rules.modules debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules chmod 755 debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules cd debian/openvswitch-datapath-source/usr/src && tar -c modules | bzip2 -9 > openvswitch-datapath.tar.bz2 && rm -rf modules -install-arch: build-arch - dh_testdir - dh_testroot - dh_clean -k -s - dh_installdirs -s - $(MAKE) -C _debian DESTDIR=$(CURDIR)/debian/openvswitch install - cp debian/openvswitch-switch.template debian/openvswitch-switch/usr/share/openvswitch/switch/default.template - dh_install -s - -# Must not depend on anything. This is to be called by -# binary-arch/binary-indep -# in another 'make' thread. -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples - dh_installdebconf - dh_installlogrotate + # openvswitch-datapath-dkms + # setup the dirs + dh_installdirs -p$(PACKAGE_DKMS) usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION) + + # copy the source + cd debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION) && tar xvzf $(CURDIR)/openvswitch.tar.gz && mv openvswitch/* openvswitch/.[a-z]* . && rmdir openvswitch + + # check we can get kernel module names + $(MAKE) -C datapath print-build-modules + + # Prepare dkms.conf from the dkms.conf.in template + sed "s/__VERSION__/$(DEB_UPSTREAM_VERSION)/g; s/__MODULES__/$(shell $(MAKE) -C datapath print-build-modules | grep -v make)/" debian/dkms.conf.in > debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/dkms.conf + + # We don't need the debian folder in there, just upstream sources... + rm -rf debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/debian + # We don't need the rhel stuff in there either + rm -rf debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/rhel + # And we should also clean useless license files, which are already + # described in our debian/copyright anyway. + rm -f debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/COPYING \ + debian/$(PACKAGE_DKMS)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/xenserver/LICENSE + +override_dh_installinit: dh_installinit -R - dh_installcron - dh_installman - dh_link + +override_dh_strip: dh_strip --dbg-package=openvswitch-dbg - dh_compress - dh_fixperms -X var/log/core - dh_pysupport - dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb -binary-indep: install-indep - $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common -binary-arch: install-arch - $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common - -binary: binary-arch binary-indep -.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure - -# This GNU make extensions disables parallel builds for the current Makefile -# but not for sub-Makefiles. This is appropriate here because build-arch and -# build-indep both invoke "make" on OVS, which can update some of the same -# targets in ways that conflict (e.g. both update tests/testsuite). -.NOTPARALLEL: