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 <[email protected]>
---
 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


Reply via email to