abuild: default_dbg: eliminate side effects
- do not overwrite variables srcdir is very important for abuild operation - quoted various paths - use a sub-shell to contain directory changing Resolves alpinelinux/abuild#58
This commit is contained in:
parent
dc41c1fc52
commit
5b163c2d58
35
abuild.in
35
abuild.in
@ -1676,25 +1676,26 @@ doc() {
|
|||||||
|
|
||||||
# predefined splitfunc dbg
|
# predefined splitfunc dbg
|
||||||
default_dbg() {
|
default_dbg() {
|
||||||
local f
|
local ddbg_binfiles f ddbg_srcdir ddbg_srcfile ddbg_dstdir ddbg_dstfile
|
||||||
pkgdesc="$pkgdesc (debug symbols)"
|
pkgdesc="$pkgdesc (debug symbols)"
|
||||||
|
|
||||||
binfiles=$(scanelf -R "$pkgdir" | grep ET_DYN | sed "s:$pkgdir\/::g" | sed "s:ET_DYN ::g")
|
ddbg_binfiles=$(scanelf -R "$pkgdir" | grep ET_DYN | sed "s:$pkgdir\/::g" | sed "s:ET_DYN ::g")
|
||||||
for f in $binfiles; do
|
for f in $ddbg_binfiles; do
|
||||||
srcdir=$(dirname $pkgdir/$f)
|
ddbg_srcdir=$(dirname "$pkgdir/$f")
|
||||||
srcfile=$(basename $pkgdir/$f)
|
ddbg_srcfile=$(basename "$pkgdir/$f")
|
||||||
dstdir=$(dirname $subpkgdir/usr/lib/debug/$f.debug)
|
ddbg_dstdir=$(dirname "$subpkgdir/usr/lib/debug/$f.debug")
|
||||||
dstfile=$(basename $subpkgdir/usr/lib/debug/$f.debug)
|
ddbg_dstfile=$(basename "$subpkgdir/usr/lib/debug/$f.debug")
|
||||||
if [ ! -d $dstdir ] ; then
|
[ -d "$ddbg_dstdir" ] || mkdir -p "$ddbg_dstdir"
|
||||||
mkdir -p $dstdir
|
|
||||||
fi
|
(
|
||||||
cd $srcdir
|
cd "$ddbg_srcdir"
|
||||||
local XATTR=$(getfattr --match="" --dump "${srcfile}")
|
XATTR=$(getfattr --match="" --dump "${ddbg_srcfile}")
|
||||||
${CROSS_COMPILE}objcopy --only-keep-debug $srcfile $dstfile
|
${CROSS_COMPILE}objcopy --only-keep-debug "$ddbg_srcfile" "$ddbg_dstfile"
|
||||||
${CROSS_COMPILE}objcopy --add-gnu-debuglink=$dstfile $srcdir/$srcfile
|
${CROSS_COMPILE}objcopy --add-gnu-debuglink="$ddbg_dstfile" "$ddbg_srcdir/$ddbg_srcfile"
|
||||||
mv $dstfile $dstdir
|
mv "$ddbg_dstfile" "$ddbg_dstdir"
|
||||||
${CROSS_COMPILE}strip $srcfile
|
${CROSS_COMPILE}strip "$ddbg_srcfile"
|
||||||
[ -n "$XATTR" ] && { echo "$XATTR" | setfattr --restore=-; }
|
[ -n "$XATTR" ] && { echo "$XATTR" | setfattr --restore=-; }
|
||||||
|
)
|
||||||
done
|
done
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user