Commit 8a38afd4 authored by Joey Hess's avatar Joey Hess

Support using md5 and shaN programs, as found on FreeBSD, in addition to md5sum and shaNsum.

Based on the patch used for the FreeBSD port of debootstrap:
http://www.freebsd.org/cgi/cvsweb.cgi/ports/sysutils/debootstrap/files/patch-functions?rev=1.3;content-type=text%2Fplain

That entire patch should now be unnecessary.
parent 7401415a
......@@ -5,6 +5,8 @@ debootstrap (1.0.36) UNRELEASED; urgency=low
chroot or jail.
* Clarify "target" in usage message.
* Search PATH for programs, rather than checking hardcoded locations.
* Support using md5 and shaN programs, as found on FreeBSD, in addition
to md5sum and shaNsum.
-- Joey Hess <joeyh@debian.org> Mon, 15 Aug 2011 14:14:29 -0400
......
......@@ -447,7 +447,7 @@ fi
if [ -z "$SHA_SIZE" ]; then
SHA_SIZE=256
fi
if ! in_path "sha${SHA_SIZE}sum"; then
if ! in_path "sha${SHA_SIZE}sum" && ! in_path "sha${SHA_SIZE}"; then
SHA_SIZE=1
fi
DEBOOTSTRAP_CHECKSUM_FIELD="SHA$SHA_SIZE"
......
......@@ -249,9 +249,21 @@ verify_checksum () {
local expchecksum="$2"
local expsize="$3"
if [ "$DEBOOTSTRAP_CHECKSUM_FIELD" = "MD5SUM" ]; then
relchecksum=`md5sum < "$1" | sed 's/ .*$//'`
if in_path md5sum; then
relchecksum=`md5sum < "$1" | sed 's/ .*$//'`
elif in_path md5; then
relchecksum=`md5 < "$1"`
else
error 1 SIGCHECK "Cannot check md5sum"
fi
else
relchecksum=`sha${SHA_SIZE}sum < "$1" | sed 's/ .*$//'`
if in_path "sha${SHA_SIZE}sum"; then
relchecksum=`sha${SHA_SIZE}sum < "$1" | sed 's/ .*$//'`
elif in_path "sha${SHA_SIZE}"; then
relchecksum=`sha${SHA_SIZE} < "$1"`
else
error 1 SIGCHECK "Cannot check sha${SHA_SIZE}sum"
fi
fi
relsize=`wc -c < "$1"`
if [ "$expsize" -ne "$relsize" ] || [ "$expchecksum" != "$relchecksum" ]; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment