]> code.ossystems Code Review - openembedded-core.git/commitdiff
fakeroot: Stop setting LD_LIBRARY_PATH as it breaks things (see patch description)
authorRichard Purdie <rpurdie@linux.intel.com>
Sat, 23 Jan 2010 22:46:19 +0000 (22:46 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Sat, 23 Jan 2010 22:46:19 +0000 (22:46 +0000)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/fakeroot/fakeroot/absolutepaths.patch [new file with mode: 0644]
meta/packages/fakeroot/fakeroot_1.9.4.bb

diff --git a/meta/packages/fakeroot/fakeroot/absolutepaths.patch b/meta/packages/fakeroot/fakeroot/absolutepaths.patch
new file mode 100644 (file)
index 0000000..ae18e8a
--- /dev/null
@@ -0,0 +1,47 @@
+Image creation runs under a fakeroot context and calls a script which refers 
+to the build systems's python. This loads but can find a libpython from staging
+if these are incompatible, anything can break. These scripts should *not* be
+changing LD_LIBRARY_PATH, just adding an LD_PRELOAD with an absolute path. The
+dyanmic linker can figure out anything else with rpaths.
+
+RP - 23/1/10
+
+Index: fakeroot-1.9.4/configure.ac
+===================================================================
+--- fakeroot-1.9.4.orig/configure.ac   2010-01-23 22:34:39.000000000 +0000
++++ fakeroot-1.9.4/configure.ac        2010-01-23 22:35:14.000000000 +0000
+@@ -414,6 +414,8 @@
+               ;;
+ esac
++LDPRELOADABS=1
++
+ AC_DEFINE_UNQUOTED([LIBCPATH], "$libcpath", [path to libc shared object])
+ AC_SUBST(DLSUFFIX)
+ AC_SUBST(LDLIBPATHVAR)
+Index: fakeroot-1.9.4/scripts/fakeroot.in
+===================================================================
+--- fakeroot-1.9.4.orig/scripts/fakeroot.in    2010-01-23 22:34:53.000000000 +0000
++++ fakeroot-1.9.4/scripts/fakeroot.in 2010-01-23 22:37:17.000000000 +0000
+@@ -135,7 +135,7 @@
+ if [ "$WAITINTRAP" -eq 0 ]; then
+   trap "kill -s @signal@ $PID" EXIT INT
+ else
+-  trap 'FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS"  LD_PRELOAD="$LIB" /bin/ls -l / >/dev/null 2>&1; while kill -s @signal@ $PID 2>/dev/null; do sleep 0.1; done' EXIT INT
++  trap 'FAKEROOTKEY=$FAKEROOTKEY LD_PRELOAD="$LIB" /bin/ls -l / >/dev/null 2>&1; while kill -s @signal@ $PID 2>/dev/null; do sleep 0.1; done' EXIT INT
+ fi
+ if test -z "$FAKEROOTKEY" || test -z "$PID"; then
+@@ -158,10 +158,10 @@
+ export FAKEROOT_FD_BASE
+ if test -z "$*"; then
+-  FAKEROOTKEY=$FAKEROOTKEY @LDLIBPATHVAR@="$PATHS" @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" ${SHELL:-/bin/sh}
++  FAKEROOTKEY=$FAKEROOTKEY @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" ${SHELL:-/bin/sh}
+   RESULT=$?
+ else
+-  FAKEROOTKEY=$FAKEROOTKEY @LDLIBPATHVAR@="$PATHS" @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" "$@"
++  FAKEROOTKEY=$FAKEROOTKEY @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" "$@"
+   RESULT=$?
+ fi
index f2c3b01c859fc3abefe8a99157b836f2959d9af7..d7545ddb262dbc54af43fe35c06d9452eb0d2c44 100644 (file)
@@ -5,10 +5,11 @@ LICENSE = "GPL"
 # fakeroot needs getopt which is provided by the util-linux package
 RDEPENDS = "util-linux"
 RDEPENDS_virtclass-native = "util-linux-native"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.tar.gz \
-           file://configure-libtool.patch;patch=1"
+           file://configure-libtool.patch;patch=1 \
+           file://absolutepaths.patch;patch=1 "
            
 inherit autotools_stage