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:
committed by
Dave Barach
parent
fcfb3917f7
commit
a1bd0230d2
@@ -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),)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Executable
+24
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user