ast_coredumper: allow setting asterisk binary explicitly

Adds an extra option, --asterisk-bin=<path> to ast_coredumper. If
provided, the binary given to gdb will be the parameter, rather than
asterisk from the PATH.

ASTERISK-27380 #close

Change-Id: I25f5b91eb75059b0fb2f142e468c26b283b0a9f3
pull/9/head
Tzafrir Cohen 8 years ago
parent 2a898460db
commit 022de525be

@ -17,6 +17,7 @@ SYNOPSIS
[ --tarball-results ] [ --delete-results-after ] [ --tarball-results ] [ --delete-results-after ]
[ --tarball-uniqueid="<uniqueid>" ] [ --tarball-uniqueid="<uniqueid>" ]
[ --no-default-search ] [ --append-coredumps ] [ --no-default-search ] [ --append-coredumps ]
[ --asterisk-bin="path" ]
[ <coredump> | <pattern> ... ] [ <coredump> | <pattern> ... ]
DESCRIPTION DESCRIPTION
@ -96,6 +97,10 @@ DESCRIPTION
Append any coredumps specified on the command line to the Append any coredumps specified on the command line to the
config file specified ones instead of overriding them. config file specified ones instead of overriding them.
--asterisk-binary
Path to the asterisk binary. Default: look for asterisk
in the PATH.
<coredump> | <pattern> <coredump> | <pattern>
A list of coredumps or coredump search patterns. Unless A list of coredumps or coredump search patterns. Unless
--append-coredumps was specified, these entries will override --append-coredumps was specified, these entries will override
@ -261,6 +266,9 @@ for a in "$@" ; do
--tarball-uniqueid=*) --tarball-uniqueid=*)
tarball_uniqueid=${a#*=} tarball_uniqueid=${a#*=}
;; ;;
--asterisk-bin=*)
asterisk_bin=${a#*=}
;;
--help|-*) --help|-*)
print_help print_help
;; ;;
@ -362,7 +370,10 @@ tail -n +${ss} $0 >/tmp/.ast_coredumper.gdbinit
for i in ${!COREDUMPS[@]} ; do for i in ${!COREDUMPS[@]} ; do
cf=${COREDUMPS[$i]} cf=${COREDUMPS[$i]}
echo "Processing $cf" echo "Processing $cf"
${GDB} -n --batch -q --ex "source /tmp/.ast_coredumper.gdbinit" $(which asterisk) "$cf" 2>/dev/null | ( if [ -z "$asterisk_bin" ]; then
asterisk_bin=$(which asterisk)
fi
${GDB} -n --batch -q --ex "source /tmp/.ast_coredumper.gdbinit" "$asterisk_bin" "$cf" 2>/dev/null | (
of=/dev/null of=/dev/null
while IFS= read line ; do while IFS= read line ; do
if [[ "$line" =~ !@!@!@!\ ([^\ ]+)\ !@!@!@! ]] ; then if [[ "$line" =~ !@!@!@!\ ([^\ ]+)\ !@!@!@! ]] ; then

Loading…
Cancel
Save