X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=debian%2Frules;h=799bf2e9f29751f76e66fcf4f11946fdf78c4818;hb=HEAD;hp=4a02a49e5c4539c8d66963ca2e338fcd6994f880;hpb=6aa7dc839706a453f128a00f9040b31c597cfcfe;p=sliver-openvswitch.git diff --git a/debian/rules b/debian/rules index 4a02a49e5..799bf2e9f 100755 --- a/debian/rules +++ b/debian/rules @@ -10,20 +10,31 @@ # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 -# Official build number. Leave set to 0 if not an official build. -BUILD_NUMBER = 0 +PACKAGE=openvswitch +pdkms=openvswitch-datapath-dkms +DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([0-9]:)*([^-]+).*,\2,p') +srcfiles := $(filter-out debian, $(wildcard * .[^.]*)) ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) -NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) -MAKEFLAGS += -j$(NUMJOBS) +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +else +PARALLEL = endif +MAKEFLAGS += $(PARALLEL) +CFLAGS += -g ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif +# Old versions of dpkg-buildflags do not understand --export=configure. +# When dpkg-buildflags does not understand an option, it prints its full +# --help output on stdout, so we have to avoid that here. +buildflags := $(shell if dpkg-buildflags --export=configure >/dev/null 2>&1; \ + then dpkg-buildflags --export=configure; fi) + configure: configure-stamp configure-stamp: dh_testdir @@ -34,8 +45,8 @@ configure-stamp: cd _debian && ( \ test -e Makefile || \ ../configure --prefix=/usr --localstatedir=/var --enable-ssl \ - --with-build-number=$(BUILD_NUMBER) \ - CFLAGS="$(CFLAGS)" $(DATAPATH_CONFIGURE_OPTS)) + --sysconfdir=/etc CFLAGS="$(CFLAGS)" \ + $(buildflags) $(DATAPATH_CONFIGURE_OPTS)) touch configure-stamp #Architecture @@ -45,7 +56,8 @@ build-arch: build-arch-stamp build-arch-stamp: configure-stamp $(MAKE) -C _debian ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) - if $(MAKE) -C _debian check; then :; else \ + if $(MAKE) -C _debian check TESTSUITEFLAGS='$(PARALLEL)'; then :; \ + else \ cat _debian/tests/testsuite.log; \ exit 1; \ fi @@ -64,29 +76,48 @@ clean: rm -rf _debian [ ! -f Makefile ] || $(MAKE) distclean dh_clean + rm -f python/ovs/*.pyc python/ovs/db/*.pyc install: install-indep install-arch install-indep: build-indep dh_testdir dh_testroot - dh_clean -k -i + dh_prep -i dh_installdirs -i + $(MAKE) -C _debian DESTDIR=$(CURDIR)/debian/tmp install 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 + 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 -m644 debian/openvswitch-pki-server.apache2 debian/openvswitch-pki-server/etc/apache2/sites-available/openvswitch-pki + + #dkms stuff + # setup the dirs + 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 + + # 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 + + # We don't need the debian folder in there, just upstream sources... + rm -rf debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/debian + # We don't need the rhel stuff in there either + rm -rf debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/rhel + # 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)/xenserver/LICENSE install-arch: build-arch dh_testdir dh_testroot - dh_clean -k -s + dh_prep -s dh_installdirs -s - $(MAKE) -C _debian DESTDIR=$(CURDIR)/debian/openvswitch install + $(MAKE) -C _debian DESTDIR=$(CURDIR)/debian/tmp install cp debian/openvswitch-switch.template debian/openvswitch-switch/usr/share/openvswitch/switch/default.template dh_install -s + dh_link -s # Must not depend on anything. This is to be called by # binary-arch/binary-indep @@ -99,14 +130,14 @@ binary-common: dh_installexamples dh_installdebconf dh_installlogrotate - dh_installinit + dh_installinit -R dh_installcron - dh_installman + dh_installman --language=C dh_link dh_strip --dbg-package=openvswitch-dbg dh_compress - dh_fixperms -X var/log/core - dh_pysupport + dh_fixperms + dh_python2 dh_perl dh_makeshlibs dh_installdeb