[pacman-dev] [PATCH 2/2] repo-add: add makedpends information

Allan McRae allan at archlinux.org
Sat May 19 07:01:32 EDT 2012


This is useful for tools that automatically rebuild packages and
thus require to generate a build order. These entries are skipped
by pacman.

Signed-off-by: Allan McRae <allan at archlinux.org>
---
 lib/libalpm/be_sync.c  |    3 +++
 scripts/repo-add.sh.in |   27 +++++++++++++++------------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index f18ba51..92ce456 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -591,6 +591,9 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
 				READ_AND_SPLITDEP(pkg->depends);
 			} else if(strcmp(line, "%OPTDEPENDS%") == 0) {
 				READ_AND_SPLITDEP(pkg->optdepends);
+			} else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
+				/* currently unused */
+				READ_NEXT();
 			} else if(strcmp(line, "%CONFLICTS%") == 0) {
 				READ_AND_SPLITDEP(pkg->conflicts);
 			} else if(strcmp(line, "%PROVIDES%") == 0) {
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 006672a..ba9ba05 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -256,7 +256,8 @@ verify_repo_extension() {
 db_write_entry() {
 	# blank out all variables
 	local pkgfile=$1
-	local -a _groups _licenses _replaces _depends _conflicts _provides _optdepends
+	local -a _groups _licenses _replaces _depends _conflicts _provides \
+		_optdepends _makedepends
 	local pkgname pkgver pkgdesc csize size url arch builddate packager \
 		md5sum sha256sum pgpsig pgpsigsize
 
@@ -269,13 +270,14 @@ db_write_entry() {
 		# normalize whitespace with an extglob
 		declare "$var=${val//+([[:space:]])/ }"
 		case $var in
-			group)     _groups+=("$group") ;;
-			license)   _licenses+=("$license") ;;
-			replaces)  _replaces+=("$replaces") ;;
-			depend)    _depends+=("$depend") ;;
-			conflict)  _conflicts+=("$conflict") ;;
-			provides)  _provides+=("$provides") ;;
-			optdepend) _optdepends+=("$optdepend") ;;
+			group)      _groups+=("$group") ;;
+			license)    _licenses+=("$license") ;;
+			replaces)   _replaces+=("$replaces") ;;
+			depend)     _depends+=("$depend") ;;
+			conflict)   _conflicts+=("$conflict") ;;
+			provides)   _provides+=("$provides") ;;
+			optdepend)  _optdepends+=("$optdepend") ;;
+			makedepend) _makedepends+=("$makedepend") ;;
 		esac
 	done< <(bsdtar -xOqf "$pkgfile" .PKGINFO)
 
@@ -358,10 +360,11 @@ db_write_entry() {
 	# create depends entry
 	msg2 "$(gettext "Creating '%s' db entry...")" 'depends'
 	{
-		format_entry "DEPENDS"    "${_depends[@]}"
-		format_entry "CONFLICTS"  "${_conflicts[@]}"
-		format_entry "PROVIDES"   "${_provides[@]}"
-		format_entry "OPTDEPENDS" "${_optdepends[@]}"
+		format_entry "DEPENDS"     "${_depends[@]}"
+		format_entry "CONFLICTS"   "${_conflicts[@]}"
+		format_entry "PROVIDES"    "${_provides[@]}"
+		format_entry "OPTDEPENDS"  "${_optdepends[@]}"
+		format_entry "MAKEDEPENDS" "${_makedepends[@]}"
 	} >'depends'
 
 	popd >/dev/null
-- 
1.7.10.2



More information about the pacman-dev mailing list