Parcourir la source

fakeroot: make fakeroot script relocatable

Patch the fakeroot script template to discover faked and libfakeroot.so
relative to the STAGING_DIR_HOST environment variable, similar to how it
is done for automake, libtool, quilt and autoconf already.

This avoids the need for passing the paths to faked and libfakeroot.so
manually every time we invoke fakeroot and subsequently allows us to
drop OS X specific logic.

Signed-off-by: Jo-Philipp Wich <[email protected]>
Jo-Philipp Wich il y a 5 ans
Parent
commit
f93cb5c2c8
1 fichiers modifiés avec 25 ajouts et 0 suppressions
  1. 25 0
      tools/fakeroot/patches/000-relocatable.patch

+ 25 - 0
tools/fakeroot/patches/000-relocatable.patch

@@ -0,0 +1,25 @@
+--- a/scripts/fakeroot.in
++++ b/scripts/fakeroot.in
+@@ -30,12 +30,19 @@ fatal ()
+ }
+ 
+ # strip /bin/fakeroot to find install prefix
+-FAKEROOT_PREFIX=@prefix@
+-FAKEROOT_BINDIR=@bindir@
++if [ -n "$STAGING_DIR_HOST" ]; then
++    FAKEROOT_PREFIX="${STAGING_DIR_HOST}"
++    FAKEROOT_BINDIR="${STAGING_DIR_HOST}/bin"
++    FAKEROOT_LIBDIR="${STAGING_DIR_HOST}/lib"
++else
++    FAKEROOT_PREFIX=@prefix@
++    FAKEROOT_BINDIR=@bindir@
++    FAKEROOT_LIBDIR=@libdir@
++fi
+ 
+ USEABSLIBPATH=@LDPRELOADABS@
+ LIB=lib@fakeroot_transformed@@DLSUFFIX@
+-PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
++PATHS=${FAKEROOT_LIBDIR}:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
+ FAKED=${FAKEROOT_BINDIR}/@faked_transformed@
+ 
+ FAKED_MODE="unknown-is-root"