63 lines
1.2 KiB
Bash
Executable file
63 lines
1.2 KiB
Bash
Executable file
#!/bin/bash -x
|
|
|
|
|
|
SCRIPT=$(readlink -f "$0")
|
|
SCRIPTPATH=$(dirname "$SCRIPT")
|
|
SCRIPTNAME="$0"
|
|
ARGS="$@"
|
|
|
|
|
|
|
|
|
|
self_update() {
|
|
# Wait for Network
|
|
sleep 10
|
|
|
|
cd $SCRIPTPATH
|
|
git fetch
|
|
|
|
UPSTREAM=${1:-'@{u}'}
|
|
LOCAL=$(git rev-parse @) #Hash of the current local commit (@ is a git shorthand)
|
|
REMOTE=$(git rev-parse "$UPSTREAM") #Hash of the current upstream commit
|
|
BASE=$(git merge-base @ "$UPSTREAM") #Hash of the commit at which the current branch and its upstream diverge
|
|
|
|
if [ $LOCAL = $REMOTE ]; then
|
|
echo "Repo is Up-to-date"
|
|
|
|
elif [ $LOCAL = $BASE ]; then
|
|
echo "Repo is not Up-to-date. Pulling!"
|
|
git pull --force
|
|
|
|
echo "Executeing the new version..."
|
|
exec "$SCRIPTNAME" "$@"
|
|
|
|
# Now exit this old instance
|
|
exit 0
|
|
|
|
else
|
|
echo "Diverged"
|
|
fi
|
|
|
|
echo "Already the latest version. Now running the script. "
|
|
|
|
|
|
}
|
|
|
|
main() {
|
|
# wait for sonic-pi to start
|
|
sleep 70
|
|
|
|
# set the default audio output to be the headphone jack
|
|
amixer cset numid=3 1
|
|
|
|
# set audio volume to full
|
|
amixer sset PCM 100%
|
|
|
|
# play our tune
|
|
cat /home/${USER}/world-o-techno/world-o-techno.rb|sonic_pi
|
|
}
|
|
|
|
self_update
|
|
main
|
|
|
|
|