summaryrefslogtreecommitdiffstats
path: root/build-root
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-12-19 19:08:11 +0100
committerDave Barach <openvpp@barachs.net>2016-12-20 13:43:21 +0000
commita1bd0230d2412223141486192ee0d4632bfe8710 (patch)
tree8e9180b9339f1362881c48e53a77229a8fa068bc /build-root
parentfcfb3917f7021567b250dabbcc9e30a1becf6f73 (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/control2
-rwxr-xr-xbuild-root/deb/debian/rules1
-rw-r--r--build-root/rpm/vpp.spec7
-rwxr-xr-xbuild-root/scripts/remove-rpath24
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
+