summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJohannes Löthberg <johannes@kyriasis.com>2015-05-25 23:46:37 +0200
committerAllan McRae <allan@archlinux.org>2015-06-20 17:32:57 +1000
commitaa9aa343cbb391ccc2c2c1a3917f37a98e47105e (patch)
tree1e4b93ad172986cda9acd1e07be029282793d6b4 /scripts
parent2bed2090fbf9777f60bdc33eb44daf94c8c2a973 (diff)
downloadpacman-aa9aa343cbb391ccc2c2c1a3917f37a98e47105e.tar.xz
makepkg: Add flag for printing SRCINFO to stdout
This commit adds a makepkg option to generate and print the SRCINFO file for a PKGBUILD, required by the new AUR, to stdout. AUR 4.0 will use Git instead of source tarballs for uploading packages, so making makepkg capable of printing the SRCINFO would simplify package management, instead of having to extract it from a source tarball. It is also useful for scripting other things, so that instead of having to parse PKGBUILDs, one can make makepkg generate the SRCINFO and then you can parse that instead, which is much simpler and less error-prone. Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/makepkg.sh.in9
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index c74e84a8..2613b314 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1723,6 +1723,7 @@ usage() {
printf -- "$(gettext " --nosign Do not create a signature for the package")\n"
printf -- "$(gettext " --packagelist Only list packages that would be produced, without PKGEXT")\n"
printf -- "$(gettext " --pkg <list> Only build listed packages from a split package")\n"
+ printf -- "$(gettext " --printsrcinfo Print the generated SRCINFO and exit")\n"
printf -- "$(gettext " --sign Sign the resulting package with %s")\n" "gpg"
printf -- "$(gettext " --skipchecksums Do not verify checksums of the source files")\n"
printf -- "$(gettext " --skipinteg Do not perform any verification checks on source files")\n"
@@ -1768,7 +1769,7 @@ OPT_SHORT="AcCdefFghiLmop:rRsSV"
OPT_LONG=('allsource' 'check' 'clean' 'cleanbuild' 'config:' 'force' 'geninteg'
'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'noarchive' 'nobuild'
'nocolor' 'nocheck' 'nodeps' 'noextract' 'noprepare' 'nosign' 'packagelist'
- 'pkg:' 'repackage' 'rmdeps' 'sign' 'skipchecksums' 'skipinteg'
+ 'pkg:' 'printsrcinfo' 'repackage' 'rmdeps' 'sign' 'skipchecksums' 'skipinteg'
'skippgpcheck' 'source' 'syncdeps' 'verifysource' 'version')
# Pacman Options
@@ -1813,6 +1814,7 @@ while true; do
-p) shift; BUILDFILE=$1 ;;
--pkg) shift; IFS=, read -ra p <<<"$1"; PKGLIST+=("${p[@]}"); unset p ;;
--packagelist) PACKAGELIST=1 IGNOREARCH=1;;
+ --printsrcinfo) PRINTSRCINFO=1 ;;
-r|--rmdeps) RMDEPS=1 ;;
-R|--repackage) REPKG=1 ;;
--sign) SIGNPKG='y' ;;
@@ -2099,6 +2101,11 @@ if (( PACKAGELIST )); then
exit 0
fi
+if (( PRINTSRCINFO )); then
+ write_srcinfo
+ exit 0
+fi
+
if (( ! PKGVERFUNC )); then
check_build_status
fi