From 985923cafaf08de5d97287ceaa0371249be65a5a Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 16 May 2026 03:37:47 -0400 Subject: Initial commit, moved here from sbostuff repo. --- sbosrc | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 sbosrc (limited to 'sbosrc') diff --git a/sbosrc b/sbosrc new file mode 100755 index 0000000..6d45922 --- /dev/null +++ b/sbosrc @@ -0,0 +1,50 @@ +#!/bin/sh + +# sbosrcarch client example script. tested with bash, ash, ksh. +# known not to work with zsh. + +# 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: + +# https://slackware.uk/~urchlay/repos/sbostuff/plain/sbofindsrc + +# path to the root of your archive (contains the by-name and +# by-md5 directories). no trailing slash here. +ARCHIVE=https://slackware.uk/sbosrcarch + +. $( 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