summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2011-12-22 07:51:22 +0100
committerDan McGee <dan@archlinux.org>2011-12-29 05:27:02 +0100
commit1b461374264abd62c54133e544dedd5feb866043 (patch)
treefe838b982272dc314579fdd4fd6ecdc45770d9b0
parenta77e638c773d8a492f8c48e8c15474030a7e3d71 (diff)
downloadpacman-1b461374264abd62c54133e544dedd5feb866043.tar.gz
pacman-1b461374264abd62c54133e544dedd5feb866043.tar.xz
makepkg: Use SKIP in checksum to skip integrity check
Using the value of "SKIP" in the checksum array will cause that integrity check to be skipped. This makes building packages that rely on user configurable sources less painful. Based-on-patch-by: Dan McGee <dan@archlinux.org> Based-on-patch-by: David Campbell <davekong@archlinux.us> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--doc/PKGBUILD.5.txt7
-rw-r--r--scripts/makepkg.sh.in18
2 files changed, 15 insertions, 10 deletions
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index fad93e5c..a21c1dff 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -120,9 +120,10 @@ of the corresponding source file.
*md5sums (array)*::
This array contains an MD5 hash for every source file specified in the
source array (in the same order). makepkg will use this to verify source
- file integrity during subsequent builds. To easily generate md5sums, run
- `makepkg -g >> PKGBUILD`. If desired, move the md5sums line to an
- appropriate location.
+ file integrity during subsequent builds. If 'SKIP' is put in the array
+ in place of a normal hash, the integrity check for that source file will
+ be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
+ If desired, move the md5sums line to an appropriate location.
*sha1sums, sha256sums, sha384sums, sha512sums (arrays)*::
Alternative integrity checks that makepkg supports; these all behave
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index a4a3d13d..64b33c68 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -663,14 +663,18 @@ check_checksums() {
fi
if (( $found )) ; then
- local expectedsum=$(tr '[:upper:]' '[:lower:]' <<< "${integrity_sums[$idx]}")
- local realsum="$(openssl dgst -${integ} "$file")"
- realsum="${realsum##* }"
- if [[ $expectedsum = $realsum ]]; then
- echo "$(gettext "Passed")" >&2
+ if [[ ${integrity_sums[$idx]} = 'SKIP' ]]; then
+ echo "$(gettext "Skipped")" >&2
else
- echo "$(gettext "FAILED")" >&2
- errors=1
+ local expectedsum=$(tr '[:upper:]' '[:lower:]' <<< "${integrity_sums[$idx]}")
+ local realsum="$(openssl dgst -${integ} "$file")"
+ realsum="${realsum##* }"
+ if [[ $expectedsum = $realsum ]]; then
+ echo "$(gettext "Passed")" >&2
+ else
+ echo "$(gettext "FAILED")" >&2
+ errors=1
+ fi
fi
fi