diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | build-root/deb/debian/control | 2 | ||||
-rwxr-xr-x | build-root/deb/debian/rules | 1 | ||||
-rw-r--r-- | build-root/rpm/vpp.spec | 7 | ||||
-rwxr-xr-x | build-root/scripts/remove-rpath | 24 |
5 files changed, 34 insertions, 4 deletions
@@ -33,7 +33,7 @@ endif DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope -DEB_DEPENDS += python-dev python-virtualenv python-pip lcov +DEB_DEPENDS += python-dev python-virtualenv python-pip lcov chrpath ifeq ($(OS_VERSION_ID),14.04) DEB_DEPENDS += openjdk-8-jdk-headless else @@ -43,7 +43,7 @@ endif RPM_DEPENDS_GROUPS = 'Development Tools' RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils RPM_DEPENDS += openssl-devel https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm apr-devel -RPM_DEPENDS += python-devel python-virtualenv lcov +RPM_DEPENDS += python-devel python-virtualenv lcov chrpath EPEL_DEPENDS = libconfuse-devel ganglia-devel ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),) diff --git a/build-root/deb/debian/control b/build-root/deb/debian/control index 988d27647eb..643774e3061 100644 --- a/build-root/deb/debian/control +++ b/build-root/deb/debian/control @@ -2,7 +2,7 @@ Source: vpp Section: net Priority: extra Maintainer: Cisco OpenVPP Packaging Team <bogus.address@cisco.com> -Build-Depends: debhelper (>= 9), dkms, dh-systemd +Build-Depends: debhelper (>= 9), dkms, dh-systemd, chrpath Standards-Version: 3.9.4 Package: vpp diff --git a/build-root/deb/debian/rules b/build-root/deb/debian/rules index 4ecd38f7c0a..186fa840ad0 100755 --- a/build-root/deb/debian/rules +++ b/build-root/deb/debian/rules @@ -22,6 +22,7 @@ include /usr/share/dpkg/default.mk override_dh_install: dh_install --exclude .git + ../scripts/remove-rpath . override_dh_strip: dh_strip --dbg-package=vpp-dbg diff --git a/build-root/rpm/vpp.spec b/build-root/rpm/vpp.spec index 4a3513481b7..ed382349319 100644 --- a/build-root/rpm/vpp.spec +++ b/build-root/rpm/vpp.spec @@ -26,7 +26,7 @@ License: MIT Version: %{_version} Release: %{_release} Requires: vpp-lib = %{_version}-%{_release}, net-tools, pciutils, python -BuildRequires: systemd +BuildRequires: systemd, chrpath Source: %{name}-%{_version}-%{_release}.tar.gz @@ -189,6 +189,11 @@ do install -p -m 644 $file %{buildroot}/usr/share/vpp/api done +# +# remove RPATH from ELF binaries +# +%{_mu_build_dir}/scripts/remove-rpath %{buildroot} + %post sysctl --system %systemd_post vpp.service diff --git a/build-root/scripts/remove-rpath b/build-root/scripts/remove-rpath new file mode 100755 index 00000000000..bda3d60d745 --- /dev/null +++ b/build-root/scripts/remove-rpath @@ -0,0 +1,24 @@ +#!/bin/bash + +if [ -z $1 ]; then + echo "Please specify path" + exit 1 +fi + +which chrpath &> /dev/null + +if [ $? -ne 0 ] ; then + echo "Please install chrpath tool" + exit 1 +fi + +libs=$(find $1 -type f -name \*.so) +execs=$(find $1 -type f -path \*/bin/\* ) + +for i in $libs $execs; do + chrpath $i 2> /dev/null | grep -q build-root + if [ $? -eq 0 ] ; then + chrpath $i + fi +done + |