|
|
- #!/bin/sh
-
- # only argument should be the version to upgrade to
- if [ $# != 1 ]
- then
- echo "Expected a version tag like v2.7.1"
- exit 1
- fi
-
- VERSION="$1"
- URL="https://github.com/skypjack/entt/archive/$VERSION.tar.gz"
- FORMULA="entt.rb"
-
- echo "Updating homebrew package to $VERSION"
-
- echo "Cloning..."
- git clone https://github.com/skypjack/homebrew-entt.git
- if [ $? != 0 ]
- then
- exit 1
- fi
- cd homebrew-entt
-
- # download the repo at the version
- # exit with error messages if curl fails
- echo "Curling..."
- curl "$URL" --location --fail --silent --show-error --output archive.tar.gz
- if [ $? != 0 ]
- then
- exit 1
- fi
-
- # compute sha256 hash
- echo "Hashing..."
- HASH="$(openssl sha256 archive.tar.gz | cut -d " " -f 2)"
-
- # delete the archive
- rm archive.tar.gz
-
- echo "Sedding..."
-
- # change the url in the formula file
- # the slashes in the URL must be escaped
- ESCAPED_URL="$(sed -e 's/[\/&]/\\&/g' <<< "$URL")"
- sed -i -e '/url/s/".*"/"'$ESCAPED_URL'"/' $FORMULA
-
- # change the hash in the formula file
- sed -i -e '/sha256/s/".*"/"'$HASH'"/' $FORMULA
-
- # delete temporary file created by sed
- rm "$FORMULA-e"
-
- # update remote repo
- echo "Gitting..."
- git add entt.rb
- git commit -m "Update to $VERSION"
- git push origin master
-
- # out of homebrew-entt dir
- cd ..
|