From 3f97adb5cf96c40d236ced4f52128069737d641e Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 29 Mar 2020 05:02:23 +0200 Subject: [PATCH 1/8] Upgrade to PHP7.3 --- conf/nginx.conf | 2 +- conf/php-fpm.conf | 2 +- scripts/.install.swp | Bin 20480 -> 0 bytes scripts/_common.sh | 2 +- scripts/backup | 16 +++++------ scripts/change_url | 41 ++++++++++++++++++--------- scripts/install | 64 ++++++++++++++++++++++--------------------- scripts/remove | 36 ++++++++++++------------ scripts/restore | 41 ++++++++++++++------------- scripts/upgrade | 60 +++++++++++++++++++++------------------- 10 files changed, 145 insertions(+), 119 deletions(-) delete mode 100644 scripts/.install.swp diff --git a/conf/nginx.conf b/conf/nginx.conf index ef9cf67..348040f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -58,7 +58,7 @@ location __PATH__/ { location ~ '[^/]\.php$|^/update.php' { fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:/var/run/php/php7.2-fpm-__NAME__.sock; + fastcgi_pass unix:/var/run/php/php7.3-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; diff --git a/conf/php-fpm.conf b/conf/php-fpm.conf index 49f1a37..046bbd6 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.2-fpm-__NAMETOCHANGE__.sock +listen = /var/run/php/php7.3-fpm-__NAMETOCHANGE__.sock ; Set listen(2) backlog. ; Default Value: 511 (-1 on FreeBSD and OpenBSD) diff --git a/scripts/.install.swp b/scripts/.install.swp deleted file mode 100644 index 1284576f2bbf616ae1d7df4c296388841e0ee41f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 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 db.sql @@ -69,4 +69,4 @@ ynh_psql_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)." --time --last +ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last diff --git a/scripts/change_url b/scripts/change_url index 87c334a..24cee26 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -24,13 +24,30 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." --weight=1 # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) # Add settings here as needed by your application +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_print_info --message="Backing up the app before changing its url (may take a while)..." + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. + ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" + + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + #================================================= # CHECK WHICH PARTS SHOULD BE CHANGED #================================================= @@ -52,7 +69,7 @@ fi #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating nginx web server configuration..." --time --weight=1 +ynh_script_progression --message="Updating nginx web server configuration..." --weight=1 nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf @@ -83,24 +100,22 @@ fi #================================================= # UPDATE DRUSH ALIAS #================================================= -ynh_print_info --message="Updating Drush alias..." +ynh_script_progression --message="Updating Drush alias..." --weight=1 -cp -f "../conf/yoursite.aliases.drushrc.php" "$final_path/.drush/$app.aliases.drushrc.php" +drush_aliasconfig="$final_path/.drush/$app.aliases.drushrc.php" +cp -f "../conf/yoursite.aliases.drushrc.php" "$drush_aliasconfig" -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$new_domain" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -ynh_replace_string --match_string="__PATH_URL__" --replace_string="$new_path" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -#================================================= +ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$drush_aliasconfig" +ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$drush_aliasconfig" +ynh_replace_string --match_string="__DOMAIN__" --replace_string="$new_domain" --target_file="$drush_aliasconfig" +ynh_replace_string --match_string="__PATH_URL__" --replace_string="$new_path" --target_file="$drush_aliasconfig" #================================================= # GENERIC FINALISATION -#================================================= - #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload @@ -108,4 +123,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for $app" --time --last +ynh_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/install b/scripts/install index 7a08f66..00d1994 100644 --- a/scripts/install +++ b/scripts/install @@ -7,11 +7,11 @@ #================================================= source _common.sh -source /usr/share/yunohost/helpers source ynh_add_extra_apt_repos__3 source ynh_install_php__3 source ynh_composer__2 source ynh_exec_as +source /usr/share/yunohost/helpers #================================================= # MANAGE SCRIPT FAILURE @@ -49,15 +49,25 @@ ynh_save_args domain path_url password is_public final_path #================================================= # STANDARD MODIFICATIONS #================================================= -# INSTALL DEPENDENCIES +# INSTALL PHP7.3 #================================================= +if [ "$(lsb_release --codename --short)" = "buster" ]; then + pkg_dependencies="$pkg_dependencies $extra_pkg_dependencies" +else + ynh_script_progression --message="Installing PHP7.3..." --weight=1 + ynh_install_php --phpversion="7.3" --package="$extra_pkg_dependencies" +fi + +#================================================= +# INSTALL DEPENDENCIES +#================================================= ynh_script_progression --message="Installing dependencies..." --weight=7 ynh_install_app_dependencies $pkg_dependencies #================================================= -# CREATE A PostgreSQL DATABASE +# CREATE A POSTGRESQL DATABASE #================================================= ynh_script_progression --message="Creating a PostgreSQL database..." --weight=2 @@ -92,22 +102,6 @@ ynh_script_progression --message="Configuring system user..." --weight=3 # Create a system user ynh_system_user_create --username=$app --home_dir="$final_path" - -#================================================= -# INSTALL PHP 7.2 -#================================================= -ynh_script_progression --message="Installing PHP 7.2..." --weight=35 - -ynh_install_php --phpversion="7.2" --package="$extra_pkg_dependencies" - -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring php-fpm..." --weight=1 - -# Create a dedicated php-fpm config -ynh_add_fpm_config --phpversion="7.2" - #================================================= # SPECIFIC SETUP #================================================= @@ -116,13 +110,13 @@ ynh_add_fpm_config --phpversion="7.2" ynh_script_progression --message="Creating Drush alias..." --weight=2 mkdir -p "$final_path/.drush" +drush_aliasconfig="$final_path/.drush/$app.aliases.drushrc.php" +cp -f "../conf/yoursite.aliases.drushrc.php" "$drush_aliasconfig" -cp -f "../conf/yoursite.aliases.drushrc.php" "$final_path/.drush/$app.aliases.drushrc.php" - -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$final_path/.drush/$app.aliases.drushrc.php" -ynh_replace_string --match_string="__PATH_URL__" --replace_string="$path_url" --target_file="$final_path/.drush/$app.aliases.drushrc.php" +ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$drush_aliasconfig" +ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$drush_aliasconfig" +ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$drush_aliasconfig" +ynh_replace_string --match_string="__PATH_URL__" --replace_string="$path_url" --target_file="$drush_aliasconfig" #================================================= # INSTALL COMPOSER @@ -133,12 +127,12 @@ mkdir -p "$final_path/.composer" cp -f "../conf/composer.json" "$final_path/.composer/composer.json" -ynh_install_composer --phpversion="7.2" --workdir="$final_path/.composer" +ynh_install_composer --phpversion="7.3" --workdir="$final_path/.composer" export PATH="$final_path/.composer/vendor/bin:$PATH" #================================================= -# Database initialization +# INITIALIZE POSTGRESQL DATABASE #================================================= ynh_script_progression --message="Initializing PostgreSQL database..." --weight=8 @@ -146,7 +140,7 @@ ynh_replace_string "betaforms" "$db_user" "$final_path/framaforms.sql" ynh_psql_execute_file_as_root "$final_path/framaforms.sql" "$db_name" #================================================= -# Initialize tmp and private directory +# INITIALIZE TMP AND PRIVATE DIRECTORY #================================================= ynh_script_progression --message="Initializing tmp and private directory..." --weight=1 @@ -159,7 +153,7 @@ chown -R $app: "/home/yunohost.app/$app/data" chmod 775 "/home/yunohost.app/$app/data" #================================================= -# Missing images +# ADD MISSING IMAGES #================================================= ynh_script_progression --message="Adding missing images..." --weight=2 @@ -182,13 +176,13 @@ ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --targ ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$config_file" #================================================= -# Change admin password and apply custom conf +# CHANGE ADMIN PASSWORD AND APPLY CUSTOM CONF #================================================= ynh_script_progression --message="Changing admin password..." --weight=19 chown -R $app: $final_path -update-alternatives --set php /usr/bin/php7.2 +update-alternatives --set php /usr/bin/php7.3 ynh_exec_as $app env PATH=$PATH drush @$app upwd --password="$password" "admin" 2>&1 ynh_exec_as $app env PATH=$PATH drush @$app variable-set site_name "Framaforms" 2>&1 @@ -218,6 +212,14 @@ ynh_store_file_checksum --file="$config_file" #================================================= # GENERIC FINALIZATION +#================================================= +# PHP-FPM CONFIGURATION +#================================================= +ynh_script_progression --message="Configuring php-fpm..." --weight=1 + +# Create a dedicated php-fpm config +ynh_add_fpm_config --phpversion="7.3" + #================================================= # SECURE FILES AND DIRECTORIES #================================================= diff --git a/scripts/remove b/scripts/remove index e101721..2c5a2fe 100644 --- a/scripts/remove +++ b/scripts/remove @@ -7,13 +7,13 @@ #================================================= source _common.sh -source /usr/share/yunohost/helpers source ynh_install_php__3 +source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -25,13 +25,29 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # STANDARD REMOVE #================================================= -# REMOVE THE PostgresSQL DATABASE +# REMOVE THE POSTGRESQL DATABASE #================================================= ynh_script_progression --message="Removing the database..." --weight=1 # Remove a database if it exists, along with the associated user ynh_psql_remove_db --db_user=$db_user --db_name=$db_name +#================================================= +# REMOVE PHP-FPM CONFIGURATION +#================================================= +ynh_script_progression --message="Removing php-fpm configuration..." --weight=1 + +# Remove the dedicated php-fpm config +ynh_remove_fpm_config + +#================================================= +# REMOVE PHP +#================================================= + +if [ "$(lsb_release --codename --short)" != "buster" ]; then + ynh_print_info --message="Removing php..." + ynh_remove_php +fi #================================================= # REMOVE DEPENDENCIES #================================================= @@ -56,23 +72,9 @@ ynh_script_progression --message="Removing nginx web server configuration..." -- # Remove the dedicated nginx config ynh_remove_nginx_config -#================================================= -# REMOVE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Removing php-fpm configuration..." --weight=1 - -# Remove the dedicated php-fpm config -ynh_remove_fpm_config - #================================================= # SPECIFIC REMOVE #================================================= -# REMOVE PHP -#================================================= -ynh_script_progression --message="Removing php..." --weight=14 - -ynh_remove_php - #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/restore b/scripts/restore index a355f06..8ed46ec 100644 --- a/scripts/restore +++ b/scripts/restore @@ -8,11 +8,11 @@ #Keep this path for calling _common.sh inside the execution's context of backup and restore scripts source ../settings/scripts/_common.sh -source /usr/share/yunohost/helpers source ../settings/scripts/ynh_add_extra_apt_repos__3 source ../settings/scripts/ynh_install_php__3 source ../settings/scripts/ynh_composer__2 source ../settings/scripts/ynh_exec_as +source /usr/share/yunohost/helpers #================================================= # MANAGE SCRIPT FAILURE @@ -24,7 +24,7 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading settings..." --time --weight=1 +ynh_script_progression --message="Loading settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -37,7 +37,7 @@ db_user=$db_name #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= -ynh_script_progression --message="Validating restoration parameters..." --time --weight=1 +ynh_script_progression --message="Validating restoration parameters..." --weight=1 ynh_webpath_available --domain=$domain --path_url=$path_url \ || ynh_die --message="Path not available: ${domain}${path_url}" @@ -49,14 +49,14 @@ test ! -d $final_path \ #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_print_info --message="Recreating the dedicated system user..." +ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # RESTORE ALL FILES #================================================= -ynh_script_progression --message="Restoring all files..." --time --weight=1 +ynh_script_progression --message="Restoring all files..." --weight=1 ynh_restore @@ -74,26 +74,29 @@ chmod 775 "/home/yunohost.app/$app/data" #================================================= # SPECIFIC RESTORATION +#================================================= +# REINSTALL PHP7.3 +#================================================= + +if [ "$(lsb_release --codename --short)" = "buster" ]; then + pkg_dependencies="$pkg_dependencies $extra_pkg_dependencies" +else + ynh_print_info --message="Reinstalling PHP7.3..." + ynh_install_php --phpversion="7.3" --package="$extra_pkg_dependencies" +fi + #================================================= # REINSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 +ynh_script_progression --message="Reinstalling dependencies..." --weight=1 # Define and install dependencies ynh_install_app_dependencies $pkg_dependencies #================================================= -# REINSTALL PHP +# RESTORE THE POSTGRESQL DATABASE #================================================= -ynh_print_info --message="Reinstalling php..." - -ynh_install_php --phpversion="7.2" --package="$extra_pkg_dependencies" - - -#================================================= -# RESTORE THE DATABASE -#================================================= -ynh_script_progression --message="Restoring the database..." --time --weight=1 +ynh_script_progression --message="Restoring the PostgreSQL database..." --weight=1 ynh_psql_test_if_first_run @@ -106,13 +109,13 @@ ynh_psql_execute_file_as_root ./db.sql "$db_name" #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server and php-fpm..." --weight=1 -ynh_systemd_action --service_name=php7.2-fpm --action=reload +ynh_systemd_action --service_name=php7.3-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" --time --last +ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade index 40c1e39..13377f2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -7,11 +7,11 @@ #================================================= source _common.sh -source /usr/share/yunohost/helpers source ynh_add_extra_apt_repos__3 source ynh_install_php__3 source ynh_composer__2 source ynh_exec_as +source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS @@ -74,6 +74,14 @@ ynh_abort_if_errors #================================================= # STANDARD UPGRADE STEPS +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Upgrading nginx web server configuration..." --weight=1 + +# Create a dedicated nginx config +ynh_add_nginx_config + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -87,12 +95,22 @@ then fi #================================================= -# NGINX CONFIGURATION +# UPGRADE PHP7.3 #================================================= -ynh_script_progression --message="Upgrading nginx web server configuration..." --weight=1 -# Create a dedicated nginx config -ynh_add_nginx_config +if [ "$(lsb_release --codename --short)" = "buster" ]; then + pkg_dependencies="$pkg_dependencies $extra_pkg_dependencies" +else + if [ "$(ynh_app_setting_get --app=$app --key=php_version)" != "7.3" ]; then + ynh_print_info --message="Upgrading PHP7.3..." + ynh_remove_fpm_config + ynh_remove_app_dependencies + ynh_remove_php + ynh_install_php --phpversion="7.3" --package="$extra_pkg_dependencies" + else + ynh_install_php --phpversion="7.3" --package="$extra_pkg_dependencies" + fi +fi #================================================= # UPGRADE DEPENDENCIES @@ -109,20 +127,13 @@ ynh_script_progression --message="Making sure dedicated system user exists..." - # Create a dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" -#================================================= -# UPGRADE PHP -#================================================= -ynh_script_progression --message="Upgrading PHP..." --weight=12 - -ynh_install_php --phpversion="7.2" --package="$extra_pkg_dependencies" - #================================================= # PHP-FPM CONFIGURATION #================================================= ynh_script_progression --message="Upgrading php-fpm configuration..." --weight=1 # Create a dedicated php-fpm config -ynh_add_fpm_config --phpversion="7.2" +ynh_add_fpm_config --phpversion="7.3" #================================================= # SPECIFIC UPGRADE @@ -131,24 +142,24 @@ ynh_add_fpm_config --phpversion="7.2" #================================================= ynh_script_progression --message="Upgrading Composer..." --weight=3 -ynh_install_composer --phpversion="7.2" --workdir="$final_path/.composer" +ynh_install_composer --phpversion="7.3" --workdir="$final_path/.composer" #================================================= # UPGRADE DRUPAL #================================================= -ynh_script_progression --message="Upgrading Drupal..." --time --weight=30 +ynh_script_progression --message="Upgrading Drupal..." --weight=30 ynh_backup_if_checksum_is_different --file="$final_path/$app/sites/default/settings.php" export PATH="$final_path/.composer/vendor/bin:$PATH" -update-alternatives --set php /usr/bin/php7.2 +update-alternatives --set php /usr/bin/php7.3 ynh_exec_as $app env PATH=$PATH drush @$app variable-set --exact maintenance_mode 1 ynh_exec_as $app env PATH=$PATH drush @$app cache-clear all ynh_exec_as $app env PATH=$PATH drush @$app pm-update -y drupal -ynh_exec_as $app env PATH=$PATH drush @$app vset --exact maintenance_mode 0 ynh_exec_as $app env PATH=$PATH drush @$app cache-clear all +ynh_exec_as $app env PATH=$PATH drush @$app variable-set --exact maintenance_mode 0 update-alternatives --set php /usr/bin/php7.0 @@ -162,16 +173,9 @@ ynh_store_file_checksum --file="$config_file" #================================================= -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= -config_file=$final_path/sites/default/settings.php - -# Recalculate and store the checksum of the file for the next upgrade. -ynh_store_file_checksum --file="$config_file" - #================================================= # GENERIC FINALIZATION +#================================================= # SECURE FILES AND DIRECTORIES #================================================= @@ -185,7 +189,7 @@ chmod 775 "/home/yunohost.app/$app/data" #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Upgrading SSOwat configuration..." --time --weight=1 +ynh_script_progression --message="Upgrading SSOwat configuration..." --weight=1 # Make app public if necessary if [ $is_public -eq 1 ] @@ -197,7 +201,7 @@ fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload @@ -205,4 +209,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" --time --last +ynh_script_progression --message="Upgrade of $app completed" --last From 2ea0f41370e7a2555f34e94017ab7449f39dc337 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 29 Mar 2020 16:46:55 +0200 Subject: [PATCH 2/8] adding missing ynh_add_extra_apt_repos__3 --- scripts/remove | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/remove b/scripts/remove index 2c5a2fe..ae1ab55 100644 --- a/scripts/remove +++ b/scripts/remove @@ -7,6 +7,7 @@ #================================================= source _common.sh +source ynh_add_extra_apt_repos__3 source ynh_install_php__3 source /usr/share/yunohost/helpers From 05053c183604f29463377e2be7b2daeb055f21ce Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 29 Mar 2020 17:40:13 +0200 Subject: [PATCH 3/8] Upgrade to 191218 --- conf/app.src | 6 +++--- manifest.json | 2 +- scripts/ynh_install_php__3 | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/conf/app.src b/conf/app.src index b59879d..b6df581 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,4 +1,4 @@ -SOURCE_URL=https://framagit.org/ljf/framaforms/-/archive/19ef353c7d88813d9c404e965b3f86bc8905d06d/framaforms-19ef353c7d88813d9c404e965b3f86bc8905d06d.tar.gz -SOURCE_SUM=7df7a449a36bb60059b5642cfd86b44422e0bd8bdc182ba71621d90c74bc0967 +SOURCE_URL=https://framagit.org/framasoft/framaforms/-/archive/v0.1/framaforms-v0.1.tar.gz +SOURCE_SUM=7320414b95992f33a8ea1ea8504ed95fb06a637e03118fadf8ed20a121f09f76 SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=framaforms-1.0.0+190618.tar.gz +SOURCE_FILENAME= diff --git a/manifest.json b/manifest.json index 6cfdcd8..1212dfc 100644 --- a/manifest.json +++ b/manifest.json @@ -5,7 +5,7 @@ "description": { "en": "Framaforms helps you create online webforms and surveys" }, - "version": "1.0.0+190618-ynh6", + "version": "1.0.0+191218-ynh1", "url": "https://framagit.org/framasoft/framaforms", "license": "GPL-2.0-only", "requirements": { diff --git a/scripts/ynh_install_php__3 b/scripts/ynh_install_php__3 index 75bb6db..8d8323a 100644 --- a/scripts/ynh_install_php__3 +++ b/scripts/ynh_install_php__3 @@ -37,10 +37,11 @@ ynh_install_php () { # Set php7.0 back as the default version for php-cli. update-alternatives --set php /usr/bin/php7.0 - # Remove this extra repository after packages are installed - ynh_remove_extra_repo --name=extra_php_version + # Pin this extra repository after packages are installed to prevent sury of doing shit + ynh_pin_repo --package="*" --pin="origin \"packages.sury.org\"" 200 --name=extra_php_version + ynh_pin_repo --package="php7.0*" --pin="origin \"packages.sury.org\"" 600 --name=extra_php_version --append - # Advertise service in admin panel + # INTEGRATE SERVICE IN YUNOHOST yunohost service add php${phpversion}-fpm --log "/var/log/php${phpversion}-fpm.log" } From 34023fb7018b4ae2dc05a96d9042cae676584ead Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 29 Mar 2020 17:47:49 +0200 Subject: [PATCH 4/8] Update app.src --- conf/app.src | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/app.src b/conf/app.src index b6df581..d19f822 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,4 +1,6 @@ SOURCE_URL=https://framagit.org/framasoft/framaforms/-/archive/v0.1/framaforms-v0.1.tar.gz SOURCE_SUM=7320414b95992f33a8ea1ea8504ed95fb06a637e03118fadf8ed20a121f09f76 SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 4c2e0d934ccd959c3e1a7163222622c906ee7e77 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 30 Mar 2020 13:18:35 +0200 Subject: [PATCH 5/8] Fix error Error : Unsupported operand types dans FacesExtendable->extend() (ligne 233 dans /var/www/framaforms/sites/all/modules/rules/includes/faces.inc). --- scripts/install | 6 +++++- sources/patches/.gitignore | 2 ++ sources/patches/app-001-faces.patch | 12 ++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 sources/patches/.gitignore create mode 100644 sources/patches/app-001-faces.patch diff --git a/scripts/install b/scripts/install index 00d1994..4e8c247 100644 --- a/scripts/install +++ b/scripts/install @@ -17,6 +17,10 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= +ynh_clean_setup () { + read -p "key" + true +} # Exit if an error occurs during the execution of the script ynh_abort_if_errors @@ -184,7 +188,7 @@ chown -R $app: $final_path update-alternatives --set php /usr/bin/php7.3 -ynh_exec_as $app env PATH=$PATH drush @$app upwd --password="$password" "admin" 2>&1 +ynh_exec_as $app env PATH=$PATH drush @$app user-password "admin" --password="$password" 2>&1 ynh_exec_as $app env PATH=$PATH drush @$app variable-set site_name "Framaforms" 2>&1 ynh_exec_as $app env PATH=$PATH drush @$app variable-set site_mail "no-reply@$domain" 2>&1 ynh_exec_as $app env PATH=$PATH drush @$app variable-set file_private_path "/home/yunohost.app/$app/data" 2>&1 diff --git a/sources/patches/.gitignore b/sources/patches/.gitignore new file mode 100644 index 0000000..783a4ae --- /dev/null +++ b/sources/patches/.gitignore @@ -0,0 +1,2 @@ +*~ +*.sw[op] diff --git a/sources/patches/app-001-faces.patch b/sources/patches/app-001-faces.patch new file mode 100644 index 0000000..75a827c --- /dev/null +++ b/sources/patches/app-001-faces.patch @@ -0,0 +1,12 @@ +diff --git a/sites/all/modules/rules/includes/faces.inc b/sites/all/modules/rules/includes/faces.inc +index a1fc93bd..812d96a1 100644 +--- a/sites/all/modules/rules/includes/faces.inc ++++ b/sites/all/modules/rules/includes/faces.inc +@@ -224,6 +224,7 @@ if (!class_exists('FacesExtendable', FALSE)) { + * describe a single file. + */ + public function extend($interface, array $callbacks = array(), array $includes = array()) { ++ $interface = class_exists($interface) ? $interface : FALSE; + $face_methods = $interface ? get_class_methods($interface) : array_keys($callbacks); + if ($interface) { + if (array_diff($face_methods, array_keys($callbacks))) { From 52b434720bdc448683b50c5bce1e8f9c9e13e1a8 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 30 Mar 2020 15:51:38 +0200 Subject: [PATCH 6/8] cleanup --- scripts/install | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/install b/scripts/install index 4e8c247..017cade 100644 --- a/scripts/install +++ b/scripts/install @@ -17,10 +17,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { - read -p "key" - true -} # Exit if an error occurs during the execution of the script ynh_abort_if_errors From 17983b2fe240e6e020f095b1c43fd7dcbb358d09 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Tue, 31 Mar 2020 17:18:55 +0200 Subject: [PATCH 7/8] reorder steps --- scripts/remove | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/remove b/scripts/remove index ae1ab55..cef630d 100644 --- a/scripts/remove +++ b/scripts/remove @@ -33,14 +33,6 @@ ynh_script_progression --message="Removing the database..." --weight=1 # Remove a database if it exists, along with the associated user ynh_psql_remove_db --db_user=$db_user --db_name=$db_name -#================================================= -# REMOVE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Removing php-fpm configuration..." --weight=1 - -# Remove the dedicated php-fpm config -ynh_remove_fpm_config - #================================================= # REMOVE PHP #================================================= @@ -73,6 +65,14 @@ ynh_script_progression --message="Removing nginx web server configuration..." -- # Remove the dedicated nginx config ynh_remove_nginx_config +#================================================= +# REMOVE PHP-FPM CONFIGURATION +#================================================= +ynh_script_progression --message="Removing php-fpm configuration..." --weight=1 + +# Remove the dedicated php-fpm config +ynh_remove_fpm_config + #================================================= # SPECIFIC REMOVE #================================================= From 78e8ef147889d02e087987846fd7d8fc3b95ca60 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Wed, 1 Apr 2020 03:46:31 +0200 Subject: [PATCH 8/8] Removing php7.3-uploadprogress --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index d8211aa..c96d34f 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -6,7 +6,7 @@ # dependencies used by the app pkg_dependencies="postgresql curl libzip-dev" -extra_pkg_dependencies="php7.3-fpm php7.3-cli php7.3-gd php7.3-mysql php7.3-xml php7.3-ldap php7.3-mbstring php7.3-uploadprogress php7.3-pgsql" +extra_pkg_dependencies="php7.3-fpm php7.3-cli php7.3-gd php7.3-mysql php7.3-xml php7.3-ldap php7.3-mbstring php7.3-pgsql" #================================================= # PERSONAL HELPERS