aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/bundle-libraries.sh
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-09-10 13:55:48 +0200
committerJo-Philipp Wich <jo@mein.io>2020-09-10 14:24:50 +0200
commit10dbdeccfadb56557d267e3dc8f22d6bafbb422f (patch)
tree50fc1c3e5a46c8c8dc2ced1dc9eecb2fa4eceae0 /scripts/bundle-libraries.sh
parent8b8015031bec435a43d29fbac3238b6b03aadc1f (diff)
downloadupstream-10dbdeccfadb56557d267e3dc8f22d6bafbb422f.tar.gz
upstream-10dbdeccfadb56557d267e3dc8f22d6bafbb422f.tar.bz2
upstream-10dbdeccfadb56557d267e3dc8f22d6bafbb422f.zip
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 <jo@mein.io>
Diffstat (limited to 'scripts/bundle-libraries.sh')
-rwxr-xr-xscripts/bundle-libraries.sh2
1 files changed, 1 insertions, 1 deletions
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