mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Merge branch 'master' of https://github.com/tvdzwan/hyperion.git
Former-commit-id: 5bfb221400a9b75cfc37dd67306cdc349cd94e9a
This commit is contained in:
commit
8e15de7501
@ -18,10 +18,12 @@ tar --create --verbose --gzip --absolute-names --show-transformed-names \
|
||||
--transform "s:$builddir/bin/:hyperion/bin/:" \
|
||||
--transform "s:$repodir/effects/:hyperion/effects/:" \
|
||||
--transform "s:$repodir/config/:hyperion/config/:" \
|
||||
--transform "s:$repodir/bin/hyperion.init.sh:hyperion/init.d/hyperion.init.sh:" \
|
||||
--transform "s://:/:g" \
|
||||
"$builddir/bin/hyperiond" \
|
||||
"$builddir/bin/hyperion-remote" \
|
||||
"$builddir/bin/gpio2spi" \
|
||||
"$builddir/bin/dispmanx2png" \
|
||||
"$repodir/effects/"* \
|
||||
"$repodir/bin/hyperion.init.sh" \
|
||||
"$repodir/config/hyperion.config.json"
|
||||
|
62
bin/hyperion.init.sh
Normal file
62
bin/hyperion.init.sh
Normal file
@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
# Hyperion daemon
|
||||
# description: Hyperion daemon
|
||||
# processname: hyperiond
|
||||
|
||||
DAEMON=hyperiond
|
||||
DAEMONOPTS="/etc/hyperion.config.json"
|
||||
DAEMON_PATH="/usr/bin"
|
||||
|
||||
NAME=$DEAMON
|
||||
DESC="Hyperion ambilight server"
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf "%-50s" "Starting $NAME..."
|
||||
cd $DAEMON_PATH
|
||||
PID=`$DAEMON $DAEMONOPTS > /dev/null 2>&1 & echo $!`
|
||||
#echo "Saving PID" $PID " to " $PIDFILE
|
||||
if [ -z $PID ]; then
|
||||
printf "%s\n" "Fail"
|
||||
else
|
||||
echo $PID > $PIDFILE
|
||||
printf "%s\n" "Ok"
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
printf "%-50s" "Checking $NAME..."
|
||||
if [ -f $PIDFILE ]; then
|
||||
PID=`cat $PIDFILE`
|
||||
if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
|
||||
printf "%s\n" "Process dead but pidfile exists"
|
||||
else
|
||||
echo "Running"
|
||||
fi
|
||||
else
|
||||
printf "%s\n" "Service not running"
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
printf "%-50s" "Stopping $NAME"
|
||||
PID=`cat $PIDFILE`
|
||||
cd $DAEMON_PATH
|
||||
if [ -f $PIDFILE ]; then
|
||||
kill -HUP $PID
|
||||
printf "%s\n" "Ok"
|
||||
rm -f $PIDFILE
|
||||
else
|
||||
printf "%s\n" "pidfile not found"
|
||||
fi
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {status|start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
@ -1,12 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Make sure /sbin is on the path (for service to find sub scripts)
|
||||
PATH="/sbin:$PATH"
|
||||
|
||||
# Script for downloading and installing the latest Hyperion release
|
||||
|
||||
# Find out if we are on XBian
|
||||
# Find out if we are on Raspbmc
|
||||
IS_XBIAN=`cat /etc/issue | grep XBian | wc -l`
|
||||
IS_RASPBMC=`cat /etc/issue | grep Raspbmc | wc -l`
|
||||
IS_OPENELEC=`cat /etc/issue | grep -m 1 OpenELEC | wc -l`
|
||||
|
||||
# check which init script we should use
|
||||
USE_INITCTL=`which /sbin/initctl | wc -l`
|
||||
USE_SERVICE=`which /usr/sbin/service | wc -l`
|
||||
|
||||
# Make sure that the boblight daemon is no longer running
|
||||
BOBLIGHT_PROCNR=$(ps -e | grep "boblight" | wc -l)
|
||||
BOBLIGHT_PROCNR=$(pidof boblightd | wc -l)
|
||||
if [ $BOBLIGHT_PROCNR -eq 1 ];
|
||||
then
|
||||
echo 'Found running instance of boblight. Please stop boblight via XBMC menu before installing hyperion'
|
||||
@ -14,29 +23,73 @@ then
|
||||
fi
|
||||
|
||||
# Stop hyperion daemon if it is running
|
||||
/sbin/initctl stop hyperion
|
||||
# Start the hyperion daemon
|
||||
if [ $USE_INITCTL -eq 1 ]; then
|
||||
/sbin/initctl stop hyperion
|
||||
elif [ $USE_SERVICE -eq 1 ]; then
|
||||
/usr/sbin/service hyperion stop
|
||||
fi
|
||||
|
||||
# Get and extract the Hyperion binaries and effects to /opt
|
||||
wget https://raw.github.com/tvdzwan/hyperion/master/deploy/hyperion.tar.gz -O - | tar -C /opt -xz
|
||||
# Get and extract the Hyperion binaries and effects
|
||||
echo 'Downloading hyperion'
|
||||
if [ $IS_OPENELEC -eq 1 ]; then
|
||||
# OpenELEC has a readonly file system. Use alternative location
|
||||
curl --get https://raw.github.com/tvdzwan/hyperion/master/deploy/hyperion.tar.gz | tar -C /storage -xz
|
||||
curl --get https://raw.github.com/tvdzwan/hyperion/master/deploy/hyperion.deps.openelec-rpi.tar.gz | tar -C /storage/hyperion/bin -xz
|
||||
|
||||
# modify the default config to have a correct effect path
|
||||
sed -i 's:/opt:/storage:g' /storage/hyperion/config/hyperion.config.json
|
||||
else
|
||||
wget https://raw.github.com/tvdzwan/hyperion/master/deploy/hyperion.tar.gz -O - | tar -C /opt -xz
|
||||
fi
|
||||
|
||||
# create links to the binaries
|
||||
ln -fs /opt/hyperion/bin/hyperiond /usr/bin/hyperiond
|
||||
ln -fs /opt/hyperion/bin/hyperion-remote /usr/bin/hyperion-remote
|
||||
if [ $IS_OPENELEC -ne 1 ]; then
|
||||
ln -fs /opt/hyperion/bin/hyperiond /usr/bin/hyperiond
|
||||
ln -fs /opt/hyperion/bin/hyperion-remote /usr/bin/hyperion-remote
|
||||
fi
|
||||
|
||||
# create link to the gpio changer (gpio->spi)
|
||||
if [ $IS_XBIAN -eq 0 ]; then
|
||||
if [ $IS_RASPBMC -eq 1 ]; then
|
||||
ln -fs /opt/hyperion/bin/gpio2spi /usr/bin/gpio2spi
|
||||
fi
|
||||
|
||||
# Copy a link to the hyperion configuration file to /etc
|
||||
ln -s /opt/hyperion/config/hyperion.config.json /etc/hyperion.config.json
|
||||
if [ $IS_OPENELEC -eq 1 ]; then
|
||||
# copy to alternate location, because of readonly file system
|
||||
# /storage/.config is available as samba share. A symbolic link would not be working
|
||||
false | cp -i /storage/hyperion/config/hyperion.config.json /storage/.config/hyperion.config.json 2>/dev/null
|
||||
else
|
||||
ln -s /opt/hyperion/config/hyperion.config.json /etc/hyperion.config.json
|
||||
fi
|
||||
|
||||
|
||||
# Copy the service control configuration to /etc/int
|
||||
if [ $IS_XBIAN -eq 0 ]; then
|
||||
if [ $USE_INITCTL -eq 1 ]; then
|
||||
echo 'Installing initctl script'
|
||||
if [ $IS_RASPBMC -eq 1 ]; then
|
||||
wget -N https://raw.github.com/tvdzwan/hyperion/master/deploy/hyperion.conf -P /etc/init/
|
||||
else
|
||||
else
|
||||
wget -N https://raw.github.com/tvdzwan/hyperion/master/deploy/hyperion.xbian.conf -O /etc/init/hyperion.conf
|
||||
fi
|
||||
elif [ $USE_SERVICE -eq 1 ]; then
|
||||
echo 'Installing startup script in init.d'
|
||||
# place startup script in init.d and add it to upstart
|
||||
ln -fs /opt/hyperion/init.d/hyperion.init.sh /etc/init.d/hyperion
|
||||
chmod +x /etc/init.d/hyperion
|
||||
update-rc.d hyperion defaults 98 02
|
||||
elif [ $IS_OPENELEC -eq 1 ]; then
|
||||
# only add to start script if hyperion is not present yet
|
||||
if [ `cat /storage/.config/autostart.sh 2>/dev/null | grep hyperiond | wc -l` -eq 0 ]; then
|
||||
echo 'Adding Hyperion to autostart script'
|
||||
echo "/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json > /dev/null 2>&1 &" >> /storage/.config/autostart.sh
|
||||
chmod +x /storage/.config/autostart.sh
|
||||
fi
|
||||
fi
|
||||
|
||||
# Start the hyperion daemon
|
||||
/sbin/initctl start hyperion
|
||||
if [ $USE_INITCTL -eq 1 ]; then
|
||||
/sbin/initctl start hyperion
|
||||
elif [ $USE_SERVICE -eq 1 ]; then
|
||||
/usr/sbin/service hyperion start
|
||||
fi
|
||||
|
1
deploy/hyperion.deps.openelec-rpi.tar.gz.REMOVED.git-id
Normal file
1
deploy/hyperion.deps.openelec-rpi.tar.gz.REMOVED.git-id
Normal file
@ -0,0 +1 @@
|
||||
4d50c38a61c9f32a15b29ef3b3953c2835fa9cac
|
Binary file not shown.
1
deploy/hyperion.tar.gz.REMOVED.git-id
Normal file
1
deploy/hyperion.tar.gz.REMOVED.git-id
Normal file
@ -0,0 +1 @@
|
||||
56066aa4faf396198264beccf090b9551b8359d4
|
Loading…
Reference in New Issue
Block a user