From bcb6775b6aea926c6db6ed5658a5a9e60ba79273 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Tue, 2 Apr 2019 14:39:52 +0200 Subject: [PATCH] upgrade ynh_install_php helper --- scripts/_common.sh | 23 ++++++++++++++++------- scripts/install | 9 +-------- scripts/restore | 9 +-------- scripts/upgrade | 9 +-------- 4 files changed, 19 insertions(+), 31 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index b1ccd2a6..926b5524 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -62,18 +62,20 @@ ynh_install_composer () { || ynh_die "Unable to update core dependencies with Composer." } - # Install another version of php. # -# usage: ynh_install_php --phpversion=phpversion +# usage: ynh_install_php --phpversion=phpversion [--package=packages] # | arg: -v, --phpversion - Version of php to install. Can be one of 7.1, 7.2 or 7.3 +# | arg: -p, --package - Additionnal php packages to install ynh_install_php () { # Declare an array to define the options of this helper. - local legacy_args=v - declare -Ar args_array=( [v]=phpversion= ) + local legacy_args=vp + declare -Ar args_array=( [v]=phpversion= [p]=package= ) local phpversion + local package # Manage arguments with getopts ynh_handle_getopts_args "$@" + package=${package:-} # Store php_version into the config of this app ynh_app_setting_set $app php_version $phpversion @@ -86,7 +88,16 @@ ynh_install_php () { # Store the ID of this app and the version of php requested for it echo "$YNH_APP_INSTANCE_NAME:$phpversion" | tee --append "/etc/php/ynh_app_version" - ynh_install_extra_app_dependencies --repo="https://packages.sury.org/php/ $(lsb_release -sc) main" --key="https://packages.sury.org/php/apt.gpg" --package="php$phpversion php${phpversion}-fpm php${phpversion}-common" + # Add an extra repository for those packages + ynh_install_extra_repo --repo="https://packages.sury.org/php/ $(lsb_release -sc) main" --key="https://packages.sury.org/php/apt.gpg" --priority=995 --name=extra_php_version + + # Install requested dependencies from this extra repository. + # Install php-fpm first, otherwise php will install apache as a dependency. + ynh_add_app_dependencies --package="php${phpversion}-fpm" + ynh_add_app_dependencies --package="php$phpversion php${phpversion}-common $package" + + # Remove this extra repository after packages are installed + ynh_remove_extra_repo --name=extra_php_version # Advertise service in admin panel yunohost service add php${phpversion}-fpm --log "/var/log/php${phpversion}-fpm.log" @@ -124,8 +135,6 @@ ynh_remove_php () { fi } - - #================================================= # FUTURE OFFICIAL HELPERS #================================================= diff --git a/scripts/install b/scripts/install index 8849cdab..18b18b72 100644 --- a/scripts/install +++ b/scripts/install @@ -59,14 +59,7 @@ ynh_install_app_dependencies "$pkg_dependencies" #================================================= ynh_print_info "Installing php..." -ynh_install_php --phpversion="7.2" - -#================================================= -# INSTALL PHP DEPENDENCIES -#================================================= -ynh_print_info "Installing php dependencies..." - -ynh_install_extra_app_dependencies --repo="https://packages.sury.org/php/ $(lsb_release -sc) main" --key="https://packages.sury.org/php/apt.gpg" --package="$extra_pkg_dependencies" +ynh_install_php --phpversion="7.2" --package="$extra_pkg_dependencies" #================================================= # CREATE A POSTGRESQL DATABASE diff --git a/scripts/restore b/scripts/restore index 6b36ebf4..6d5ccc72 100644 --- a/scripts/restore +++ b/scripts/restore @@ -84,14 +84,7 @@ ynh_install_app_dependencies "$pkg_dependencies" #================================================= ynh_print_info "Installing php..." -ynh_install_php --phpversion="7.2" - -#================================================= -# INSTALL PHP DEPENDENCIES -#================================================= -ynh_print_info "Installing php dependencies..." - -ynh_install_extra_app_dependencies --repo="https://packages.sury.org/php/ $(lsb_release -sc) main" --key="https://packages.sury.org/php/apt.gpg" --package="$extra_pkg_dependencies" +ynh_install_php --phpversion="7.2" --package="$extra_pkg_dependencies" #================================================= # RESTORE THE POSTGRESQL DATABASE diff --git a/scripts/upgrade b/scripts/upgrade index e39f6a90..f3561f26 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -106,14 +106,7 @@ ynh_install_app_dependencies "$pkg_dependencies" #================================================= ynh_print_info "Upgrading php..." -ynh_install_php --phpversion="7.2" - -#================================================= -# UPGRADE PHP DEPENDENCIES -#================================================= -ynh_print_info "Upgrading php dependencies..." - -ynh_install_extra_app_dependencies --repo="https://packages.sury.org/php/ $(lsb_release -sc) main" --key="https://packages.sury.org/php/apt.gpg" --package="$extra_pkg_dependencies" +ynh_install_php --phpversion="7.2" --package="$extra_pkg_dependencies" #================================================= # CREATE DEDICATED USER