repo-add: add makedepends information

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@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Allan McRae 2012-05-19 21:00:18 +10:00 committed by Dan McGee
parent 18e0a97209
commit 81bc390dc1
2 changed files with 19 additions and 10 deletions

View file

@ -591,6 +591,12 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
READ_AND_SPLITDEP(pkg->depends); READ_AND_SPLITDEP(pkg->depends);
} else if(strcmp(line, "%OPTDEPENDS%") == 0) { } else if(strcmp(line, "%OPTDEPENDS%") == 0) {
READ_AND_SPLITDEP(pkg->optdepends); READ_AND_SPLITDEP(pkg->optdepends);
} else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
/* currently unused */
while(1) {
READ_NEXT();
if(strlen(line) == 0) break;
}
} else if(strcmp(line, "%CONFLICTS%") == 0) { } else if(strcmp(line, "%CONFLICTS%") == 0) {
READ_AND_SPLITDEP(pkg->conflicts); READ_AND_SPLITDEP(pkg->conflicts);
} else if(strcmp(line, "%PROVIDES%") == 0) { } else if(strcmp(line, "%PROVIDES%") == 0) {

View file

@ -256,7 +256,8 @@ verify_repo_extension() {
db_write_entry() { db_write_entry() {
# blank out all variables # blank out all variables
local pkgfile=$1 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 \ local pkgname pkgver pkgdesc csize size url arch builddate packager \
md5sum sha256sum pgpsig pgpsigsize md5sum sha256sum pgpsig pgpsigsize
@ -269,13 +270,14 @@ db_write_entry() {
# normalize whitespace with an extglob # normalize whitespace with an extglob
declare "$var=${val//+([[:space:]])/ }" declare "$var=${val//+([[:space:]])/ }"
case $var in case $var in
group) _groups+=("$group") ;; group) _groups+=("$group") ;;
license) _licenses+=("$license") ;; license) _licenses+=("$license") ;;
replaces) _replaces+=("$replaces") ;; replaces) _replaces+=("$replaces") ;;
depend) _depends+=("$depend") ;; depend) _depends+=("$depend") ;;
conflict) _conflicts+=("$conflict") ;; conflict) _conflicts+=("$conflict") ;;
provides) _provides+=("$provides") ;; provides) _provides+=("$provides") ;;
optdepend) _optdepends+=("$optdepend") ;; optdepend) _optdepends+=("$optdepend") ;;
makedepend) _makedepends+=("$makedepend") ;;
esac esac
done< <(bsdtar -xOqf "$pkgfile" .PKGINFO) done< <(bsdtar -xOqf "$pkgfile" .PKGINFO)
@ -358,10 +360,11 @@ db_write_entry() {
# create depends entry # create depends entry
msg2 "$(gettext "Creating '%s' db entry...")" 'depends' msg2 "$(gettext "Creating '%s' db entry...")" 'depends'
{ {
format_entry "DEPENDS" "${_depends[@]}" format_entry "DEPENDS" "${_depends[@]}"
format_entry "CONFLICTS" "${_conflicts[@]}" format_entry "CONFLICTS" "${_conflicts[@]}"
format_entry "PROVIDES" "${_provides[@]}" format_entry "PROVIDES" "${_provides[@]}"
format_entry "OPTDEPENDS" "${_optdepends[@]}" format_entry "OPTDEPENDS" "${_optdepends[@]}"
format_entry "MAKEDEPENDS" "${_makedepends[@]}"
} >'depends' } >'depends'
popd >/dev/null popd >/dev/null