=================================================================== RCS file: /home/cvs/OpenXM/src/util/oxfetch.sh,v retrieving revision 1.4 retrieving revision 1.8 diff -u -p -r1.4 -r1.8 --- OpenXM/src/util/oxfetch.sh 2004/06/30 10:14:10 1.4 +++ OpenXM/src/util/oxfetch.sh 2007/12/10 16:02:37 1.8 @@ -1,11 +1,11 @@ #!/bin/sh -# $OpenXM: OpenXM/src/util/oxfetch.sh,v 1.3 2003/11/16 17:20:54 ohara Exp $ +# $OpenXM: OpenXM/src/util/oxfetch.sh,v 1.7 2006/10/13 11:51:25 ohara Exp $ MASTER_SITES="ftp://ftp.math.kobe-u.ac.jp/pub/OpenXM/misc/" fetch="wget --no-directories --passive-ftp --timestamping" url=$1 distdir=${2:-.} -distinfo=$3 +distinfo=${3:-./distinfo} distfile=`basename "$url"` _usage () { @@ -20,30 +20,36 @@ _mkdir () { } _fetch () { - if [ "distfile" != "" -a ! -f "$distdir/$distfile" ]; then + if [ "$distfile" != "" -a ! -f "$distdir/$distfile" ]; then (cd $distdir; $fetch $url) fi } -# usage: cat distinfo | _md5 gc6.2.tar.gz -_md5 () { +# usage: _md5grep gc6.2.tar.gz distinfo +_md5grep () { if [ $# -gt 0 ]; then - grep "^MD5 ($1) =" | sed -e "s/^MD5 ($1) = //" + awk '/^MD5 \('"$1"'\) =/{print $NF}' $2 fi } -_check () { +_md5sum () { + md5.sh "$1" | awk '{print $NF}' +} + +_check() { if [ ! -f "$distdir/$distfile" ]; then - echo "Not found." + echo "Error: ${distfile} not found." exit 1 fi if [ -f "$distinfo" ]; then - key1=`(cd $distdir; md5 "$distfile" ) | _md5 $distfile` - key2=`cat $distinfo | _md5 "$distfile"` + key1=`_md5sum "${distdir}/${distfile}"` + key2=`_md5grep "${distfile}" ${distinfo}` if [ "$key1" = "$key2" ] ; then echo "Checksum OK for $distfile". + elif [ -z "$key1" ]; then + echo "Warnig: no md5 checker." else - echo "Checksum mismatch for $distfile". + echo "Error: checksum mismatch for $distfile". exit 1 fi fi