aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xLibrary/Contributions/cmds/brew-md5-to-sha124
1 files changed, 24 insertions, 0 deletions
diff --git a/Library/Contributions/cmds/brew-md5-to-sha1 b/Library/Contributions/cmds/brew-md5-to-sha1
new file mode 100755
index 000000000..0c1ca444d
--- /dev/null
+++ b/Library/Contributions/cmds/brew-md5-to-sha1
@@ -0,0 +1,24 @@
+#!/bin/sh
+# Change every formula's MD5 to a SHA1.
+
+HOMEBREW_PREFIX=$(brew --config | grep HOMEBREW_PREFIX | sed -e 's/HOMEBREW_PREFIX: //')
+cd $HOMEBREW_PREFIX/Library/Formula
+FORMULAE=$(grep "^ md5 " -rl . | sed -e 's/\.\///' -e 's/\.rb$//')
+
+for FORMULA in $FORMULAE
+do
+ echo "Fetching and SHA1ing $FORMULA"
+ if brew fetch $FORMULA &>/dev/null
+ then
+ SHA1=$(brew fetch $FORMULA | grep SHA1 | sed -e 's/SHA1: //')
+ sed -i.old -e "s/^ md5 *[\"'][a-fA-F0-9]\{32\}[\"']/ sha1 '$SHA1'/" $FORMULA.rb
+ rm $FORMULA.rb.old
+ if !brew fetch $FORMULA &>/dev/null
+ then
+ echo "Error: SHA1ing $FORMULA failed, reverting"
+ git checkout $FORMULA.rb
+ fi
+ else
+ echo "Error: fetching $FORMULA failed, skipping"
+ fi
+done