From fe0476218dcb5bd47fec8a45c0474d95178f83a0 Mon Sep 17 00:00:00 2001 From: Gato Date: Sat, 4 Jul 2026 08:11:27 +0200 Subject: [PATCH] feat: export systematique de pena.flatpak lors du build Le mode par defaut installe (--user) ET exporte le bundle pena.flatpak a cote du script. Le flag --bundle devient --no-install (bundle seul, alias conserve). Co-Authored-By: Claude Opus 4.8 (1M context) --- flatpak/build-flatpak.sh | 43 +++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/flatpak/build-flatpak.sh b/flatpak/build-flatpak.sh index 23b10e5..0ee8759 100755 --- a/flatpak/build-flatpak.sh +++ b/flatpak/build-flatpak.sh @@ -6,12 +6,14 @@ # 1. `cargo tauri build --bundles deb` -> produit le .deb autonome # 2. Copie du .deb à côté du manifeste sous le nom `pena.deb` # 3. `flatpak-builder` construit le bundle dans la sandbox GNOME -# 4. Installation locale (--user) et/ou export en fichier .flatpak +# 4. Installation locale (--user) ET export du fichier pena.flatpak +# +# Le fichier `pena.flatpak` est TOUJOURS exporté à côté du script. # # Usage : -# ./build-flatpak.sh # build + installation locale (--user) -# ./build-flatpak.sh --bundle # build + export d'un fichier Pena.flatpak -# ./build-flatpak.sh --no-deb # réutilise le .deb déjà présent (build rapide) +# ./build-flatpak.sh # build + installation (--user) + pena.flatpak +# ./build-flatpak.sh --no-install # build + pena.flatpak seul (pas d'installation) +# ./build-flatpak.sh --no-deb # réutilise le .deb déjà présent (build rapide) # set -euo pipefail @@ -28,13 +30,13 @@ DEB_TARGET="$SCRIPT_DIR/pena.deb" TAURI_CONF="$PROJECT_DIR/src-tauri/tauri.conf.json" METAINFO="$SCRIPT_DIR/${APP_ID}.metainfo.xml" -DO_BUNDLE=0 +DO_INSTALL=1 BUILD_DEB=1 for arg in "$@"; do case "$arg" in - --bundle) DO_BUNDLE=1 ;; + --no-install|--bundle) DO_INSTALL=0 ;; # --bundle : alias rétrocompatible --no-deb) BUILD_DEB=0 ;; - -h|--help) sed -n '2,16p' "$0"; exit 0 ;; + -h|--help) sed -n '2,17p' "$0"; exit 0 ;; *) echo "Argument inconnu : $arg" >&2; exit 1 ;; esac done @@ -116,22 +118,27 @@ cp -f "$PROJECT_DIR/src-tauri/icons/128x128.png" "$SCRIPT_DIR/icon.png" echo ">> Construction du Flatpak…" rm -rf "$BUILD_DIR" FB_ARGS=(--force-clean --user --install-deps-from=flathub --repo="$REPO_DIR") -if [[ "$DO_BUNDLE" -eq 0 ]]; then +if [[ "$DO_INSTALL" -eq 1 ]]; then FB_ARGS+=(--install) fi "${FLATPAK_BUILDER[@]}" "${FB_ARGS[@]}" "$BUILD_DIR" "$MANIFEST" -# --- 3. Export d'un fichier .flatpak (optionnel) ----------------------------- -if [[ "$DO_BUNDLE" -eq 1 ]]; then - OUT="$SCRIPT_DIR/Pena.flatpak" - echo ">> Export du bundle : $OUT" - flatpak build-bundle "$REPO_DIR" "$OUT" "$APP_ID" \ - --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo - echo ">> Nettoyage du dépôt OSTree temporaire…" - rm -rf "$REPO_DIR" - echo ">> Installer avec : flatpak install --user $OUT" +# --- 3. Export du fichier .flatpak (toujours) -------------------------------- +# Le bundle autonome est systématiquement exporté à côté du manifeste. +OUT="$SCRIPT_DIR/pena.flatpak" +echo ">> Export du bundle : $OUT" +flatpak build-bundle "$REPO_DIR" "$OUT" "$APP_ID" \ + --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo + +echo ">> Nettoyage du dépôt OSTree temporaire…" +rm -rf "$REPO_DIR" + +if [[ "$DO_INSTALL" -eq 1 ]]; then + echo ">> Pena $VERSION installé (--user) et bundle exporté : $OUT" + echo ">> Lancer avec : flatpak run $APP_ID" else - echo ">> Pena $VERSION installé. Lancer avec : flatpak run $APP_ID" + echo ">> Bundle exporté : $OUT" + echo ">> Installer avec : flatpak install --user $OUT" fi echo ">> Terminé."