From a1bd0230d2412223141486192ee0d4632bfe8710 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Mon, 19 Dec 2016 19:08:11 +0100 Subject: Remove RPATH from binaries before creating .deb and .rpm packages Change-Id: I684d4eabac03e049524204864c985e14eea8d92e Signed-off-by: Damjan Marion --- build-root/deb/debian/control | 2 +- build-root/deb/debian/rules | 1 + build-root/rpm/vpp.spec | 7 ++++++- build-root/scripts/remove-rpath | 24 ++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100755 build-root/scripts/remove-rpath (limited to 'build-root') 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 -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 + -- cgit 1.2.3-korg