[pacman-dev] [PATCH v2 1/2] makepkg: Add a config option to specify the location of debug sources

Eli Schwartz eschwartz at archlinux.org
Mon Oct 30 18:35:22 UTC 2017


In commit 8b0d59b83a60eb504567590346119fe4cd891cad support was added for
storing the source files of binaries in debug packages. Allow the user
to specify where those source files should be stored via makepkg.conf

Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
---

v2: split out into standalone patch, added fallback if DBGSRCDIR is not
set in makepkg.conf

 doc/makepkg.conf.5.txt              | 6 ++++++
 etc/makepkg.conf.in                 | 2 ++
 scripts/libmakepkg/tidy/strip.sh.in | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
index d01c13b6..b0eafa91 100644
--- a/doc/makepkg.conf.5.txt
+++ b/doc/makepkg.conf.5.txt
@@ -218,6 +218,12 @@ Options
 	instruct makepkg which files to remove from the package. This is
 	useful for index files that are added by multiple packages.
 
+**DBGSRCDIR=**"/usr/src/debug"::
+	If `strip` and `debug` are specified in the `OPTIONS` array, this variable
+	will instruct makepkg where to place source files for installed binaries.
+	The binaries will be modified to link this directory for the debugger
+	search path.
+
 **PKGDEST=**"/path/to/directory"::
 	If this value is not set, packages will, by default, be placed in the
 	current directory (location of the linkman:PKGBUILD[5]). Many people
diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
index 7782d0de..3c143c11 100644
--- a/etc/makepkg.conf.in
+++ b/etc/makepkg.conf.in
@@ -99,6 +99,8 @@ MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
 DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
 #-- Files to be removed from all packages (if purge is specified)
 PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
+#-- Directory, if any, to store source code in for debug packages
+DBGSRCDIR="/usr/src/debug"
 
 #########################################################################
 # PACKAGE OUTPUT
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index 76562808..e88bde78 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -107,7 +107,7 @@ tidy_strip() {
 		if check_option "debug" "y"; then
 
 			dbgdir="$pkgdirbase/$pkgbase- at DEBUGSUFFIX@/usr/lib/debug"
-			dbgsrc="$pkgdirbase/$pkgbase- at DEBUGSUFFIX@/usr/src/debug"
+			dbgsrc="$pkgdirbase/$pkgbase- at DEBUGSUFFIX@${DBGSRCDIR:-/usr/src/debug}"
 			mkdir -p "$dbgdir" "$dbgsrc"
 		fi
 
-- 
2.15.0


More information about the pacman-dev mailing list