diff --git a/README.md b/README.md index 5ff51bd..5483e96 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Paquet YunoHost pour MaBibli -Paquet d'installation de [MaBibli](https://git.akbar.nohost.me/mathieu/mabibli), application de +Paquet d'installation de [MaBibli](https://forge.example.org/mabibli), application de gestion de bibliothèque personnelle (catalogue, prêts, scan ISBN). Ce dépôt **ne contient aucun code C#**. Il porte uniquement de quoi installer sur YunoHost une @@ -9,7 +9,7 @@ d'installation, et les scripts de publication. ## 📖 Toute la documentation est dans le dépôt du code -Elle a été regroupée dans **[le README de `mabibli`](https://git.akbar.nohost.me/mathieu/mabibli#readme)**, +Elle a été regroupée dans **[le README de `mabibli`](https://forge.example.org/mabibli#readme)**, qui est le point d'entrée unique du projet : contenu et points de conception du paquet, publication d'une version, mise en production pas à pas, montée de version, retour arrière, désinstallation, et contraintes permanentes. diff --git a/build/publier.sh b/build/publier.sh index efb9221..330b1cd 100755 --- a/build/publier.sh +++ b/build/publier.sh @@ -42,9 +42,16 @@ manifeste="$racine_paquet/manifest.toml" # répéter : l'aide en listait dix pour cinq réglages, et rien ne disait laquelle # l'emportait sur l'autre. Ne pas les réintroduire pour une CI hypothétique — une CI # passe des options aussi bien que des variables. +# ⚠️ LA SEULE LIGNE À CHANGER pour héberger ce projet ailleurs. +# Tout ce qui suit en dérive : URL de release, URL d'archive, message de fin. +# Le placeholder ci-dessous est volontairement injoignable (example.org est réservé à la +# documentation par la RFC 2606) : `publier.sh` REFUSE de publier tant qu'il est en place, +# plutôt que d'écrire une URL morte dans le manifeste — voir les contrôles préalables. +depot_code="https://forge.example.org/mabibli" + source_dir="$(cd "$racine_paquet/../mabibli" 2>/dev/null && pwd || true)" -base_url="https://git.akbar.nohost.me/mathieu/mabibli/releases/download" -url_releases="https://git.akbar.nohost.me/mathieu/mabibli/releases" +base_url="$depot_code/releases/download" +url_releases="$depot_code/releases" output_dir="$racine_paquet/build/dist" version="" @@ -68,6 +75,7 @@ Usage : publier.sh [options] de route ; ne publie rien et ne modifie aucun dépôt. Les contrôles restent les mêmes, mais avertissent au lieu de refuser. --source-dir CHEMIN Dépôt du code C# (défaut : ../mabibli) + --depot-code URL Dépôt public du code, d'où dérivent les URL de release --base-url URL Racine des URL de release, sans le tag ni le fichier --output-dir CHEMIN Où déposer l'archive (défaut : build/dist) -h, --help Cette aide @@ -81,6 +89,7 @@ while [ $# -gt 0 ]; do --oui|-y) sans_confirmation=1; shift ;; --archive-seule) archive_seule=1; shift ;; --source-dir) source_dir="$2"; shift 2 ;; + --depot-code) depot_code="$2"; base_url="$2/releases/download"; url_releases="$2/releases"; shift 2 ;; --base-url) base_url="$2"; shift 2 ;; --output-dir) output_dir="$2"; shift 2 ;; -h|--help) usage; exit 0 ;; @@ -141,6 +150,15 @@ if [ ! -d "$source_dir/.git" ]; then exit 1 fi +# ⚠️ Refuser AVANT de compiler, comme les autres garde-fous. Publier avec le placeholder +# écrirait dans manifest.toml une `amd64.url` que personne ne peut télécharger — et +# `ynh_setup_source` échouerait à l'installation, loin d'ici et sans rapport apparent. +if [ "$archive_seule" -eq 0 ] && [[ "$base_url" == *example.org* ]]; then + echoerr "Le dépôt public n'est pas configuré : $depot_code" + echoerr "Changez « depot_code » en tête de ce script, ou passez --depot-code URL." + exit 1 +fi + if ! command -v dotnet >/dev/null; then echoerr "Le SDK .NET est introuvable. Il n'est nécessaire QUE sur cette machine :" echoerr "le serveur YunoHost reçoit un publish self-contained et n'a pas de SDK." @@ -504,6 +522,6 @@ Ensuite, vérifier que le manifeste pointe sur un fichier réellement téléchar Puis, sur le serveur : - sudo yunohost app upgrade mabibli -u https://git.akbar.nohost.me/mathieu/mabibli_ynh + sudo yunohost app upgrade mabibli -u ${depot_code}_ynh FIN diff --git a/conf/systemd.service b/conf/systemd.service index 85ff564..6c52e1e 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -1,6 +1,6 @@ [Unit] Description=MaBibli — gestion de bibliothèque personnelle -Documentation=https://git.akbar.nohost.me/mathieu/mabibli +Documentation=https://forge.example.org/mabibli After=network.target [Service] diff --git a/doc/ADMIN.md b/doc/ADMIN.md index ec9b534..6e5a6bb 100644 --- a/doc/ADMIN.md +++ b/doc/ADMIN.md @@ -44,4 +44,4 @@ sqlite3 /home/yunohost.app/mabibli/mabibli.db ".backup '/quelque/part/mabibli.db --- Le détail — conception du paquet, publication, mise à jour pas à pas, retour arrière — -est dans le [README du dépôt du code](https://git.akbar.nohost.me/mathieu/mabibli#readme). +est dans le [README du dépôt du code](https://forge.example.org/mabibli#readme). diff --git a/manifest.toml b/manifest.toml index b351d0e..c0bbd61 100644 --- a/manifest.toml +++ b/manifest.toml @@ -13,7 +13,7 @@ maintainers = ["mathieu"] [upstream] license = "AGPL-3.0-or-later" -code = "https://git.akbar.nohost.me/mathieu/mabibli" +code = "https://forge.example.org/mabibli" [integration] yunohost = ">= 12.1.38" @@ -98,7 +98,7 @@ ram.runtime = "256M" # self-contained (CLAUDE.md, « Ne jamais compiler sur le serveur »). # # Ces deux valeurs sont réécrites par `build/publier.sh`. - amd64.url = "https://git.akbar.nohost.me/mathieu/mabibli/releases/download/v0.5.0/mabibli-0.5.0-linux-x64.tar.gz" + amd64.url = "https://forge.example.org/mabibli/releases/download/v0.5.0/mabibli-0.5.0-linux-x64.tar.gz" amd64.sha256 = "15fb2ee67fb8f3a77a4c4734229e74d2605231713e100da38972d4dcf29e225d" # L'archive dépose ses fichiers à la racine, sans dossier intermédiaire.