From 6f71faf35582a472d4492422d2af1bcad8ef0339 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Mon, 14 Sep 2015 22:53:49 -0400 Subject: [PATCH] add Scripts to Rule Them All --- script/bootstrap | 30 ++++++++++++++++++++++++++++++ script/install | 15 +++++++++++++++ script/restart | 4 ++++ script/server | 12 ++++++++++++ script/uninstall | 6 ++++++ script/upgrade | 8 ++++++++ 6 files changed, 75 insertions(+) create mode 100755 script/bootstrap create mode 100755 script/install create mode 100755 script/restart create mode 100755 script/server create mode 100755 script/uninstall create mode 100755 script/upgrade diff --git a/script/bootstrap b/script/bootstrap new file mode 100755 index 0000000..639ae9a --- /dev/null +++ b/script/bootstrap @@ -0,0 +1,30 @@ +#!/bin/sh + +set -e + +if ! test $(which forever) +then + echo + echo "!!!!" + echo "You don't have forever installed. You need to install it first." + echo + echo "Just install it with this command: " + echo 'sudo npm install forever -g' + echo + exit 1 +fi + +mkdir -p log + +echo "Installing packages..." +npm install > /dev/null 2>&1 + +if [ ! -f config.json ] +then + echo + echo "==> Creating your config. Please edit config.json." + echo + cp config-sample.json config.json +fi + +echo "Finished setting up Homebridge! run it with script/server or install it with script/install." diff --git a/script/install b/script/install new file mode 100755 index 0000000..c4eaf76 --- /dev/null +++ b/script/install @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +echo "Installing Homebridge..." + +APP_PATH=`pwd` +USER_NAME=`whoami` + +cp startup/org.homebridge.plist ~/Library/LaunchAgents/org.homebridge.plist + +sed -i '' -e "s#%USER%#$USER_NAME#g" ~/Library/LaunchAgents/org.homebridge.plist +sed -i '' -e "s#%PATH%#$APP_PATH#g" ~/Library/LaunchAgents/org.homebridge.plist + +launchctl load -w -F ~/Library/LaunchAgents/org.homebridge.plist diff --git a/script/restart b/script/restart new file mode 100755 index 0000000..f887494 --- /dev/null +++ b/script/restart @@ -0,0 +1,4 @@ +#!/bin/sh + +script/uninstall +script/install diff --git a/script/server b/script/server new file mode 100755 index 0000000..5648755 --- /dev/null +++ b/script/server @@ -0,0 +1,12 @@ +#!/bin/sh + +forever=`which forever` + +test -z "$NODE_ENV" && + export NODE_ENV='development' + +if [ "$NODE_ENV" = "development" ]; then + $forever -f startup/forever/development.json +else + $forever start startup/forever/production.json +fi diff --git a/script/uninstall b/script/uninstall new file mode 100755 index 0000000..50a6745 --- /dev/null +++ b/script/uninstall @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "Uninstalling Homebridge..." +forever stop homebridge > /dev/null 2>&1 +launchctl unload ~/Library/LaunchAgents/org.homebridge.plist +rm ~/Library/LaunchAgents/org.homebridge.plist diff --git a/script/upgrade b/script/upgrade new file mode 100755 index 0000000..c5f6a9a --- /dev/null +++ b/script/upgrade @@ -0,0 +1,8 @@ +#!/bin/sh +echo "Updating from GitHub..." +BRANCH=$(git rev-parse --abbrev-ref HEAD) +git pull origin $BRANCH + +npm update + +script/restart