xbmc-pvr: sync init scripts with last merge

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2011-09-09 04:44:55 +02:00
parent 29e463aa85
commit 65a4c2654b
3 changed files with 153 additions and 98 deletions

View File

@ -0,0 +1,44 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
#
# setup XBMC addons
#
# runlevels: openelec, textmode
case $RUNLEVEL in
boot)
progress "setup XBMC addons"
# hack: add addons to $PATH
for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
PATH="$PATH:$i"
done
export PATH
# hack: make addon-bins executable
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
;;
poweroff|reboot)
;;
esac

View File

@ -22,21 +22,23 @@
# #
# runlevels: openelec # runlevels: openelec
progress "setup XBMC" case $RUNLEVEL in
boot)
progress "setup XBMC"
# #
# clean temp dir # clean temp dir
# #
rm -rf $HOME/.xbmc/temp/* rm -rf $HOME/.xbmc/temp/*
# #
# add some default settings # add some default settings
# #
mkdir -p $HOME/.xbmc/userdata mkdir -p $HOME/.xbmc/userdata
# use dds fanarts by default # use dds fanarts by default
if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
<advancedsettings> <advancedsettings>
<useddsfanart>true</useddsfanart> <useddsfanart>true</useddsfanart>
<splash>false</splash> <splash>false</splash>
@ -47,21 +49,21 @@ progress "setup XBMC"
</samba> </samba>
</advancedsettings> </advancedsettings>
EOF EOF
fi fi
# #
# setup directories for XBMC sources # setup directories for XBMC sources
# #
[ ! -d "$HOME/music" ] && mkdir -p $HOME/music [ ! -d "$HOME/music" ] && mkdir -p $HOME/music
[ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures [ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
[ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows [ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
[ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos [ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
mkdir -p $HOME/.xbmc/userdata mkdir -p $HOME/.xbmc/userdata
if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then
cat > $HOME/.xbmc/userdata/sources.xml << EOF cat > $HOME/.xbmc/userdata/sources.xml << EOF
<sources> <sources>
<video> <video>
<default pathversion="1"></default> <default pathversion="1"></default>
@ -90,44 +92,49 @@ EOF
</pictures> </pictures>
</sources> </sources>
EOF EOF
fi fi
# #
# common setup guisettings # common setup guisettings
# #
mkdir -p $HOME/.xbmc/userdata mkdir -p $HOME/.xbmc/userdata
[ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots [ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<debug> <debug>
<screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath> <screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath>
</debug> </debug>
EOF EOF
# #
# include project specific options # include project specific options
# #
if [ -f /usr/share/xbmc/config/guisettings.xml ]; then if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
fi fi
# #
# common setup for amd and nvidia graphic # common setup for amd and nvidia graphic
# #
# Always sync to vblank # Always sync to vblank
if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<videoscreen> <videoscreen>
<vsync>2</vsync> <vsync>2</vsync>
</videoscreen> </videoscreen>
EOF EOF
fi fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi fi
;;
poweroff|reboot)
;;
esac

View File

@ -22,66 +22,70 @@
# #
# runlevels: openelec # runlevels: openelec
LIRCDEV="/var/run/lirc/lircd" case $RUNLEVEL in
[ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans" boot)
XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV" LIRCDEV="/var/run/lirc/lircd"
[ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
progress "starting XBMC" progress "starting XBMC"
# hack for Boxee Remote # hack for Boxee Remote
if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then
export SDL_MOUSE_RELATIVE=0 export SDL_MOUSE_RELATIVE=0
fi fi
# hack: make addon-bins executable # starting autostart script (will be removed later again, dont use it!!!)
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1 AUTOSTART="/storage/.config/autostart.sh"
if [ -f $AUTOSTART ]; then
echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
cat "$AUTOSTART" >> /var/log/messages
echo "!!! -End of autostart script- !!!" >> /var/log/messages
# starting autostart script (will be removed later again, dont use it!!!) sh $AUTOSTART
AUTOSTART="/storage/.config/autostart.sh" fi
if [ -f $AUTOSTART ]; then
echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
cat "$AUTOSTART" >> /var/log/messages
echo "!!! -End of autostart script- !!!" >> /var/log/messages
sh $AUTOSTART # starting autoupdate
fi [ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
# starting autoupdate # waiting for Xorg to start
[ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate & wait_for_xorg
# waiting for Xorg to start # set cpu's to 'on demand'
wait_for_xorg ( usleep 15000000
progress "set cpu's to 'on demand'"
cpupower frequency-set -g ondemand > /dev/null 2>&1
)&
# set cpu's to 'on demand' # starting XBMC
( usleep 15000000 while true; do
progress "set cpu's to 'on demand'"
cpupower frequency-set -g ondemand
)&
# starting XBMC DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
while true; do RET=$?
DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1 case "$RET" in
RET=$? 0)
RUNLEVEL="poweroff"
;;
64)
RUNLEVEL="poweroff"
;;
66)
RUNLEVEL="reboot"
;;
255)
echo "Abnormal Exit. Exited with code $RET"
echo "is Xorg running? check /var/log/Xorg.log"
;;
*)
echo "Abnormal Exit. Exited with code $RET"
;;
esac
case "$RET" in usleep 250000
0) done
poweroff -f ;;
;;
64)
poweroff -f
;;
66)
reboot
;;
255)
echo "Abnormal Exit. Exited with code $RET"
echo "is Xorg running? check /var/log/Xorg.log"
;;
*)
echo "Abnormal Exit. Exited with code $RET"
;;
esac
usleep 250000 poweroff|reboot)
done ;;
esac