X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=debian%2Frules;h=952cac685935167410302e76147842e66506a62f;hb=a5b6018f30bbde785f93ae9fff6d8ee7386db015;hp=d8ff99bf5e138cab4373884bef331b3d9d325e8d;hpb=c921f906b1367468d45b28ec5b7d4650fd1d4f8f;p=deb_dpdk.git diff --git a/debian/rules b/debian/rules index d8ff99bf..952cac68 100755 --- a/debian/rules +++ b/debian/rules @@ -4,14 +4,10 @@ export DH_VERBOSE=1 export DH_OPTIONS=-v -VERSION := $(shell dpkg-parsechangelog | sed -nr '/^Version:/s/Version: (.*:)?(.*)-(.*)/\2/p') -DPDK_ABI := $(shell echo $(VERSION) | cut -d '.' -f1-2) - # see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/* include /usr/share/dpkg/default.mk -DEB_HOST_GNU_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) -DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DPDK_ABI := $(shell echo $(DEB_VERSION_UPSTREAM) | cut -d '-' -f1 | cut -d '.' -f1-2) # see FEATURE AREAS in dpkg-buildflags(1) export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie @@ -125,11 +121,11 @@ build: fi sh debian/prep-modules $(KSRC) cat debian/control.modules >> debian/control - dh $@ --with python2,dkms + dh $@ --with python3,dkms,systemd endif %: - dh $@ --with python2,dkms + dh $@ --with python3,dkms,systemd override_dh_gencontrol: dh_gencontrol @@ -166,6 +162,8 @@ override_dh_auto_clean: debian/control.modules debian/VERSION sed -i '/Package: dpdk-modules-/,/`tail -n1 debian/control.modules.in`/d' debian/control test -L config/defconfig_$(DPDK_CONFIG) && rm -f config/defconfig_$(DPDK_CONFIG) || true + rm -f debian/dpdk-igb-uio-dkms.dkms debian/dpdk-rte-kni-dkms.dkms + rm -f debian/dpdk-dev.preinst override_dh_auto_configure: # Add support for a custom defconfig file in the debian directory. @@ -271,11 +269,30 @@ endif # system installs them in the same directory, breaking multiarch. # Move them in /usr/include//dpdk instead. mkdir -p debian/libdpdk-dev/usr/include/$(DEB_HOST_MULTIARCH)/dpdk + # Before moving the files, remove the symlink in usr/share/dpdk and copy them over, + # as the SDK subdir is architecture specific and requires the arch-specific headers + # in the top level + rm -f debian/dpdk-dev/usr/share/dpdk/$(RTE_TARGET)/include + mkdir -p debian/dpdk-dev/usr/share/dpdk/$(RTE_TARGET)/include + cp -r debian/dpdk-dev/usr/include/dpdk/* debian/dpdk-dev/usr/share/dpdk/$(RTE_TARGET)/include + # genereate the preinst to deal with the symlink -> directory transition smoothly + sed "s/@@RTE_TARGET@@/$(RTE_TARGET)/g" debian/dpdk-dev.preinst.in > debian/dpdk-dev.preinst mv $(addprefix debian/dpdk-dev/usr/include/dpdk/,$(notdir $(wildcard lib/librte_eal/common/include/arch/$(INCLUDE_ARCH)/*.h))) \ debian/libdpdk-dev/usr/include/$(DEB_HOST_MULTIARCH)/dpdk/ mv debian/dpdk-dev/usr/include/dpdk/rte_config.h \ debian/libdpdk-dev/usr/include/$(DEB_HOST_MULTIARCH)/dpdk/ mv debian/dpdk-dev/usr/include/dpdk debian/libdpdk-dev/usr/include/ + rmdir debian/dpdk-dev/usr/include + # backward compatibility: to ease things for the majority of users, + # which are on x86_64, symlink the x86 headers into the global + # directory. +ifeq (x86_64-linux-gnu,$(DEB_HOST_MULTIARCH)) + ln -rs debian/libdpdk-dev/usr/include/$(DEB_HOST_MULTIARCH)/dpdk/*.h \ + debian/libdpdk-dev/usr/include/dpdk +endif + # have the DKMS build include the correct per-arch directory + sed "s/@@DEB_HOST_MULTIARCH@@/$(DEB_HOST_MULTIARCH)/g" debian/dpdk-igb-uio-dkms.dkms.in > debian/dpdk-igb-uio-dkms.dkms + sed "s/@@DEB_HOST_MULTIARCH@@/$(DEB_HOST_MULTIARCH)/g" debian/dpdk-rte-kni-dkms.dkms.in > debian/dpdk-rte-kni-dkms.dkms # all static libs are in the dev package ifeq (y,$(BUILD_STATIC_LIB)) mv debian/dpdk/$(LIBDIR)/lib*.a debian/libdpdk-dev/$(LIBDIR)/ @@ -317,17 +334,17 @@ endif mkdir -p debian/libdpdk-dev/$(LIBDIR)/pkgconfig LIBS=$$(sed -e 's/GROUP ( \(.*\) )/\1/' -e 's/lib/-l/g' -e 's/\.so//g' \ $(CURDIR)/debian/libdpdk-dev/$(LIBDIR)/libdpdk.so); \ - sed -e "s/@DPDK_LIBS@/$${LIBS}/" -e "s/@VERSION@/$(VERSION)/" \ + sed -e "s/@DPDK_LIBS@/$${LIBS}/" -e "s/@VERSION@/$(DEB_VERSION_UPSTREAM)/" \ -e "s|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g" \ debian/libdpdk.pc.in > debian/libdpdk-dev/$(LIBDIR)/pkgconfig/libdpdk.pc # Package: dpdk-igb-uio-dkms - mkdir -p debian/dpdk-igb-uio-dkms/usr/src/dpdk-igb-uio-$(VERSION) + mkdir -p debian/dpdk-igb-uio-dkms/usr/src/dpdk-igb-uio-$(DEB_VERSION_UPSTREAM) cp lib/librte_eal/linuxapp/igb_uio/* \ - debian/dpdk-igb-uio-dkms/usr/src/dpdk-igb-uio-$(VERSION) + debian/dpdk-igb-uio-dkms/usr/src/dpdk-igb-uio-$(DEB_VERSION_UPSTREAM) # Package: dpdk-rte-kni-dkms - mkdir -p debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(VERSION) + mkdir -p debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(DEB_VERSION_UPSTREAM) cp -a lib/librte_eal/linuxapp/kni/* \ - debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(VERSION) + debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(DEB_VERSION_UPSTREAM) ifneq (,$(KVERS)) # Package: dpdk-modules- $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) \ @@ -336,7 +353,7 @@ ifneq (,$(KVERS)) endif override_dh_dkms: - dh_dkms -V $(VERSION) + dh_dkms -V $(DEB_VERSION_UPSTREAM) override_dh_installinit: dh_installinit --no-start --no-restart-on-upgrade