version 1.1, 2003/11/14 02:58:20 |
version 1.8, 2007/12/10 16:02:37 |
|
|
#!/bin/sh |
#!/bin/sh |
# $OpenXM$ |
# $OpenXM: OpenXM/src/util/oxfetch.sh,v 1.7 2006/10/13 11:51:25 ohara Exp $ |
|
|
fetch="wget --no-directories --passive-ftp --quiet --timestamping" |
MASTER_SITES="ftp://ftp.math.kobe-u.ac.jp/pub/OpenXM/misc/" |
|
fetch="wget --no-directories --passive-ftp --timestamping" |
url=$1 |
url=$1 |
distdir=${2:-.} |
distdir=${2:-.} |
md5file=$3 |
distinfo=${3:-./distinfo} |
distfile=`basename "$url"` |
distfile=`basename "$url"` |
|
|
_usage () { |
_usage () { |
echo 'usage: oxfetch URL [savedir] [md5file]' |
echo 'usage: oxfetch URL [savedir] [distinfo]' |
exit 1 |
exit 1 |
} |
} |
|
|
|
|
} |
} |
|
|
_fetch () { |
_fetch () { |
if [ "distfile" != "" -a ! -f "$distdir/$distfile" ]; then |
if [ "$distfile" != "" -a ! -f "$distdir/$distfile" ]; then |
(cd $distdir; $fetch $url) |
(cd $distdir; $fetch $url) |
fi |
fi |
} |
} |
|
|
_check () { |
# usage: _md5grep gc6.2.tar.gz distinfo |
if [ -f "$md5file" ]; then |
_md5grep () { |
(cd $distdir; md5 "$distfile" > "md5.$distfile" ) |
if [ $# -gt 0 ]; then |
if cmp "$distdir/md5.$distfile" "$md5file" ; then |
awk '/^MD5 \('"$1"'\) =/{print $NF}' $2 |
|
fi |
|
} |
|
|
|
_md5sum () { |
|
md5.sh "$1" | awk '{print $NF}' |
|
} |
|
|
|
_check() { |
|
if [ ! -f "$distdir/$distfile" ]; then |
|
echo "Error: ${distfile} not found." |
|
exit 1 |
|
fi |
|
if [ -f "$distinfo" ]; then |
|
key1=`_md5sum "${distdir}/${distfile}"` |
|
key2=`_md5grep "${distfile}" ${distinfo}` |
|
if [ "$key1" = "$key2" ] ; then |
echo "Checksum OK for $distfile". |
echo "Checksum OK for $distfile". |
|
elif [ -z "$key1" ]; then |
|
echo "Warnig: no md5 checker." |
else |
else |
echo "Checksum mismatch for $distfile". |
echo "Error: checksum mismatch for $distfile". |
|
exit 1 |
fi |
fi |
rm -f "$distdir/md5.$distfile" |
|
fi |
fi |
} |
} |
|
|
|
|
_mkdir $distdir |
_mkdir $distdir |
_fetch |
_fetch |
_check |
_check |
|
exit 0 |