From f526ca8bf77507daef96061932352e35ab607758 Mon Sep 17 00:00:00 2001 From: Jan Blunck Date: Tue, 14 Mar 2017 20:45:35 +0100 Subject: [PATCH] Pass Debian multiarch libdir during install Lets pass the multiarch libdir at install time so that the links embedded in the dpdk-dev package (build environment) are correct. Change-Id: I4f907ad88721f2155a300dc6ad6724a686b7b194 Signed-off-by: Jan Blunck Signed-off-by: Luca Boccassi --- debian/rules | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/debian/rules b/debian/rules index 321f3681..1fc7bbdb 100755 --- a/debian/rules +++ b/debian/rules @@ -184,12 +184,12 @@ override_dh_auto_build-arch: $(DPDK_SHARED_DIR)/.config $(MAKE) -j $(PAR) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) RTE_KERNELDIR=$(KSRC) build -override_dh_auto_install-arch: LIBDIR=usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +override_dh_auto_install-arch: LIBDIR=/usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) override_dh_auto_install-arch: # Package: dpdk (runtime) - $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) prefix=/usr \ + $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) prefix=/usr libdir=$(LIBDIR) \ DESTDIR=debian/dpdk install-runtime - $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr \ + $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr libdir=$(LIBDIR) \ DESTDIR=debian/dpdk install-runtime mkdir -p debian/dpdk/etc/dpdk cp debian/dpdk.interfaces debian/dpdk/etc/dpdk/interfaces @@ -198,8 +198,12 @@ override_dh_auto_install-arch: ln -s /usr/share/dpdk/tools/dpdk-devbind.py \ debian/dpdk/sbin/dpdk-devbind # Package: dpdk-dev (build environment) - $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr \ + # workaround to fix symbolic link creation + mkdir -p debian/dpdk-dev/$(LIBDIR) + $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr libdir=$(LIBDIR) \ DESTDIR=debian/dpdk-dev install-sdk + # remove workaround + rm -fr debian/dpdk-dev/usr/lib cp $(DPDK_SHARED_DIR)/.config debian/dpdk-dev/usr/share/dpdk/config sed -e 's/SDK_TARGET/$(RTE_TARGET)/' debian/dpdk-sdk-env.sh.in > \ debian/dpdk-dev/usr/share/dpdk/dpdk-sdk-env.sh @@ -215,18 +219,18 @@ override_dh_auto_install-arch: # script) mkdir -p debian/libdpdk-dev/$(LIBDIR) # linker script - mv debian/dpdk/usr/lib/libdpdk.so debian/libdpdk-dev/$(LIBDIR)/ + mv debian/dpdk/$(LIBDIR)/libdpdk.so debian/libdpdk-dev/$(LIBDIR)/ # includes mkdir -p debian/libdpdk-dev/usr/include mv debian/dpdk-dev/usr/include/dpdk debian/libdpdk-dev/usr/include/ # all static libs are in the dev package - mv debian/dpdk/usr/lib/lib*.a debian/libdpdk-dev/$(LIBDIR)/ + mv debian/dpdk/$(LIBDIR)/lib*.a debian/libdpdk-dev/$(LIBDIR)/ # symlinks to last .so's are in the non versioned libdpdk-dev as well # this allows multiple libdpdk- at different VER concurrently # libdpdk-dev depends on all sublibs so symlinks are never broken - mv debian/dpdk/usr/lib/*.so debian/libdpdk-dev/$(LIBDIR)/ + mv debian/dpdk/$(LIBDIR)/*.so debian/libdpdk-dev/$(LIBDIR)/ # Package(s): libdpdk- (bare runtime libs) - for lib in $$(ls -1 debian/dpdk/usr/lib/*.so.*); do \ + for lib in $$(ls -1 debian/dpdk/$(LIBDIR)/*.so.*); do \ BN=$$(basename $${lib}); \ VER=$$(echo $${BN} | sed -e 's/^.*\.so\.//'); \ LN=$$(echo $${BN} | sed -e 's/\.so\.[0-9]*$$//' | tr '_' '-'); \ -- 2.16.6