From 5ef91a8bc5d2e45460fb7577699f0336982e41f9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 27 Sep 2020 22:39:12 +0200 Subject: [PATCH 01/36] Upgrade to 7.3 --- check_process | 3 --- conf/nginx.conf | 2 +- conf/php-fpm.conf | 2 +- manifest.json | 2 +- scripts/_common.sh | 8 +++++--- scripts/backup | 17 +++++++++-------- scripts/change_url | 18 +++++++++--------- scripts/install | 32 +++++++++++++------------------- scripts/remove | 12 ++++++------ scripts/restore | 21 ++++++++------------- scripts/upgrade | 40 +++++++++++++++++----------------------- 11 files changed, 70 insertions(+), 87 deletions(-) diff --git a/check_process b/check_process index b7c4303..0c08fcd 100644 --- a/check_process +++ b/check_process @@ -12,7 +12,6 @@ setup_private=0 setup_public=0 upgrade=1 - upgrade=1 from_commit=8d0acb6953a4c4c2206985c7d9881c5b7b637ebd backup_restore=1 multi_instance=1 incorrect_path=1 @@ -24,6 +23,4 @@ Email= Notification=none ;;; Upgrade options - ; commit=269500433bdbce3b477fa84d0af0db3ac466244d - name=Fix install+upgrade and refactoring manifest_arg=domain=DOMAIN&path=PATH&with_carddav=1&with_enigma=1& diff --git a/conf/nginx.conf b/conf/nginx.conf index 5dc0acc..bf1893d 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -17,7 +17,7 @@ location __PATH__/ { 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; fastcgi_param REMOTE_USER $remote_user; fastcgi_param PATH_INFO $fastcgi_path_info; diff --git a/conf/php-fpm.conf b/conf/php-fpm.conf index 2b5d7b2..61b251f 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/manifest.json b/manifest.json index 502b8cb..9fce200 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "apps@yunohost.org" }, "requirements": { - "yunohost": ">= 3.5.0" + "yunohost": ">= 4.0.8" }, "multi_instance": true, "services": [ diff --git a/scripts/_common.sh b/scripts/_common.sh index 16d78b9..fb9c9c1 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,8 +4,10 @@ # COMMON VARIABLES #================================================= +YNH_PHP_VERSION="7.3" + # Package dependencies -pkg_dependencies="php-cli php-common php-intl php-json php-pear php-auth-sasl php-mail-mime php-patchwork-utf8 php-net-smtp php-net-socket php-zip php-gd php-mbstring php-curl" +extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-common php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-pear php${YNH_PHP_VERSION}-auth-sasl php${YNH_PHP_VERSION}-mail-mime php${YNH_PHP_VERSION}-patchwork-utf8 php${YNH_PHP_VERSION}-net-smtp php${YNH_PHP_VERSION}-net-socket php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-curl" # Plugins version contextmenu_version=2.3 @@ -31,7 +33,7 @@ ynh_composer_exec () { # Manage arguments with getopts ynh_handle_getopts_args "$@" workdir="${workdir:-$final_path}" - phpversion="${phpversion:-7.0}" + phpversion="${phpversion:-7.3}" COMPOSER_HOME="$workdir/.composer" \ php${phpversion} "$workdir/composer.phar" $commands \ @@ -51,7 +53,7 @@ ynh_install_composer () { # Manage arguments with getopts ynh_handle_getopts_args "$@" workdir="${workdir:-$final_path}" - phpversion="${phpversion:-7.0}" + phpversion="${phpversion:-7.3}" curl -sS https://getcomposer.org/installer \ | COMPOSER_HOME="$workdir/.composer" \ diff --git a/scripts/backup b/scripts/backup index a1d85d7..0310c8b 100644 --- a/scripts/backup +++ b/scripts/backup @@ -19,41 +19,42 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +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) db_name=$(ynh_app_setting_get --app=$app --key=db_name) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= -# 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 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 @@ -61,4 +62,4 @@ ynh_mysql_dump_db --database="$db_name" > db.sql # 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 Roundcube. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index 14c221d..e7b7425 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -24,7 +24,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=2 # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) @@ -50,23 +50,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 @@ -81,7 +81,7 @@ fi #================================================= # 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 @@ -89,4 +89,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for $app" --last +ynh_script_progression --message="Change of URL completed for Roundcube" --last diff --git a/scripts/install b/scripts/install index 38d9854..c94866e 100644 --- a/scripts/install +++ b/scripts/install @@ -50,13 +50,6 @@ ynh_app_setting_set --app=$app --key=with_enigma --value=$with_enigma #================================================= # STANDARD MODIFICATIONS -#================================================= -# INSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Installing dependencies..." - -ynh_install_app_dependencies "$pkg_dependencies" - #================================================= # CREATE A MYSQL DATABASE #================================================= @@ -78,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 #================================================= @@ -94,17 +87,18 @@ 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" +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # SPECIFIC SETUP #================================================= # INSTALL AND INITIALIZE COMPOSER #================================================= -ynh_script_progression --message="Installing roundcube with composer..." --weight=30 +ynh_script_progression --message="Installing Roundcube with Composer..." --weight=30 # Install composer.json cp "$final_path/composer.json-dist" "$final_path/composer.json" @@ -123,7 +117,7 @@ ynh_mysql_connect_as --user="$db_name" --password="$db_pwd" --database="$db_name #================================================= # CONFIGURE ROUNDCUBE #================================================= -ynh_script_progression --message="Configuring roundcube..." +ynh_script_progression --message="Configuring Roundcube..." rc_conf="$final_path/config/config.inc.php" @@ -163,7 +157,7 @@ then carddav_server=0 # Look for installed and supported CardDAV servers - for carddav_app in "owncloud" "nextcloud" "baikal" + for carddav_app in "nextcloud" "baikal" do carddav_app_id=$(yunohost app list --installed -f $carddav_app \ --output-as json | grep -Po '"id":[ ]?"\K.*?(?=")' | head -1) @@ -183,7 +177,7 @@ then # Copy the plugin configuration file cp "$carddav_tmp_config" ""$final_path/plugins/carddav/config.inc.php"" - # Do not actualy add the carddav plugin if there's no carddav server available... + # Do not actualy add the carddav plugin if there's no CardDAV server available... if [ $carddav_server -eq 1 ] then installed_plugins+=" 'carddav'," @@ -205,7 +199,7 @@ fi #================================================= # UPDATE ROUNDCUBE CONFIGURATION #================================================= -ynh_script_progression --message="Updating roundcube configuration..." --weight=3 +ynh_script_progression --message="Updating Roundcube configuration..." --weight=3 ynh_replace_string --match_string="^\s*// installed plugins" --replace_string="&\n $installed_plugins" --target_file="$rc_conf" @@ -230,7 +224,7 @@ chown -R $app: "$final_path/"{temp,logs,plugins/enigma/home} #================================================= # 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 @@ -238,4 +232,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" --last +ynh_script_progression --message="Installation of Roundcube completed" --last diff --git a/scripts/remove b/scripts/remove index f01641b..579a922 100644 --- a/scripts/remove +++ b/scripts/remove @@ -41,7 +41,7 @@ ynh_mysql_remove_db --db_user=$db_name --db_name=$db_name #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." --weight=3 +ynh_script_progression --message="Removing Roundcube main directory..." --weight=3 # Remove the app directory securely ynh_secure_remove --file="$final_path" @@ -49,17 +49,17 @@ ynh_secure_remove --file="$final_path" #================================================= # REMOVE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Removing nginx web server configuration..." --weight=2 +ynh_script_progression --message="Removing NGINX web server configuration..." --weight=2 -# 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 #================================================= @@ -76,4 +76,4 @@ ynh_system_user_delete --username=$app # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of $app completed" --last +ynh_script_progression --message="Removal of Roundcube completed" --last diff --git a/scripts/restore b/scripts/restore index 7fa57b8..84b89a9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -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 @@ -49,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 Roundcube main directory..." ynh_restore_file --origin_path="$final_path" @@ -74,18 +75,12 @@ chown -R $app: "$final_path/"{temp,logs,plugins/enigma/home} # RESTORE THE PHP-FPM CONFIGURATION #================================================= -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" + +ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" #================================================= # SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Reinstalling dependencies..." --weight=30 - -# Define and install dependencies -ynh_install_app_dependencies "$pkg_dependencies" - #================================================= # RESTORE THE MYSQL DATABASE #================================================= @@ -100,13 +95,13 @@ ynh_mysql_connect_as --user=$db_name --password=$db_pwd --database=$db_name < ./ #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." +ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." -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 #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" --last +ynh_script_progression --message="Restoration completed for Roundcube" --last diff --git a/scripts/upgrade b/scripts/upgrade index 748deb0..fb49838 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -22,6 +22,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) with_carddav=$(ynh_app_setting_get --app=$app --key=with_carddav) with_enigma=$(ynh_app_setting_get --app=$app --key=with_enigma) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # CHECK VERSION @@ -71,7 +72,7 @@ fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=30 +ynh_script_progression --message="Backing up Roundcube before upgrading (may take a while)..." --weight=30 # Backup the current version of the app ynh_backup_before_upgrade @@ -109,18 +110,11 @@ fi #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading nginx web server configuration..." +ynh_script_progression --message="Upgrading NGINX web server configuration..." -# Create a dedicated nginx config +# Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# UPGRADE DEPENDENCIES -#================================================= -ynh_script_progression --message="Upgrading dependencies..." --weight=25 - -ynh_install_app_dependencies "$pkg_dependencies" - #================================================= # CREATE DEDICATED USER #================================================= @@ -132,10 +126,10 @@ ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading php-fpm configuration..." --weight=5 +ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=5 -# 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 +139,7 @@ ynh_add_fpm_config if [ "$upgrade_type" == "UPGRADE_APP" ] then - ynh_script_progression --message="Reconfiguring roundcube..." + ynh_script_progression --message="Reconfiguring Roundcube..." rc_conf="$final_path/config/config.inc.php" @@ -163,12 +157,12 @@ then #================================================= # UPDATE DEPENDENCIES WITH COMPOSER #================================================= - ynh_script_progression --message="Updating dependencies with composer..." --weight=30 + ynh_script_progression --message="Updating dependencies with Composer..." --weight=30 # Upgrade composer itself ynh_install_composer - # Check if dependencies need to be updated with composer + # Check if dependencies need to be updated with Composer if [ -f "$final_path/composer.json" ] then ynh_exec_warn_less ynh_composer_exec --commands=\"update --no-dev --prefer-dist\" @@ -205,7 +199,7 @@ then carddav_server=0 # Look for installed and supported CardDAV servers - for carddav_app in "owncloud" "nextcloud" "baikal" + for carddav_app in "nextcloud" "baikal" do carddav_app_id=$(yunohost app list --installed -f $carddav_app \ --output-as json | grep -Po '"id":[ ]?"\K.*?(?=")' | head -1) @@ -225,7 +219,7 @@ then # Copy the plugin configuration file cp "$carddav_tmp_config" ""$final_path/plugins/carddav/config.inc.php"" - # Do not actually add the carddav plugin if there's no carddav server available... + # Do not actually add the cardDAV plugin if there's no carddav server available... if [ $carddav_server -eq 1 ] then installed_plugins+=" 'carddav'," @@ -247,11 +241,11 @@ then #================================================= # UPDATE ROUNDCUBE CONFIGURATION #================================================= - ynh_script_progression --message="Updating roundcube configuration..." --weight=4 + ynh_script_progression --message="Updating Roundcube configuration..." --weight=4 ynh_replace_string --match_string="^\s*// installed plugins" --replace_string="&\n $installed_plugins" --target_file="$rc_conf" - # Update javascript dependencies + # Update JavaScript dependencies (cd "$final_path" /usr/bin/php -q ./bin/install-jsdeps.sh) @@ -261,7 +255,7 @@ then #================================================= # UPDATE ROUNDCUBE CORE #================================================= - ynh_script_progression --message="Updating roundcube core..." --weight=4 + ynh_script_progression --message="Updating Roundcube core..." --weight=4 ( cd "$final_path" ynh_exec_warn ./bin/update.sh --version=$oldversion -y) @@ -281,7 +275,7 @@ chown -R $app: "$final_path/"{temp,logs,plugins/enigma/home} #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload @@ -289,4 +283,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" --last +ynh_script_progression --message="Installation of Roundcube completed" --last From 0589c8c8b198287b10107de1ba4e280c837cec91 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 27 Sep 2020 23:03:37 +0200 Subject: [PATCH 02/36] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 9fce200..40266e7 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "apps@yunohost.org" }, "requirements": { - "yunohost": ">= 4.0.8" + "yunohost": ">= 4.0.7" }, "multi_instance": true, "services": [ From 90c00e4d779166340a336353da6ca03c874a9b8a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 27 Sep 2020 23:14:42 +0200 Subject: [PATCH 03/36] Update _common.sh --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index fb9c9c1..46c06bd 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,7 +7,7 @@ YNH_PHP_VERSION="7.3" # Package dependencies -extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-common php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-pear php${YNH_PHP_VERSION}-auth-sasl php${YNH_PHP_VERSION}-mail-mime php${YNH_PHP_VERSION}-patchwork-utf8 php${YNH_PHP_VERSION}-net-smtp php${YNH_PHP_VERSION}-net-socket php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-curl" +extra_php_dependencies="php-cli php-common php-intl php-json php-pear php-auth-sasl php-mail-mime php-patchwork-utf8 php-net-smtp php-net-socket php-zip php-gd php-mbstring php-curl" # Plugins version contextmenu_version=2.3 From 166ae0ae41770177a880534cdd8af2763bd4c83e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Nov 2020 17:47:49 +0100 Subject: [PATCH 04/36] Add suport for PHP7.3 --- conf/nginx.conf | 1 + scripts/_common.sh | 32 +++++++++++++++++++++++--------- scripts/backup | 2 +- scripts/change_url | 2 +- scripts/install | 4 ++-- scripts/remove | 4 ++-- scripts/restore | 4 ++-- scripts/upgrade | 10 +++++----- 8 files changed, 37 insertions(+), 22 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index bf1893d..7247307 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -39,6 +39,7 @@ location __PATH__/favicon.ico { location ~ ^__PATH__/(config|temp|logs)/ { deny all; } + location ~ ^__PATH__/(.+/|)\. { deny all; } diff --git a/scripts/_common.sh b/scripts/_common.sh index 46c06bd..4aa8607 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,7 +7,7 @@ YNH_PHP_VERSION="7.3" # Package dependencies -extra_php_dependencies="php-cli php-common php-intl php-json php-pear php-auth-sasl php-mail-mime php-patchwork-utf8 php-net-smtp php-net-socket php-zip php-gd php-mbstring php-curl" +extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-common php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-pear php${YNH_PHP_VERSION}-auth-sasl php${YNH_PHP_VERSION}-mail-mime php${YNH_PHP_VERSION}-patchwork-utf8 php${YNH_PHP_VERSION}-net-smtp php${YNH_PHP_VERSION}-net-socket php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-curl" # Plugins version contextmenu_version=2.3 @@ -18,9 +18,15 @@ carddav_version=3.0.3 # EXPERIMENTAL HELPERS #================================================= +readonly YNH_DEFAULT_COMPOSER_VERSION=1.10.17 +# Declare the actual composer version to use. +# A packager willing to use another version of composer can override the variable into its _common.sh. +YNH_COMPOSER_VERSION=${YNH_COMPOSER_VERSION:-$YNH_DEFAULT_COMPOSER_VERSION} + # Execute a command with Composer # -# usage: ynh_composer_exec --phpversion=phpversion [--workdir=$final_path] --commands="commands" +# usage: ynh_composer_exec [--phpversion=phpversion] [--workdir=$final_path] --commands="commands" +# | arg: -v, --phpversion - PHP version to use with composer # | arg: -w, --workdir - The directory from where the command will be executed. Default $final_path. # | arg: -c, --commands - Commands to execute. ynh_composer_exec () { @@ -33,7 +39,7 @@ ynh_composer_exec () { # Manage arguments with getopts ynh_handle_getopts_args "$@" workdir="${workdir:-$final_path}" - phpversion="${phpversion:-7.3}" + phpversion="${phpversion:-$YNH_PHP_VERSION}" COMPOSER_HOME="$workdir/.composer" \ php${phpversion} "$workdir/composer.phar" $commands \ @@ -42,25 +48,33 @@ ynh_composer_exec () { # Install and initialize Composer in the given directory # -# usage: ynh_install_composer --phpversion=phpversion [--workdir=$final_path] +# usage: ynh_install_composer [--phpversion=phpversion] [--workdir=$final_path] [--install_args="--optimize-autoloader"] [--composerversion=composerversion] +# | arg: -v, --phpversion - PHP version to use with composer # | arg: -w, --workdir - The directory from where the command will be executed. Default $final_path. +# | arg: -a, --install_args - Additional arguments provided to the composer install. Argument --no-dev already include +# | arg: -c, --composerversion - Composer version to install ynh_install_composer () { # Declare an array to define the options of this helper. - local legacy_args=vw - declare -Ar args_array=( [v]=phpversion= [w]=workdir= ) + local legacy_args=vwa + declare -Ar args_array=( [v]=phpversion= [w]=workdir= [a]=install_args= [c]=composerversion=) local phpversion local workdir + local install_args + local composerversion # Manage arguments with getopts ynh_handle_getopts_args "$@" workdir="${workdir:-$final_path}" - phpversion="${phpversion:-7.3}" + phpversion="${phpversion:-$YNH_PHP_VERSION}" + install_args="${install_args:-}" + composerversion="${composerversion:-$YNH_COMPOSER_VERSION}" curl -sS https://getcomposer.org/installer \ | COMPOSER_HOME="$workdir/.composer" \ - php${phpversion} -- --quiet --install-dir="$workdir" \ + php${phpversion} -- --quiet --install-dir="$workdir" --version=$composerversion \ || ynh_die "Unable to install Composer." # update dependencies to create composer.lock - ynh_composer_exec --phpversion="${phpversion}" --workdir="$workdir" --commands="install --no-dev" \ + ynh_composer_exec --phpversion="${phpversion}" --workdir="$workdir" --commands="install --no-dev $install_args" \ || ynh_die "Unable to update core dependencies with Composer." } + diff --git a/scripts/backup b/scripts/backup index 0310c8b..6f4f9c1 100644 --- a/scripts/backup +++ b/scripts/backup @@ -62,4 +62,4 @@ ynh_mysql_dump_db --database="$db_name" > db.sql # END OF SCRIPT #================================================= -ynh_print_info --message="Backup script completed for Roundcube. (YunoHost will then actually copy those files to the archive)." +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 e7b7425..8ae2680 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -89,4 +89,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for Roundcube" --last +ynh_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/install b/scripts/install index c94866e..6736c01 100644 --- a/scripts/install +++ b/scripts/install @@ -117,7 +117,7 @@ ynh_mysql_connect_as --user="$db_name" --password="$db_pwd" --database="$db_name #================================================= # CONFIGURE ROUNDCUBE #================================================= -ynh_script_progression --message="Configuring Roundcube..." +ynh_script_progression --message="Configuring $app..." rc_conf="$final_path/config/config.inc.php" @@ -232,4 +232,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of Roundcube completed" --last +ynh_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove index 579a922..c409dac 100644 --- a/scripts/remove +++ b/scripts/remove @@ -41,7 +41,7 @@ ynh_mysql_remove_db --db_user=$db_name --db_name=$db_name #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing Roundcube main directory..." --weight=3 +ynh_script_progression --message="Removing $app main directory..." --weight=3 # Remove the app directory securely ynh_secure_remove --file="$final_path" @@ -76,4 +76,4 @@ ynh_system_user_delete --username=$app # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of Roundcube completed" --last +ynh_script_progression --message="Removal of $app completed" --last diff --git a/scripts/restore b/scripts/restore index 84b89a9..c9d43eb 100644 --- a/scripts/restore +++ b/scripts/restore @@ -50,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 Roundcube main directory..." +ynh_script_progression --message="Restoring $app main directory..." ynh_restore_file --origin_path="$final_path" @@ -104,4 +104,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for Roundcube" --last +ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade index fb49838..0e49d0a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -72,7 +72,7 @@ fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up Roundcube before upgrading (may take a while)..." --weight=30 +ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=30 # Backup the current version of the app ynh_backup_before_upgrade @@ -152,7 +152,7 @@ then ynh_replace_string --match_string="__DBUSER__" --replace_string=$db_name --target_file="$rc_conf" db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" - ynh_replace_string --match_string="__DBNAME__" --replace_string=$db_name --target_file="$rc_conf" + ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" #================================================= # UPDATE DEPENDENCIES WITH COMPOSER @@ -241,7 +241,7 @@ then #================================================= # UPDATE ROUNDCUBE CONFIGURATION #================================================= - ynh_script_progression --message="Updating Roundcube configuration..." --weight=4 + ynh_script_progression --message="Updating $app configuration..." --weight=4 ynh_replace_string --match_string="^\s*// installed plugins" --replace_string="&\n $installed_plugins" --target_file="$rc_conf" @@ -255,7 +255,7 @@ then #================================================= # UPDATE ROUNDCUBE CORE #================================================= - ynh_script_progression --message="Updating Roundcube core..." --weight=4 + ynh_script_progression --message="Updating $app core..." --weight=4 ( cd "$final_path" ynh_exec_warn ./bin/update.sh --version=$oldversion -y) @@ -283,4 +283,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of Roundcube completed" --last +ynh_script_progression --message="Installation of $app completed" --last From 21d271816aad45318442c7b180eeb0b257fd7a76 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Nov 2020 22:14:52 +0100 Subject: [PATCH 05/36] fix --- README.md | 3 +-- manifest.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9e3973a..f06e747 100644 --- a/README.md +++ b/README.md @@ -111,8 +111,7 @@ case, do not forget to change ownerships of this folder to `roundcube`. --- -Developers info ----------------- +## Developers info Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/roundcube_ynh/tree/testing). diff --git a/manifest.json b/manifest.json index 40266e7..5e2bbf3 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Open Source Webmail software", "fr": "Webmail Open Source" }, - "version": "1.4.9~ynh1", + "version": "1.4.9~ynh2", "url": "https://roundcube.net/", "license": "GPL-3.0-only", "maintainer": { From 44f3d773eee9a859cfa075535f41d15ccc286bd3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Nov 2020 22:52:46 +0100 Subject: [PATCH 06/36] Update _common.sh --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 4aa8607..1737372 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,7 +7,7 @@ YNH_PHP_VERSION="7.3" # Package dependencies -extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-common php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-pear php${YNH_PHP_VERSION}-auth-sasl php${YNH_PHP_VERSION}-mail-mime php${YNH_PHP_VERSION}-patchwork-utf8 php${YNH_PHP_VERSION}-net-smtp php${YNH_PHP_VERSION}-net-socket php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-curl" +extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-pear php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-dom php${YNH_PHP_VERSION}-curl" # Plugins version contextmenu_version=2.3 From ae62264cd5e3ce7e46a48dcfa68b806f093484ae Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Nov 2020 22:58:45 +0100 Subject: [PATCH 07/36] Update _common.sh --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 1737372..d78a2c0 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,7 +7,7 @@ YNH_PHP_VERSION="7.3" # Package dependencies -extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-pear php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-dom php${YNH_PHP_VERSION}-curl" +extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-dom php${YNH_PHP_VERSION}-curl" # Plugins version contextmenu_version=2.3 From a5c0ecbdaf6a38fc2e4b09cee8a75cb96978bec4 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Nov 2020 23:19:30 +0100 Subject: [PATCH 08/36] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 6736c01..fbef548 100644 --- a/scripts/install +++ b/scripts/install @@ -159,7 +159,7 @@ then # Look for installed and supported CardDAV servers for carddav_app in "nextcloud" "baikal" do - carddav_app_id=$(yunohost app list --installed -f $carddav_app \ + carddav_app_id=$(yunohost app list | grep -q 'id: $carddav_app' \ --output-as json | grep -Po '"id":[ ]?"\K.*?(?=")' | head -1) if [ -n "$carddav_app_id" ] then From fcf53b058047df9238ab9fdb6f46124b8c320f30 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Nov 2020 23:37:55 +0100 Subject: [PATCH 09/36] Revert "Update install" This reverts commit a5c0ecbdaf6a38fc2e4b09cee8a75cb96978bec4. --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index fbef548..6736c01 100644 --- a/scripts/install +++ b/scripts/install @@ -159,7 +159,7 @@ then # Look for installed and supported CardDAV servers for carddav_app in "nextcloud" "baikal" do - carddav_app_id=$(yunohost app list | grep -q 'id: $carddav_app' \ + carddav_app_id=$(yunohost app list --installed -f $carddav_app \ --output-as json | grep -Po '"id":[ ]?"\K.*?(?=")' | head -1) if [ -n "$carddav_app_id" ] then From c79c39a2b7a4c9b47d18395225d30787a6049bf5 Mon Sep 17 00:00:00 2001 From: Sebastien Mennetrier Date: Mon, 9 Nov 2020 10:57:01 +0100 Subject: [PATCH 10/36] Force to use composer version 1.10.17 Composer 2.x is breaking installation of roundcube plugins Waiting updates of plugins, we must use composer verison 1.x --- scripts/_common.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 16d78b9..ff19202 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,6 +7,9 @@ # Package dependencies pkg_dependencies="php-cli php-common php-intl php-json php-pear php-auth-sasl php-mail-mime php-patchwork-utf8 php-net-smtp php-net-socket php-zip php-gd php-mbstring php-curl" +# Composer version +composer_version=1.10.17 + # Plugins version contextmenu_version=2.3 automatic_addressbook_version=v0.4.3 @@ -55,7 +58,7 @@ ynh_install_composer () { curl -sS https://getcomposer.org/installer \ | COMPOSER_HOME="$workdir/.composer" \ - php${phpversion} -- --quiet --install-dir="$workdir" \ + php${phpversion} -- --quiet --install-dir="$workdir" --version="$composer_version" \ || ynh_die "Unable to install Composer." # update dependencies to create composer.lock From 476bb58f5c923122249a35d3cae0478825c9d180 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 12:05:21 +0100 Subject: [PATCH 11/36] Small fixes --- README.md | 16 +++++----------- scripts/install | 8 ++++---- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index f06e747..ec019f6 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* ## Overview -[Roundcube](https://roundcube.net/) is a browser-based multilingual IMAP client with -an application-like user interface. +[Roundcube](https://roundcube.net/) is a browser-based multilingual IMAP client with an application-like user interface. **Shipped version:** 1.4.9 @@ -35,17 +34,12 @@ In addition to Roundcube core features, the following are made available with this package: * Synchronize your email aliases as identities in Roundcube - * Install the [contextmenu](https://plugins.roundcube.net/packages/johndoh/contextmenu) - and [automatic addressbook](https://plugins.roundcube.net/packages/sblaisot/automatic_addressbook) - plugins by default - * Allow to install the [CardDAV](https://plugins.roundcube.net/packages/roundcube/carddav) - (address book) synchronization plugin at the installation - note that if - you have installed ownCloud or Baïkal, it will automatically add the - corresponding and existing address book. + * Install the [contextmenu](https://plugins.roundcube.net/packages/johndoh/contextmenu) and [automatic addressbook](https://plugins.roundcube.net/packages/sblaisot/automatic_addressbook) plugins by default + * Allow to install the [CardDAV](https://plugins.roundcube.net/packages/roundcube/carddav) (address book) synchronization plugin at the installation - note that if you have installed ownCloud or Baïkal, it will automatically add the corresponding and existing address book. #### Multi-users support -* Integrate with YunoHost users and SSO - i.e logout button, YunoHost users - search + +* Integrate with YunoHost users and SSO - i.e logout button, YunoHost users search #### Supported architectures diff --git a/scripts/install b/scripts/install index 6736c01..b4b376e 100644 --- a/scripts/install +++ b/scripts/install @@ -30,7 +30,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 --message="This path already contains a folder" @@ -90,7 +90,7 @@ ynh_system_user_create --username=$app ynh_script_progression --message="Configuring PHP-FPM..." --weight=2 # Create a dedicated PHP-FPM config -ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" +ynh_add_fpm_config --package="$extra_php_dependencies" phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= @@ -124,9 +124,9 @@ rc_conf="$final_path/config/config.inc.php" cp ../conf/config.inc.php "$rc_conf" ynh_replace_string --match_string="__DESKEY__" --replace_string="$(ynh_string_random --length=24)" --target_file="$rc_conf" -ynh_replace_string --match_string="__DBUSER__" --replace_string=$db_name --target_file="$rc_conf" +ynh_replace_string --match_string="__DBUSER__" --replace_string="$db_name" --target_file="$rc_conf" ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" -ynh_replace_string --match_string="__DBNAME__" --replace_string=$db_name --target_file="$rc_conf" +ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" #================================================= # INSTALL ADDITIONAL PLUGINS From b39d5ba972d76a53589eaf5fd54f547c2af36978 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 13:36:48 +0100 Subject: [PATCH 12/36] Add README_fr --- README.md | 28 +++++-------- README_fr.md | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 17 deletions(-) create mode 100644 README_fr.md diff --git a/README.md b/README.md index ec019f6..2226cb9 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ [![Integration level](https://dash.yunohost.org/integration/roundcube.svg)](https://dash.yunohost.org/appci/app/roundcube) ![](https://ci-apps.yunohost.org/ci/badges/roundcube.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/roundcube.maintain.svg) [![Install Roundcube with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=roundcube) +*[Lire ce readme en français.](./README_fr.md)* + > *This package allow you to install Roundcube 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.* @@ -30,12 +32,11 @@ You can extend - or even override - the Roundcube configuration which is coming ## YunoHost specific features -In addition to Roundcube core features, the following are made available with -this package: +In addition to Roundcube core features, the following are made available with this package: * Synchronize your email aliases as identities in Roundcube * Install the [contextmenu](https://plugins.roundcube.net/packages/johndoh/contextmenu) and [automatic addressbook](https://plugins.roundcube.net/packages/sblaisot/automatic_addressbook) plugins by default - * Allow to install the [CardDAV](https://plugins.roundcube.net/packages/roundcube/carddav) (address book) synchronization plugin at the installation - note that if you have installed ownCloud or Baïkal, it will automatically add the corresponding and existing address book. + * Allow to install the [CardDAV](https://plugins.roundcube.net/packages/roundcube/carddav) (address book) synchronization plugin at the installation - note that if you have installed Nextcloud or Baïkal, it will automatically add the corresponding and existing address book. #### Multi-users support @@ -54,13 +55,11 @@ this package: #### Plugins -You can also install other plugins - which will not be removed with upgrades. To do so, -you can use the official [Plugin Repository](https://plugins.roundcube.net/). +You can also install other plugins - which will not be removed with upgrades. To do so, you can use the official [Plugin Repository](https://plugins.roundcube.net/). ##### From the Plugin Repository -Let's say for example that we want to install the -[html5_notifier](https://plugins.roundcube.net/packages/kitist/html5_notifier) plugin. +Let's say for example that we want to install the [html5_notifier](https://plugins.roundcube.net/packages/kitist/html5_notifier) plugin. 1. Connect to your server as root using SSH: ``` @@ -68,33 +67,28 @@ Let's say for example that we want to install the $ sudo -i ``` -2. Log in as the `roundcube` user - which owns the roundcube directory - and navigate - in it: +2. Log in as the `roundcube` user - which owns the roundcube directory - and navigate in it: ``` # su -s /bin/bash - roundcube $ cd /var/www/roundcube ``` -3. Install the plugin you want using composer - note that you have to specify - *kitist/html5_notifier* and not only *html5_notifier*: +3. Install the plugin you want using composer - note that you have to specify *kitist/html5_notifier* and not only *html5_notifier*: ``` $ COMPOSER_HOME=./.composer php composer.phar require "kitist/html5_notifier" ``` -4. Enable it in the local configuration file `conf/local.inc.php` using your - favorite text editor by adding: +4. Enable it in the local configuration file `conf/local.inc.php` using your favorite text editor by adding: ``` *Ce package vous permet d'installer Roundcube 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 +[Roundcube](https://roundcube.net/) is a browser-based multilingual IMAP client with an application-like user interface. + +**Version incluse :** 1.4.9 + +## Captures d'écran + +![](https://roundcube.net/screens/skins/elastic/desktop/screens/mailbox_widescreen.png) + +## Démo + +* [Démo YunoHost](https://demo.yunohost.org/webmail/) + +## Configuration + +Vous pouvez étendre - ou même remplacer - la configuration de Roundcube fournie avec ce paquet dans le fichier `conf/local.inc.php`. Ne modifiez pas le fichier `conf/config.inc.php` car les futures mises à jour le remplaceront. + +## Documentation + + * Documentation officielle : https://github.com/roundcube/roundcubemail/wiki + * Documentation YunoHost : https://github.com/YunoHost/doc/blob/master/app_roundcube.md: + +## Caractéristiques spécifiques YunoHost + +En plus des fonctionnalités principales de Roundcube, les éléments suivants sont disponibles avec ce package: + + * Synchronisez vos alias de messagerie en tant qu'identités dans Roundcube + * Installez les plugins [contextmenu](https://plugins.roundcube.net/packages/johndoh/contextmenu) et [carnet d'adresses automatique](https://plugins.roundcube.net/packages/sblaisot/automatic_addressbook) par défaut + * Permettre d'installer le plugin de synchronisation [CardDAV](https://plugins.roundcube.net/packages/roundcube/carddav) (carnet d'adresses) lors de l'installation - notez que si vous avez installé Nextcloud ou Baïkal, il ajoutera automatiquement le carnet d'adresses correspondant et existant. + +#### Support multi-utilisateur + +* Intégration avec les utilisateurs de YunoHost et SSO - c'est-à-dire le bouton de déconnexion, recherche des utilisateurs de YunoHost + +#### Architectures supportées + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/roundcube%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/roundcube/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/roundcube%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/roundcube/) + +## Limitations + +* Limitations connues. + +## Informations additionnelles + +#### Plugins + +Vous pouvez également installer d'autres plugins qui ne seront pas supprimés avec les mises à niveau. Pour ce faire, vous pouvez utiliser le [répertoire de plugins](https://plugins.roundcube.net/) officiel. + +##### Depuis le répertoire de plugins + +Si vous voulez par exemple installer le plugin [html5_notifier](https://plugins.roundcube.net/packages/kitist/html5_notifier). + +1. Connectez-vous à votre serveur en tant que root en utilisant SSH : + ``` + $ ssh admin@1.2.3.4 + $ sudo -i + ``` + +2. Connectez-vous en tant qu'utilisateur `roundcube` - qui possède le répertoire roundcube - et naviguez dedans : + ``` + # su -s /bin/bash - roundcube + $ cd /var/www/roundcube + ``` + +3. Installez le plugin que vous voulez en utilisant Composer - notez que vous devez spécifier *kitist/html5_notifier* et pas seulement *html5_notifier* : + ``` + $ COMPOSER_HOME=./.composer php composer.phar require "kitist/html5_notifier" + ``` + +4. Activez-le dans le fichier de configuration local `conf/local.inc.php` en ajoutant : + ``` + Date: Mon, 9 Nov 2020 14:45:02 +0100 Subject: [PATCH 13/36] Set Elastic as default --- conf/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.inc.php b/conf/config.inc.php index f1b5959..ce67075 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -97,7 +97,7 @@ $config['product_name'] = 'YunoHost Webmail'; $config['des_key'] = '__DESKEY__'; // skin name: folder from skins/ -$config['skin'] = 'larry'; +$config['skin'] = 'elastic'; // Enable YunoHost users search in the address book. $config['ldap_public']['yunohost'] = array( From ae944ef9290bfa7e1c082366dd37cb5c45adbbf6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 15:09:23 +0100 Subject: [PATCH 14/36] Add language setting --- conf/config.inc.php | 12 ++++++++++++ manifest.json | 10 ++++++++++ scripts/_common.sh | 2 +- scripts/install | 3 +++ scripts/restore | 2 +- scripts/upgrade | 4 +++- 6 files changed, 30 insertions(+), 3 deletions(-) diff --git a/conf/config.inc.php b/conf/config.inc.php index ce67075..4e016d3 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -99,6 +99,18 @@ $config['des_key'] = '__DESKEY__'; // skin name: folder from skins/ $config['skin'] = 'elastic'; +// ---------------------------------- +// USER INTERFACE +// ---------------------------------- + +// the default locale setting (leave empty for auto-detection) +// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR +$config['language'] = __LANGUAGE__; + +// use this format for date display (date or strftime format) +$config['date_format'] = 'd-m-Y'; + + // Enable YunoHost users search in the address book. $config['ldap_public']['yunohost'] = array( 'name' => 'YunoHost Users', diff --git a/manifest.json b/manifest.json index 5e2bbf3..8f9df9f 100644 --- a/manifest.json +++ b/manifest.json @@ -43,6 +43,16 @@ "example": "/webmail", "default": "/webmail" }, + { + "name": "language", + "type": "string", + "ask": { + "en": "Choose the application language", + "fr": "Choisissez la langue de l'application" + }, + "choices": ["fr_FR", "en-GB"], + "default": "fr_FR" + }, { "name": "with_carddav", "type": "boolean", diff --git a/scripts/_common.sh b/scripts/_common.sh index d78a2c0..93a1c93 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,7 +7,7 @@ YNH_PHP_VERSION="7.3" # Package dependencies -extra_php_dependencies="php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-dom php${YNH_PHP_VERSION}-curl" +extra_php_dependencies="php-pear php${YNH_PHP_VERSION}-ldap php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-dom php${YNH_PHP_VERSION}-curl" # Plugins version contextmenu_version=2.3 diff --git a/scripts/install b/scripts/install index b4b376e..c96f525 100644 --- a/scripts/install +++ b/scripts/install @@ -24,6 +24,7 @@ domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH with_carddav=$YNH_APP_ARG_WITH_CARDDAV with_enigma=$YNH_APP_ARG_WITH_ENIGMA +language=$YNH_APP_ARG_LANGUAGE app=$YNH_APP_INSTANCE_NAME @@ -47,6 +48,7 @@ ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=with_carddav --value=$with_carddav ynh_app_setting_set --app=$app --key=with_enigma --value=$with_enigma +ynh_app_setting_set --app=$app --key=language --value=$language #================================================= # STANDARD MODIFICATIONS @@ -127,6 +129,7 @@ ynh_replace_string --match_string="__DESKEY__" --replace_string="$(ynh_string_ra ynh_replace_string --match_string="__DBUSER__" --replace_string="$db_name" --target_file="$rc_conf" ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" +ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$rc_conf" #================================================= # INSTALL ADDITIONAL PLUGINS diff --git a/scripts/restore b/scripts/restore index c9d43eb..a7cd2b5 100644 --- a/scripts/restore +++ b/scripts/restore @@ -77,7 +77,7 @@ chown -R $app: "$final_path/"{temp,logs,plugins/enigma/home} ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" -ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" +ynh_add_fpm_config --package="$extra_php_dependencies" #================================================= # SPECIFIC RESTORATION diff --git a/scripts/upgrade b/scripts/upgrade index 0e49d0a..3a6f394 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -23,6 +23,7 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name) with_carddav=$(ynh_app_setting_get --app=$app --key=with_carddav) with_enigma=$(ynh_app_setting_get --app=$app --key=with_enigma) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) +language=$(ynh_app_setting_get --app=$app --key=language) #================================================= # CHECK VERSION @@ -129,7 +130,7 @@ ynh_system_user_create --username=$app ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=5 # Create a dedicated PHP-FPM config -ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION --package="$extra_php_dependencies" +ynh_add_fpm_config --package="$extra_php_dependencies" #================================================= # SPECIFIC UPGRADE @@ -153,6 +154,7 @@ then db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" + ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$rc_conf" #================================================= # UPDATE DEPENDENCIES WITH COMPOSER From 282c11e0e7ce2bad52e82d49b278569cecfa3d51 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 15:15:13 +0100 Subject: [PATCH 15/36] Update config.inc.php --- conf/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.inc.php b/conf/config.inc.php index 4e016d3..9b4d354 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -105,7 +105,7 @@ $config['skin'] = 'elastic'; // the default locale setting (leave empty for auto-detection) // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR -$config['language'] = __LANGUAGE__; +$config['language'] = '__LANGUAGE__'; // use this format for date display (date or strftime format) $config['date_format'] = 'd-m-Y'; From f0f89f8e1daa45047f428e3c020ddfb9b6aa7780 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 15:16:39 +0100 Subject: [PATCH 16/36] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 8f9df9f..c51f3a0 100644 --- a/manifest.json +++ b/manifest.json @@ -50,7 +50,7 @@ "en": "Choose the application language", "fr": "Choisissez la langue de l'application" }, - "choices": ["fr_FR", "en-GB"], + "choices": ["fr_FR", "en_GB"], "default": "fr_FR" }, { From 8b608fe5c7af3ea422c182775c0d77910e2c1df6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 15:19:42 +0100 Subject: [PATCH 17/36] Update manifest.json --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index c51f3a0..2942b6e 100644 --- a/manifest.json +++ b/manifest.json @@ -50,8 +50,8 @@ "en": "Choose the application language", "fr": "Choisissez la langue de l'application" }, - "choices": ["fr_FR", "en_GB"], - "default": "fr_FR" + "choices": ["fr_FR", "en_GB", "de_DE"], + "default": "en_GB" }, { "name": "with_carddav", From 155698f1476e8d04079eef06de68a0f5474414ae Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 15:38:41 +0100 Subject: [PATCH 18/36] Add domain --- conf/config.inc.php | 2 +- scripts/install | 1 + scripts/upgrade | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conf/config.inc.php b/conf/config.inc.php index 9b4d354..2afb781 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -44,7 +44,7 @@ $config['db_dsnw'] = 'mysql://__DBUSER__:__DBPASS__@localhost/__DBNAME__'; // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) // %s - domain name after the '@' from e-mail address provided at login screen // For example %n = mail.domain.tld, %t = domain.tld -$config['default_host'] = 'localhost'; +$config['default_host'] = '__DOMAIN__'; // SMTP server host (for sending mails). // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// diff --git a/scripts/install b/scripts/install index c96f525..508aae9 100644 --- a/scripts/install +++ b/scripts/install @@ -130,6 +130,7 @@ ynh_replace_string --match_string="__DBUSER__" --replace_string="$db_name" --tar ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$rc_conf" +ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$rc_conf" #================================================= # INSTALL ADDITIONAL PLUGINS diff --git a/scripts/upgrade b/scripts/upgrade index 3a6f394..4650c0c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -155,7 +155,8 @@ then ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$rc_conf" - + ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$rc_conf" + #================================================= # UPDATE DEPENDENCIES WITH COMPOSER #================================================= From 97668c2e7f4b035f96b7c59076c144b58def20b6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 16:50:06 +0100 Subject: [PATCH 19/36] Revert "Add domain" This reverts commit 155698f1476e8d04079eef06de68a0f5474414ae. --- conf/config.inc.php | 2 +- scripts/install | 1 - scripts/upgrade | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/conf/config.inc.php b/conf/config.inc.php index 2afb781..9b4d354 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -44,7 +44,7 @@ $config['db_dsnw'] = 'mysql://__DBUSER__:__DBPASS__@localhost/__DBNAME__'; // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) // %s - domain name after the '@' from e-mail address provided at login screen // For example %n = mail.domain.tld, %t = domain.tld -$config['default_host'] = '__DOMAIN__'; +$config['default_host'] = 'localhost'; // SMTP server host (for sending mails). // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// diff --git a/scripts/install b/scripts/install index 508aae9..c96f525 100644 --- a/scripts/install +++ b/scripts/install @@ -130,7 +130,6 @@ ynh_replace_string --match_string="__DBUSER__" --replace_string="$db_name" --tar ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$rc_conf" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$rc_conf" #================================================= # INSTALL ADDITIONAL PLUGINS diff --git a/scripts/upgrade b/scripts/upgrade index 4650c0c..3a6f394 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -155,8 +155,7 @@ then ynh_replace_string --match_string="__DBPASS__" --replace_string="$db_pwd" --target_file="$rc_conf" ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$rc_conf" ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$rc_conf" - ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$rc_conf" - + #================================================= # UPDATE DEPENDENCIES WITH COMPOSER #================================================= From f3890ec1a832781f4108cf20d29692b71ab9d8b4 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 16:53:23 +0100 Subject: [PATCH 20/36] Disable GoogleSpell as default --- conf/config.inc.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/config.inc.php b/conf/config.inc.php index 9b4d354..0c16976 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -110,6 +110,9 @@ $config['language'] = '__LANGUAGE__'; // use this format for date display (date or strftime format) $config['date_format'] = 'd-m-Y'; +// Make use of the built-in spell checker. It is based on GoogieSpell. +$config['enable_spellcheck'] = false; + // Enable YunoHost users search in the address book. $config['ldap_public']['yunohost'] = array( From 546a6534b35d3b1ba64eaeb571609a88ec296453 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 18 Nov 2020 09:04:28 +0100 Subject: [PATCH 21/36] Creat language if doesn't exist --- scripts/upgrade | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 3a6f394..ba24a9c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -23,7 +23,14 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name) with_carddav=$(ynh_app_setting_get --app=$app --key=with_carddav) with_enigma=$(ynh_app_setting_get --app=$app --key=with_enigma) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) -language=$(ynh_app_setting_get --app=$app --key=language) + + # If language doesn't exist, create it + if [ -z "$language" ]; then + language=$YNH_APP_ARG_LANGUAGE + ynh_app_setting_set --app=$app --key=language --value=$language + else + language=$(ynh_app_setting_get --app=$app --key=language) + fi #================================================= # CHECK VERSION From 3a5ad42ff5355ab930445f50fa94a0617d32e477 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 20 Nov 2020 22:06:07 +0100 Subject: [PATCH 22/36] Update upgrade --- scripts/upgrade | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index ba24a9c..d58c79a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -23,14 +23,7 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name) with_carddav=$(ynh_app_setting_get --app=$app --key=with_carddav) with_enigma=$(ynh_app_setting_get --app=$app --key=with_enigma) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) - - # If language doesn't exist, create it - if [ -z "$language" ]; then - language=$YNH_APP_ARG_LANGUAGE - ynh_app_setting_set --app=$app --key=language --value=$language - else - language=$(ynh_app_setting_get --app=$app --key=language) - fi +language=$(ynh_app_setting_get --app=$app --key=language) #================================================= # CHECK VERSION @@ -77,6 +70,12 @@ if [ -z "$with_enigma" ]; then ynh_app_setting_set --app=$app --key=with_enigma --value=$with_enigma fi + # If language doesn't exist, create it + if [ -z "$language" ]; then + language="en_GB" + ynh_app_setting_set --app=$app --key=language --value=$language +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= From 77f00095bbeee87a361821f0dddfc793c2a2910d Mon Sep 17 00:00:00 2001 From: tituspijean Date: Sun, 22 Nov 2020 11:23:25 +0100 Subject: [PATCH 23/36] Fix carddav plugin setup Fix deprecrated yunohost app list command Escape strings for ynh_replace_string --- scripts/install | 7 +++---- scripts/upgrade | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/scripts/install b/scripts/install index c96f525..25bf89a 100644 --- a/scripts/install +++ b/scripts/install @@ -162,8 +162,7 @@ then # Look for installed and supported CardDAV servers for carddav_app in "nextcloud" "baikal" do - carddav_app_id=$(yunohost app list --installed -f $carddav_app \ - --output-as json | grep -Po '"id":[ ]?"\K.*?(?=")' | head -1) + carddav_app_id=$(yunohost app list | grep "id: $carddav_app" | grep -Po 'id: \K(.*)' | head -n 1) if [ -n "$carddav_app_id" ] then carddav_server=1 @@ -172,8 +171,8 @@ then carddav_path=$(ynh_app_setting_get --app=$carddav_app_id --key=path) carddav_url="https://${carddav_domain}${carddav_path%/}" ynh_replace_string --match_string="{${carddav_app}_url}" --replace_string="$carddav_url" --target_file="$carddav_tmp_config" - ynh_replace_string --match_string="/* PRESET FOR: $carddav_app" --replace_string="" --target_file="$carddav_tmp_config" - ynh_replace_string --match_string="END: $carddav_app */" --replace_string="" --target_file="$carddav_tmp_config" + ynh_replace_string --match_string="\/\* PRESET FOR: $carddav_app" --replace_string="" --target_file="$carddav_tmp_config" + ynh_replace_string --match_string="END: $carddav_app \*\/" --replace_string="" --target_file="$carddav_tmp_config" fi done diff --git a/scripts/upgrade b/scripts/upgrade index d58c79a..d0f9342 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -209,8 +209,7 @@ then # Look for installed and supported CardDAV servers for carddav_app in "nextcloud" "baikal" do - carddav_app_id=$(yunohost app list --installed -f $carddav_app \ - --output-as json | grep -Po '"id":[ ]?"\K.*?(?=")' | head -1) + carddav_app_id=$(yunohost app list | grep "id: $carddav_app" | grep -Po 'id: \K(.*)' | head -n 1) if [ -n "$carddav_app_id" ] then carddav_server=1 From b5f342e88b5e1966ad7269d8092f2ede0f64b449 Mon Sep 17 00:00:00 2001 From: tituspijean Date: Sun, 22 Nov 2020 13:21:30 +0100 Subject: [PATCH 24/36] Alter check_process --- check_process | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/check_process b/check_process index 0c08fcd..94e6e9d 100644 --- a/check_process +++ b/check_process @@ -12,6 +12,7 @@ setup_private=0 setup_public=0 upgrade=1 + upgrade=1 from_commit=337b120eb3b97ac6b616cbf400af3aa98e409a99 backup_restore=1 multi_instance=1 incorrect_path=1 @@ -23,4 +24,6 @@ Email= Notification=none ;;; Upgrade options - manifest_arg=domain=DOMAIN&path=PATH&with_carddav=1&with_enigma=1& + ; commit=337b120eb3b97ac6b616cbf400af3aa98e409a99 + name=Fix carddav + manifest_arg=domain=DOMAIN&path=PATH&with_carddav=1&with_enigma=1& From 87e2f1e38d8b8f931117b744890ab864d09bdf31 Mon Sep 17 00:00:00 2001 From: tituspijean Date: Sun, 22 Nov 2020 14:05:49 +0100 Subject: [PATCH 25/36] Handle multiple CardDAV apps of each type Can now include contacts from, e.g. apps nextcloud, nextcloud__2, etc. --- conf/baikal.inc.php | 16 ++++++++++ conf/carddav.config.inc.php | 59 ------------------------------------- conf/nextcloud.inc.php | 16 ++++++++++ scripts/install | 23 ++++++++------- scripts/upgrade | 23 ++++++++------- 5 files changed, 56 insertions(+), 81 deletions(-) create mode 100644 conf/baikal.inc.php delete mode 100644 conf/carddav.config.inc.php create mode 100644 conf/nextcloud.inc.php diff --git a/conf/baikal.inc.php b/conf/baikal.inc.php new file mode 100644 index 0000000..99a192b --- /dev/null +++ b/conf/baikal.inc.php @@ -0,0 +1,16 @@ + +$prefs['{baikal_id}'] = array( + // required attributes + 'name' => '{baikal_id}', + 'username' => '%u', + 'password' => '%p', + 'url' => '{baikal_url}/card.php/addressbooks/%u/', + + // optional attributes + 'active' => true, + 'readonly' => false, + 'refresh_time' => '00:05:00', + + 'fixed' => array('username', 'password'), + 'hide' => false, +); diff --git a/conf/carddav.config.inc.php b/conf/carddav.config.inc.php deleted file mode 100644 index 13c4509..0000000 --- a/conf/carddav.config.inc.php +++ /dev/null @@ -1,59 +0,0 @@ - 'Baïkal', - 'username' => '%u', - 'password' => '%p', - 'url' => '{baikal_url}/card.php/addressbooks/%u/', - - // optional attributes - 'active' => true, - 'readonly' => false, - 'refresh_time' => '00:05:00', - - 'fixed' => array('username', 'password'), - 'hide' => false, -); -END: baikal */ - -/* PRESET FOR: owncloud -$prefs['ownCloud'] = array( - // required attributes - 'name' => 'ownCloud', - 'username' => '%u', - 'password' => '%p', - 'url' => '{owncloud_url}/remote.php/dav/addressbooks/users/%u/default/', - - // optional attributes - 'active' => true, - 'readonly' => false, - 'refresh_time' => '00:05:00', - - 'fixed' => array('username', 'password'), - 'hide' => false, -); -END: owncloud */ - -/* PRESET FOR: nextcloud -$prefs['NextCloud'] = array( - // required attributes - 'name' => 'nextCloud', - 'username' => '%u', - 'password' => '%p', - 'url' => '{nextcloud_url}/remote.php/dav/addressbooks/users/%u/contacts/', - - // optional attributes - 'active' => true, - 'readonly' => false, - 'refresh_time' => '00:05:00', - - 'fixed' => array('username', 'password'), - 'hide' => false, -); -END: nextcloud */ diff --git a/conf/nextcloud.inc.php b/conf/nextcloud.inc.php new file mode 100644 index 0000000..46d3158 --- /dev/null +++ b/conf/nextcloud.inc.php @@ -0,0 +1,16 @@ + +$prefs['{nextcloud_id}'] = array( + // required attributes + 'name' => '{nextcloud_id}', + 'username' => '%u', + 'password' => '%p', + 'url' => '{nextcloud_url}/remote.php/dav/addressbooks/users/%u/contacts/', + + // optional attributes + 'active' => true, + 'readonly' => false, + 'refresh_time' => '00:05:00', + + 'fixed' => array('username', 'password'), + 'hide' => false, +); diff --git a/scripts/install b/scripts/install index 25bf89a..f9a2132 100644 --- a/scripts/install +++ b/scripts/install @@ -159,27 +159,28 @@ then carddav_tmp_config="../conf/carddav.config.inc.php" carddav_server=0 + # Copy the plugin configuration file + cp $final_path/plugins/carddav/config.inc.php{.dist,} + # Look for installed and supported CardDAV servers for carddav_app in "nextcloud" "baikal" do - carddav_app_id=$(yunohost app list | grep "id: $carddav_app" | grep -Po 'id: \K(.*)' | head -n 1) - if [ -n "$carddav_app_id" ] - then + carddav_app_ids=$(yunohost app list | grep "id: $carddav_app" | grep -Po 'id: \K(.*)' || echo "") + for carddav_app_id in $carddav_app_ids + do carddav_server=1 + # Append preset configuration to the config file + cat "../conf/${carddav_app}.inc.php" >> $final_path/plugins/carddav/config.inc.php # Retrieve app settings and enable relevant preset carddav_domain=$(ynh_app_setting_get --app=$carddav_app_id --key=domain) carddav_path=$(ynh_app_setting_get --app=$carddav_app_id --key=path) carddav_url="https://${carddav_domain}${carddav_path%/}" - ynh_replace_string --match_string="{${carddav_app}_url}" --replace_string="$carddav_url" --target_file="$carddav_tmp_config" - ynh_replace_string --match_string="\/\* PRESET FOR: $carddav_app" --replace_string="" --target_file="$carddav_tmp_config" - ynh_replace_string --match_string="END: $carddav_app \*\/" --replace_string="" --target_file="$carddav_tmp_config" - fi + ynh_replace_string --match_string="{${carddav_app}_id}" --replace_string="$carddav_app_id" --target_file="$final_path/plugins/carddav/config.inc.php" + ynh_replace_string --match_string="{${carddav_app}_url}" --replace_string="$carddav_url" --target_file="$final_path/plugins/carddav/config.inc.php" + done done - # Copy the plugin configuration file - cp "$carddav_tmp_config" ""$final_path/plugins/carddav/config.inc.php"" - - # Do not actualy add the carddav plugin if there's no CardDAV server available... + # Do not actualy add the carddav plugin if there's no carddav server available... if [ $carddav_server -eq 1 ] then installed_plugins+=" 'carddav'," diff --git a/scripts/upgrade b/scripts/upgrade index d0f9342..4fa6690 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -206,27 +206,28 @@ then carddav_tmp_config="../conf/carddav.config.inc.php" carddav_server=0 + # Copy the plugin configuration file + cp $final_path/plugins/carddav/config.inc.php{.dist,} + # Look for installed and supported CardDAV servers for carddav_app in "nextcloud" "baikal" do - carddav_app_id=$(yunohost app list | grep "id: $carddav_app" | grep -Po 'id: \K(.*)' | head -n 1) - if [ -n "$carddav_app_id" ] - then + carddav_app_ids=$(yunohost app list | grep "id: $carddav_app" | grep -Po 'id: \K(.*)' || echo "") + for carddav_app_id in $carddav_app_ids + do carddav_server=1 + # Append preset configuration to the config file + cat "../conf/${carddav_app}.inc.php" >> $final_path/plugins/carddav/config.inc.php # Retrieve app settings and enable relevant preset carddav_domain=$(ynh_app_setting_get --app=$carddav_app_id --key=domain) carddav_path=$(ynh_app_setting_get --app=$carddav_app_id --key=path) carddav_url="https://${carddav_domain}${carddav_path%/}" - ynh_replace_string --match_string="{${carddav_app}_url}" --replace_string="$carddav_url" --target_file="$carddav_tmp_config" - ynh_replace_string --match_string="\/\* PRESET FOR: $carddav_app" --replace_string="" --target_file="$carddav_tmp_config" - ynh_replace_string --match_string="END: $carddav_app \*\/" --replace_string="" --target_file="$carddav_tmp_config" - fi + ynh_replace_string --match_string="{${carddav_app}_id}" --replace_string="$carddav_app_id" --target_file="$final_path/plugins/carddav/config.inc.php" + ynh_replace_string --match_string="{${carddav_app}_url}" --replace_string="$carddav_url" --target_file="$final_path/plugins/carddav/config.inc.php" + done done - # Copy the plugin configuration file - cp "$carddav_tmp_config" ""$final_path/plugins/carddav/config.inc.php"" - - # Do not actually add the cardDAV plugin if there's no carddav server available... + # Do not actually add the carddav plugin if there's no carddav server available... if [ $carddav_server -eq 1 ] then installed_plugins+=" 'carddav'," From af09a8ad86c239d40dc40b03fcba59779a64dd0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 27 Nov 2020 18:00:45 +0100 Subject: [PATCH 26/36] Update check_process Co-authored-by: Kayou --- check_process | 1 - 1 file changed, 1 deletion(-) diff --git a/check_process b/check_process index 0c08fcd..9ce1a78 100644 --- a/check_process +++ b/check_process @@ -23,4 +23,3 @@ Email= Notification=none ;;; Upgrade options - manifest_arg=domain=DOMAIN&path=PATH&with_carddav=1&with_enigma=1& From 0ae0e4bf9b167609c0c0bd829c76cda149f7e3fe Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 27 Nov 2020 21:33:56 +0100 Subject: [PATCH 27/36] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 2942b6e..c26161c 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Open Source Webmail software", "fr": "Webmail Open Source" }, - "version": "1.4.9~ynh2", + "version": "1.4.9~ynh3", "url": "https://roundcube.net/", "license": "GPL-3.0-only", "maintainer": { From 63d61beb6c72a6663bffd0a757b7b2071995f796 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 27 Nov 2020 21:58:49 +0100 Subject: [PATCH 28/36] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index c26161c..2942b6e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Open Source Webmail software", "fr": "Webmail Open Source" }, - "version": "1.4.9~ynh3", + "version": "1.4.9~ynh2", "url": "https://roundcube.net/", "license": "GPL-3.0-only", "maintainer": { From f6e6eb7fc9a615bfce6c0e5038678e55cfe8a4fe Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 27 Nov 2020 22:09:29 +0100 Subject: [PATCH 29/36] Update check_process --- check_process | 5 ----- 1 file changed, 5 deletions(-) diff --git a/check_process b/check_process index 94e6e9d..6fe8e3d 100644 --- a/check_process +++ b/check_process @@ -12,7 +12,6 @@ setup_private=0 setup_public=0 upgrade=1 - upgrade=1 from_commit=337b120eb3b97ac6b616cbf400af3aa98e409a99 backup_restore=1 multi_instance=1 incorrect_path=1 @@ -23,7 +22,3 @@ ;;; Options Email= Notification=none -;;; Upgrade options - ; commit=337b120eb3b97ac6b616cbf400af3aa98e409a99 - name=Fix carddav - manifest_arg=domain=DOMAIN&path=PATH&with_carddav=1&with_enigma=1& From b4f27aa5bf35c5892d13852cad01833655408173 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 4 Dec 2020 13:51:14 +0100 Subject: [PATCH 30/36] Fix linter warning --- README_fr.md | 1 - scripts/upgrade | 7 ------- 2 files changed, 8 deletions(-) diff --git a/README_fr.md b/README_fr.md index 2e53f0e..72ffddf 100644 --- a/README_fr.md +++ b/README_fr.md @@ -107,7 +107,6 @@ Merci de faire vos pull request sur la [branche testing](https://github.com/Yuno Pour essayer la branche testing, procédez comme suit. ``` sudo yunohost app install https://github.com/YunoHost-Apps/roundcube_ynh/tree/testing --debug -or ou sudo yunohost app upgrade roundcube -u https://github.com/YunoHost-Apps/roundcube_ynh/tree/testing --debug ``` diff --git a/scripts/upgrade b/scripts/upgrade index 4fa6690..c9366fa 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -90,13 +90,6 @@ ynh_clean_setup () { # Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# CHECK THE PATH -#================================================= - -# Normalize the URL path syntax -path_url=$(ynh_normalize_url_path --path_url=$path_url) - #================================================= # STANDARD UPGRADE STEPS #================================================= From a35c6b8de6d7184898cd46cc664f5afe6be90cee Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 9 Dec 2020 14:24:28 +0100 Subject: [PATCH 31/36] Fix linter warning --- check_process | 3 --- conf/config.inc.php | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/check_process b/check_process index 6fe8e3d..5499e44 100644 --- a/check_process +++ b/check_process @@ -14,11 +14,8 @@ upgrade=1 backup_restore=1 multi_instance=1 - incorrect_path=1 port_already_use=0 change_url=1 -;;; Levels - Level 5=auto ;;; Options Email= Notification=none diff --git a/conf/config.inc.php b/conf/config.inc.php index 0c16976..138a935 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -85,7 +85,7 @@ $config['smtp_conn_options'] = array( // provide an URL where a user can get support for this Roundcube installation // PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! -$config['support_url'] = 'https://dev.yunohost.org/projects/apps/issues?set_filter=1&f[]=category_id&op[category_id]=%3D&v[category_id][]=20'; +$config['support_url'] = 'https://forum.yunohost.org/t/roundcube-a-webmail/3965'; // Name your service. This is displayed on the login screen and in the window title $config['product_name'] = 'YunoHost Webmail'; From 1b27612601310af6b01fec9ef1afb353af19ea7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 26 Dec 2020 22:56:37 +0100 Subject: [PATCH 32/36] Set SVG badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2226cb9..87dd416 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Roundcube for YunoHost [![Integration level](https://dash.yunohost.org/integration/roundcube.svg)](https://dash.yunohost.org/appci/app/roundcube) ![](https://ci-apps.yunohost.org/ci/badges/roundcube.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/roundcube.maintain.svg) -[![Install Roundcube with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=roundcube) +[![Install Roundcube with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=roundcube) *[Lire ce readme en français.](./README_fr.md)* From 8b567e41b54ee7dbc4bcd97e8537f652b14fca77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 26 Dec 2020 22:56:52 +0100 Subject: [PATCH 33/36] Update README_fr.md --- README_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_fr.md b/README_fr.md index 72ffddf..ad68290 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,7 +1,7 @@ # Roundcube pour YunoHost [![Integration level](https://dash.yunohost.org/integration/roundcube.svg)](https://dash.yunohost.org/appci/app/roundcube) ![](https://ci-apps.yunohost.org/ci/badges/roundcube.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/roundcube.maintain.svg) -[![Installer Roundcube avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=roundcube) +[![Installer Roundcube avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=roundcube) *[Read this readme in english.](./README.md)* From 44e67ff8d748d1c08a22029af055c9e49d5365d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 28 Dec 2020 10:21:52 +0100 Subject: [PATCH 34/36] Upgrade to 1.4.10 (#100) Upgrade to 1.4.10 --- README.md | 2 +- README_fr.md | 2 +- conf/app.src | 4 ++-- manifest.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 87dd416..f200c5e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to ## Overview [Roundcube](https://roundcube.net/) is a browser-based multilingual IMAP client with an application-like user interface. -**Shipped version:** 1.4.9 +**Shipped version:** 1.4.10 ## Screenshots diff --git a/README_fr.md b/README_fr.md index ad68290..2359886 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install ## Overview [Roundcube](https://roundcube.net/) est un client IMAP multilingue basé sur un navigateur avec une interface utilisateur semblable à une application. -**Shipped version:** 1.4.9 +**Shipped version:** 1.4.10 ## Screenshots diff --git a/conf/app.src b/conf/app.src index 30d3b8a..63a42af 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9.tar.gz -SOURCE_SUM=8f9dabb01de4e80b9c9cbdf6b36107ef37e4e841c09d90aef526ce5e1402b430 +SOURCE_URL=https://github.com/roundcube/roundcubemail/releases/download/1.4.10/roundcubemail-1.4.10.tar.gz +SOURCE_SUM=d17d2a8cbb7e05a371f9baa55883626a9f79f27a25510737a795530f46d51440 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/manifest.json b/manifest.json index 2942b6e..72778ce 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Open Source Webmail software", "fr": "Webmail Open Source" }, - "version": "1.4.9~ynh2", + "version": "1.4.10~ynh1", "url": "https://roundcube.net/", "license": "GPL-3.0-only", "maintainer": { From 938f5d1c40379ef682bbd7e87d0c429dd65f81ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 9 Feb 2021 09:01:39 +0100 Subject: [PATCH 35/36] Upgrade to 1.4.11 (#103) * Upgrade to 1.4.11 --- README.md | 2 +- README_fr.md | 2 +- conf/app.src | 4 ++-- manifest.json | 2 +- pull_request_template.md | 8 ++++---- scripts/install | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f200c5e..b33a12b 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to ## Overview [Roundcube](https://roundcube.net/) is a browser-based multilingual IMAP client with an application-like user interface. -**Shipped version:** 1.4.10 +**Shipped version:** 1.4.11 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 2359886..adba282 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install ## Overview [Roundcube](https://roundcube.net/) est un client IMAP multilingue basé sur un navigateur avec une interface utilisateur semblable à une application. -**Shipped version:** 1.4.10 +**Shipped version:** 1.4.11 ## Screenshots diff --git a/conf/app.src b/conf/app.src index 63a42af..546145a 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/roundcube/roundcubemail/releases/download/1.4.10/roundcubemail-1.4.10.tar.gz -SOURCE_SUM=d17d2a8cbb7e05a371f9baa55883626a9f79f27a25510737a795530f46d51440 +SOURCE_URL=https://github.com/roundcube/roundcubemail/releases/download/1.4.11/roundcubemail-1.4.11.tar.gz +SOURCE_SUM=524a6c8095508b8d911c0c5121ea6d16ca4c42894e10aaa0e29ded983687923c SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/manifest.json b/manifest.json index 72778ce..a2fe095 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Open Source Webmail software", "fr": "Webmail Open Source" }, - "version": "1.4.10~ynh1", + "version": "1.4.11~ynh1", "url": "https://roundcube.net/", "license": "GPL-3.0-only", "maintainer": { diff --git a/pull_request_template.md b/pull_request_template.md index 38bbee4..f501dd4 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -18,7 +18,7 @@ - [ ] **Code review** : - [ ] **Approval (LGTM)** : - [ ] **Approval (LGTM)** : -- **CI succeeded** : -[![Build Status](https://ci-apps-hq.yunohost.org/jenkins/job/roundcube_ynh%20PR-NUM-/badge/icon)](https://ci-apps-hq.yunohost.org/jenkins/job/roundcube_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. + +## Package_check results +--- +* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* diff --git a/scripts/install b/scripts/install index f9a2132..6cdb97b 100644 --- a/scripts/install +++ b/scripts/install @@ -119,7 +119,7 @@ ynh_mysql_connect_as --user="$db_name" --password="$db_pwd" --database="$db_name #================================================= # CONFIGURE ROUNDCUBE #================================================= -ynh_script_progression --message="Configuring $app..." +ynh_script_progression --message="Configuring Roundcube..." rc_conf="$final_path/config/config.inc.php" From b9e9b9df71d1362c5cfb783479243cb3837bb5e8 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 14 Mar 2021 22:09:02 +0100 Subject: [PATCH 36/36] Update manifest.json --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index a2fe095..cf5aa16 100644 --- a/manifest.json +++ b/manifest.json @@ -10,8 +10,8 @@ "url": "https://roundcube.net/", "license": "GPL-3.0-only", "maintainer": { - "name": "YunoHost Contributors", - "email": "apps@yunohost.org" + "name": "", + "email": "" }, "requirements": { "yunohost": ">= 4.0.7"