summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-06-07 08:21:05 +0200
committerDan McGee <dan@archlinux.org>2012-06-26 06:08:15 +0200
commite253968b4df079faf91266639be1b8b2cff6e2b5 (patch)
treea62b47f13c653fe908e929ff8f1b3c9a5abbf104
parent81dd6ddf0cdd4034771828529c65d61e5bc94e5d (diff)
downloadpacman-e253968b4df079faf91266639be1b8b2cff6e2b5.tar.gz
pacman-e253968b4df079faf91266639be1b8b2cff6e2b5.tar.xz
repo-add: add checkdepends information
Similar to the case for makedepends, it is useful to be able to access this information without parsing a PKGBUILD. Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--lib/libalpm/be_sync.c6
-rw-r--r--scripts/makepkg.sh.in19
-rw-r--r--scripts/repo-add.sh.in4
3 files changed, 19 insertions, 10 deletions
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 29ef1900..2abd3e69 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -597,6 +597,12 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
READ_NEXT();
if(strlen(line) == 0) break;
}
+ } else if(strcmp(line, "%CHECKDEPENDS%") == 0) {
+ /* currently unused */
+ while(1) {
+ READ_NEXT();
+ if(strlen(line) == 0) break;
+ }
} else if(strcmp(line, "%CONFLICTS%") == 0) {
READ_AND_SPLITDEP(pkg->conflicts);
} else if(strcmp(line, "%PROVIDES%") == 0) {
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 63cdd4dc..abfabdfc 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1282,15 +1282,16 @@ write_pkginfo() {
mapfile -t provides < <(find_libprovides)
mapfile -t depends < <(find_libdepends)
- [[ $license ]] && printf "license = %s\n" "${license[@]}"
- [[ $replaces ]] && printf "replaces = %s\n" "${replaces[@]}"
- [[ $groups ]] && printf "group = %s\n" "${groups[@]}"
- [[ $conflicts ]] && printf "conflict = %s\n" "${conflicts[@]}"
- [[ $provides ]] && printf "provides = %s\n" "${provides[@]}"
- [[ $backup ]] && printf "backup = %s\n" "${backup[@]}"
- [[ $depends ]] && printf "depend = %s\n" "${depends[@]}"
- [[ $optdepends ]] && printf "optdepend = %s\n" "${optdepends[@]//+([[:space:]])/ }"
- [[ $makedepends ]] && printf "makedepend = %s\n" "${makedepends[@]}"
+ [[ $license ]] && printf "license = %s\n" "${license[@]}"
+ [[ $replaces ]] && printf "replaces = %s\n" "${replaces[@]}"
+ [[ $groups ]] && printf "group = %s\n" "${groups[@]}"
+ [[ $conflicts ]] && printf "conflict = %s\n" "${conflicts[@]}"
+ [[ $provides ]] && printf "provides = %s\n" "${provides[@]}"
+ [[ $backup ]] && printf "backup = %s\n" "${backup[@]}"
+ [[ $depends ]] && printf "depend = %s\n" "${depends[@]}"
+ [[ $optdepends ]] && printf "optdepend = %s\n" "${optdepends[@]//+([[:space:]])/ }"
+ [[ $makedepends ]] && printf "makedepend = %s\n" "${makedepends[@]}"
+ [[ $checkdepends ]] && printf "checkdepend = %s\n" "${checkdepends[@]}"
local it
for it in "${packaging_options[@]}"; do
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index e43f0961..504cae97 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -257,7 +257,7 @@ db_write_entry() {
# blank out all variables
local pkgfile=$1
local -a _groups _licenses _replaces _depends _conflicts _provides \
- _optdepends _makedepends
+ _optdepends _makedepends _checkdepends
local pkgname pkgver pkgdesc csize size url arch builddate packager \
md5sum sha256sum pgpsig pgpsigsize
@@ -278,6 +278,7 @@ db_write_entry() {
provides) _provides+=("$provides") ;;
optdepend) _optdepends+=("$optdepend") ;;
makedepend) _makedepends+=("$makedepend") ;;
+ checkdepend) _checkdepends+=("$checkdepend") ;;
esac
done< <(bsdtar -xOqf "$pkgfile" .PKGINFO)
@@ -365,6 +366,7 @@ db_write_entry() {
format_entry "PROVIDES" "${_provides[@]}"
format_entry "OPTDEPENDS" "${_optdepends[@]}"
format_entry "MAKEDEPENDS" "${_makedepends[@]}"
+ format_entry "CHECKDEPENDS" "${_checkdepends[@]}"
} >'depends'
popd >/dev/null