mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
Merge pull request #261 from stefansaraev/dcron-service
dcron: add possibilty to start / stop addon from addon manager with enable / disable
This commit is contained in:
commit
2876406ad0
@ -1,2 +1,5 @@
|
||||
2.0.2
|
||||
- add possibilty to start / stop addon from addon manager with enable / disable
|
||||
|
||||
2.0
|
||||
- initial version for dcron 4.5
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
PKG_NAME="dcron"
|
||||
PKG_VERSION="4.5"
|
||||
PKG_REV="1"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.jimpryor.net/linux/dcron.html"
|
||||
|
@ -20,10 +20,16 @@
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
|
||||
LOCKDIR="/var/lock/"
|
||||
LOCKFILE="dcron.disabled"
|
||||
|
||||
ADDON_NAME="service.system.dcron"
|
||||
ADDON_DIR="$HOME/.xbmc/addons/$ADDON_NAME"
|
||||
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/$ADDON_NAME"
|
||||
|
||||
if [ ! "$(pidof crond)" ]; then
|
||||
mkdir -p $ADDON_HOME
|
||||
|
||||
if [ ! -d $ADDON_HOME/crontabs ]; then
|
||||
@ -43,6 +49,15 @@ ADDON_HOME="$HOME/.xbmc/userdata/addon_data/$ADDON_NAME"
|
||||
|
||||
export PATH=$ADDON_DIR/bin:$PATH
|
||||
|
||||
if [ -z "$(pidof crond)" ]; then
|
||||
crond -b -l info
|
||||
# Restart process if it terminates.
|
||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
||||
rm -rf "$LOCKDIR/$LOCKFILE"
|
||||
fi
|
||||
while [ true ] ; do
|
||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
||||
break
|
||||
fi
|
||||
crond -f -l info
|
||||
sleep 1
|
||||
done &
|
||||
fi
|
32
packages/addons/service/system/dcron/source/bin/dcron.stop
Executable file
32
packages/addons/service/system/dcron/source/bin/dcron.stop
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 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, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
|
||||
LOCKDIR="/var/lock/"
|
||||
LOCKFILE="dcron.disabled"
|
||||
|
||||
if [ "$(pidof crond)" ]; then
|
||||
mkdir -p "$LOCKDIR"
|
||||
touch "$LOCKDIR/$LOCKFILE"
|
||||
killall -9 crond
|
||||
fi
|
@ -22,12 +22,23 @@
|
||||
import os
|
||||
import sys
|
||||
import xbmcaddon
|
||||
import time
|
||||
import subprocess
|
||||
|
||||
__scriptname__ = "Lightweight cron daemon"
|
||||
__author__ = "OpenELEC"
|
||||
__url__ = "http://www.openelec.tv"
|
||||
__settings__ = xbmcaddon.Addon(id='service.system.dcron')
|
||||
__cwd__ = __settings__.getAddonInfo('path')
|
||||
__path__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "dcron.service") )
|
||||
__start__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "dcron.start") )
|
||||
__stop__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "dcron.stop") )
|
||||
|
||||
os.system(__path__)
|
||||
#make binary files executable in adson bin folder
|
||||
subprocess.Popen("chmod -R +x " + __cwd__ + "/bin/*" , shell=True, close_fds=True)
|
||||
|
||||
subprocess.Popen(__start__, shell=True, close_fds=True)
|
||||
|
||||
while (not xbmc.abortRequested):
|
||||
time.sleep(0.250)
|
||||
|
||||
subprocess.Popen(__stop__, shell=True, close_fds=True)
|
||||
|
Loading…
x
Reference in New Issue
Block a user