mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
151 lines
4.5 KiB
Text
151 lines
4.5 KiB
Text
# Print a message to stderr and exit
|
|
# usage: ynh_die --message=MSG [--ret_code=RETCODE]
|
|
ynh_die() {
|
|
# Declare an array to define the options of this helper.
|
|
declare -Ar args_array=( [m]=message= [c]=ret_code= )
|
|
local message
|
|
local ret_code
|
|
# Manage arguments with getopts
|
|
ynh_handle_getopts_args "$@"
|
|
|
|
echo "$message" 1>&2
|
|
exit "${ret_code:-1}"
|
|
}
|
|
|
|
# Display a message in the 'INFO' logging category
|
|
#
|
|
# usage: ynh_info --message="Some message"
|
|
ynh_print_info() {
|
|
# Declare an array to define the options of this helper.
|
|
declare -Ar args_array=( [m]=message= )
|
|
local message
|
|
# Manage arguments with getopts
|
|
ynh_handle_getopts_args "$@"
|
|
|
|
echo "$message" >> "$YNH_STDINFO"
|
|
}
|
|
|
|
# Ignore the yunohost-cli log to prevent errors with conditional commands
|
|
#
|
|
# [internal]
|
|
#
|
|
# usage: ynh_no_log COMMAND
|
|
#
|
|
# Simply duplicate the log, execute the yunohost command and replace the log without the result of this command
|
|
# It's a very badly hack...
|
|
ynh_no_log() {
|
|
local ynh_cli_log=/var/log/yunohost/yunohost-cli.log
|
|
sudo cp -a ${ynh_cli_log} ${ynh_cli_log}-move
|
|
eval $@
|
|
local exit_code=$?
|
|
sudo mv ${ynh_cli_log}-move ${ynh_cli_log}
|
|
return $?
|
|
}
|
|
|
|
# Main printer, just in case in the future we have to change anything about that.
|
|
#
|
|
# [internal]
|
|
#
|
|
ynh_print_log () {
|
|
echo -e "${1}"
|
|
}
|
|
|
|
# Print a warning on stderr
|
|
#
|
|
# usage: ynh_print_warn --message="Text to print"
|
|
# | arg: -m, --message - The text to print
|
|
ynh_print_warn () {
|
|
# Declare an array to define the options of this helper.
|
|
declare -Ar args_array=( [m]=message= )
|
|
local message
|
|
# Manage arguments with getopts
|
|
ynh_handle_getopts_args "$@"
|
|
|
|
ynh_print_log "\e[93m\e[1m[WARN]\e[0m ${message}" >&2
|
|
}
|
|
|
|
# Print an error on stderr
|
|
#
|
|
# usage: ynh_print_err --message="Text to print"
|
|
# | arg: -m, --message - The text to print
|
|
ynh_print_err () {
|
|
# Declare an array to define the options of this helper.
|
|
declare -Ar args_array=( [m]=message= )
|
|
local message
|
|
# Manage arguments with getopts
|
|
ynh_handle_getopts_args "$@"
|
|
|
|
ynh_print_log "\e[91m\e[1m[ERR]\e[0m ${message}" >&2
|
|
}
|
|
|
|
# Execute a command and print the result as an error
|
|
#
|
|
# usage: ynh_exec_err command to execute
|
|
# usage: ynh_exec_err "command to execute | following command"
|
|
# In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
|
|
#
|
|
# | arg: command - command to execute
|
|
ynh_exec_err () {
|
|
ynh_print_err "$(eval $@)"
|
|
}
|
|
|
|
# Execute a command and print the result as a warning
|
|
#
|
|
# usage: ynh_exec_warn command to execute
|
|
# usage: ynh_exec_warn "command to execute | following command"
|
|
# In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
|
|
#
|
|
# | arg: command - command to execute
|
|
ynh_exec_warn () {
|
|
ynh_print_warn "$(eval $@)"
|
|
}
|
|
|
|
# Execute a command and force the result to be printed on stdout
|
|
#
|
|
# usage: ynh_exec_warn_less command to execute
|
|
# usage: ynh_exec_warn_less "command to execute | following command"
|
|
# In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
|
|
#
|
|
# | arg: command - command to execute
|
|
ynh_exec_warn_less () {
|
|
eval $@ 2>&1
|
|
}
|
|
|
|
# Execute a command and redirect stdout in /dev/null
|
|
#
|
|
# usage: ynh_exec_quiet command to execute
|
|
# usage: ynh_exec_quiet "command to execute | following command"
|
|
# In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
|
|
#
|
|
# | arg: command - command to execute
|
|
ynh_exec_quiet () {
|
|
eval $@ > /dev/null
|
|
}
|
|
|
|
# Execute a command and redirect stdout and stderr in /dev/null
|
|
#
|
|
# usage: ynh_exec_fully_quiet command to execute
|
|
# usage: ynh_exec_fully_quiet "command to execute | following command"
|
|
# In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
|
|
#
|
|
# | arg: command - command to execute
|
|
ynh_exec_fully_quiet () {
|
|
eval $@ > /dev/null 2>&1
|
|
}
|
|
|
|
# Remove any logs for all the following commands.
|
|
#
|
|
# usage: ynh_print_OFF
|
|
# WARNING: You should be careful with this helper, and never forget to use ynh_print_ON as soon as possible to restore the logging.
|
|
ynh_print_OFF () {
|
|
set +x
|
|
}
|
|
|
|
# Restore the logging after ynh_print_OFF
|
|
#
|
|
# usage: ynh_print_ON
|
|
ynh_print_ON () {
|
|
set -x
|
|
# Print an echo only for the log, to be able to know that ynh_print_ON has been called.
|
|
echo ynh_print_ON > /dev/null
|
|
}
|