diff options
author | Damjan Marion <damarion@cisco.com> | 2016-12-19 19:08:11 +0100 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2016-12-20 13:43:21 +0000 |
commit | a1bd0230d2412223141486192ee0d4632bfe8710 (patch) | |
tree | 8e9180b9339f1362881c48e53a77229a8fa068bc /build-root | |
parent | fcfb3917f7021567b250dabbcc9e30a1becf6f73 (diff) |
Remove RPATH from binaries before creating .deb and .rpm packages
Change-Id: I684d4eabac03e049524204864c985e14eea8d92e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'build-root')
-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 |
4 files changed, 32 insertions, 2 deletions
diff --git a/build-root/deb/debian/control b/build-root/deb/debian/control index 988d2764..643774e3 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 4ecd38f7..186fa840 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 4a351348..ed382349 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 00000000..bda3d60d --- /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 + |