aboutsummaryrefslogtreecommitdiff
path: root/pkgs/shells/bash/update-patch-set.sh
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-08 00:32:12 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-08 00:32:12 +0000
commit4b27d2870197b26b7c170caa333944231715d4a3 (patch)
tree6b781861cb96e9ce0660ca0b904ed3dda1cc6905 /pkgs/shells/bash/update-patch-set.sh
parent6e86ca940f9cb7fdbbf8663bc5c19af45fbc1e17 (diff)
Porting changes from stdenv-updates into this branch.
This comes from: svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff patch -p0 < diff and then adding into svn all files new from the patch. trunk@18255 comes from the last time I updated stdenv-updates from trunk. svn path=/nixpkgs/stdenv-updates2/; revision=18272
Diffstat (limited to 'pkgs/shells/bash/update-patch-set.sh')
-rw-r--r--pkgs/shells/bash/update-patch-set.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/shells/bash/update-patch-set.sh b/pkgs/shells/bash/update-patch-set.sh
new file mode 100644
index 000000000000..ded684571b0a
--- /dev/null
+++ b/pkgs/shells/bash/update-patch-set.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# Update patch set for GNU Bash or Readline.
+
+if [ $# -ne 2 ]
+then
+ echo "Usage: $(basename $0) PROJECT VERSION"
+ echo ""
+ echo "Update the patch set for PROJECT (one of \`bash' or \`readline') for"
+ echo "the given version (e.g., \`4.0'). Produce \`PROJECT-patches.nix'."
+ exit 1
+fi
+
+PROJECT="$1"
+VERSION="$2"
+VERSION_CONDENSED="$(echo $VERSION | sed -es/\\.//g)"
+
+GPG="$(if $(type -P gpg2 > /dev/null); then echo gpg2; else echo gpg; fi)"
+PATCH_LIST="$PROJECT-patches.nix"
+
+set -e
+
+start=1
+end=100 # must be > 99 for correct padding
+
+rm -vf "$PATCH_LIST"
+
+( echo "# Automatically generated by \`$(basename $0)'; do not edit." ; \
+ echo "" ; \
+ echo "patch: [" ) \
+>> "$PATCH_LIST"
+
+for i in `seq -w $start $end`
+do
+ wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i || break
+ wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i.sig
+ "$GPG" --verify $PROJECT$VERSION_CONDENSED-$i.sig
+ echo "(patch \"$i\" \"$(nix-hash --flat --type sha256 --base32 $PROJECT$VERSION_CONDENSED-$i)\")" \
+ >> "$PATCH_LIST"
+
+ rm -f $PROJECT$VERSION_CONDENSED-$i{,.sig}
+done
+
+echo "]" >> "$PATCH_LIST"
+
+echo "Got $(expr $i - 1) patches."
+echo "Patch list has been written to \`$PATCH_LIST'."