Use arch-dependent include directory in DKMS confs 08/7908/1
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 3 Aug 2017 15:50:07 +0000 (16:50 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 3 Aug 2017 16:18:33 +0000 (17:18 +0100)
Generate them at build time to substitute the right directory per
architecture to fix the build.

Change-Id: Ib6ba0820a27a4cc38d5e11dc94d35f1adece1453
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
debian/dpdk-igb-uio-dkms.dkms.in [moved from debian/dpdk-igb-uio-dkms.dkms with 59% similarity]
debian/dpdk-rte-kni-dkms.dkms [deleted file]
debian/dpdk-rte-kni-dkms.dkms.in [new file with mode: 0644]
debian/rules

similarity index 59%
rename from debian/dpdk-igb-uio-dkms.dkms
rename to debian/dpdk-igb-uio-dkms.dkms.in
index 5141ff6..29ce242 100644 (file)
@@ -1,7 +1,7 @@
 PACKAGE_NAME="dpdk-igb-uio"
 PACKAGE_VERSION="#MODULE_VERSION#"
 BUILT_MODULE_NAME[0]="igb_uio"
-MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/dpdk -include /usr/include/dpdk/rte_config.h -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build"
+MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/@@DEB_HOST_MULTIARCH@@/dpdk -include /usr/include/@@DEB_HOST_MULTIARCH@@/dpdk/rte_config.h -I/usr/include/dpdk -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build"
 CLEAN="source /usr/share/dpdk/dpdk-sdk-env.sh; make clean"
 DEST_MODULE_LOCATION[0]="/updates/dkms"
 AUTOINSTALL="YES"
diff --git a/debian/dpdk-rte-kni-dkms.dkms b/debian/dpdk-rte-kni-dkms.dkms
deleted file mode 100644 (file)
index 26de0ee..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-PACKAGE_NAME="dpdk-rte-kni"
-PACKAGE_VERSION="#MODULE_VERSION#"
-BUILT_MODULE_NAME[0]="rte_kni"
-MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/dpdk -include /usr/include/dpdk/rte_config.h -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/ixgbe -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/igb -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build"
-CLEAN="source /usr/share/dpdk/dpdk-sdk-env.sh; make clean"
-DEST_MODULE_LOCATION[0]="/updates/dkms"
-AUTOINSTALL="YES"
diff --git a/debian/dpdk-rte-kni-dkms.dkms.in b/debian/dpdk-rte-kni-dkms.dkms.in
new file mode 100644 (file)
index 0000000..24d7a61
--- /dev/null
@@ -0,0 +1,7 @@
+PACKAGE_NAME="dpdk-rte-kni"
+PACKAGE_VERSION="#MODULE_VERSION#"
+BUILT_MODULE_NAME[0]="rte_kni"
+MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/@@DEB_HOST_MULTIARCH@@/dpdk -include /usr/include/@@DEB_HOST_MULTIARCH@@/dpdk/rte_config.h -I/usr/include/dpdk -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/ixgbe -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/igb -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build"
+CLEAN="source /usr/share/dpdk/dpdk-sdk-env.sh; make clean"
+DEST_MODULE_LOCATION[0]="/updates/dkms"
+AUTOINSTALL="YES"
index 25d77e0..b1357b2 100755 (executable)
@@ -166,6 +166,7 @@ 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
 
 override_dh_auto_configure:
        # Add support for a custom defconfig file in the debian directory.
@@ -283,6 +284,9 @@ 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)/