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

[autopatch] Automatic patch attempt for helpers 2.1

This commit is contained in:
Yunohost-Bot 2024-08-30 22:55:42 +02:00 committed by Alexandre Aubin
parent 382f16cadf
commit 2cedb79216
11 changed files with 87 additions and 116 deletions

View file

@ -53,7 +53,7 @@ location __PATH__/ {
location ~ '[^/]\.php$|^/update.php' {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock;
fastcgi_pass unix:/var/run/php/php__PHP_VERSION__-fpm-__APP__.sock;
fastcgi_index index.php;
include fastcgi_params;

View file

@ -18,7 +18,8 @@ code = "https://framagit.org/yakforms/yakforms"
fund = "https://soutenir.framasoft.org"
[integration]
yunohost = ">= 11.2"
yunohost = ">= 11.2.18"
helpers_version = "2.1"
architectures = "all"
multi_instance = true
ldap = true
@ -81,6 +82,7 @@ ram.runtime = "50M"
[resources.system_user]
[resources.install_dir]
group = "www-data:r-x"
[resources.data_dir]

View file

@ -1,26 +1,14 @@
#!/bin/bash
#=================================================
# COMMON VARIABLES
# COMMON VARIABLES AND CUSTOM HELPERS
#=================================================
YNH_COMPOSER_VERSION="1.10.17"
#=================================================
# PERSONAL HELPERS
#=================================================
composer_version="1.10.17"
_ynh_exec_with_drush_php() {
ynh_exec_warn_less ynh_exec_as "$app" \
ynh_hide_warnings ynh_exec_as_app \
env PATH="$install_dir/.composer/vendor/bin:$PATH" \
DRUSH_PHP="/usr/bin/php$phpversion" \
DRUSH_PHP="/usr/bin/php$php_version" \
"$@"
}
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================

View file

@ -8,42 +8,39 @@
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
#=================================================
# DECLARE DATA AND CONF FILES TO BACKUP
#=================================================
ynh_print_info --message="Declaring files to be backed up..."
ynh_print_info "Declaring files to be backed up..."
#=================================================
# BACKUP THE APP MAIN DIR
#=================================================
ynh_backup --src_path="$install_dir"
ynh_backup "$install_dir"
#=================================================
# BACKUP THE DATA DIR
#=================================================
ynh_backup --src_path="$data_dir" --is_big
ynh_backup "$data_dir"
#=================================================
# BACKUP THE SYSTEM CONFIGURATION
#=================================================
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
ynh_backup "/etc/php/$php_version/fpm/pool.d/$app.conf"
ynh_backup --src_path="/etc/cron.d/$app"
ynh_backup "/etc/cron.d/$app"
#=================================================
# BACKUP THE POSTGRESQL DATABASE
#=================================================
ynh_print_info --message="Backing up the PostgreSQL database..."
ynh_print_info "Backing up the PostgreSQL database..."
ynh_psql_dump_db --database="$db_name" > db.sql
ynh_psql_dump_db > db.sql
#=================================================
# END OF SCRIPT
#=================================================
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."

View file

@ -10,19 +10,19 @@ source /usr/share/yunohost/helpers
#=================================================
# MODIFY URL IN NGINX CONF
#=================================================
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
ynh_script_progression "Updating NGINX web server configuration..."
ynh_change_url_nginx_config
ynh_config_change_url_nginx
#=================================================
# UPDATE DRUSH ALIAS
#=================================================
ynh_script_progression --message="Updating Drush alias..." --weight=1
ynh_script_progression "Updating Drush alias..."
ynh_add_config --template="yoursite.aliases.drushrc.php" --destination="$install_dir/.drush/$app.aliases.drushrc.php"
ynh_config_add --template="yoursite.aliases.drushrc.php" --destination="$install_dir/.drush/$app.aliases.drushrc.php"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Change of URL completed for $app" --last
ynh_script_progression "Change of URL completed for $app"

View file

@ -13,12 +13,12 @@ source /usr/share/yunohost/helpers
admin_mail=$(ynh_user_get_info --username="$admin" --key="mail")
ynh_app_setting_set --app="$app" --key="password" --value="$password"
ynh_app_setting_set --key="password" --value="$password"
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..." --weight=9
ynh_script_progression "Setting up source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir/app"
@ -26,8 +26,8 @@ ynh_setup_source --dest_dir="$install_dir/app"
mkdir -p "$install_dir/app/sites/default/files"
mkdir -p "$install_dir/app/sites/default/files/tmp"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -R o-rwx "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:www-data" "$install_dir"
chmod 2775 "$install_dir/app/sites/default/files"
chmod -R o-rwx "$data_dir"
@ -36,12 +36,12 @@ chown -R "$app:www-data" "$data_dir"
#=================================================
# CREATE DRUSH ALIAS
#=================================================
ynh_script_progression --message="Creating Drush alias..." --weight=2
ynh_script_progression "Creating Drush alias..."
mkdir -p "$install_dir/.drush"
drush_aliasconfig="$install_dir/.drush/$app.aliases.drushrc.php"
ynh_add_config --template="yoursite.aliases.drushrc.php" --destination="$drush_aliasconfig"
ynh_config_add --template="yoursite.aliases.drushrc.php" --destination="$drush_aliasconfig"
chmod 400 "$drush_aliasconfig"
chown "$app:$app" "$drush_aliasconfig"
@ -49,32 +49,32 @@ chown "$app:$app" "$drush_aliasconfig"
#=================================================
# INSTALL COMPOSER
#=================================================
ynh_script_progression --message="Installing Composer..." --weight=31
ynh_script_progression "Installing Composer..."
mkdir -p "$install_dir/.composer"
ynh_add_config --template="composer.json" --destination="$install_dir/.composer/composer.json"
ynh_config_add --template="composer.json" --destination="$install_dir/.composer/composer.json"
ynh_install_composer --phpversion="$phpversion" --workdir="$install_dir/.composer"
ynh_composer_install
ynh_composer_exec install --no-dev # FIXMEhelpers2.1 (replace with composer_workdir=... prior to calling this helper, default is $intall_dir) --workdir="$install_dir/.composer"
#=================================================
# ADD A CONFIGURATION
#=================================================
ynh_script_progression --message="Adding $app's configuration file..." --weight=1
ynh_script_progression "Adding $app's configuration file..."
ynh_add_config --template="default.settings.php" --destination="$install_dir/app/sites/default/settings.php"
ynh_config_add --template="default.settings.php" --destination="$install_dir/app/sites/default/settings.php"
chmod 600 "$install_dir/app/sites/default/settings.php"
chown "$app:$app" "$install_dir/app/sites/default/settings.php"
#REMOVEME? Assuming the file is setup using ynh_config_add, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod 600 "$install_dir/app/sites/default/settings.php"
#REMOVEME? Assuming the file is setup using ynh_config_add, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown "$app:$app" "$install_dir/app/sites/default/settings.php"
#=================================================
# INSTALLING FRAMAFORMS WITH DRUSH
#=================================================
ynh_script_progression --message="Installing database..." --weight=19
ynh_script_progression "Installing database..."
# Chown from composer/drush install
chown -R "$app:www-data" "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:www-data" "$install_dir"
_ynh_exec_with_drush_php drush "@$app" site-install framaforms_org \
install_configure_form.site_contact_url="https://forum.yunohost.org/t/framaforms-create-polls-using-drag-and-drop/8208" \
install_configure_form.site_default_country=FR \
@ -87,7 +87,7 @@ _ynh_exec_with_drush_php drush "@$app" php-eval "module_load_include('inc', 'fra
#=================================================
# IMPORTING LANGUAGE PACK
#=================================================
ynh_script_progression --message="Importing language pack..." --weight=5
ynh_script_progression "Importing language pack..."
_ynh_exec_with_drush_php drush "@$app" pm-download -y drush_language
_ynh_exec_with_drush_php drush "@$app" pm-download -y l10n_update
@ -106,7 +106,7 @@ _ynh_exec_with_drush_php drush "@$app" l10n-update -y
#=================================================
# REMOVING BRANDING AND CHANGING DEFAULT SETTINGS
#=================================================
ynh_script_progression --message="Removing branding and change default settings..." --weight=1
ynh_script_progression "Removing branding and change default settings..."
_ynh_exec_with_drush_php drush "@$app" vset error_level 0
_ynh_exec_with_drush_php drush "@$app" vset framaforms_notification_period_value "$expiration"
@ -117,7 +117,7 @@ _ynh_exec_with_drush_php drush "@$app" sql-query "UPDATE block SET region='-1',
#=================================================
# CONFIGURING LDAP
#=================================================
ynh_script_progression --message="Configuring LDAP authentication..." --weight=1
ynh_script_progression "Configuring LDAP authentication..."
_ynh_exec_with_drush_php drush "@$app" pm-download ldap-7.x-2.6
_ynh_exec_with_drush_php drush "@$app" pm-enable -y ldap_servers ldap_user ldap_authentication ldap_authorization ldap_authorization_drupal_role
@ -128,18 +128,18 @@ _ynh_exec_with_drush_php drush "@$app" variable-set --format=yaml ldap_authentic
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
ynh_script_progression "Adding system configurations related to $app..."
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low
ynh_config_add_phpfpm
# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_config_add_nginx
ynh_add_config --template="cron" --destination="/etc/cron.d/$app"
ynh_config_add --template="cron" --destination="/etc/cron.d/$app"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Installation of $app completed" --last
ynh_script_progression "Installation of $app completed"

View file

@ -10,23 +10,23 @@ source /usr/share/yunohost/helpers
#=================================================
# REMOVE SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Removing system configurations related to $app..." --weight=1
ynh_script_progression "Removing system configurations related to $app..."
# Remove the dedicated NGINX config
ynh_remove_nginx_config
ynh_config_remove_nginx
# Remove the dedicated PHP-FPM config
ynh_remove_fpm_config
ynh_config_remove_phpfpm
#=================================================
# REMOVE VARIOUS FILES
#=================================================
# Remove a cron file
ynh_secure_remove --file="/etc/cron.d/$app"
ynh_safe_rm "/etc/cron.d/$app"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Removal of $app completed" --last
ynh_script_progression "Removal of $app completed"

View file

@ -11,21 +11,20 @@ source /usr/share/yunohost/helpers
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================
ynh_script_progression --message="Restoring the app main directory..." --weight=1
ynh_script_progression "Restoring the app main directory..."
ynh_restore_file --origin_path="$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
ynh_restore "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -R o-rwx "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R $app:www-data "$install_dir"
chmod 2775 "$install_dir/app/sites/default/files"
#=================================================
# RESTORE THE DATA DIRECTORY
#=================================================
ynh_script_progression --message="Restoring the data directory..."
ynh_script_progression "Restoring the data directory..."
ynh_restore_file --origin_path="$data_dir" --not_mandatory
ynh_restore "$data_dir"
chmod -R o-rwx "$data_dir"
chown -R "$app:www-data" "$data_dir"
@ -33,33 +32,33 @@ chown -R "$app:www-data" "$data_dir"
#=================================================
# RESTORE THE POSTGRESQL DATABASE
#=================================================
ynh_script_progression --message="Restoring the PostgreSQL database..." --weight=1
ynh_script_progression "Restoring the PostgreSQL database..."
ynh_psql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < ./db.sql
ynh_psql_db_shell < ./db.sql
#=================================================
# RESTORE SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1
ynh_script_progression "Restoring system configurations related to $app..."
# Restore the file first, so it can have a backup if different
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
ynh_add_fpm_config --usage=low --footprint=low
ynh_restore "/etc/php/$php_version/fpm/pool.d/$app.conf"
ynh_config_add_phpfpm
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore_file --origin_path="/etc/cron.d/$app"
ynh_restore "/etc/cron.d/$app"
#=================================================
# RELOAD NGINX AND PHP-FPM
#=================================================
ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=1
ynh_script_progression "Reloading NGINX web server and PHP-FPM..."
ynh_systemd_action --service_name="php$phpversion-fpm" --action=reload
ynh_systemd_action --service_name=nginx --action=reload
ynh_systemctl --service="php$php_version-fpm" --action=reload
ynh_systemctl --service=nginx --action=reload
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Restoration completed for $app" --last
ynh_script_progression "Restoration completed for $app"

View file

@ -10,39 +10,38 @@ source /usr/share/yunohost/helpers
#=================================================
# ENSURE DOWNWARD COMPATIBILITY
#=================================================
# ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
# ynh_script_progression "Ensuring downward compatibility..."
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Upgrading source files..." --weight=9
ynh_script_progression "Upgrading source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir/app" --full_replace=1 --keep="sites"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"
ynh_setup_source --dest_dir="$install_dir/app" --full_replace --keep="sites"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -R o-rwx "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:www-data" "$install_dir"
chmod -R o-rwx "$data_dir"
chown -R "$app:www-data" "$data_dir"
#=================================================
# UPGRADE COMPOSER
#=================================================
ynh_script_progression --message="Upgrading Composer..." --weight=3
ynh_script_progression "Upgrading Composer..."
ynh_install_composer --phpversion="$phpversion" --workdir="$install_dir/.composer"
ynh_composer_install
ynh_composer_exec install --no-dev # FIXMEhelpers2.1 (replace with composer_workdir=... prior to calling this helper, default is $intall_dir) --workdir="$install_dir/.composer"
#=================================================
# UPGRADE DRUPAL
#=================================================
ynh_script_progression --message="Upgrading Drupal..." --weight=30
ynh_script_progression "Upgrading Drupal..."
ynh_backup_if_checksum_is_different --file="$install_dir/app/sites/default/settings.php"
ynh_backup_if_checksum_is_different "$install_dir/app/sites/default/settings.php"
# Chown from composer/drush install
chown -R "$app:www-data" "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:www-data" "$install_dir"
pushd "$install_dir"
_ynh_exec_with_drush_php drush "@$app" variable-set --exact maintenance_mode 1
_ynh_exec_with_drush_php drush "@$app" cache-clear all
@ -55,26 +54,26 @@ popd
#=================================================
# UPDATE A CONFIG FILE
#=================================================
ynh_script_progression --message="Updating a configuration file..."
ynh_script_progression "Updating configuration..."
chmod 600 "$install_dir/app/sites/default/settings.php"
chown "$app:$app" "$install_dir/app/sites/default/settings.php"
#REMOVEME? Assuming the file is setup using ynh_config_add, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod 600 "$install_dir/app/sites/default/settings.php"
#REMOVEME? Assuming the file is setup using ynh_config_add, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown "$app:$app" "$install_dir/app/sites/default/settings.php"
#=================================================
# REAPPLY SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1
ynh_script_progression "Upgrading system configurations related to $app..."
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low
ynh_config_add_phpfpm
# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_config_add_nginx
ynh_add_config --template="cron" --destination="/etc/cron.d/$app"
ynh_config_add --template="cron" --destination="/etc/cron.d/$app"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Upgrade of $app completed" --last
ynh_script_progression "Upgrade of $app completed"

View file

@ -1,2 +0,0 @@
*~
*.sw[op]

View file

@ -1,12 +0,0 @@
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))) {