summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2018-01-09 12:50:37 +1000
committerAllan McRae <allan@archlinux.org>2018-01-10 10:53:15 +1000
commit653d2dc86d5340c6854818bdab3dae65bf62d474 (patch)
tree1be55b8111a0b661adb96137af10d2380ce9dbd6
parent4d80d87f9069fba17ebf4d91cdb097b433a57908 (diff)
downloadpacman-653d2dc86d5340c6854818bdab3dae65bf62d474.tar.gz
pacman-653d2dc86d5340c6854818bdab3dae65bf62d474.zip
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.in9
-rw-r--r--scripts/makepkg.sh.in6
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