at v206 1.3 kB view raw
1#!/bin/sh 2 3# Update patch set for GNU Bash or Readline. 4 5if [ $# -ne 2 ] 6then 7 echo "Usage: $(basename $0) PROJECT VERSION" 8 echo "" 9 echo "Update the patch set for PROJECT (one of \`bash' or \`readline') for" 10 echo "the given version (e.g., \`4.0'). Produce \`PROJECT-patches.nix'." 11 exit 1 12fi 13 14PROJECT="$1" 15VERSION="$2" 16VERSION_CONDENSED="$(echo $VERSION | sed -es/\\.//g)" 17 18GPG="$(if $(type -P gpg2 > /dev/null); then echo gpg2; else echo gpg; fi)" 19PATCH_LIST="$PROJECT-$VERSION-patches.nix" 20 21set -e 22 23start=1 24end=100 # must be > 99 for correct padding 25 26rm -vf "$PATCH_LIST" 27 28( echo "# Automatically generated by \`$(basename $0)'; do not edit." ; \ 29 echo "" ; \ 30 echo "patch: [" ) \ 31>> "$PATCH_LIST" 32 33for i in `seq -w $start $end` 34do 35 wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i || break 36 wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i.sig 37 "$GPG" --verify $PROJECT$VERSION_CONDENSED-$i.sig 38 echo "(patch \"$i\" \"$(nix-hash --flat --type sha256 --base32 $PROJECT$VERSION_CONDENSED-$i)\")" \ 39 >> "$PATCH_LIST" 40 41 rm -f $PROJECT$VERSION_CONDENSED-$i{,.sig} 42done 43 44echo "]" >> "$PATCH_LIST" 45 46echo "Got $(expr $i - 1) patches." 47echo "Patch list has been written to \`$PATCH_LIST'."