diff options
author | B. Watson <yalhcru@gmail.com> | 2015-10-24 23:24:53 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2015-10-24 23:24:53 -0400 |
commit | d421f5569788249868982d39ecc66cab744d9152 (patch) | |
tree | c69424f14653ef99b99c74b34ea3572750cc040c | |
parent | fc33bff165941d9ddb1a5b9bb105fa177ad533db (diff) | |
download | sbostuff-d421f5569788249868982d39ecc66cab744d9152.tar.gz |
sbosrc: sample client script for sbosrcarch
-rw-r--r-- | sbosrc | 49 |
1 files changed, 49 insertions, 0 deletions
@@ -0,0 +1,49 @@ +#!/bin/sh + +# sbosrcarch client example script. tested with bash, ash, zsh, ksh. + +# if you want a fancier client, that's smart enough to try several +# archive sites, plus well-known source archives like gentoo and +# freebsd, plus archive.org's wayback machine, have a look at: + +# http://urchlay.naptime.net/repos/sbostuff/plain/sbofindsrc + +# path to the root of your archive (contains the by-name and +# by-md5 directories): +ARCHIVE=http://yoursite.com/sbosrc + +. $( pwd )/*.info || ( echo "no .info file in current dir" 1>&2 && exit 1 ) + +if [ "$ARCH" = "x86_64" -a "$MD5SUM_x86_64" != "" ]; then + MD5SUM="$MD5SUM_x86_64" + DOWNLOAD="$DOWNLOAD_x86_64" +fi + +set $MD5SUM + +for url in $DOWNLOAD; do + file="$( echo "$url" | sed 's,.*/,,' )" + md5=$1 + shift + + echo "Downloading $file ($md5)" + + a=$( echo $md5 | cut -b1 ) + b=$( echo $md5 | cut -b2 ) + + wget -O "$file" "$ARCHIVE/by-md5/$a/$b/$md5/$file" + + if [ -e "$file" -a "$( md5sum "$file" | cut -d' ' -f1 )" = "$md5" ]; then + echo "downloaded, md5sum matches" + else + echo "download failed" + fail=1 + fi +done + +if [ "$fail" != "1" ]; then + echo "All files found and downloaded successfully" + exit 0 +else + exit 1 +fi |