From 10dbdeccfadb56557d267e3dc8f22d6bafbb422f Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 10 Sep 2020 13:55:48 +0200 Subject: [PATCH] scripts: bundle-libraries.sh: retain preloaded libraries Since the introduction of fakeroot support, wrapped SDK executables might be invoked from a shell that has libfakeroot.so preloaded. Since we're using preloading as well in order to mangle argv[0] when invoking the shipped ELF interpreter directly, we must take care of preloading the already preloaded libraries as well, to avoid invoked programs losing their fakeroot capabilities. Extend the bundle-libraries.sh script to take any existing $LD_PRELOAD into account when invoking the target ELF executable with a preloaded runas.so library. Signed-off-by: Jo-Philipp Wich --- scripts/bundle-libraries.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh index d3c7206a4d..9efcbbd0b2 100755 --- a/scripts/bundle-libraries.sh +++ b/scripts/bundle-libraries.sh @@ -186,7 +186,7 @@ for BIN in "$@"; do #!/usr/bin/env bash dir="\$(dirname "\$0")" export RUNAS_ARG0="\$0" - export LD_PRELOAD="\$dir/${REL:+$REL/}runas.so" + export LD_PRELOAD="\${LD_PRELOAD:+\$LD_PRELOAD:}\$dir/${REL:+$REL/}runas.so" exec "\$dir/${REL:+$REL/}$LDSO" --library-path "\$dir/${REL:+$REL/}" "\$dir/.${BIN##*/}.bin" "\$@" EOF