[PATCH 1/2] fakeroot: make fakeroot script relocatable

Jo-Philipp Wich jo at mein.io
Thu Sep 10 08:57:30 EDT 2020


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 at mein.io>
---
 tools/fakeroot/patches/000-relocatable.patch | 25 ++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 tools/fakeroot/patches/000-relocatable.patch

diff --git a/tools/fakeroot/patches/000-relocatable.patch b/tools/fakeroot/patches/000-relocatable.patch
new file mode 100644
index 0000000000..9f6915bfe8
--- /dev/null
+++ b/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 at 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"
-- 
2.28.0




More information about the openwrt-devel mailing list