diff --git a/README.md b/README.md index 95289aa..59a5b70 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,18 @@ -# Tiny-Tiny RSS for YunoHost +# Tiny Tiny RSS for YunoHost -[![Integration level](https://dash.yunohost.org/integration/ttrss.svg)](https://dash.yunohost.org/appci/app/ttrss) -[![Install Tiny-Tiny RSS with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=ttrss) +[![Integration level](https://dash.yunohost.org/integration/ttrss.svg)](https://dash.yunohost.org/appci/app/ttrss) ![](https://ci-apps.yunohost.org/ci/badges/ttrss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ttrss.maintain.svg) +[![Install Tiny Tiny RSS with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=ttrss) -> *This package allow you to install Tiny-Tiny RSS quickly and simply on a YunoHost server. +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allow you to install Tiny Tiny RSS quickly and simply on a YunoHost server. If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* ## Overview Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator. -**Shipped version:** 20191209 +**Shipped version:** 2020.09.06 ## Screenshots @@ -33,9 +35,8 @@ Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader an #### Supported architectures -* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/ttrss%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/ttrss/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/ttrss%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/ttrss/) * ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/ttrss%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/ttrss/) -* Jessie x86-64b - [![Build Status](https://ci-stretch.nohost.me/ci/logs/ttrss%20%28Apps%29.svg)](https://ci-stretch.nohost.me/ci/apps/ttrss/) ## Limitations @@ -44,14 +45,13 @@ Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader an ## Links * Report a bug: https://github.com/YunoHost-Apps/ttrss_ynh/issues - * Tiny-Tiny RSS website: https://tt-rss.org/ - * Tiny-Tiny RSS repository: https://git.tt-rss.org/git/tt-rss + * Tiny Tiny RSS website: https://tt-rss.org/ + * Tiny Tiny RSS repository: https://git.tt-rss.org/git/tt-rss * YunoHost website: https://yunohost.org/ --- -Developers infos ----------------- +## Developers infos Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/ttrss_ynh/tree/testing). diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..61c0ebc --- /dev/null +++ b/README_fr.md @@ -0,0 +1,66 @@ +# Tiny Tiny RSS pour YunoHost + +[![Integration level](https://dash.yunohost.org/integration/ttrss.svg)](https://dash.yunohost.org/appci/app/ttrss) ![](https://ci-apps.yunohost.org/ci/badges/ttrss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ttrss.maintain.svg) +[![Installer Tiny Tiny RSS avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=ttrss) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d’installer Tiny Tiny RSS rapidement et simplement sur un serveur YunoHost. +Si vous n’avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l’installer.* + +## Vue d’ensemble + +Tiny Tiny RSS est un lecteur et agrégateur de flux d'actualités (RSS/Atom) en ligne gratuit et open source. + +**Version incluse :** 2020.09.06 + +## Captures d’écran + +![](https://tt-rss.org/images/ttrss/18.12/1812-shot1.png) + +## Démo + +* [YunoHost demo](https://demo.yunohost.org/ttrss/) + +## Configuration + +## Documentation + +* Documentation officielle : https://git.tt-rss.org/git/tt-rss/wiki +* Documentation YunoHost : https://yunohost.org/#/app_ttrss + +## Caractéristiques spécifiques YunoHost + +#### Support multi-utilisateurs + +* L’authentification LDAP est-elle prise en charge ? **Oui** +* L’application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** + +#### Architectures supportées + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/ttrss%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/ttrss/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/ttrss%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/ttrss/) + +## Limitations + +## Informations additionnelles + +## Liens + +* Signaler un bug : https://github.com/YunoHost-Apps/ttrss_ynh/issues +* Site web de Tiny Tiny RSS : https://tt-rss.org/ +* Dépôt de l’application principale : https://git.tt-rss.org/git/tt-rss +* Site web YunoHost : https://yunohost.org/ + +--- + +## Developers infos + +Merci de faire vos pull request sur la [testing branch](https://github.com/YunoHost-Apps/ttrss_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/ttrss_ynh/tree/testing --debug +ou +sudo yunohost app upgrade ttrss -u https://github.com/YunoHost-Apps/ttrss_ynh/tree/testing --debug +``` diff --git a/check_process b/check_process index c67f9a9..510f4c2 100644 --- a/check_process +++ b/check_process @@ -1,7 +1,7 @@ ;; Nom du test ; Manifest domain="domain.tld" (DOMAIN) - path="/path" (PATH) + path="/path" (PATH) ; Checks pkg_linter=1 setup_sub_dir=1 @@ -10,7 +10,7 @@ setup_private=0 setup_public=0 upgrade=1 - upgrade=1 from_commit=bed542465ee917060d802d8764b006c755b09422 + upgrade=1 from_commit=e27175c2dde0ebbd483b212dc76c5b27877e4ed2 backup_restore=1 multi_instance=1 incorrect_path=1 @@ -22,6 +22,6 @@ Email= Notification=none ;;; Upgrade options - ; commit=bed542465ee917060d802d8764b006c755b09422 - name=Move cron's remove - manifest_arg=domain=DOMAIN&path=PATH& + ; commit=e27175c2dde0ebbd483b212dc76c5b27877e4ed2 + name=Merge pull request #79 from ericgaspar/update-to-upstream + manifest_arg=domain=DOMAIN&path=PATH diff --git a/conf/app.src b/conf/app.src index 1b8b357..45f7630 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://git.tt-rss.org/fox/tt-rss/archive/44ef447c0f3c4cd5d5bbd02b2971ea80422a8439.tar.gz -SOURCE_SUM=13e75d7419fbc0a96d73fcd09755f91a3d8c90fb6a85992f8b2e6f80f433d434 +SOURCE_URL=https://git.tt-rss.org/fox/tt-rss/archive/67f02e2aa7b246ef7ca2b2aa4c62e2826327d219.tar.gz +SOURCE_SUM=8dc23c44d376a53a9486e54ae13d66472a8e52e597d123a17e1775ce955afe89 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/conf/config.php b/conf/config.php index 8eb5ff1..129c876 100644 --- a/conf/config.php +++ b/conf/config.php @@ -8,7 +8,7 @@ define('DB_USER', "__DBNAME__"); define('DB_NAME', "__DBNAME__"); define('DB_PASS', "__DBPWD__"); - define('DB_PORT', ''); // usually 5432 for PostgreSQL, 3306 for MySQL + define('DB_PORT', '3306'); // usually 5432 for PostgreSQL, 3306 for MySQL define('MYSQL_CHARSET', 'UTF8'); // Connection charset for MySQL. If you have a legacy database and/or experience diff --git a/conf/nginx.conf b/conf/nginx.conf index b22bd43..cfdefca 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -14,7 +14,7 @@ location __PATH__/ { try_files $uri $uri/ index.php; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; + fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; diff --git a/conf/php-fpm.conf b/conf/php-fpm.conf index ab5dca9..ab1a471 100644 --- a/conf/php-fpm.conf +++ b/conf/php-fpm.conf @@ -33,7 +33,7 @@ group = __USER__ ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. -listen = /var/run/php/php7.0-fpm-__NAMETOCHANGE__.sock +listen = /var/run/php/php__PHPVERSION__-fpm-__NAMETOCHANGE__.sock ; Set listen(2) backlog. ; Default Value: 511 (-1 on FreeBSD and OpenBSD) diff --git a/conf/systemd.service b/conf/systemd.service index 8177935..3adf23c 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -1,5 +1,5 @@ [Unit] -Description=ttrss_backend +Description=News feed reader and aggregator After=network.target mysql.service [Service] diff --git a/manifest.json b/manifest.json index 41ecbbb..dec6e1b 100644 --- a/manifest.json +++ b/manifest.json @@ -3,10 +3,10 @@ "id": "ttrss", "packaging_format": 1, "description": { - "en": "A PHP and Ajax feed reader", - "fr": "Un lecteur de flux en PHP et Ajax" + "en": "News feed (RSS/Atom) reader and aggregator.", + "fr": "Lecteur de flux d’actualité utilisant les protocoles RSS et Atom." }, - "version": "20191209~ynh1", + "version": "20200906~ynh1", "url": "http://tt-rss.org", "license": "GPL-3.0-only", "maintainer": { @@ -14,12 +14,12 @@ "email": "apps@yunohost.org" }, "requirements": { - "yunohost": ">= 3.5" + "yunohost": ">= 3.8.1" }, "multi_instance": true, "services": [ "nginx", - "php5-fpm", + "php7.0-fpm", "mysql" ], "arguments": { @@ -28,8 +28,8 @@ "name": "domain", "type": "domain", "ask": { - "en": "Choose a domain for Tiny-Tiny-RSS", - "fr": "Choisissez un domaine pour Tiny-Tiny-RSS" + "en": "Choose a domain for Tiny Tiny RSS", + "fr": "Choisissez un domaine pour Tiny Tiny RSS" }, "example": "domain.org" }, @@ -37,12 +37,12 @@ "name": "path", "type": "path", "ask": { - "en": "Choose a path for Tiny-Tiny-RSS", - "fr": "Choisissez un chemin pour Tiny-Tiny-RSS" + "en": "Choose a path for Tiny Tiny RSS", + "fr": "Choisissez un chemin pour Tiny Tiny RSS" }, "example": "/ttrss", "default": "/ttrss" - } + } ] } } diff --git a/pull_request_template.md b/pull_request_template.md index 6cf0ba5..b5c5563 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -2,7 +2,7 @@ - *Description of why you made this PR* ## Solution -- *And how you fix that* +- *And how do you fix that problem* ## PR Status - [ ] Code finished. @@ -11,14 +11,8 @@ - [ ] Upgrade from last version tested. - [ ] Can be reviewed and tested. -## Validation +## Package_check results --- -*Minor decision* -- **Upgrade previous version** : -- [ ] **Code review** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- **CI succeeded** : -[![Build Status](https://ci-apps-hq.yunohost.org/jenkins/job/ttrss_ynh%20PR-NUM-/badge/icon)](https://ci-apps-hq.yunohost.org/jenkins/job/ttrss_ynh%20PR-NUM-/) -*Please replace '-NUM-' in this link by the PR number.* -When the PR is marked as ready to merge, you have to wait for 3 days before really merging it. +*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results* + +[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/ttrss_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/ttrss_ynh%20PR-NUM-%20(USERNAME)/) diff --git a/scripts/_common.sh b/scripts/_common.sh index 487bb6e..330d94c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,9 @@ # COMMON VARIABLES #================================================= -pkg_dependencies="php-cli php-mbstring php-xml" +YNH_PHP_VERSION="7.3" + +extra_php_dependencies="php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-xml" #================================================= # EXPERIMENTAL HELPERS diff --git a/scripts/backup b/scripts/backup index 90a0941..19c2ed1 100644 --- a/scripts/backup +++ b/scripts/backup @@ -4,7 +4,7 @@ # IMPORT GENERIC HELPERS #================================================= -# source ../settings/scripts/_common.sh +source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= @@ -17,55 +17,53 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --weight=2 +ynh_print_info --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) db_name=$(ynh_app_setting_get --app=$app --key=db_name) #================================================= -# STANDARD BACKUP STEPS +# DECLARE DATA AND CONF FILES TO BACKUP +#================================================= +ynh_print_info --message="Declaring files to be backed up..." + #================================================= # BACKUP THE APP MAIN DIR #================================================= -ynh_script_progression --message="Backing up the main app directory..." ynh_backup --src_path="$final_path" #================================================= # BACKUP THE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Backing up nginx web server configuration..." ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # BACKUP THE PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Backing up php-fpm configuration..." -ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" +ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" + +#================================================= +# BACKUP SYSTEMD +#================================================= + +ynh_backup --src_path="/etc/systemd/system/$app.service" #================================================= # BACKUP THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Backing up the MySQL database..." +ynh_print_info --message="Backing up the MySQL database..." ynh_mysql_dump_db --database="$db_name" > db.sql -#================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP SYSTEMD -#================================================= -ynh_script_progression --message="Backing up systemd configuration..." - -ynh_backup --src_path="/etc/systemd/system/$app.service" - #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last +ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index f4d8912..0607abb 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -6,7 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= -# source _common.sh +source _common.sh source /usr/share/yunohost/helpers #================================================= @@ -24,9 +24,11 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 final_path=$(ynh_app_setting_get --app=$app --key=final_path) +db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) #================================================= # CHECK WHICH PARTS SHOULD BE CHANGED @@ -49,23 +51,23 @@ fi #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating nginx web server configuration..." --weight=2 +ynh_script_progression --message="Updating NGINX web server configuration..." --weight=2 nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf -# Change the path in the nginx config file +# Change the path in the NGINX config file if [ $change_path -eq 1 ] then - # Make a backup of the original nginx config file if modified + # Make a backup of the original NGINX config file if modified ynh_backup_if_checksum_is_different --file="$nginx_conf_path" - # Set global variables for nginx helper + # Set global variables for NGINX helper domain="$old_domain" path_url="$new_path" - # Create a dedicated nginx config + # Create a dedicated NGINX config ynh_add_nginx_config fi -# Change the domain for nginx +# Change the domain for NGINX if [ $change_domain -eq 1 ] then # Delete file checksum for the old conf file location @@ -78,16 +80,29 @@ fi #================================================= # SPECIFIC MODIFICATIONS #================================================= +ynh_script_progression --message="Configuring $app..." --weight=1 -# Change domain name in parameters.yml -ynh_replace_string --match_string="define('SELF_URL_PATH'.*" --replace_string="define('SELF_URL_PATH', 'https://$new_domain$new_path');" --target_file="$final_path/config.php" +domain="$new_domain" +path_url="$new_path" + +ynh_backup_if_checksum_is_different --file="$final_path/config.php" + +cp ../conf/config.php "$final_path/config.php" + +# Change domain name in config.php +ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$final_path/config.php" +ynh_replace_string --match_string="__DBPWD__" --replace_string="$db_pwd" --target_file="$final_path/config.php" +ynh_replace_string --match_string="__DOMAINPATH__" --replace_string="https://$domain$path_url" --target_file="$final_path/config.php" + +# Recalculate and store the config file checksum into the app settings +ynh_store_file_checksum --file="$final_path/config.php" #================================================= # GENERIC FINALIZATION #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." +ynh_script_progression --message="Reloading NGINX web server..." --weight=2 ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/install b/scripts/install index cf7883e..e778eda 100644 --- a/scripts/install +++ b/scripts/install @@ -28,7 +28,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -ynh_script_progression --message="Validating installation parameters..." +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" @@ -42,20 +42,13 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." +ynh_script_progression --message="Storing installation settings..." --weight=1 ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= # STANDARD MODIFICATIONS -#================================================= -# INSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Installing dependencies..." --weight=9 - -ynh_install_app_dependencies $pkg_dependencies - #================================================= # CREATE A MYSQL DATABASE #================================================= @@ -64,6 +57,7 @@ ynh_script_progression --message="Creating a MySQL database..." --weight=2 db_name=$(ynh_sanitize_dbid $app) ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_mysql_setup_db --db_user=$db_name --db_name=$db_name +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -77,9 +71,9 @@ ynh_setup_source --dest_dir="$final_path" #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Configuring nginx web server..." +ynh_script_progression --message="Configuring NGINX web server..." --weight=2 -# Create a dedicated nginx config +# Create a dedicated NGINX config ynh_add_nginx_config #================================================= @@ -93,17 +87,17 @@ ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Configuring php-fpm..." --weight=2 +ynh_script_progression --message="Configuring PHP-FPM..." --weight=2 -# Create a dedicated php-fpm config -ynh_add_fpm_config +# Create a dedicated PHP-FPM config +ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" #================================================= # SPECIFIC SETUP #================================================= # CONFIGURE TTRSS #================================================= -ynh_script_progression --message="Configuring ttrss..." +ynh_script_progression --message="Configuring ttrss..." --weight=1 cp ../conf/config.php "$final_path/config.php" @@ -143,7 +137,7 @@ ynh_exec_as $app php ${final_path}/update.php --update-schema #================================================= # START TTRSS IN BACKGROUND #================================================= -ynh_script_progression --message="Starting ttrss..." +ynh_script_progression --message="Starting ttrss..." --weight=1 ynh_systemd_action --service_name=$app --action=start @@ -158,14 +152,14 @@ yunohost service add $app #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring SSOwat..." +ynh_script_progression --message="Configuring SSOwat..." --weight=1 ynh_app_setting_set --app=$app --key=skipped_uris --value="/public.php,/api,/opml.php?op=publish" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." --weight=2 +ynh_script_progression --message="Reloading NGINX web server..." --weight=2 ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/remove b/scripts/remove index d3eea33..de18869 100644 --- a/scripts/remove +++ b/scripts/remove @@ -6,7 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= -# source _common.sh +source _common.sh source /usr/share/yunohost/helpers #================================================= @@ -49,14 +49,6 @@ ynh_script_progression --message="Removing the MySQL database..." --weight=4 # Remove a database if it exists, along with the associated user ynh_mysql_remove_db --db_user=$db_name --db_name=$db_name -#================================================= -# REMOVE DEPENDENCIES -#================================================= -ynh_script_progression --message="Removing dependencies..." --weight=9 - -# Remove metapackage and its dependencies -ynh_remove_app_dependencies - #================================================= # REMOVE APP MAIN DIR #================================================= @@ -68,17 +60,17 @@ ynh_secure_remove --file="$final_path" #================================================= # REMOVE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Removing nginx web server configuration..." +ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1 -# Remove the dedicated nginx config +# Remove the dedicated NGINX config ynh_remove_nginx_config #================================================= # REMOVE PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Removing php-fpm configuration..." --weight=3 +ynh_script_progression --message="Removing PHP-FPM configuration..." --weight=3 -# Remove the dedicated php-fpm config +# Remove the dedicated PHP-FPM config ynh_remove_fpm_config #================================================= @@ -86,7 +78,7 @@ ynh_remove_fpm_config #================================================= # REMOVE DEDICATED USER #================================================= -ynh_script_progression --message="Removing the dedicated system user..." +ynh_script_progression --message="Removing the dedicated system user..." --weight=1 # Delete a system user ynh_system_user_delete --username=$app diff --git a/scripts/restore b/scripts/restore index 36132c1..e4dde4d 100644 --- a/scripts/restore +++ b/scripts/restore @@ -19,7 +19,7 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading settings..." +ynh_script_progression --message="Loading settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -27,6 +27,7 @@ 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) db_name=$(ynh_app_setting_get --app=$app --key=db_name) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -40,12 +41,6 @@ test ! -d $final_path \ #================================================= # STANDARD RESTORATION STEPS -#================================================= -# INSTALL DEPENDENCIES -#================================================= - -ynh_install_app_dependencies $pkg_dependencies - #================================================= # RESTORE THE NGINX CONFIGURATION #================================================= @@ -55,7 +50,7 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." +ynh_script_progression --message="Restoring the app main directory..." --weight=2 ynh_restore_file --origin_path="$final_path" @@ -78,18 +73,11 @@ chown -R $app $final_path/{cache,feed-icons,lock} #================================================= # RESTORE THE PHP-FPM CONFIGURATION #================================================= +ynh_script_progression --message="Reconfiguring PHP-FPM..." --weight=50 -ynh_restore_file --origin_path="/etc/php/7.0/fpm/pool.d/$app.conf" +ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" -#================================================= -# SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Reinstalling dependencies..." --weight=6 - -# Define and install dependencies -ynh_install_app_dependencies php5-cli +ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" #================================================= # RESTORE THE MYSQL DATABASE @@ -103,7 +91,7 @@ ynh_mysql_connect_as --user=$db_name --password=$db_pwd --database=$db_name < ./ #================================================= # RESTORE SYSTEMD #================================================= -ynh_script_progression --message="Restoring the systemd configuration..." +ynh_script_progression --message="Restoring the systemd configuration..." --weight=2 ynh_restore_file --origin_path="/etc/systemd/system/$app.service" systemctl enable $app.service @@ -114,9 +102,9 @@ ynh_systemd_action --service_name=$app --action=start #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." --weight=2 +ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=2 -ynh_systemd_action --service_name=php7.0-fpm --action=reload +ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 2ff29a6..0376afe 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -20,6 +20,7 @@ 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) db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) #================================================= # CHECK VERSION @@ -30,7 +31,7 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message="Ensuring downward compatibility..." +ynh_script_progression --message="Ensuring downward compatibility..." --weight=2 # If final_path doesn't exist, create it if [ -z "$final_path" ]; then @@ -47,7 +48,7 @@ fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=7 +ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=7 # Backup the current version of the app ynh_backup_before_upgrade @@ -73,12 +74,6 @@ ynh_secure_remove --file="/etc/cron.d/$app" # Normalize the URL path syntax path_url=$(ynh_normalize_url_path --path_url=$path_url) -#================================================= -# INSTALL DEPENDENCIES -#================================================= - -ynh_install_app_dependencies $pkg_dependencies - #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -99,15 +94,15 @@ fi #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading nginx web server configuration..." --weight=2 +ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=2 -# Create a dedicated nginx config +# Create a dedicated NGINX config ynh_add_nginx_config #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." +ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 # Create a dedicated user (if not existing) ynh_system_user_create --username=$app @@ -115,10 +110,10 @@ ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading php-fpm configuration..." --weight=2 +ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=2 -# Create a dedicated php-fpm config -ynh_add_fpm_config +# Create a dedicated PHP-FPM config +ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" #================================================= # SPECIFIC UPGRADE @@ -145,7 +140,6 @@ then # Change variables in ttrss configuration ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$final_path/config.php" - db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) ynh_replace_string --match_string="__DBPWD__" --replace_string="$db_pwd" --target_file="$final_path/config.php" ynh_replace_string --match_string="__DOMAINPATH__" --replace_string="https://$domain$path_url" --target_file="$final_path/config.php" @@ -183,7 +177,7 @@ chown -R $app $final_path/{cache,feed-icons,lock} #================================================= # RESTART TTRSS #================================================= -ynh_script_progression --message="Restarting ttrss..." +ynh_script_progression --message="Restarting ttrss..." --weight=1 ynh_systemd_action --service_name=$app --action=restart @@ -198,7 +192,7 @@ yunohost service add $app #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." --weight=2 +ynh_script_progression --message="Reloading NGINX web server..." --weight=2 ynh_systemd_action --service_name=nginx --action=reload