about summary refs log tree commit diff
path: root/maintainers/scripts/copy-tarballs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'maintainers/scripts/copy-tarballs.sh')
-rwxr-xr-xmaintainers/scripts/copy-tarballs.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/maintainers/scripts/copy-tarballs.sh b/maintainers/scripts/copy-tarballs.sh
new file mode 100755
index 000000000000..76ced8a01d90
--- /dev/null
+++ b/maintainers/scripts/copy-tarballs.sh
@@ -0,0 +1,57 @@
+#! /bin/sh -e
+
+distDir=/data/webserver/tarballs
+
+urls=$(nix-instantiate --eval-only --xml --strict pkgs/top-level/build-for-release.nix \
+    | grep -A2 'name="urls"' \
+    | grep '<string value=' \
+    | sed 's/.*"\(.*\)".*/\1/' \
+    | sort | uniq)
+
+for url in $urls; do
+    
+    if echo "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then continue; fi
+
+    base="$(basename "$url")"
+    newPath="$distDir/$base"
+
+    if ! test -e "$newPath"; then
+
+        #if echo $url | grep -q 'mirror://'; then
+        #   echo "$fn: skipping mirrored $url"
+        #   continue
+        #fi
+
+        echo "downloading $url to $newPath"
+
+        if test -n "$doCopy"; then
+            declare -a res
+            if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
+                continue
+            fi
+            storePath=${res[1]}
+            cp $storePath "$newPath.tmp.$$"
+            mv -f "$newPath.tmp.$$" "$newPath"
+        fi
+        
+    fi
+
+    if test -n "$doCopy" -a -e "$newPath"; then
+
+        echo "hashing $newPath"
+
+        md5=$(nix-hash --flat --type md5 "$newPath")
+        ln -sfn "../$base" $distDir/md5/$md5
+
+        sha1=$(nix-hash --flat --type sha1 "$newPath")
+        ln -sfn "../$base" $distDir/sha1/$sha1
+
+        sha256=$(nix-hash --flat --type sha256 "$newPath")
+        ln -sfn "../$base" $distDir/sha256/$sha256
+        ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")
+
+    fi
+
+done
+
+echo DONE