diff --git a/maintainers/scripts/copy-tarball.sh b/maintainers/scripts/copy-tarball.sh new file mode 100755 index 000000000000..9070977d7ce1 --- /dev/null +++ b/maintainers/scripts/copy-tarball.sh @@ -0,0 +1,36 @@ +#! /bin/sh -e + +distDir=/data/webserver/tarballs + +url="$1" +if [ -z "$url" ]; then echo "syntax: $0 URL"; exit 0; fi + +base="$(basename "$url")" +if [ -z "$base" ]; then echo "bad URL"; exit 1; fi +dstPath="$distDir/$base" + +if [ -e "$dstPath" ]; then echo "$dstPath already exists"; exit 0; fi + +echo "downloading $url to $newPath" + +if [ -n "$dryRun" ]; then exit 0; fi + +declare -a res +if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then + continue +fi +storePath=${res[1]} +cp $storePath "$dstPath.tmp.$$" +mv -f "$dstPath.tmp.$$" "$dstPath" + +echo "hashing $dstPath" + +md5=$(nix-hash --flat --type md5 "$dstPath") +ln -sfn "../$base" $distDir/md5/$md5 + +sha1=$(nix-hash --flat --type sha1 "$dstPath") +ln -sfn "../$base" $distDir/sha1/$sha1 + +sha256=$(nix-hash --flat --type sha256 "$dstPath") +ln -sfn "../$base" $distDir/sha256/$sha256 +ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256") diff --git a/maintainers/scripts/copy-tarballs.sh b/maintainers/scripts/copy-tarballs.sh index c8f357100036..c1ed90391910 100755 --- a/maintainers/scripts/copy-tarballs.sh +++ b/maintainers/scripts/copy-tarballs.sh @@ -1,57 +1,14 @@ #! /bin/sh -e -distDir=/data/webserver/tarballs - -urls=$(nix-instantiate --eval-only --xml --strict ./eval-release.nix \ +urls=$(nix-instantiate --eval-only --xml --strict '' \ | grep -A2 'name="urls"' \ | grep '