1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/garradin_ynh.git synced 2024-09-03 18:36:17 +02:00

Merge pull request #70 from YunoHost-Apps/testing

upgrading to 1.1.17 release disabling auto-upgrade
This commit is contained in:
Robles Rodolphe 2022-01-08 13:45:25 +01:00 committed by GitHub
commit 784b3a3a4e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 174 additions and 53 deletions

View file

@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
Garradin (word meaning money in an aboriginal dialect of northern Australia, pronounced "gar-a-dine" em) is software for associative management. It is the tool of choice for managing an association, a sports club, an NGO, etc. It is designed to meet the needs of a small to medium-sized structure: management of members, accounting, website, note-taking in meetings, archiving and sharing of the association's operating documents, discussion between members, etc. etc. .
**Shipped version:** 1.1.14~ynh1
**Shipped version:** 1.1.17~ynh1
**Demo:** https://garradin.eu/essai/

View file

@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
Garradin (mot signifiant argent dans un dialecte aborigène du nord de l'Australie, prononcé « gar-a-dine »em) est un logiciel de gestion associative. Il est l'outil de prédilection pour gérer une association, un club sportif, une ONG, etc. Il est conçu pour répondre aux besoins d'une structure de petite à moyenne taille : gestion des adhérents, comptabilité, site web, prise de notes en réunion, archivage et partage des documents de fonctionnement de l'association, discussion entre adhérents, etc etc.
**Version incluse :** 1.1.14~ynh1
**Version incluse :** 1.1.17~ynh1
**Démo :** https://garradin.eu/essai/

View file

@ -1,4 +1,8 @@
; Test complet
; pre-upgrade
if [ "$FROM_COMMIT" == "04e1730ff642a2e48dfb533b2136fe90f9eaf133" ]; then
chmod -R o-rwx /var/www/garradin
fi
; Manifest
domain="domain.tld"
path="/path"
@ -11,7 +15,8 @@
setup_private=1
setup_public=1
upgrade=1
upgrade=1 from_commit=2be21892a9b479710405a6ecd74ffb0541e0d202
upgrade=1 from_commit=7205455e0a806a49c48c6d2f005d80d1b74a3355
upgrade=1 from_commit=04e1730ff642a2e48dfb533b2136fe90f9eaf133
backup_restore=1
multi_instance=1
change_url=1
@ -19,6 +24,9 @@
Email=
Notification=none
;;; Upgrade options
; commit=2be21892a9b479710405a6ecd74ffb0541e0d202
name=Merge pull request #55 from yunohost-bot/issue-and-pr-template
; commit=7205455e0a806a49c48c6d2f005d80d1b74a3355
name=Previous version
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666&
; commit=04e1730ff642a2e48dfb533b2136fe90f9eaf133
name=Version 1.0.6~ynh1
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666&

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://fossil.kd2.org/garradin/uv/garradin-1.1.14.tar.bz2
SOURCE_SUM=bd735252540c6d26a1593d61486881a296a9b4a166532083805808b015da33d7
SOURCE_URL=https://fossil.kd2.org/garradin/uv/garradin-1.1.17.tar.gz
SOURCE_SUM=7eb9e66dabb2a57d55dd74ebdc54ad40850b5e6f98d260b63faeafabf8ef6687
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=tar.bz2
SOURCE_IN_SUBDIR=true

9
conf/config.local.php Normal file
View file

@ -0,0 +1,9 @@
<?php
/**
* NE PAS MODIFIER CE FICHIER. Il est regénéré automatiquement à chaque mise à jour de Yunohost
*
* Pour ajouter vos configurations personnalisées, rendez-vous dans le fichier config.local.user.php
*/
require '__FINALPATH__/config.local.yunohost.php';
require '__FINALPATH__/config.local.user.php';

View file

@ -0,0 +1,13 @@
<?php
/**
* Ce fichier représente un exemple des constantes de configuration
* disponibles pour Garradin.
*
* Modifiez ce fichier à votre guise, il ne sera pas modifié lors des mises à jour.
* Consultez le fichier config.dist.php pour disposer d'un exemple.
*
*/
// Nécessaire pour situer les constantes dans le bon namespace
namespace Garradin;

View file

@ -0,0 +1,55 @@
<?php
/**
* NE PAS MODIFIER CE FICHIER!
*
* Ce fichier sera mis à jour à chaque nouvelle version de Yunohost
*
* Pour ajouter vos configurations personnalisées, rendez-vous dans le fichier config.local.user.php
*
*/
// Nécessaire pour situer les constantes dans le bon namespace
namespace Garradin;
/**
* Clé secrète, doit être unique à chaque instance de Garradin
*
* Ceci est utilisé afin de sécuriser l'envoi de formulaires
* (protection anti-CSRF).
*
* Cette valeur peut être modifiée sans autre impact que la déconnexion des utilisateurs
* actuellement connectés.
*
* Si cette constante n'est définie, Garradin ajoutera automatiquement
* une valeur aléatoire dans le fichier config.local.php.
*/
const SECRET_KEY = '__SECRET_KEY__';
/**
* Adresse URI de la racine du site Garradin
* (doit se terminer par un slash)
*
* Défaut : découverte automatique à partir de SCRIPT_NAME
*/
const WWW_URI = '__PATH__/';
/**
* Activer la possibilité de faire une mise à jour semi-automatisée
* depuis fossil.kd2.org.
*
* Si mis à TRUE, alors un bouton sera accessible depuis le menu "Configuration"
* pour faire une mise à jour en deux clics.
*
* Il est conseillé de désactiver cette fonctionnalité si vous ne voulez pas
* permettre à un utilisateur de casser l'installation !
*
* Défaut : true, ajout pour l'environement Yunohost défaut : false
*
* @var bool
*/
const ENABLE_UPGRADES = false;

View file

@ -6,7 +6,7 @@
"en": "Software to manage association",
"fr": "Logiciel libre de gestion d'association"
},
"version": "1.1.14~ynh1",
"version": "1.1.17~ynh1",
"url": "http://garradin.eu",
"upstream": {
"license": "GPL-3.0-or-later",

View file

@ -8,7 +8,7 @@
YNH_PHP_VERSION="7.4"
extra_php_dependencies="php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-imagick php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-cli"
extra_php_dependencies="php${YNH_PHP_VERSION} php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-imagick php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-cli"
#=================================================
# PERSONAL HELPERS

View file

@ -20,6 +20,7 @@ new_domain=$YNH_APP_NEW_DOMAIN
new_path=$YNH_APP_NEW_PATH
app=$YNH_APP_INSTANCE_NAME
secret_key=$(ynh_string_random --length=50)
#=================================================
# LOAD SETTINGS
@ -81,15 +82,7 @@ then
path_url="$new_path"
# Create a dedicated NGINX config
ynh_add_nginx_config
fi
# change the config.local.conf
if [ $change_path -eq 1 ] && [ "$new_path" == "/" ]; then
ynh_replace_string --match_string="const WWW_URI = '$old_path/';" --replace_string="const WWW_URI = '$new_path';" --target_file="$final_path/config.local.php"
elif [ $change_path -eq 1 ] && [ "$old_path" == "/" ]; then
ynh_replace_string --match_string="const WWW_URI = '$old_path';" --replace_string="const WWW_URI = '$new_path/';" --target_file="$final_path/config.local.php"
elif [ $change_path -eq 1 ]; then
ynh_replace_string --match_string="const WWW_URI = '$old_path/';" --replace_string="const WWW_URI = '$new_path/';" --target_file="$final_path/config.local.php"
ynh_add_config --template="config.local.yunohost.php" --destination="$final_path/config.local.yunohost.php"
fi
# Change the domain for NGINX

View file

@ -32,7 +32,7 @@ app=$YNH_APP_INSTANCE_NAME
ynh_script_progression --message="Validating installation parameters..." --weight=1
final_path=/var/www/$app
test ! -e "$final_path" || ynh_die "This path already contains a folder"
test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
# Register (book) web path
ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url
@ -76,24 +76,21 @@ ynh_add_nginx_config
ynh_script_progression --message="Configuring PHP-FPM..." --weight=5
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --package="$extra_php_dependencies"
ynh_install_app_dependencies "$extra_php_dependencies"
ynh_add_fpm_config
#=================================================
# ADD A CONFIGURATION
#=================================================
ynh_script_progression --message="Adding a configuration file..." --weight=5
# copy config.dist.php creating config.local.php
cp -a $final_path/config.dist.php $final_path/config.local.php
# create a key for the secret key CSFR;
key=$(ynh_string_random --length=50)
# edit config.local.php
ynh_replace_string --match_string="const SECRET_KEY = '3xUhIgGwuovRKOjVsVPQ5yUMfXUSIOX2GKzcebsz5OINrYC50r';" --replace_string="const SECRET_KEY = '$key';" --target_file="$final_path/config.local.php"
if [ "$path_url" == "/" ]; then
ynh_replace_string --match_string="//const WWW_URI = '/asso/';" --replace_string="const WWW_URI = '$path_url';" --target_file="$final_path/config.local.php"
else
ynh_replace_string --match_string="//const WWW_URI = '/asso/';" --replace_string="const WWW_URI = '$path_url/';" --target_file="$final_path/config.local.php"
fi
# create a key for the secret key CSFR:
secret_key=$(ynh_string_random --length=50)
# Install configuration files
ynh_add_config --template="config.local.php" --destination="$final_path/config.local.php"
ynh_add_config --template="config.local.yunohost.php" --destination="$final_path/config.local.yunohost.php"
ynh_add_config --template="config.local.user.php" --destination="$final_path/config.local.user.php"
# Permissions on files and directories
chmod -R o-rwx "$final_path"
@ -102,7 +99,9 @@ find "$final_path" -type d -exec chmod 550 {} +
find "$final_path" -type f -exec chmod 440 {} +
find "$final_path/data" -type d -exec chmod 770 {} +
find "$final_path/data" -type f -exec chmod 660 {} +
chmod 660 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.yunohost.php"
chmod 660 "$final_path/config.local.user.php"
#=================================================
# SETUP SSOWAT

View file

@ -44,7 +44,10 @@ ynh_script_progression --message="Removing PHP-FPM configuration..." --weight=2
ynh_remove_app_dependencies
# Remove the dedicated PHP-FPM config
ynh_remove_fpm_config
# NB: If there is a warning because it cannot locate the garradin-ynh-deps package, ignore
# It's just it has been removed before.
# https://github.com/YunoHost/yunohost/blob/509ba1e8a28e0be598aa0617eda06669b7b0f1d8/data/helpers.d/php#L284-L287
ynh_remove_fpm_config 2> >(grep -v 'WARNING E: Unable to locate package')
#=================================================
# GENERIC FINALIZATION

View file

@ -35,7 +35,7 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
ynh_script_progression --message="Validating restoration parameters..." --weight=4
test ! -d $final_path \
|| ynh_die "There is already a directory: $final_path "
|| ynh_die --message="There is already a directory: $final_path "
#=================================================
# STANDARD RESTORATION STEPS
@ -71,7 +71,9 @@ find "$final_path" -type d -exec chmod 550 {} +
find "$final_path" -type f -exec chmod 440 {} +
find "$final_path/data" -type d -exec chmod 770 {} +
find "$final_path/data" -type f -exec chmod 660 {} +
chmod 660 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.yunohost.php"
chmod 660 "$final_path/config.local.user.php"
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION
@ -80,7 +82,8 @@ ynh_script_progression --message="Reconfiguring PHP-FPM..." --weight=6
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
ynh_add_fpm_config --package="$extra_php_dependencies"
ynh_install_app_dependencies "$extra_php_dependencies"
ynh_add_fpm_config
#=================================================
# GENERIC FINALIZATION

View file

@ -18,8 +18,9 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path) || ynh_die "This path already contains a folder"
final_path=$(ynh_app_setting_get --app=$app --key=final_path) || ynh_die --message="This path already contains a folder"
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
secret_key=$(ynh_string_random --length=50)
#=================================================
# CHECK VERSION
@ -66,13 +67,23 @@ ynh_script_progression --message="Backing up the data before upgrading (may take
bdd=$final_path/association.sqlite
squelettes=$final_path/www/squelettes
data=$final_path/data
skel_dist=$final_path/www/skel-dist
if [ -d "$squelettes" ]; then
cp -ar $squelettes /tmp/squelettes
cp -a "$squelettes" /tmp/squelettes
fi
if [ -e "$bdd" ]; then
cp -a $bdd /tmp/association.sqlite
cp -a "$bdd" /tmp/association.sqlite
fi
if [ -d "$data" ]; then
cp -a "$data" /tmp/data
fi
if [ -d "$skel_dist" ]; then
cp -a "$skel_dist" /tmp/skel-dist
fi
#=================================================
@ -81,13 +92,14 @@ fi
if ynh_compare_current_package_version --comparison lt --version 0.9.8.1~ynh1
then
ynh_script_progression --message="Upgrading upgrade to 0.9.8" --weight=5
ynh_script_progression --message="Upgrading to 0.9.8" --weight=5
# Download, check integrity, uncompress and patch the source from 0.9.8.src
ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" --source_id="0.9.8"
# Set permissions on app files
ynh_system_user_create --username=$app
ynh_add_nginx_config
ynh_add_fpm_config --package="$extra_php_dependencies"
ynh_install_app_dependencies "$extra_php_dependencies"
ynh_add_fpm_config
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
ynh_script_progression --message="restore data..." --weight=10
@ -96,12 +108,12 @@ then
if [ -d "$backup_squelettes" ]
then
cp -ar $backup_squelettes $final_path/www/squelettes
cp -a "$backup_squelettes" $final_path/www/squelettes
fi
if [ -e "$backup_bdd" ]
then
cp -a $backup_bdd $final_path/association.sqlite
cp -a "$backup_bdd" $final_path/association.sqlite
fi
chown -R $app:$app $final_path
@ -128,13 +140,14 @@ fi
if ynh_compare_current_package_version --comparison lt --version 1.1.0~ynh1
then
ynh_script_progression --message="Upgrading upgrade to 1.1.0" --weight=5
ynh_script_progression --message="Upgrading to 1.1.0" --weight=5
# Download, check integrity, uncompress and patch the source from 0.9.8.src
ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" --source_id="1.1.0"
# Set permissions on app files
ynh_system_user_create --username=$app
ynh_add_nginx_config
ynh_add_fpm_config --package="$extra_php_dependencies"
ynh_install_app_dependencies "$extra_php_dependencies"
ynh_add_fpm_config
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
ynh_script_progression --message="restore data..." --weight=10
@ -143,12 +156,12 @@ then
if [ -d "$backup_squelettes" ]
then
cp -ar $backup_squelettes $final_path/www/squelettes
cp -a "$backup_squelettes" $final_path/www/squelettes
fi
if [ -e "$backup_bdd" ]
then
cp -a $backup_bdd $final_path/association.sqlite
cp -a "$backup_bdd" $final_path/association.sqlite
fi
chown -R $app:$app $final_path
@ -186,7 +199,7 @@ ynh_script_progression --message="Upgrading source files..." --weight=5
if [ "$upgrade_type" == "UPGRADE_APP" ]
then
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --keep="config.local.php" --dest_dir="$final_path"
ynh_setup_source --keep="config.local.user.php" --dest_dir="$final_path"
fi
#=================================================
@ -203,7 +216,8 @@ ynh_add_nginx_config
ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=2
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --package="$extra_php_dependencies"
ynh_install_app_dependencies "$extra_php_dependencies"
ynh_add_fpm_config
#=======================================================
# backup bdd, squelettes directory and config.local.php
@ -212,24 +226,47 @@ ynh_script_progression --message="restore data..." --weight=10
backup_bdd=/tmp/association.sqlite
backup_squelettes=/tmp/squelettes
backup_data=/tmp/data
backup_skel_dist=/tmp/skel-dist
if [ -d "$backup_squelettes" ]
then
cp -ar $backup_squelettes $final_path/www/squelettes
cp -a "$backup_squelettes" $final_path/www/squelettes
ynh_secure_remove $backup_squelettes
fi
if [ -e "$backup_bdd" ]
then
cp -a $backup_bdd $final_path/association.sqlite
cp -a "$backup_bdd" $final_path/association.sqlite
ynh_secure_remove $backup_bdd
fi
if [ -d "$backup_data" ]
then
cp -a "$backup_data" $final_path/data
ynh_secure_remove $backup_data
fi
if [ -d "$backup_skel_dist" ]
then
cp -a "$backup_skel_dist" $final_path/www/skel-dist
ynh_secure_remove $backup_skel_dist
fi
#=================================================
# ADD A CONFIGURATION
#=================================================
ynh_script_progression --message="Adding a configuration file..." --weight=5
if ynh_compare_current_package_version --comparison lt --version 1.1.15~ynh1; then
ynh_add_config --template="config.local.user.php" --destination="$final_path/config.local.user.php"
fi
ynh_add_config --template="config.local.php" --destination="$final_path/config.local.php"
ynh_add_config --template="config.local.yunohost.php" --destination="$final_path/config.local.yunohost.php"
# NOTE: Don't overwrite config.local.user.php
# Permissions on files and directories
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
@ -237,7 +274,9 @@ find "$final_path" -type d -exec chmod 550 {} +
find "$final_path" -type f -exec chmod 440 {} +
find "$final_path/data" -type d -exec chmod 770 {} +
find "$final_path/data" -type f -exec chmod 660 {} +
chmod 660 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.yunohost.php"
chmod 660 "$final_path/config.local.user.php"
#=================================================
# RELOAD NGINX
@ -252,7 +291,6 @@ ynh_systemd_action --service_name=nginx --action=reload
ynh_script_progression --message="Finalise upgrade" --weight=1
ynh_local_curl "/admin/index.php"
chmod 440 "$final_path/config.local.php"
#=================================================
# END OF SCRIPT