From 4142ac3cbf36bb0119bb3091b016c7a8e96df1a5 Mon Sep 17 00:00:00 2001 From: Paul WOISARD Date: Sat, 17 Oct 2026 22:20:08 +0200 Subject: [PATCH] fix(appimage): embarquer toute la famille libxcb-* du plugin Qt (libxcb-icccm manquait) + garde-fou ldd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le 2e test AppImageHub échouait sur libxcb-icccm.so.4. Les paquets libxcb-* sont tous installés en CI et le build échoue si une dépendance xcb/xkbcommon de libqxcb.so reste introuvable. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/linux-appimage.yml | 4 +++- packaging/appimage/build_appimage.sh | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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}'