Remove RPATH from binaries before creating .deb and .rpm packages

Change-Id: I684d4eabac03e049524204864c985e14eea8d92e
Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
Damjan Marion
2016-12-19 19:08:11 +01:00
committed by Dave Barach
parent fcfb3917f7
commit a1bd0230d2
5 changed files with 34 additions and 4 deletions
+2 -2
View File
@@ -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),)
+1 -1
View File
@@ -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
+1
View File
@@ -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
+6 -1
View File
@@ -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
+24
View File
@@ -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