@@ -50,23 +50,40 @@ cp "$repo_root"/resources/appimagetool.desktop "$appimagetool_appdir"
5050cp " $repo_root " /resources/appimagetool.png " $appimagetool_appdir " /appimagetool.png
5151cp " $appimagetool_appdir " /appimagetool.png " $appimagetool_appdir " /.DirIcon
5252
53+ # bundle desktop-file-validate
54+ # https://github.com/AppImage/AppImageKit/issues/1171
55+ install -D " $( which desktop-file-validate) " " $appimagetool_appdir " /usr/bin/
56+
5357if [ -d /deps/ ]; then
54- # deploy GLib
58+ # deploy GLib, gpgme and gcrypt
5559 mkdir -p " $appimagetool_appdir " /usr/lib/
5660 cp /deps/lib/lib* .so* " $appimagetool_appdir " /usr/lib/
5761
62+
63+ case " $ARCH " in
64+ x86_64)
65+ libarch=x86-64
66+ ;;
67+ i686)
68+ libarch=i386
69+ ;;
70+ armhf)
71+ libarch=arm
72+ ;;
73+ * )
74+ libarch=" $ARCH "
75+ ;;
76+ esac
77+
5878 # libffi is a runtime dynamic dependency
5979 # see this thread for more information on the topic:
6080 # https://mail.gnome.org/archives/gtk-devel-list/2012-July/msg00062.html
61- if [ " $ARCH " == " x86_64" ]; then
62- cp " $( ldconfig -p | grep libffi.so.6 | grep x86-64 | cut -d' >' -f2 | tr -d ' ' ) " " $appimagetool_appdir " /usr/lib/
63- elif [ " $ARCH " == " i686" ]; then
64- cp " $( ldconfig -p | grep libffi.so.6 | head -n1 | cut -d' >' -f2 | tr -d ' ' ) " " $appimagetool_appdir " /usr/lib/
65- elif [ " $ARCH " == " armhf" ]; then
66- cp " $( ldconfig -p | grep libffi.so.6 | grep arm | grep hf | cut -d' >' -f2 | tr -d ' ' ) " " $appimagetool_appdir " /usr/lib/
67- elif [ " $ARCH " == " aarch64" ]; then
68- cp " $( ldconfig -p | grep libffi.so.6 | grep aarch64 | cut -d' >' -f2 | tr -d ' ' ) " " $appimagetool_appdir " /usr/lib/
69- else
70- echo " WARNING: unknown architecture, not bundling libffi"
71- fi
81+ # libpcre is used by desktop-file-validate
82+ for pattern in libffi libpcre; do
83+ # even though it is likely not necessary, we deploy every viable version of the libraries just to make sure...
84+ ldconfig -p | grep " $pattern " | grep " $libarch " | while read -r line; do
85+ lib=" $( echo " $line " | cut -d' >' -f2 | tr -d ' ' ) "
86+ cp " $lib " " $appimagetool_appdir " /usr/lib/
87+ done
88+ done
7289fi
0 commit comments