diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2021-01-28 03:09:25 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2021-01-28 03:09:25 -0500 |
commit | 4c113a73c2033b4cea8ac4692322dd932b9ca227 (patch) | |
tree | d25cf2e5f66c9246a44cad29be27c6d8c6f5daa0 | |
parent | 0922194d592c338c315921f4970710e22b1a4d94 (diff) |
sq mksums
-rwxr-xr-x | scripts/makepkg.installed-wip | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/scripts/makepkg.installed-wip b/scripts/makepkg.installed-wip index f6724d2d..680a0a68 100755 --- a/scripts/makepkg.installed-wip +++ b/scripts/makepkg.installed-wip @@ -1017,27 +1017,29 @@ There is NO WARRANTY, to the extent permitted by law.\n")" update_mksums() { declare -r PKGBUILD="$(dirname $BUILDFILE)"/PKGBUILD local padding - local mksums - local mksums_ind + local sums + local sums_ind if [[ -f "$BUILDFILE" && -w "$BUILDFILE" ]] && # temporary mksource PKGBUILD [[ -f "$PKGBUILD" && -w "$PKGBUILD" ]]; then # the real PKGBUILD updpkgsums "$BUILDFILE" source_safe "$BUILDFILE" - for algo in ${known_hash_algos[*]}; do - for array in mk${algo}sums{,_armv7h,_i686,_x86_64}; do - if grep "^[[:blank:]]*$array=(" "$PKGBUILD" > /dev/null; then - padding=$(printf "%${#array}s ") - mksums_ind="${array}[@]" - mksums="'$(sed "s| |'\n$padding'|g" <<<${!mksums_ind})'" - - awk -v array=$array \ - -v array_rx="^[ ]*${array}=" \ - -v mksums="$mksums" \ - '$0 ~ array_rx , /^[^#]*\)/ { m=NR } \ - NR == m + 1 && !!m { print array"=("mksums")" } \ - NR != m { print } ' \ + # parse existing checksums arrays var-names + for algorithm in ${known_hash_algos[*]}; do + for array_var in mk${algorithm}sums{,_armv7h,_i686,_x86_64}; do + if grep "^[[:blank:]]*$array_var=(" "$PKGBUILD" > /dev/null; then + padding=$(printf "%${#array_var}s ") + sums_ind="${array_var}[@]" + sums="'$(sed "s| |'\n$padding'|g" <<<${!sums_ind})'" + + # repalce each checksums array + awk -v array_var=$array_var \ + -v array_rx="^[ ]*$array_var=" \ + -v sums="$sums" \ + '$0 ~ array_rx , /^[^#]*\)/ { m=NR } \ + NR != m { print } \ + NR == m + 1 && !!m { print array_var"=("sums")" } ' \ "$PKGBUILD" > "$PKGBUILD".tmp cat -- "$PKGBUILD".tmp > "$PKGBUILD" ; rm "$PKGBUILD".tmp ; fi |