From 92c3a7828834ac8a2e8ed2debc594655932600cd Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 17 Jun 2014 19:52:43 +0200 Subject: [PATCH] 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. --- .../0004-SConstruct-remove-rpath.patch | 42 ------------------- .../gpsd/gpsd-3.9/no-rpath-please.patch | 12 ++++++ recipes-extra/gpsd/gpsd_3.9.bb | 9 ++-- 3 files changed, 16 insertions(+), 47 deletions(-) delete mode 100644 recipes-extra/gpsd/gpsd-3.9/0004-SConstruct-remove-rpath.patch create mode 100644 recipes-extra/gpsd/gpsd-3.9/no-rpath-please.patch diff --git a/recipes-extra/gpsd/gpsd-3.9/0004-SConstruct-remove-rpath.patch b/recipes-extra/gpsd/gpsd-3.9/0004-SConstruct-remove-rpath.patch deleted file mode 100644 index 83b98bb..0000000 --- a/recipes-extra/gpsd/gpsd-3.9/0004-SConstruct-remove-rpath.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001 -From: Martin Jansa -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 -Signed-off-by: Denis 'GNUtoo' Carikli ---- - 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 - diff --git a/recipes-extra/gpsd/gpsd-3.9/no-rpath-please.patch b/recipes-extra/gpsd/gpsd-3.9/no-rpath-please.patch new file mode 100644 index 0000000..e0735cd --- /dev/null +++ b/recipes-extra/gpsd/gpsd-3.9/no-rpath-please.patch @@ -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 diff --git a/recipes-extra/gpsd/gpsd_3.9.bb b/recipes-extra/gpsd/gpsd_3.9.bb index 1f73054..f02e436 100644 --- a/recipes-extra/gpsd/gpsd_3.9.bb +++ b/recipes-extra/gpsd/gpsd_3.9.bb @@ -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