md5sum, sha1sum, etc, do not exist on BSD systems by default. Openssl is
a good portable alternative. This also brings in a dependency for
openssl.

Closes FS#10530.

Signed-off-by: Sebastian Nowicki <[EMAIL PROTECTED]>
---
 scripts/makepkg.sh.in |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 6e2f1ad..cb55dea 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -480,8 +480,8 @@ generate_checksums() {
                                exit 1;; # $E_CONFIG_ERROR
                esac
 
-               if [ ! $(type -p "${integ}sum") ]; then
-                       error "$(gettext "Cannot find the '%s' program.")" 
"${integ}sum"
+               if [ ! $(type -p "openssl") ]; then
+                       error "$(gettext "Cannot find openssl.")"
                        exit 1 # $E_MISSING_PROGRAM
                fi
 
@@ -510,7 +510,7 @@ generate_checksums() {
                                fi
                        fi
 
-                       local sum="$(${integ}sum "$file" | cut -d ' ' -f 1)"
+                       local sum="$(openssl dgst -${integ} "$file" | awk 
'{print $2}')"
                        [ $ct -gt 0 ] && echo -n "$indent"
                        echo -n "'$sum'"
                        ct=$(($ct+1))
@@ -532,8 +532,8 @@ check_checksums() {
                                exit 1;; # $E_CONFIG_ERROR
                esac
 
-               if [ ! $(type -p "${integ}sum") ]; then
-                       error "$(gettext "Cannot find the '%s' program.")" 
"${integ}sum"
+               if [ ! $(type -p "openssl") ]; then
+                       error "$(gettext "Cannot find openssl.")"
                        exit 1 # $E_MISSING_PROGRAM
                fi
 
@@ -557,7 +557,7 @@ check_checksums() {
                                        fi
                                fi
 
-                               if echo "${integrity_sums[$idx]}  $file" | 
${integ}sum --status -c - &>/dev/null; then
+                               if [ "${integrity_sums[$idx]}" = "$(openssl 
dgst -${integ} "$file" | awk '{print $2}')" ]; then
                                        echo "$(gettext "Passed")" >&2
                                else
                                        echo "$(gettext "FAILED")" >&2
-- 
1.5.5.1


_______________________________________________
pacman-dev mailing list
[email protected]
http://archlinux.org/mailman/listinfo/pacman-dev

Reply via email to