Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 21.05 52 lines 1.5 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell --pure -i bash -p wget -p gnupg -p cacert 3 4# Update patch set for GNU Bash or Readline. 5 6if [ $# -ne 2 ] 7then 8 echo "Usage: $(basename $0) PROJECT VERSION" 9 echo "" 10 echo "Update the patch set for PROJECT (one of \`bash' or \`readline') for" 11 echo "the given version (e.g., \`4.0'). Produce \`PROJECT-patches.nix'." 12 exit 1 13fi 14 15PROJECT="$1" 16VERSION="$2" 17VERSION_CONDENSED="$(echo $VERSION | sed -es/\\.//g)" 18PATCH_LIST="$PROJECT-$VERSION-patches.nix" 19 20set -e 21 22start=1 23end=100 # must be > 99 for correct padding 24 25rm -vf "$PATCH_LIST" 26 27wget "https://tiswww.case.edu/php/chet/gpgkey.asc" 28echo "4ef5051ce7200241e65d29c11eb57df8 gpgkey.asc" > gpgkey.asc.md5 29md5sum -c gpgkey.asc.md5 30gpg --import ./gpgkey.asc 31rm gpgkey.asc{,.md5} 32 33( echo "# Automatically generated by \`$(basename $0)'; do not edit." ; \ 34 echo "" ; \ 35 echo "patch: [" ) \ 36>> "$PATCH_LIST" 37 38for i in `seq -w $start $end` 39do 40 wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i || break 41 wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i.sig 42 gpg --verify $PROJECT$VERSION_CONDENSED-$i.sig 43 echo "(patch \"$i\" \"$(nix-hash --flat --type sha256 --base32 $PROJECT$VERSION_CONDENSED-$i)\")" \ 44 >> "$PATCH_LIST" 45 46 rm -f $PROJECT$VERSION_CONDENSED-$i{,.sig} 47done 48 49echo "]" >> "$PATCH_LIST" 50 51echo "Got $(expr $i - 1) patches." 52echo "Patch list has been written to \`$PATCH_LIST'."