From d421f5569788249868982d39ecc66cab744d9152 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 24 Oct 2015 23:24:53 -0400 Subject: sbosrc: sample client script for sbosrcarch --- sbosrc | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 sbosrc diff --git a/sbosrc b/sbosrc new file mode 100644 index 0000000..df9c206 --- /dev/null +++ b/sbosrc @@ -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 -- cgit v1.2.3