diff options
author | Allan McRae <allan@archlinux.org> | 2018-01-09 03:50:37 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2018-01-10 01:53:15 +0100 |
commit | 653d2dc86d5340c6854818bdab3dae65bf62d474 (patch) | |
tree | 1be55b8111a0b661adb96137af10d2380ce9dbd6 | |
parent | 4d80d87f9069fba17ebf4d91cdb097b433a57908 (diff) | |
download | pacman-653d2dc86d5340c6854818bdab3dae65bf62d474.tar.gz pacman-653d2dc86d5340c6854818bdab3dae65bf62d474.tar.xz |
Fix moving source files into debug packages
Commit 8bec63bf92d8dd028aa88dbd5109c314cdb9ebea attempted to switch to
using -fdebug-prefix-map to set file locations in debug packages. It
make a few mistakes...
1) Adding debug C{,XX}FLAGS only worked if DBGSRCDIR was defined in
makepkg.conf. Fix this by falling back to the default value.
2) Using -fdebug-prefix-map altered a lot of assumptions about file
locations when copying source files into debug packages. This resulted
in lots of messages of failed cp in packaging output.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | scripts/libmakepkg/tidy/strip.sh.in | 9 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 6 |
2 files changed, 7 insertions, 8 deletions
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in index 8a1d6096..e8f54be4 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -58,9 +58,9 @@ strip_file() { # copy source files to debug directory local f t while read -r t; do - f=${t/$dbgsrc/"$srcdir"} - mkdir -p "${t%/*}" - cp -- "$f" "$t" + f=${t/${dbgsrcdir}/"$srcdir"} + mkdir -p "${dbgsrc/"$dbgsrcdir"/}${t%/*}" + cp -- "$f" "${dbgsrc/"$dbgsrcdir"/}$t" done < <(source_files "$binary") # copy debug symbols to debug directory @@ -104,7 +104,8 @@ tidy_strip() { if check_option "debug" "y"; then dbgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@/usr/lib/debug" - dbgsrc="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@${DBGSRCDIR:-/usr/src/debug}" + dbgsrcdir="${DBGSRCDIR:-/usr/src/debug}" + dbgsrc="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@$dbgsrcdir" mkdir -p "$dbgdir" "$dbgsrc" fi diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 8251e71b..a74e7b39 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -379,10 +379,8 @@ prepare_buildenv() { fi if check_option "debug" "y"; then - if [[ -v DBGSRCDIR ]]; then - DEBUG_CFLAGS+=" -fdebug-prefix-map=$srcdir=$DBGSRCDIR" - DEBUG_CXXFLAGS+=" -fdebug-prefix-map=$srcdir=$DBGSRCDIR" - fi + DEBUG_CFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" + DEBUG_CXXFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" CFLAGS+=" $DEBUG_CFLAGS" CXXFLAGS+=" $DEBUG_CXXFLAGS" fi |