ast_coredumper: Fix issues with naming

If you run ast_coredumper --tarball-coredumps in the same directory
as the actual coredump, tar can fail because the link to the
actual coredump becomes recursive.  The resulting tarball will
have everything _except_ the coredump (which is usually what
you need)

There's also an issue that the directory name in the tarball
is the same as the coredump so if you extract the tarball the
directory it creates will overwrite the coredump.

So:

 * Made the link to the coredump use the absolute path to the
   file instead of a relative one.  This prevents the recursive
   link and allows tar to add the coredump.

 * The tarballed directory is now named <coredump>.output instead
   of just <coredump> so if you expand the tarball it won't
   overwrite the coredump.

Change-Id: I8b3eeb26e09a577c702ff966924bb0a2f9a759ea
changes/67/14867/2
George Joseph 5 years ago committed by Friendly Automation
parent c4bed96742
commit 5989e0de0f

@ -478,7 +478,7 @@ tail -n +${ss} $0 >$gdbinit
# Now iterate over the coredumps and dump the debugging info
for i in ${!COREDUMPS[@]} ; do
cf=${COREDUMPS[$i]}
cf=$(readlink -ne ${COREDUMPS[$i]})
echo "Processing $cf"
cfdir=`dirname ${cf}`
@ -520,7 +520,7 @@ for i in ${!COREDUMPS[@]} ; do
cp -a /${libdir}/asterisk/* ${dest}/${libdir}/asterisk/
cp -a /usr/sbin/asterisk ${dest}/usr/sbin
rm -rf ${tf}
tar -chzf ${tf} --transform="s/^[.]/${cfname}/" -C ${dest} .
tar -chzf ${tf} --transform="s/^[.]/${cfname}.output/" -C ${dest} .
sleep 3
rm -rf ${dest}
echo "Created $tf"

Loading…
Cancel
Save