Skip to content

Instantly share code, notes, and snippets.

@spaghetti-
Last active August 18, 2016 07:59
Show Gist options
  • Save spaghetti-/b1a91a4e79de416d14deb9e58e857e12 to your computer and use it in GitHub Desktop.
Save spaghetti-/b1a91a4e79de416d14deb9e58e857e12 to your computer and use it in GitHub Desktop.
update homebrew formulae from sha1 to sha256
#!/bin/sh
if grep -q 'sha256' "$1"
then
echo "$1 is already up to date, not verifying."
exit 0
fi
FILE=$1
URL=`grep 'url' "$1" | cut -d' ' -f 4 | sed "s/\'//g" | sed 's/"//g'`
SHA1=`grep 'sha1' "$1" | cut -d' ' -f 4 | sed "s/\'//g" | sed 's/"//g'`
FNAME=`basename $URL`
pushd /tmp >/dev/null
curl -s -O $URL
if [ ! -f $FNAME ]
then
echo "File not found"; exit 1
popd > /dev/null
fi
FILESHA1=`shasum -a 1 -b $FNAME | cut -d' ' -f 1`
FILESHA256=`shasum -a 256 -b $FNAME | cut -d' ' -f 1`
rm $FNAME
popd > /dev/null
if [ ! "$SHA1" == "$FILESHA1" ]
then
echo "original signatures don't match: $FILE"
echo " original: $SHA1 $FNAME"
echo " new: $FILESHA1 $FNAME"
echo "changing anyway."
fi
sed -i .bak s/sha1/sha256/ $FILE
sed -i .bak s/$SHA1/$FILESHA256/ $FILE
@spaghetti-
Copy link
Author

Run find . -maxdepth 1 -type f -not -name "." -name "*.rb" -print0 | xargs -I{} -0 sh -c './fix-sig.sh $1' -- {}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment