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 <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2020-09-10 14:52:31 +02:00 committed by Daniel Golle
parent 04757f964b
commit f93cb5c2c8
1 changed files with 25 additions and 0 deletions

View File

@ -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"