[pacman-dev] [PATCH] Use openssl for checksum verification instead of *sum utilities
Sebastian Nowicki
sebnow at gmail.com
Sat May 31 02:35:16 EDT 2008
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 <sebnow at gmail.com>
---
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
More information about the pacman-dev
mailing list