mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-19 11:42:27 +00:00
ast_coredumper: Fix output directory and variable precedence
The OUTPUTDIR variable in ast_debug_tools.conf.sample is now set to "/tmp" instead of "/some/directory". Variables set on the command line or that are already in the environment now take predecence over variables set in the config files. ASTERISK-27846 Reported by: Ted G Change-Id: Ie8baec52d531886bf5849ec1d59bb59dc87ad387
This commit is contained in:
@@ -24,7 +24,7 @@ COREDUMPS=(/tmp/core[-._]asterisk!(*.txt) /tmp/core[-._]$(hostname)!(*.txt))
|
|||||||
# For output from existing core files, the default is the
|
# For output from existing core files, the default is the
|
||||||
# directory that the core file is found in. For core files
|
# directory that the core file is found in. For core files
|
||||||
# produced from a running process, the default is /tmp.
|
# produced from a running process, the default is /tmp.
|
||||||
OUTPUTDIR=/some/directory
|
OUTPUTDIR=/tmp
|
||||||
|
|
||||||
# Date command for the "running" coredump and tarballs.
|
# Date command for the "running" coredump and tarballs.
|
||||||
# DATEFORMAT will be executed to get the timestamp.
|
# DATEFORMAT will be executed to get the timestamp.
|
||||||
|
@@ -225,10 +225,28 @@ append_coredumps=false
|
|||||||
declare -a COREDUMPS
|
declare -a COREDUMPS
|
||||||
declare -a ARGS_COREDUMPS
|
declare -a ARGS_COREDUMPS
|
||||||
|
|
||||||
# Read config files from least important to most important
|
# readconf reads a bash-sourceable file and sets variables
|
||||||
[ -f /etc/asterisk/ast_debug_tools.conf ] && source /etc/asterisk/ast_debug_tools.conf
|
# that havn't already been set. This allows variables set
|
||||||
[ -f ~/ast_debug_tools.conf ] && source ~/ast_debug_tools.conf
|
# on the command line or that are already in the environment
|
||||||
[ -f ./ast_debug_tools.conf ] && source ./ast_debug_tools.conf
|
# to take precedence over those read from the file.
|
||||||
|
#
|
||||||
|
# Setting the values can't be done in a subshell so you can't
|
||||||
|
# just pipe the output of sed into the while.
|
||||||
|
|
||||||
|
readconf() {
|
||||||
|
while read line ; do
|
||||||
|
declare -n v=${line%%=*}
|
||||||
|
[ -z "${v}" ] && eval $line || :
|
||||||
|
done <<EOF
|
||||||
|
$( sed -r -e "/\s*#/d" -e "/^\s*$/d" $1 )
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# Read config files from most important to least important.
|
||||||
|
# Variable set on the command line or environment always take precedence.
|
||||||
|
[ -f ./ast_debug_tools.conf ] && readconf ./ast_debug_tools.conf
|
||||||
|
[ -f ~/ast_debug_tools.conf ] && readconf ~/ast_debug_tools.conf
|
||||||
|
[ -f /etc/asterisk/ast_debug_tools.conf ] && readconf /etc/asterisk/ast_debug_tools.conf
|
||||||
|
|
||||||
# For *BSD, the preferred gdb may be in /usr/local/bin so we
|
# For *BSD, the preferred gdb may be in /usr/local/bin so we
|
||||||
# need to search for one that supports python.
|
# need to search for one that supports python.
|
||||||
|
Reference in New Issue
Block a user