tools: fakeroot: rework relocatable patch to avoid LD_LIBRARY_PATH usage
Due to the use of LD_LIBRARY_PATH, the programs running in the fakeroot
environment may end up loading bundled SDK libraries using the system
ld.so.
Rework the relocatability patch to avoid meddling with LD_LIBRARY_PATH
and construct the paths to faked and libfakeroot.so directly.
Fixes: f93cb5c2c8
("fakeroot: make fakeroot script relocatable")
Reviewed-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
fe302d472a
commit
d4521fb132
@ -1,25 +1,29 @@
|
|||||||
--- a/scripts/fakeroot.in
|
--- a/scripts/fakeroot.in
|
||||||
+++ b/scripts/fakeroot.in
|
+++ b/scripts/fakeroot.in
|
||||||
@@ -30,12 +30,19 @@ fatal ()
|
@@ -30,13 +30,20 @@ fatal ()
|
||||||
}
|
}
|
||||||
|
|
||||||
# strip /bin/fakeroot to find install prefix
|
# strip /bin/fakeroot to find install prefix
|
||||||
-FAKEROOT_PREFIX=@prefix@
|
-FAKEROOT_PREFIX=@prefix@
|
||||||
-FAKEROOT_BINDIR=@bindir@
|
-FAKEROOT_BINDIR=@bindir@
|
||||||
+if [ -n "$STAGING_DIR_HOST" ]; then
|
+if [ -n "$STAGING_DIR_HOST" ]; then
|
||||||
+ FAKEROOT_PREFIX="${STAGING_DIR_HOST}"
|
+ USEABSLIBPATH=1
|
||||||
+ FAKEROOT_BINDIR="${STAGING_DIR_HOST}/bin"
|
+ LIB=${STAGING_DIR_HOST}/lib/lib@fakeroot_transformed@@DLSUFFIX@
|
||||||
+ FAKEROOT_LIBDIR="${STAGING_DIR_HOST}/lib"
|
+ FAKED=${STAGING_DIR_HOST}/bin/faked
|
||||||
|
+ PATHS=
|
||||||
+else
|
+else
|
||||||
+ FAKEROOT_PREFIX=@prefix@
|
+ FAKEROOT_PREFIX=@prefix@
|
||||||
+ FAKEROOT_BINDIR=@bindir@
|
+ FAKEROOT_BINDIR=@bindir@
|
||||||
+ FAKEROOT_LIBDIR=@libdir@
|
|
||||||
|
-USEABSLIBPATH=@LDPRELOADABS@
|
||||||
|
-LIB=lib@fakeroot_transformed@@DLSUFFIX@
|
||||||
|
-PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
|
||||||
|
-FAKED=${FAKEROOT_BINDIR}/@faked_transformed@
|
||||||
|
+ USEABSLIBPATH=@LDPRELOADABS@
|
||||||
|
+ LIB=lib@fakeroot_transformed@@DLSUFFIX@
|
||||||
|
+ PATHS=@libdir@:${FAKEROOT_PREFIX}/lib64/libfakeroot:${FAKEROOT_PREFIX}/lib32/libfakeroot
|
||||||
|
+ FAKED=${FAKEROOT_BINDIR}/@faked_transformed@
|
||||||
+fi
|
+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"
|
FAKED_MODE="unknown-is-root"
|
||||||
|
export FAKED_MODE
|
||||||
|
Loading…
Reference in New Issue
Block a user