diff options
Diffstat (limited to 'meta/recipes-devtools/fakeroot')
-rw-r--r-- | meta/recipes-devtools/fakeroot/fakeroot-1.14.4/absolutepaths.patch | 47 | ||||
-rw-r--r-- | meta/recipes-devtools/fakeroot/fakeroot_1.14.4.bb | 33 |
2 files changed, 80 insertions, 0 deletions
diff --git a/meta/recipes-devtools/fakeroot/fakeroot-1.14.4/absolutepaths.patch b/meta/recipes-devtools/fakeroot/fakeroot-1.14.4/absolutepaths.patch new file mode 100644 index 000000000..ae18e8a28 --- /dev/null +++ b/meta/recipes-devtools/fakeroot/fakeroot-1.14.4/absolutepaths.patch @@ -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 + diff --git a/meta/recipes-devtools/fakeroot/fakeroot_1.14.4.bb b/meta/recipes-devtools/fakeroot/fakeroot_1.14.4.bb new file mode 100644 index 000000000..4edeccfe6 --- /dev/null +++ b/meta/recipes-devtools/fakeroot/fakeroot_1.14.4.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Provides a fake \"root environment\" by means of LD_PRELOAD and SYSV IPC or TCP trickery" +HOMEPAGE = "http://fakeroot.alioth.debian.org/" +SECTION = "base" +LICENSE = "GPLv2" +# fakeroot needs getopt which is provided by the util-linux package +RDEPENDS = "util-linux" +RDEPENDS_virtclass-native = "util-linux-native" +PR = "r0" +PROVIDES += "virtual/fakeroot" + +SRC_URI = "${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.orig.tar.bz2 \ + file://absolutepaths.patch" + +inherit autotools + +do_configure_prepend() { + # fakeroot's own bootstrap includes other autoreconf stuff we don't need here + # so manually create the aux directory + mkdir -p ${S}/build-aux +} + +do_install_append() { + install -d ${D}${STAGING_INCDIR}/fakeroot/ + install -m 644 *.h ${D}${STAGING_INCDIR}/fakeroot +} + +# Compatability for the rare systems not using or having SYSV +python () { + if bb.data.inherits_class("native", d) and bb.data.getVar('HOST_NONSYSV', d, True) and bb.data.getVar('HOST_NONSYSV', d, True) != '0': + bb.data.setVar('EXTRA_OECONF', ' --with-ipc=tcp ', d) +} + +BBCLASSEXTEND = "native" |