aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsbofindsrc34
1 files changed, 28 insertions, 6 deletions
diff --git a/sbofindsrc b/sbofindsrc
index e5682db..552e27c 100755
--- a/sbofindsrc
+++ b/sbofindsrc
@@ -5,12 +5,16 @@
SELF=$( basename $0 )
# to add a repo, list its name here, and write a <name>_download()
-# function, which should return success if a file was downloaded
-# and failure otherwise.
+# function, which should return success if a file was downloaded and
+# failure otherwise. order isn't important here, it's randomized on
+# every run.
-# these are used in the order listed. the order is basically random
-# right now, possibly could rank them according to something or another.
-repos="macports fedora wayback naptime tld ponce sfdirect gentoo netbsd freebsd debian"
+repos="wayback sbosrcarch macports fedora naptime pldattic tld ponce sfdirect gentoo netbsd freebsd debian"
+
+# mirror(s) to use for sbosrcarch, one or more, space-separated.
+# these are tried in the order listed.
+# leave off the trailing / (shouldn't really matter, but...)
+sbosrcarch_mirrors="http://urchlay.naptime.net/~urchlay/sbosrc"
usage() {
cat <<EOF
@@ -86,6 +90,14 @@ do_wget() {
wget $wgetopts $@ $url
}
+sbosrcarch_download() {
+ dir="by-md5/$( echo $dlmd5 | cut -b1 )/$( echo $dlmd5 | cut -b2 )/$dlmd5"
+ for mirror in $sbosrcarch_mirrors; do
+ do_wget "$mirror/$dir/$dlfile"
+ check_file && return 0;
+ done
+}
+
# ponce's server returns 200 OK status for its 404 page, hence the ugly:
ponce_download() {
do_wget "http://ponce.cc/slackware/sources/repo/$dlfile" 2>&1 | tee tmp.$$
@@ -152,6 +164,12 @@ tld_download() {
do_wget "http://df.tld-linux.org/distfiles/by-md5/$dir/" -r -l1 -nH -np -nd -Rdesc -Rindex.html\*
}
+# TODO: try also http://distfiles.pld-linux.org/distfiles/by-md5/ ? (is it the same?)
+pldattic_download() {
+ dir="$( echo $dlmd5 | cut -b1 )/$( echo $dlmd5 | cut -b2 )/$dlmd5"
+ do_wget "http://attic-distfiles.pld-linux.org/distfiles/by-md5/$dir/" -r -l1 -nH -np -nd -Rdesc -Rindex.html\*
+}
+
# https://archive.org/help/wayback_api.php
# json_pp included in slackware's perl package
wayback_download() {
@@ -224,6 +242,10 @@ for srcurl in $DOWNLOAD; do
dlmd5=$1
shift
+ repos="$( ( for repo in $repos; do
+ echo $repo
+ done ) | sort -R )"
+
for repo in $repos; do
echo
echo "Trying $repo:"
@@ -235,7 +257,7 @@ for srcurl in $DOWNLOAD; do
if [ "$testmode" = "1" ]; then
[ "$got" = "0" ] && found=1
else
- check_file && break
+ check_file && found=1 && break
fi
done
done