aboutsummaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2017-08-03 16:52:37 +0100
committerLuca Boccassi <luca.boccassi@gmail.com>2017-08-03 17:07:45 +0100
commita082152335290ddbd9014195b78f4ccfb37a90ff (patch)
tree361d53f80dbb7f502f1b94314a95760e248fba24 /debian/rules
parentd07b5b0b6b370b7c603dd90707e0dfdb03840f56 (diff)
Copy full headers directory into SDK
The dpdk-dev SDK package is arch-dependent, as it ships a number of binary executables. Also using RTE_SDK does not support the multiple level of headers, so instead of symlinking into /usr/include/dpdk copy the full set of headers into /usr/share/dpdk/TARGET/include Given dpkg cannot replace a symlink with a directory automatically also generate a preinst file to handle it manually on upgrade. Change-Id: I1fb8fbe424b8ef015c04062f2cffe9f2b9ffe02f Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules10
1 files changed, 10 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
index 954c716c..e05f332f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -167,6 +167,7 @@ override_dh_auto_clean:
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.
@@ -279,11 +280,20 @@ endif
# system installs them in the same directory, breaking multiarch.
# Move them in /usr/include/<arch>/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.