diff --git a/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power b/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power index 3d5fd278ba..b6da12e86e 100644 --- a/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power +++ b/packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power @@ -39,7 +39,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then LOCKFILE="$LOCKDIR/hdhomerun" case "$1" in - hibernate|suspend) + hibernate|suspend|pre) if [ -n "$(pidof userhdhomerun)" ]; then progress "Shutting down HDHomeRun driver for suspending..." mkdir -p "$LOCKDIR" @@ -48,7 +48,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then fi ;; - thaw|resume) + thaw|resume|post) if [ -f "$LOCKFILE" ]; then # driver started within Tvheadend/VDR rm -f "$LOCKFILE" diff --git a/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power b/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power index 8850339ae4..8e1d1ecefc 100644 --- a/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power +++ b/packages/addons/driver/sundtek-mediatv/source/sleep.d/sundtek-mediatv.power @@ -39,7 +39,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then LOCKFILE="$LOCKDIR/sundtek-mediatv" case "$1" in - hibernate|suspend) + hibernate|suspend|pre) if [ -n "$(pidof mediasrv)" ]; then progress "Shutting down Sundtek DVB driver for suspending..." mkdir -p "$LOCKDIR" @@ -48,7 +48,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then fi ;; - thaw|resume) + thaw|resume|post) if [ -f "$LOCKFILE" ]; then # driver started within Tvheadend/VDR rm -f "$LOCKFILE" diff --git a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start index 201db21e76..484ea79f02 100755 --- a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start +++ b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start @@ -39,23 +39,25 @@ BOBLIGHT_X11="$ADDON_HOME/boblight.X11" LOCKDIR="/var/lock/" LOCKFILE="boblightd.disabled" +LOCKFILE_SLEEP="boblightd.sleep" export LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" cp -R $ADDON_DIR/config/*.sample $ADDON_HOME > $LOG_FILE 2>&1 -if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - rm -rf "$LOCKDIR/$LOCKFILE" -fi +rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null +boblightd.stop +rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null if [ -f "$BOBLIGHT_CONFIG" ] ; then if [ ! "$(pidof boblightd)" ]; then while [ true ] ; do + while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do + usleep 100000 + done if [ -f "$LOCKDIR/$LOCKFILE" ] ; then break fi - # Make sure the xserver has started up - wait_for_xorg # Start the boblight daemon boblightd -c $BOBLIGHT_CONFIG >> $LOG_FILE 2>&1 done & @@ -64,11 +66,12 @@ if [ -f "$BOBLIGHT_CONFIG" ] ; then if [ -e $BOBLIGHT_X11 ]; then if [ ! "$(pidof boblight-X11)" ]; then while [ true ] ; do + while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do + usleep 100000 + done if [ -f "$LOCKDIR/$LOCKFILE" ] ; then break fi - # Make sure the xserver has started up - wait_for_xorg # Start the boblight daemon boblight-X11 >> $LOG_FILE 2>&1 done & diff --git a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop index 29f568283c..d7c5040f67 100644 --- a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop +++ b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop @@ -24,14 +24,22 @@ LOCKDIR="/var/lock/" LOCKFILE="boblightd.disabled" +LOCKFILE_SLEEP="boblightd.sleep" mkdir -p "$LOCKDIR" -touch "$LOCKDIR/$LOCKFILE" - -if [ "$(pidof boblightd)" ];then - killall boblightd +if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then + touch "$LOCKDIR/$LOCKFILE" fi -if [ "$(pidof boblight-X11)" ];then - killall boblight-X11 +if [ "$(pidof boblightd)" ] ; then + killall -q boblightd + killall -q boblight-X11 + for seq in `seq 1 10` ; do + if [ ! "$(pidof boblightd boblight-X11)" ] ; then + break + fi + usleep 200000 + done + killall -q -9 boblightd + killall -q -9 boblight-X11 fi diff --git a/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power b/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power index 1d4d4f06e5..f5b97f75bf 100644 --- a/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power +++ b/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power @@ -22,19 +22,18 @@ . /etc/profile -LOCKFILE="/var/lock/boblightd.sleep" +LOCKFILE_SLEEP="/var/lock/boblightd.sleep" case "$1" in - hibernate|suspend) + hibernate|suspend|pre) progress "Shutting down boblightd for suspending..." + touch $LOCKFILE_SLEEP boblightd.stop - touch $LOCKFILE ;; - thaw|resume) - progress "Restarting boblightd for wakeup..." - if [ -f "$LOCKFILE" ] ; then - rm -rf "$LOCKFILE" - boblightd.start + thaw|resume|post) + if [ -f "$LOCKFILE_SLEEP" ] ; then + progress "Restarting boblightd for wakeup..." + rm -rf "$LOCKFILE_SLEEP" fi ;; *) exit $NA diff --git a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start index 5a68bc1e68..f56e3c39fb 100755 --- a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start +++ b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start @@ -24,6 +24,7 @@ LOCKDIR="/var/lock/" LOCKFILE="tvheadend.disabled" +LOCKFILE_SLEEP="tvheadend.sleep" ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend" ADDON_SYS_DIR="/usr/lib/xbmc/addons/service.multimedia.tvheadend" @@ -113,24 +114,24 @@ mkdir -p /var/config . /var/config/tvheadend.conf.default . /var/config/tvheadend.conf - + rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null + tvheadend.stop + rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null if [ ! "$(pidof $ADDON_BIN)" ]; then - # start userspace DVB driver/addon - for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do - driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') - logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###" - # use ". " because of variable export - . $driver_dvb - done - - if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - rm -rf "$LOCKDIR/$LOCKFILE" - fi - while [ true ] ; do + while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do + usleep 100000 + done if [ -f "$LOCKDIR/$LOCKFILE" ] ; then break fi + # start userspace DVB driver/addon + for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do + driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') + logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###" + # use ". " because of variable export + . $driver_dvb + done # (wait for) at least 1 adapter (xbmc allows to set 0) [ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1 if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then diff --git a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop index dbf1d9d202..6713e0249c 100755 --- a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop +++ b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop @@ -24,12 +24,22 @@ LOCKDIR="/var/lock/" LOCKFILE="tvheadend.disabled" +LOCKFILE_SLEEP="tvheadend.sleep" ADDON_BIN="tvheadend" mkdir -p "$LOCKDIR" -touch "$LOCKDIR/$LOCKFILE" - -if [ "$(pidof $ADDON_BIN)" ];then - killall $ADDON_BIN +if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then + touch "$LOCKDIR/$LOCKFILE" +fi + +if [ "$(pidof $ADDON_BIN)" ] ; then + killall -q $ADDON_BIN + for seq in `seq 1 10` ; do + if [ ! "$(pidof $ADDON_BIN)" ] ; then + break + fi + usleep 200000 + done + killall -q -9 $ADDON_BIN fi diff --git a/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power b/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power index b1c0375226..3f63e940c4 100755 --- a/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power +++ b/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power @@ -26,40 +26,29 @@ ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.tvheadend" ADDON_SETTINGS="$ADDON_HOME/settings.xml" REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'` -LOCKFILE="/var/lock/tvheadend.sleep" +LOCKFILE_SLEEP="/var/lock/tvheadend.sleep" ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend" case "$1" in - hibernate|suspend) + hibernate|suspend|pre) if [ "$(pidof tvheadend)" ];then progress "Shutting down HTS TVHeadend for suspending..." - xbmc-send -a "Notification(tvheadend, Shutting down HTS TVHeadend for suspend..., 5000, $ADDON_DIR/icon.png)" + touch $LOCKFILE_SLEEP tvheadend.stop - touch $LOCKFILE for module in $REMOVE_MODULES ; do rmmod -w $module done fi ;; - thaw|resume) - if [ -f "$LOCKFILE" ] ; then + thaw|resume|post) + if [ -f "$LOCKFILE_SLEEP" ] ; then progress "Restarting HTS TVHeadend for wakeup..." - xbmc-send -a "Notification(tvheadend, Restarting HTS TVHeadend for wakeup..., 5000, $ADDON_DIR/icon.png)" for module in $REMOVE_MODULES ; do modprobe $module done - tvheadend.stop - for seq in `seq 1 10` ; do - if [ ! "$(pidof tvheadend)" ];then - break - fi - usleep 500000 - done - killall -9 tvheadend &>/dev/null - rm -rf "$LOCKFILE" - tvheadend.start + rm -rf "$LOCKFILE_SLEEP" fi ;; *) exit $NA diff --git a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start index ae20ad533e..5ad94b0d19 100755 --- a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start +++ b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start @@ -32,6 +32,7 @@ check_tmpfs_mount() { LOCKDIR="/var/lock/" LOCKFILE="vdr.disabled" +LOCKFILE_SLEEP="vdr.sleep" ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.vdr-addon" @@ -148,22 +149,26 @@ MYDATA ) +rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null +vdr.stop +rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null + if [ ! "$(pidof vdr.bin)" ];then - # start userspace DVB driver/addon - for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do - driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') - logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###" - # use ". " because of variable export - . $driver_dvb - done - if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - rm -rf "$LOCKDIR/$LOCKFILE" - fi while [ true ] ; do + while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do + usleep 100000 + done if [ -f "$LOCKDIR/$LOCKFILE" ] ; then umount /var/run/vdr 2>&1 break fi + # start userspace DVB driver/addon + for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do + driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') + logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###" + # use ". " because of variable export + . $driver_dvb + done # (wait for) at least 1 adapter (xbmc allows to set 0) [ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1 if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then diff --git a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop index 4cee53ecc3..35184f2d46 100755 --- a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop +++ b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop @@ -24,11 +24,20 @@ LOCKDIR="/var/lock/" LOCKFILE="vdr.disabled" +LOCKFILE_SLEEP="vdr.sleep" mkdir -p "$LOCKDIR" -touch "$LOCKDIR/$LOCKFILE" - -if [ "$(pidof vdr.bin)" ];then - killall vdr.bin +if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then + touch "$LOCKDIR/$LOCKFILE" fi +if [ "$(pidof vdr.bin)" ] ; then + killall -q vdr.bin + for seq in `seq 1 10` ; do + if [ ! "$(pidof vdr.bin)" ] ; then + break + fi + usleep 200000 + done + killall -q -9 vdr.bin +fi diff --git a/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power b/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power index 4b650f08ba..d53e1e35e2 100644 --- a/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power +++ b/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power @@ -27,39 +27,28 @@ ADDON_CONFIG_DIR="$ADDON_HOME/config" ADDON_SETTINGS="$ADDON_HOME/settings.xml" REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'` -LOCKFILE="/var/lock/vdr.sleep" +LOCKFILE_SLEEP="/var/lock/vdr.sleep" ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon" case "$1" in - hibernate|suspend) + hibernate|suspend|pre) if [ "$(pidof vdr.bin)" ];then progress "Shutting down vdr for suspending..." - xbmc-send -a "Notification(vdr, Shutting down vdr for suspend..., 5000, $ADDON_DIR/icon.png)" + touch $LOCKFILE_SLEEP vdr.stop - touch $LOCKFILE for module in $REMOVE_MODULES ; do rmmod -w $module done fi ;; - thaw|resume) - if [ -f "$LOCKFILE" ] ; then + thaw|resume|post) + if [ -f "$LOCKFILE_SLEEP" ] ; then progress "Restarting vdr for wakeup..." - xbmc-send -a "Notification(vdr, Restarting vdr for wakeup..., 5000, $ADDON_DIR/icon.png)" for module in $REMOVE_MODULES ; do modprobe $module done - vdr.stop - for seq in `seq 1 10` ; do - if [ ! "$(pidof vdr.bin)" ];then - break - fi - usleep 500000 - done - killall -9 vdr.bin &>/dev/null - rm -rf "$LOCKFILE" - vdr.start + rm -rf "$LOCKFILE_SLEEP" fi ;; *) exit $NA diff --git a/packages/x11/app/setxkbmap/scripts/xkb-setup b/packages/x11/app/setxkbmap/scripts/xkb-setup index 6ecdea34b7..04a8c4017e 100755 --- a/packages/x11/app/setxkbmap/scripts/xkb-setup +++ b/packages/x11/app/setxkbmap/scripts/xkb-setup @@ -20,6 +20,6 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -if [ -f $CONFIG_CACHE/xkb/layout ] ; then - cat $CONFIG_CACHE/xkb/layout +if [ -f /storage/.cache/xkb/layout ] ; then + cat /storage/.cache/xkb/layout fi