diff --git a/.github/workflows/linux-appimage.yml b/.github/workflows/linux-appimage.yml index ee33133..56b2813 100644 --- a/.github/workflows/linux-appimage.yml +++ b/.github/workflows/linux-appimage.yml @@ -82,7 +82,9 @@ jobs: run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ - libxcb-cursor0 libegl1 libgl1 libxkbcommon0 libxkbcommon-x11-0 libdbus-1-3 libfontconfig1 libglib2.0-0 binutils appstream desktop-file-utils + libxcb-cursor0 libegl1 libgl1 libxkbcommon0 libxkbcommon-x11-0 \ + libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-shape0 libxcb-xinerama0 libxcb-xkb1 \ + libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-util1 libdbus-1-3 libfontconfig1 libglib2.0-0 binutils appstream desktop-file-utils - name: Install Python dependencies run: | diff --git a/packaging/appimage/build_appimage.sh b/packaging/appimage/build_appimage.sh index 13c4d1a..c09a132 100755 --- a/packaging/appimage/build_appimage.sh +++ b/packaging/appimage/build_appimage.sh @@ -74,6 +74,16 @@ for lib in "$cursor" "$xkbx11" $(ldd "$cursor" "$xkbx11" ${qxcb:+"$qxcb"} | awk cp -nL "$lib" "$INTERNAL/" 2>/dev/null || true done echo " embarquées : $(ls "$INTERNAL" | grep -Ec '^(libxcb-|libxkbcommon)' || true) bibliothèque(s) xcb-*/xkbcommon*" +# Garde-fou : toute dépendance xcb/xkbcommon du plugin Qt doit être résolue (ici ou dans le bundle), sinon l'AppImage +# ne démarre pas sur un système minimal (cas vécu : libxcb-icccm.so.4 absente sur le testeur d'AppImageHub). +if [ -n "$qxcb" ]; then + missing="$(LD_LIBRARY_PATH="$INTERNAL:$(dirname "$qxcb")" ldd "$qxcb" | awk '/not found/ && /libxcb|libxkb|libX11/{print $1}')" + if [ -n "$missing" ]; then + echo " ERREUR : dépendances de libqxcb.so introuvables :" $missing >&2 + echo " installer les paquets libxcb-*0 correspondants sur la machine de build" >&2 + exit 1 + fi +fi du -sh "$APPDIR" | awk '{print " AppDir : " $1}'