Created
January 19, 2020 22:13
-
-
Save vanitasvitae/daa5f4b6ad5cde53cac1f3e2494538e4 to your computer and use it in GitHub Desktop.
Script for updating matterbridge
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
if [ $# -eq 0 ] | |
then | |
echo "Usage: update-matterbridge <version>" | |
exit 1 | |
fi | |
VERSION=$1 | |
REPO_URL=https://github.com/42wim/matterbridge | |
BINARY_NAME=matterbridge-$VERSION-linux-64bit | |
CHECKSUMS=checksums.txt | |
CHECKSUMS_ASC=$CHECKSUMS.asc | |
RELEASES_URL=$REPO_URL/releases/download | |
VERSION_URL=$RELEASES_URL/v$VERSION | |
BINARY_URL=$VERSION_URL/$BINARY_NAME | |
CHECKSUMS_URL=$VERSION_URL/$CHECKSUMS | |
CHECKSUMS_ASC_URL=$VERSION_URL/$CHECKSUMS_ASC | |
SIGNING_KEY=CC7D978417C1AEA1E4CDD7240E41AB4BF4C610B4 | |
BINARY_DEST=/opt | |
LINK_NAME=/usr/local/bin/matterbridge | |
SERVICE_NAME=matterbridge | |
SERVICE_USER=bridge | |
# Check if key is present in gpg store | |
gpg --batch --list-key $SIGNING_KEY | |
if [ $? -ne 0 ] | |
then | |
echo "Signing key $SIGNING_KEY not found. Try to receive it." | |
gpg --batch --yes --trust-model always --keyserver pgp.mit.edu --recv-keys $SIGNING_KEY | |
if [ $? -ne 0 ] | |
then | |
echo "Could not receive signing key." | |
exit 1 | |
fi | |
fi | |
echo "Signing key found." | |
echo "Fetch checksum files..." | |
cd $(mktemp -d) | |
wget -q --show-progress $CHECKSUMS_ASC_URL | |
wget -q --show-progress $CHECKSUMS_URL | |
echo "Verify Signature." | |
gpg --verify ./$CHECKSUMS_ASC ./$CHECKSUMS | |
if [ $? -ne 0 ] | |
then | |
echo "Invalid Signature!" | |
exit 1 | |
fi | |
echo "Valid Signature!" | |
echo "Dowload release..." | |
wget -q --show-progress $BINARY_URL | |
echo $PWD | |
sha256sum --ignore-missing -c ./$CHECSUMS | |
if [ -ne $? ] | |
then | |
echo "Checksum Mismatch!" | |
exit 1 | |
fi | |
echo "Stopping service." | |
sudo service matterbridge stop | |
echo "Fix file permissions." | |
sudo chown $SERVICE_USER $BINARY_NAME | |
sudo chmod +x $BINARY_NAME | |
echo "Move new release to $BINARY_DEST." | |
sudo mv $BINARY_NAME $BINARY_DEST/. | |
echo "Update link" | |
sudo ln -sf $BINARY_DEST/$BINARY_NAME $LINK_NAME | |
echo "Restart service." | |
sudo service matterbridge start | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment