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>
This commit is contained in:
		@@ -186,7 +186,7 @@ for BIN in "$@"; do
 | 
				
			|||||||
			#!/usr/bin/env bash
 | 
								#!/usr/bin/env bash
 | 
				
			||||||
			dir="\$(dirname "\$0")"
 | 
								dir="\$(dirname "\$0")"
 | 
				
			||||||
			export RUNAS_ARG0="\$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" "\$@"
 | 
								exec "\$dir/${REL:+$REL/}$LDSO" --library-path "\$dir/${REL:+$REL/}" "\$dir/.${BIN##*/}.bin" "\$@"
 | 
				
			||||||
		EOF
 | 
							EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user