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) <noreply@anthropic.com>
This commit is contained in:
2026-07-04 08:11:27 +02:00
parent 1220ce1bb0
commit fe0476218d
+19 -12
View File
@@ -6,11 +6,13 @@
# 1. `cargo tauri build --bundles deb` -> produit le .deb autonome # 1. `cargo tauri build --bundles deb` -> produit le .deb autonome
# 2. Copie du .deb à côté du manifeste sous le nom `pena.deb` # 2. Copie du .deb à côté du manifeste sous le nom `pena.deb`
# 3. `flatpak-builder` construit le bundle dans la sandbox GNOME # 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 : # Usage :
# ./build-flatpak.sh # build + installation locale (--user) # ./build-flatpak.sh # build + installation (--user) + pena.flatpak
# ./build-flatpak.sh --bundle # build + export d'un fichier 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) # ./build-flatpak.sh --no-deb # réutilise le .deb déjà présent (build rapide)
# #
set -euo pipefail set -euo pipefail
@@ -28,13 +30,13 @@ DEB_TARGET="$SCRIPT_DIR/pena.deb"
TAURI_CONF="$PROJECT_DIR/src-tauri/tauri.conf.json" TAURI_CONF="$PROJECT_DIR/src-tauri/tauri.conf.json"
METAINFO="$SCRIPT_DIR/${APP_ID}.metainfo.xml" METAINFO="$SCRIPT_DIR/${APP_ID}.metainfo.xml"
DO_BUNDLE=0 DO_INSTALL=1
BUILD_DEB=1 BUILD_DEB=1
for arg in "$@"; do for arg in "$@"; do
case "$arg" in case "$arg" in
--bundle) DO_BUNDLE=1 ;; --no-install|--bundle) DO_INSTALL=0 ;; # --bundle : alias rétrocompatible
--no-deb) BUILD_DEB=0 ;; --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 ;; *) echo "Argument inconnu : $arg" >&2; exit 1 ;;
esac esac
done done
@@ -116,22 +118,27 @@ cp -f "$PROJECT_DIR/src-tauri/icons/128x128.png" "$SCRIPT_DIR/icon.png"
echo ">> Construction du Flatpak…" echo ">> Construction du Flatpak…"
rm -rf "$BUILD_DIR" rm -rf "$BUILD_DIR"
FB_ARGS=(--force-clean --user --install-deps-from=flathub --repo="$REPO_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) FB_ARGS+=(--install)
fi fi
"${FLATPAK_BUILDER[@]}" "${FB_ARGS[@]}" "$BUILD_DIR" "$MANIFEST" "${FLATPAK_BUILDER[@]}" "${FB_ARGS[@]}" "$BUILD_DIR" "$MANIFEST"
# --- 3. Export d'un fichier .flatpak (optionnel) ----------------------------- # --- 3. Export du fichier .flatpak (toujours) --------------------------------
if [[ "$DO_BUNDLE" -eq 1 ]]; then # Le bundle autonome est systématiquement exporté à côté du manifeste.
OUT="$SCRIPT_DIR/Pena.flatpak" OUT="$SCRIPT_DIR/pena.flatpak"
echo ">> Export du bundle : $OUT" echo ">> Export du bundle : $OUT"
flatpak build-bundle "$REPO_DIR" "$OUT" "$APP_ID" \ flatpak build-bundle "$REPO_DIR" "$OUT" "$APP_ID" \
--runtime-repo=https://flathub.org/repo/flathub.flatpakrepo --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
echo ">> Nettoyage du dépôt OSTree temporaire…" echo ">> Nettoyage du dépôt OSTree temporaire…"
rm -rf "$REPO_DIR" rm -rf "$REPO_DIR"
echo ">> Installer avec : flatpak install --user $OUT"
if [[ "$DO_INSTALL" -eq 1 ]]; then
echo ">> Pena $VERSION installé (--user) et bundle exporté : $OUT"
echo ">> Lancer avec : flatpak run $APP_ID"
else else
echo ">> Pena $VERSION installé. Lancer avec : flatpak run $APP_ID" echo ">> Bundle exporté : $OUT"
echo ">> Installer avec : flatpak install --user $OUT"
fi fi
echo ">> Terminé." echo ">> Terminé."