mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
transmission: rework startscript
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
e93e187d8e
commit
2e1ade42c9
@ -1,3 +1,6 @@
|
||||
0.99.5
|
||||
- simplyfing start scripts
|
||||
|
||||
0.99.4
|
||||
- fix paths
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
PKG_NAME="transmission"
|
||||
PKG_VERSION="2.31"
|
||||
PKG_REV="4"
|
||||
PKG_REV="5"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.transmissionbt.com/"
|
||||
|
@ -20,44 +20,11 @@
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
XBMC_PID=$1
|
||||
APP=$2
|
||||
SCRIPT_DIR=$(dirname `readlink -f $0`)
|
||||
ADDON_DIR="$HOME/.xbmc/addons/service.downloadmanager.transmission"
|
||||
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.downloadmanager.transmission"
|
||||
PATH="${PATH}:${SCRIPT_DIR}/bin"
|
||||
LOG_FILE="${ADDON_HOME}/service.log"
|
||||
LOG_FILE="$ADDON_HOME/service.log"
|
||||
|
||||
cleanup() {
|
||||
local EXIT_STATUS=$1
|
||||
if [ -n "${EXIT_STATUS}" ];then
|
||||
EXIT_STATUS=0
|
||||
fi
|
||||
kill -15 "${APP_PID}"
|
||||
exit $EXIT_STATUS;
|
||||
}
|
||||
|
||||
# trap signals for clean shutdown
|
||||
trap cleanup 1 2 3 15
|
||||
|
||||
launch_app() {
|
||||
local PID
|
||||
eval "${APP} ${TRANSMISSION_ARG} &>${LOG_FILE} &"
|
||||
APP_PID=$!
|
||||
}
|
||||
|
||||
pid_is_running() {
|
||||
local PID=${1}
|
||||
for IPID in `ps -o pid | sed 's/[A-Za-z]//g' | sed 's/\ //g'`;do
|
||||
if [ ${IPID} -eq ${PID} ];then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
app_prep() {
|
||||
|
||||
export TRANSMISSION_WEB_HOME="$SCRIPT_DIR/web"
|
||||
export TRANSMISSION_WEB_HOME="$ADDON_DIR/web"
|
||||
|
||||
mkdir -p $ADDON_HOME
|
||||
OPENELEC_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
@ -86,7 +53,6 @@ TRANSMISSION_ARG="$TRANSMISSION_ARG --watch-dir /storage/downloads/watch"
|
||||
TRANSMISSION_ARG="$TRANSMISSION_ARG -e /var/log/transmission.log"
|
||||
TRANSMISSION_ARG="$TRANSMISSION_ARG -g /storage/.cache/transmission"
|
||||
TRANSMISSION_ARG="$TRANSMISSION_ARG -a $TRANSMISSION_IP"
|
||||
TRANSMISSION_ARG="$TRANSMISSION_ARG -f"
|
||||
|
||||
if [ "$TRANSMISSION_AUTH" = "true" ]; then
|
||||
TRANSMISSION_ARG="$TRANSMISSION_ARG -t"
|
||||
@ -96,24 +62,4 @@ else
|
||||
TRANSMISSION_ARG="$TRANSMISSION_ARG -T"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
main() {
|
||||
app_prep
|
||||
launch_app "${APP}"
|
||||
pid_is_running "${XBMC_PID}"
|
||||
XBMC_RUNNING=$?
|
||||
pid_is_running "${APP_PID}"
|
||||
APP_RUNNING=$?
|
||||
|
||||
while [ $XBMC_RUNNING -eq 0 -a ${APP_RUNNING} -eq 0 ]; do
|
||||
sleep 1
|
||||
pid_is_running "${XBMC_PID}"
|
||||
XBMC_RUNNING=$?
|
||||
pid_is_running "${APP_PID}"
|
||||
APP_RUNNING=$?
|
||||
done
|
||||
}
|
||||
|
||||
main
|
||||
cleanup
|
||||
transmission-daemon $TRANSMISSION_ARG &>$LOG_FILE
|
@ -20,18 +20,4 @@
|
||||
|
||||
import xbmc, time, os, subprocess
|
||||
|
||||
dir = os.path.realpath(os.path.dirname(__file__))
|
||||
script = 'start.sh'
|
||||
|
||||
launcher = os.path.join(dir, script)
|
||||
app = '/storage/.xbmc/addons/service.downloadmanager.transmission/bin/transmission-daemon'
|
||||
|
||||
os.chmod(launcher, 0755)
|
||||
os.chmod(app, 0755)
|
||||
|
||||
args = [launcher, str(os.getpid()), app]
|
||||
|
||||
p = subprocess.Popen(args)
|
||||
print p.pid
|
||||
p.wait()
|
||||
os.exit(1)
|
||||
os.system("transmission.service")
|
||||
|
Loading…
x
Reference in New Issue
Block a user