mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
helpers 2.1: backport most of the bookworm changes
This commit is contained in:
parent
204800e878
commit
084ecd6578
5 changed files with 29 additions and 183 deletions
|
@ -22,7 +22,7 @@ _ynh_app_config_get_one() {
|
||||||
if [[ "$bind" == "settings" ]]; then
|
if [[ "$bind" == "settings" ]]; then
|
||||||
ynh_die --message="File '${short_setting}' can't be stored in settings"
|
ynh_die --message="File '${short_setting}' can't be stored in settings"
|
||||||
fi
|
fi
|
||||||
old[$short_setting]="$(ls "$(echo $bind | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)" 2>/dev/null || echo YNH_NULL)"
|
old[$short_setting]="$(ls "$(echo $bind | sed s@__INSTALL_DIR__@${install_dir:-}@ | sed s@__FINALPATH__@${final_path:-}@ | sed s/__APP__/$app/)" 2>/dev/null || echo YNH_NULL)"
|
||||||
file_hash[$short_setting]="true"
|
file_hash[$short_setting]="true"
|
||||||
|
|
||||||
# Get multiline text from settings or from a full file
|
# Get multiline text from settings or from a full file
|
||||||
|
@ -32,7 +32,7 @@ _ynh_app_config_get_one() {
|
||||||
elif [[ "$bind" == *":"* ]]; then
|
elif [[ "$bind" == *":"* ]]; then
|
||||||
ynh_die --message="For technical reasons, multiline text '${short_setting}' can't be stored automatically in a variable file, you have to create custom getter/setter"
|
ynh_die --message="For technical reasons, multiline text '${short_setting}' can't be stored automatically in a variable file, you have to create custom getter/setter"
|
||||||
else
|
else
|
||||||
old[$short_setting]="$(cat $(echo $bind | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/) 2>/dev/null || echo YNH_NULL)"
|
old[$short_setting]="$(cat $(echo $bind | sed s@__INSTALL_DIR__@${install_dir:-}@ | sed s@__FINALPATH__@${final_path:-}@ | sed s/__APP__/$app/) 2>/dev/null || echo YNH_NULL)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get value from a kind of key/value file
|
# Get value from a kind of key/value file
|
||||||
|
@ -47,7 +47,7 @@ _ynh_app_config_get_one() {
|
||||||
bind_after="$(echo "${bind_key_}" | cut -d'>' -f1)"
|
bind_after="$(echo "${bind_key_}" | cut -d'>' -f1)"
|
||||||
bind_key_="$(echo "${bind_key_}" | cut -d'>' -f2)"
|
bind_key_="$(echo "${bind_key_}" | cut -d'>' -f2)"
|
||||||
fi
|
fi
|
||||||
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__INSTALL_DIR__@${install_dir:-}@ | sed s@__FINALPATH__@${final_path:-}@ | sed s/__APP__/$app/)"
|
||||||
old[$short_setting]="$(ynh_read_var_in_file --file="${bind_file}" --key="${bind_key_}" --after="${bind_after}")"
|
old[$short_setting]="$(ynh_read_var_in_file --file="${bind_file}" --key="${bind_key_}" --after="${bind_after}")"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -73,7 +73,7 @@ _ynh_app_config_apply_one() {
|
||||||
if [[ "$bind" == "settings" ]]; then
|
if [[ "$bind" == "settings" ]]; then
|
||||||
ynh_die --message="File '${short_setting}' can't be stored in settings"
|
ynh_die --message="File '${short_setting}' can't be stored in settings"
|
||||||
fi
|
fi
|
||||||
local bind_file="$(echo "$bind" | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
local bind_file="$(echo "$bind" | sed s@__INSTALL_DIR__@${install_dir:-}@ | sed s@__FINALPATH__@${final_path:-}@ | sed s/__APP__/$app/)"
|
||||||
if [[ "${!short_setting}" == "" ]]; then
|
if [[ "${!short_setting}" == "" ]]; then
|
||||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||||
ynh_secure_remove --file="$bind_file"
|
ynh_secure_remove --file="$bind_file"
|
||||||
|
@ -98,7 +98,7 @@ _ynh_app_config_apply_one() {
|
||||||
if [[ "$bind" == *":"* ]]; then
|
if [[ "$bind" == *":"* ]]; then
|
||||||
ynh_die --message="For technical reasons, multiline text '${short_setting}' can't be stored automatically in a variable file, you have to create custom getter/setter"
|
ynh_die --message="For technical reasons, multiline text '${short_setting}' can't be stored automatically in a variable file, you have to create custom getter/setter"
|
||||||
fi
|
fi
|
||||||
local bind_file="$(echo "$bind" | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
local bind_file="$(echo "$bind" | sed s@__INSTALL_DIR__@${install_dir:-}@ | sed s@__FINALPATH__@${final_path:-}@ | sed s/__APP__/$app/)"
|
||||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||||
echo "${!short_setting}" >"$bind_file"
|
echo "${!short_setting}" >"$bind_file"
|
||||||
ynh_store_file_checksum --file="$bind_file" --update_only
|
ynh_store_file_checksum --file="$bind_file" --update_only
|
||||||
|
@ -113,7 +113,7 @@ _ynh_app_config_apply_one() {
|
||||||
bind_key_="$(echo "${bind_key_}" | cut -d'>' -f2)"
|
bind_key_="$(echo "${bind_key_}" | cut -d'>' -f2)"
|
||||||
fi
|
fi
|
||||||
bind_key_=${bind_key_:-$short_setting}
|
bind_key_=${bind_key_:-$short_setting}
|
||||||
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__INSTALL_DIR__@${install_dir:-}@ | sed s@__FINALPATH__@${final_path:-}@ | sed s/__APP__/$app/)"
|
||||||
|
|
||||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||||
ynh_write_var_in_file --file="${bind_file}" --key="${bind_key_}" --value="${!short_setting}" --after="${bind_after}"
|
ynh_write_var_in_file --file="${bind_file}" --key="${bind_key_}" --value="${!short_setting}" --after="${bind_after}"
|
||||||
|
|
|
@ -214,6 +214,9 @@ ynh_mysql_setup_db() {
|
||||||
# If $db_pwd is not provided, use new_db_pwd instead for db_pwd
|
# If $db_pwd is not provided, use new_db_pwd instead for db_pwd
|
||||||
db_pwd="${db_pwd:-$new_db_pwd}"
|
db_pwd="${db_pwd:-$new_db_pwd}"
|
||||||
|
|
||||||
|
# Dirty patch for super-legacy apps
|
||||||
|
dpkg --list | grep -q "^ii mariadb-server" || { ynh_print_warn "Packager: you called ynh_mysql_setup_db without declaring a dependency to mariadb-server. Please add it to your apt dependencies !"; ynh_apt install mariadb-server; }
|
||||||
|
|
||||||
ynh_mysql_create_db "$db_name" "$db_user" "$db_pwd"
|
ynh_mysql_create_db "$db_name" "$db_user" "$db_pwd"
|
||||||
ynh_app_setting_set --app=$app --key=mysqlpwd --value=$db_pwd
|
ynh_app_setting_set --app=$app --key=mysqlpwd --value=$db_pwd
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,17 +70,14 @@ YNH_PHP_VERSION=${YNH_PHP_VERSION:-$YNH_DEFAULT_PHP_VERSION}
|
||||||
ynh_add_fpm_config() {
|
ynh_add_fpm_config() {
|
||||||
local _globalphpversion=${phpversion-:}
|
local _globalphpversion=${phpversion-:}
|
||||||
# Declare an array to define the options of this helper.
|
# Declare an array to define the options of this helper.
|
||||||
local legacy_args=vufpdg
|
local legacy_args=vufg
|
||||||
local -A args_array=([v]=phpversion= [u]=usage= [f]=footprint= [p]=package= [d]=dedicated_service [g]=group=)
|
local -A args_array=([v]=phpversion= [u]=usage= [f]=footprint= [g]=group=)
|
||||||
local group
|
local group
|
||||||
local phpversion
|
local phpversion
|
||||||
local usage
|
local usage
|
||||||
local footprint
|
local footprint
|
||||||
local package
|
|
||||||
local dedicated_service
|
|
||||||
# Manage arguments with getopts
|
# Manage arguments with getopts
|
||||||
ynh_handle_getopts_args "$@"
|
ynh_handle_getopts_args "$@"
|
||||||
package=${package:-}
|
|
||||||
group=${group:-}
|
group=${group:-}
|
||||||
|
|
||||||
# The default behaviour is to use the template.
|
# The default behaviour is to use the template.
|
||||||
|
@ -107,8 +104,6 @@ ynh_add_fpm_config() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
# Do not use a dedicated service by default
|
|
||||||
dedicated_service=${dedicated_service:-0}
|
|
||||||
|
|
||||||
# Set the default PHP-FPM version by default
|
# Set the default PHP-FPM version by default
|
||||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
||||||
|
@ -132,45 +127,16 @@ ynh_add_fpm_config() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Legacy args (packager should just list their php dependency as regular apt dependencies...
|
|
||||||
if [ -n "$package" ]; then
|
|
||||||
# Install the additionnal packages from the default repository
|
|
||||||
ynh_print_warn --message "Argument --package of ynh_add_fpm_config is deprecated and to be removed in the future"
|
|
||||||
ynh_install_app_dependencies "$package"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $dedicated_service -eq 1 ]; then
|
|
||||||
ynh_print_warn --message "Argument --dedicated_service of ynh_add_fpm_config is deprecated and to be removed in the future"
|
|
||||||
local fpm_service="${app}-phpfpm"
|
|
||||||
local fpm_config_dir="/etc/php/$phpversion/dedicated-fpm"
|
|
||||||
else
|
|
||||||
local fpm_service="php${phpversion}-fpm"
|
local fpm_service="php${phpversion}-fpm"
|
||||||
local fpm_config_dir="/etc/php/$phpversion/fpm"
|
local fpm_config_dir="/etc/php/$phpversion/fpm"
|
||||||
fi
|
|
||||||
|
|
||||||
# Create the directory for FPM pools
|
# Create the directory for FPM pools
|
||||||
mkdir --parents "$fpm_config_dir/pool.d"
|
mkdir --parents "$fpm_config_dir/pool.d"
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=fpm_config_dir --value="$fpm_config_dir"
|
ynh_app_setting_set --app=$app --key=fpm_config_dir --value="$fpm_config_dir"
|
||||||
ynh_app_setting_set --app=$app --key=fpm_service --value="$fpm_service"
|
ynh_app_setting_set --app=$app --key=fpm_service --value="$fpm_service"
|
||||||
ynh_app_setting_set --app=$app --key=fpm_dedicated_service --value="$dedicated_service"
|
|
||||||
ynh_app_setting_set --app=$app --key=phpversion --value=$phpversion
|
ynh_app_setting_set --app=$app --key=phpversion --value=$phpversion
|
||||||
|
|
||||||
# Migrate from mutual PHP service to dedicated one.
|
|
||||||
if [ $dedicated_service -eq 1 ]; then
|
|
||||||
local old_fpm_config_dir="/etc/php/$phpversion/fpm"
|
|
||||||
# If a config file exist in the common pool, move it.
|
|
||||||
if [ -e "$old_fpm_config_dir/pool.d/$app.conf" ]; then
|
|
||||||
ynh_print_info --message="Migrate to a dedicated php-fpm service for $app."
|
|
||||||
# Create a backup of the old file before migration
|
|
||||||
ynh_backup_if_checksum_is_different --file="$old_fpm_config_dir/pool.d/$app.conf"
|
|
||||||
# Remove the old PHP config file
|
|
||||||
ynh_secure_remove --file="$old_fpm_config_dir/pool.d/$app.conf"
|
|
||||||
# Reload PHP to release the socket and allow the dedicated service to use it
|
|
||||||
ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $autogenconf == "false" ]; then
|
if [ $autogenconf == "false" ]; then
|
||||||
# Usage 1, use the template in conf/php-fpm.conf
|
# Usage 1, use the template in conf/php-fpm.conf
|
||||||
local phpfpm_path="$YNH_APP_BASEDIR/conf/php-fpm.conf"
|
local phpfpm_path="$YNH_APP_BASEDIR/conf/php-fpm.conf"
|
||||||
|
@ -224,48 +190,6 @@ pm.process_idle_timeout = 10s
|
||||||
local finalphpconf="$fpm_config_dir/pool.d/$app.conf"
|
local finalphpconf="$fpm_config_dir/pool.d/$app.conf"
|
||||||
ynh_add_config --template="$phpfpm_path" --destination="$finalphpconf"
|
ynh_add_config --template="$phpfpm_path" --destination="$finalphpconf"
|
||||||
|
|
||||||
if [ -e "$YNH_APP_BASEDIR/conf/php-fpm.ini" ]; then
|
|
||||||
ynh_print_warn --message="Packagers ! Please do not use a separate php ini file, merge your directives in the pool file instead."
|
|
||||||
ynh_add_config --template="php-fpm.ini" --destination="$fpm_config_dir/conf.d/20-$app.ini"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $dedicated_service -eq 1 ]; then
|
|
||||||
# Create a dedicated php-fpm.conf for the service
|
|
||||||
local globalphpconf=$fpm_config_dir/php-fpm-$app.conf
|
|
||||||
|
|
||||||
echo "[global]
|
|
||||||
pid = /run/php/php__PHPVERSION__-fpm-__APP__.pid
|
|
||||||
error_log = /var/log/php/fpm-php.__APP__.log
|
|
||||||
syslog.ident = php-fpm-__APP__
|
|
||||||
include = __FINALPHPCONF__
|
|
||||||
" >$YNH_APP_BASEDIR/conf/php-fpm-$app.conf
|
|
||||||
|
|
||||||
ynh_add_config --template="php-fpm-$app.conf" --destination="$globalphpconf"
|
|
||||||
|
|
||||||
# Create a config for a dedicated PHP-FPM service for the app
|
|
||||||
echo "[Unit]
|
|
||||||
Description=PHP __PHPVERSION__ FastCGI Process Manager for __APP__
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=notify
|
|
||||||
PIDFile=/run/php/php__PHPVERSION__-fpm-__APP__.pid
|
|
||||||
ExecStart=/usr/sbin/php-fpm__PHPVERSION__ --nodaemonize --fpm-config __GLOBALPHPCONF__
|
|
||||||
ExecReload=/bin/kill -USR2 \$MAINPID
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
" >$YNH_APP_BASEDIR/conf/$fpm_service
|
|
||||||
|
|
||||||
# Create this dedicated PHP-FPM service
|
|
||||||
ynh_add_systemd_config --service=$fpm_service --template=$fpm_service
|
|
||||||
# Integrate the service in YunoHost admin panel
|
|
||||||
yunohost service add $fpm_service --log /var/log/php/fpm-php.$app.log --description "Php-fpm dedicated to $app"
|
|
||||||
# Configure log rotate
|
|
||||||
ynh_use_logrotate --logfile=/var/log/php
|
|
||||||
# Restart the service, as this service is either stopped or only for this app
|
|
||||||
ynh_systemd_action --service_name=$fpm_service --action=restart
|
|
||||||
else
|
|
||||||
# Validate that the new php conf doesn't break php-fpm entirely
|
# Validate that the new php conf doesn't break php-fpm entirely
|
||||||
if ! php-fpm${phpversion} --test 2>/dev/null; then
|
if ! php-fpm${phpversion} --test 2>/dev/null; then
|
||||||
php-fpm${phpversion} --test || true
|
php-fpm${phpversion} --test || true
|
||||||
|
@ -273,7 +197,6 @@ WantedBy=multi-user.target
|
||||||
ynh_die --message="The new configuration broke php-fpm?"
|
ynh_die --message="The new configuration broke php-fpm?"
|
||||||
fi
|
fi
|
||||||
ynh_systemd_action --service_name=$fpm_service --action=reload
|
ynh_systemd_action --service_name=$fpm_service --action=reload
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove the dedicated PHP-FPM config
|
# Remove the dedicated PHP-FPM config
|
||||||
|
@ -284,8 +207,6 @@ WantedBy=multi-user.target
|
||||||
ynh_remove_fpm_config() {
|
ynh_remove_fpm_config() {
|
||||||
local fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir)
|
local fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir)
|
||||||
local fpm_service=$(ynh_app_setting_get --app=$app --key=fpm_service)
|
local fpm_service=$(ynh_app_setting_get --app=$app --key=fpm_service)
|
||||||
local dedicated_service=$(ynh_app_setting_get --app=$app --key=fpm_dedicated_service)
|
|
||||||
dedicated_service=${dedicated_service:-0}
|
|
||||||
# Get the version of PHP used by this app
|
# Get the version of PHP used by this app
|
||||||
local phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
|
local phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
|
||||||
|
|
||||||
|
@ -299,69 +220,7 @@ ynh_remove_fpm_config() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ynh_secure_remove --file="$fpm_config_dir/pool.d/$app.conf"
|
ynh_secure_remove --file="$fpm_config_dir/pool.d/$app.conf"
|
||||||
if [ -e $fpm_config_dir/conf.d/20-$app.ini ]; then
|
|
||||||
ynh_secure_remove --file="$fpm_config_dir/conf.d/20-$app.ini"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $dedicated_service -eq 1 ]; then
|
|
||||||
# Remove the dedicated service PHP-FPM service for the app
|
|
||||||
ynh_remove_systemd_config --service=$fpm_service
|
|
||||||
# Remove the global PHP-FPM conf
|
|
||||||
ynh_secure_remove --file="$fpm_config_dir/php-fpm-$app.conf"
|
|
||||||
# Remove the service from the list of services known by YunoHost
|
|
||||||
yunohost service remove $fpm_service
|
|
||||||
elif ynh_package_is_installed --package="php${phpversion}-fpm"; then
|
|
||||||
ynh_systemd_action --service_name=$fpm_service --action=reload
|
ynh_systemd_action --service_name=$fpm_service --action=reload
|
||||||
fi
|
|
||||||
|
|
||||||
# If the PHP version used is not the default version for YunoHost
|
|
||||||
# The second part with YNH_APP_PURGE is an ugly hack to guess that we're inside the remove script
|
|
||||||
# (we don't actually care about its value, we just check its not empty hence it exists)
|
|
||||||
if [ "$phpversion" != "$YNH_DEFAULT_PHP_VERSION" ] && [ -n "${YNH_APP_PURGE:-}" ] && dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
|
||||||
# Remove app dependencies ... but ideally should happen via an explicit call from packager
|
|
||||||
ynh_remove_app_dependencies
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Install another version of PHP.
|
|
||||||
#
|
|
||||||
# [internal]
|
|
||||||
#
|
|
||||||
# Legacy, to be remove on bullseye
|
|
||||||
#
|
|
||||||
# usage: ynh_install_php --phpversion=phpversion [--package=packages]
|
|
||||||
# | arg: -v, --phpversion= - Version of PHP to install.
|
|
||||||
# | arg: -p, --package= - Additionnal PHP packages to install
|
|
||||||
#
|
|
||||||
# Requires YunoHost version 3.8.1 or higher.
|
|
||||||
ynh_install_php() {
|
|
||||||
# Declare an array to define the options of this helper.
|
|
||||||
local legacy_args=vp
|
|
||||||
local -A args_array=([v]=phpversion= [p]=package=)
|
|
||||||
local phpversion
|
|
||||||
local package
|
|
||||||
# Manage arguments with getopts
|
|
||||||
ynh_handle_getopts_args "$@"
|
|
||||||
package=${package:-}
|
|
||||||
|
|
||||||
if [ "$phpversion" == "$YNH_DEFAULT_PHP_VERSION" ]; then
|
|
||||||
ynh_die --message="Do not use ynh_install_php to install php$YNH_DEFAULT_PHP_VERSION"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ynh_install_app_dependencies "$package"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove the specific version of PHP used by the app.
|
|
||||||
#
|
|
||||||
# [internal]
|
|
||||||
#
|
|
||||||
# Legacy, to be remove on bullseye
|
|
||||||
#
|
|
||||||
# usage: ynh_remove_php
|
|
||||||
#
|
|
||||||
# Requires YunoHost version 3.8.1 or higher.
|
|
||||||
ynh_remove_php () {
|
|
||||||
ynh_remove_app_dependencies
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Define the values to configure PHP-FPM
|
# Define the values to configure PHP-FPM
|
||||||
|
|
|
@ -18,11 +18,7 @@ ynh_app_setting_get() {
|
||||||
ynh_handle_getopts_args "$@"
|
ynh_handle_getopts_args "$@"
|
||||||
app="${app:-$_globalapp}"
|
app="${app:-$_globalapp}"
|
||||||
|
|
||||||
if [[ $key =~ (unprotected|protected|skipped)_ ]]; then
|
|
||||||
yunohost app setting $app $key
|
|
||||||
else
|
|
||||||
ynh_app_setting "get" "$app" "$key"
|
ynh_app_setting "get" "$app" "$key"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set an application setting
|
# Set an application setting
|
||||||
|
@ -45,11 +41,7 @@ ynh_app_setting_set() {
|
||||||
ynh_handle_getopts_args "$@"
|
ynh_handle_getopts_args "$@"
|
||||||
app="${app:-$_globalapp}"
|
app="${app:-$_globalapp}"
|
||||||
|
|
||||||
if [[ $key =~ (unprotected|protected|skipped)_ ]]; then
|
|
||||||
yunohost app setting $app $key -v $value
|
|
||||||
else
|
|
||||||
ynh_app_setting "set" "$app" "$key" "$value"
|
ynh_app_setting "set" "$app" "$key" "$value"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Delete an application setting
|
# Delete an application setting
|
||||||
|
@ -70,11 +62,7 @@ ynh_app_setting_delete() {
|
||||||
ynh_handle_getopts_args "$@"
|
ynh_handle_getopts_args "$@"
|
||||||
app="${app:-$_globalapp}"
|
app="${app:-$_globalapp}"
|
||||||
|
|
||||||
if [[ "$key" =~ (unprotected|skipped|protected)_ ]]; then
|
|
||||||
yunohost app setting $app $key -d
|
|
||||||
else
|
|
||||||
ynh_app_setting "delete" "$app" "$key"
|
ynh_app_setting "delete" "$app" "$key"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Small "hard-coded" interface to avoid calling "yunohost app" directly each
|
# Small "hard-coded" interface to avoid calling "yunohost app" directly each
|
||||||
|
|
|
@ -1074,16 +1074,12 @@ ynh_compare_current_package_version() {
|
||||||
_ynh_apply_default_permissions() {
|
_ynh_apply_default_permissions() {
|
||||||
local target=$1
|
local target=$1
|
||||||
|
|
||||||
local ynh_requirement=$(ynh_read_manifest --manifest_key="requirements.yunohost" | tr -d '<>= ')
|
|
||||||
|
|
||||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 || [ -z "$ynh_requirement" ] || [ "$ynh_requirement" == "null" ] || dpkg --compare-versions $ynh_requirement ge 4.2; then
|
|
||||||
chmod o-rwx $target
|
chmod o-rwx $target
|
||||||
chmod g-w $target
|
chmod g-w $target
|
||||||
chown -R root:root $target
|
chown -R root:root $target
|
||||||
if ynh_system_user_exists $app; then
|
if ynh_system_user_exists $app; then
|
||||||
chown $app:$app $target
|
chown $app:$app $target
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
# Crons should be owned by root
|
# Crons should be owned by root
|
||||||
# Also we don't want systemd conf, nginx conf or others stuff to be owned by the app,
|
# Also we don't want systemd conf, nginx conf or others stuff to be owned by the app,
|
||||||
|
@ -1096,7 +1092,7 @@ _ynh_apply_default_permissions() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int_to_bool() {
|
int_to_bool() {
|
||||||
sed -e 's/^1$/True/g' -e 's/^0$/False/g'
|
sed -e 's/^1$/True/g' -e 's/^0$/False/g' -e 's/^true$/True/g' -e 's/^false$/False/g'
|
||||||
}
|
}
|
||||||
|
|
||||||
toml_to_json() {
|
toml_to_json() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue