aboutsummaryrefslogtreecommitdiff
path: root/sbosrc
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2015-10-24 23:24:53 -0400
committerB. Watson <yalhcru@gmail.com>2015-10-24 23:24:53 -0400
commitd421f5569788249868982d39ecc66cab744d9152 (patch)
treec69424f14653ef99b99c74b34ea3572750cc040c /sbosrc
parentfc33bff165941d9ddb1a5b9bb105fa177ad533db (diff)
downloadsbostuff-d421f5569788249868982d39ecc66cab744d9152.tar.gz
sbosrc: sample client script for sbosrcarch
Diffstat (limited to 'sbosrc')
-rw-r--r--sbosrc49
1 files changed, 49 insertions, 0 deletions
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