gpsd: Do not generate an RPATH when we don't need it

So far we have used chrpath to fix the rpath we don't want but
this creates issues with supporting both dora and edison (we need
to depend on different recipes). Instead just force the RPATH to
be off. This can be done by setting the internal _RPATH variable.
I found this in Tool/gnulink.py.
This commit is contained in:
Holger Hans Peter Freyther 2014-06-17 19:52:43 +02:00
parent 85bc905db3
commit 92c3a78288
3 changed files with 16 additions and 47 deletions

View File

@ -1,42 +0,0 @@
From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 16:24:35 +0200
Subject: [PATCH 2/2] SConstruct: remove rpath
* even with correct prefix (without DESTDIR) included it's redundant
WARNING: QA Issue: libgps:
/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0
contains probably-redundant RPATH /usr/lib
* and with prefix from scons.bbclass it's invalid
WARNING: QA Issue: package libgps contains bad RPATH
/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/image/usr/lib
in file
/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
---
SConstruct | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/SConstruct b/SConstruct
index a1bddb9..3e7c607 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1205,8 +1205,11 @@ if qt_env:
# We don't use installdir here in order to avoid having DESTDIR affect the rpath
if env["shared"] and env["chrpath"]:
- env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
- % (installdir('libdir', False), ))
+ if not env['sysroot']:
+ env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
+ % (installdir('libdir', False), ))
+ else:
+ env.AddPostAction(binaryinstall, '$CHRPATH -d "$TARGET"')
if not env['debug'] and not env['profiling'] and env['strip']:
env.AddPostAction(binaryinstall, '$STRIP $TARGET')
--
1.7.5.4

View File

@ -0,0 +1,12 @@
Index: gpsd-3.9/SConstruct
===================================================================
--- gpsd-3.9.orig/SConstruct
+++ gpsd-3.9/SConstruct
@@ -223,6 +223,7 @@ env['PYTHON'] = sys.executable
env['STRIP'] = "strip"
env['PKG_CONFIG'] = "pkg-config"
env['CHRPATH'] = 'chrpath'
+env['_RPATH'] = ''
for i in ["AR", "ARFLAGS", "CCFLAGS", "CFLAGS", "CC", "CXX", "CXXFLAGS", "STRIP", "PKG_CONFIG", "CHRPATH", "LD", "TAR"]:
if os.environ.has_key(i):
j = i

View File

@ -2,18 +2,16 @@ DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices"
SECTION = "console/network"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
DEPENDS = "ncurses chrpath-native python"
DEPENDS = "ncurses python"
#DEPENDS = "ncurses libusb1 python"
PROVIDES = "virtual/gpsd"
EXTRANATIVEPATH += "chrpath-native"
PR = "r3.10"
PR = "r3.11"
SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \
file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
file://0004-SConstruct-remove-rpath.patch \
file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch \
file://no-rpath-please.patch \
file://gpsd-tsip-pps.patch \
file://gpsd-default \
file://gpsd \
@ -61,6 +59,7 @@ EXTRA_OESCONS = " \
tripmate='false' \
usb='false' \
systemd='${SYSTEMD_OESCONS}' \
chrpath='false' \
"
# python='false' \
# this cannot be used, because then chrpath is not found and only static lib is built