Remplace l'URL du depot par un placeholder, centralise, et refuse de publier avec
Sortie du projet : l'URL du Gitea prive disparait au profit de https://forge.example.org/mabibli — example.org est reserve a la documentation par la RFC 2606, donc definitivement injoignable. Une seule ligne commande tout le reste : depot_code, en tete de publier.sh, d'ou derivent les URL de release, d'archive et le message de fin. --depot-code fait la meme chose sans modifier le fichier. ⚠ publier.sh REFUSE desormais de publier tant que le placeholder est en place, et il refuse avant de compiler, comme ses autres garde-fous. Sans cela on ecrirait dans manifest.toml une amd64.url que personne ne peut telecharger, et l'echec surviendrait bien plus loin — a l'installation, dans ynh_setup_source, sans rapport apparent avec la cause. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+21
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user