diff options
author | Xavier Chantry <shiningxc@gmail.com> | 2009-10-14 20:07:28 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-05-05 19:28:49 -0500 |
commit | 79987c92cb07c67914adf1febcc5ebdecf2a09b7 (patch) | |
tree | ce483b706eac7f894482acbbd218cde6e2c4912e /scripts/makepkg.sh.in | |
parent | 64c3255b0e03190a35a1cef4bbc8b75b6be72684 (diff) | |
download | pacman-79987c92cb07c67914adf1febcc5ebdecf2a09b7.tar.xz |
makepkg -g: use checksums defined in the pkgbuild
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
[Allan: amend documentation]
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'scripts/makepkg.sh.in')
-rw-r--r-- | scripts/makepkg.sh.in | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 7e99062b..dbb1a1e7 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -497,6 +497,24 @@ download_sources() { popd &>/dev/null } +get_integlist() { + local integ + local integlist=() + + for integ in md5 sha1 sha256 sha384 sha512; do + local integrity_sums=($(eval echo "\${${integ}sums[@]}")) + if [[ -n "$integrity_sums" ]]; then + integlist=(${integlist[@]} $integ) + fi + done + + if (( ${#integlist[@]} > 0 )); then + echo ${integlist[@]} + else + echo ${INTEGRITY_CHECK[@]} + fi +} + generate_checksums() { msg "$(gettext "Generating checksums for source files...")" plain "" @@ -506,8 +524,15 @@ generate_checksums() { exit 1 # $E_MISSING_PROGRAM fi + local integlist + if (( $# == 0 )); then + integlist=$(get_integlist) + else + integlist=$@ + fi + local integ - for integ in ${INTEGRITY_CHECK[@]}; do + for integ in ${integlist[@]}; do integ="${integ,,}" case "$integ" in md5|sha1|sha256|sha384|sha512) : ;; |