# HG changeset patch # User Chris Cannam # Date 1530182892 -3600 # Node ID 8ce9fd47118834e12477bcbe1251f62362ce9744 # Parent 3601e46f21f49549d46d03f9e9b2dc4187ee5c98 Further appdir layout fixes diff -r 3601e46f21f4 -r 8ce9fd471188 deploy/linux/deploy-appimage.sh --- a/deploy/linux/deploy-appimage.sh Thu Jun 28 11:44:50 2018 +0100 +++ b/deploy/linux/deploy-appimage.sh Thu Jun 28 11:48:12 2018 +0100 @@ -25,13 +25,31 @@ ldd /usr/lib/x86_64-linux-gnu/libpulse.so.0 || true add_dependencies() { + local binary="$1" - for lib in $(ldd "$binary" | egrep '=> (/usr)?/lib/' | sed 's/^.*=> //' | sed 's/ .*$//' | grep -v 'libc.so' | grep -v 'libm.so'); do + + for lib in $(ldd "$binary" | egrep '=> (/usr)?(/local)?/lib/' | \ + sed 's/^.*=> //' | sed 's/ .*$//' | \ + grep -v 'libc.so' | grep -v 'libm.so'); do + mkdir -p "$targetdir/$(dirname $lib)" + if [ ! -f "$targetdir/$lib" ]; then + cp -Lv "$lib" "$targetdir/$lib" chmod +x "$targetdir/$lib" + + # copy e.g. /usr/lib/pulseaudio/libpulsecommon-*.so up a + # level to something in the load path + last_element=$(basename $(dirname "$lib")) + case "$last_element" in + lib) ;; + *-gnu) ;; + *) cp -v "$targetdir/$lib" "$targetdir/$(dirname $(dirname $lib))" + esac + add_dependencies "$lib" + fi done }