diff options
author | Olivier Brunel <i.am.jack.mail@gmail.com> | 2013-02-23 13:08:44 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-03-10 09:01:56 +1000 |
commit | 2259dff7f34b082d8e43af15228e74cba75580f6 (patch) | |
tree | d3b420fe0dd82606af11054693973f2b250e3bd4 | |
parent | 93fa63ee8a7f17bea676ac4f29d1733cb04ef7d2 (diff) |
makepkg: Add --verifysource to only download/verify source files
Because --noextract also implies to not download/verify source files, it wasn't
possible to simply do that, without either extracting and/or building.
(Note: --verifysource takes precedence over --noextract)
Signed-off-by: Olivier Brunel <i.am.jack.mail@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | doc/makepkg.8.txt | 5 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index 498c79bb..ecee63a1 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -65,6 +65,11 @@ Options then make a package out of the result. Keep in mind that creating a patch may be a better solution to allow others to use your PKGBUILD. +*\--verifysource*:: + For each source file in the source array of PKGBUILD, download the file + if required and perform the integrity checks. No extraction or build is + performed. Useful for performing subsequent offline builds. + *-f, \--force*:: makepkg will not build a package if a built package already exists in the `PKGDEST` (set in linkman:makepkg.conf[5]) directory, which may diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index e27ee3c2..8145cc3f 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -68,6 +68,7 @@ INSTALL=0 NOBUILD=0 NODEPS=0 NOEXTRACT=0 +VERIFYSOURCE=0 RMDEPS=0 REPKG=0 LOGGING=0 @@ -2475,6 +2476,7 @@ usage() { printf -- "$(gettext " -s, --syncdeps Install missing dependencies with %s")\n" "pacman" printf -- "$(gettext " -S, --source Generate a source-only tarball without downloaded sources")\n" printf -- "$(gettext " --allsource Generate a source-only tarball including downloaded sources")\n" + printf -- "$(gettext " --verifysource Download source files (if needed) and perform integrity checks")\n" printf -- "$(gettext " --asroot Allow %s to run as root user")\n" "makepkg" printf -- "$(gettext " --check Run the %s function in the %s")\n" "check()" "$BUILDSCRIPT" printf -- "$(gettext " --config <file> Use an alternate config file (instead of '%s')")\n" "$confdir/makepkg.conf" @@ -2525,7 +2527,7 @@ OPT_LONG=('allsource' 'asroot' 'check' 'clean' 'config:' 'force' 'geninteg' 'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'nobuild' 'nocolor' 'nocheck' 'nodeps' 'noextract' 'nosign' 'pkg:' 'repackage' 'rmdeps' 'skipchecksums' 'skipinteg' 'skippgpcheck' 'skippgpcheck' 'sign' - 'source' 'syncdeps' 'version') + 'source' 'syncdeps' 'verifysource' 'version') # Pacman Options OPT_LONG+=('asdeps' 'noconfirm' 'needed' 'noprogressbar') @@ -2574,6 +2576,7 @@ while true; do --sign) SIGNPKG='y' ;; -s|--syncdeps) DEP_BIN=1 ;; -S|--source) SOURCEONLY=1 ;; + --verifysource) VERIFYSOURCE=1 ;; -h|--help) usage; exit 0 ;; # E_OK -V|--version) version; exit 0 ;; # E_OK @@ -2951,7 +2954,7 @@ mkdir -p "$srcdir" chmod a-s "$srcdir" cd_safe "$srcdir" -if (( NOEXTRACT )); then +if (( NOEXTRACT && ! VERIFYSOURCE )); then warning "$(gettext "Using existing %s tree")" "src/" elif (( REPKG )); then if (( ! PKGFUNC && ! SPLITPKG )) \ @@ -2963,6 +2966,7 @@ elif (( REPKG )); then else download_sources check_source_integrity + (( VERIFYSOURCE )) && exit 0 # $E_OK extract_sources if (( PREPAREFUNC )); then run_prepare |