--- etc/init.d/plexmediaserver.orig 2016-12-15 21:23:02 UTC +++ etc/init.d/plexmediaserver @@ -1,4 +1,4 @@ -#! /bin/sh +#! /compat/linux/bin/sh # # Plexmediaserver: Stops/Starts/Restarts and statuses Plex Media Server # chkconfig: 235 20 80 @@ -25,11 +25,11 @@ sleep 1 PMS_BIN="Plex Media Server" # Source function library -if [ -f /etc/rc.status ]; then - . /etc/rc.status +if [ -f /compat/linux/etc/rc.status ]; then + . /compat/linux/etc/rc.status rc_reset -elif [ -f /etc/rc.d/init.d/functions ]; then - . /etc/rc.d/init.d/functions +elif [ -f /compat/linux/etc/rc.d/init.d/functions ]; then + . /compat/linux/etc/rc.d/init.d/functions fi # Source Plex Variables @@ -37,11 +37,12 @@ fi RETVAL=0 PROG="PlexMediaServer" +CHROOT="/compat/linux" CONFIG="/etc/sysconfig/$PROG" # Source config -. $CONFIG +. $CHROOT$CONFIG # Set lockfile differently if on SuSE @@ -54,30 +55,30 @@ fi start() { - test -x "$PLEX_MEDIA_SERVER_HOME/$PMS_BIN" || { echo "$PLEX_MEDIA_SERVER_HOME/$PMS_BIN not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } - [ -f "$CONFIG" ] || exit 6 - if [ ! -f "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" ]; + test -x "$CHROOT$PLEX_MEDIA_SERVER_HOME/$PMS_BIN" || { echo "$CHROOT$PLEX_MEDIA_SERVER_HOME/$PMS_BIN not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } + [ -f "$CHROOT$CONFIG" ] || exit 6 + if [ ! -f "$CHROOT$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" ]; then - su -s /bin/sh $PLEX_USER -c 'mkdir -p "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" > /dev/null 2>&1' + su $PLEX_USER -c 'mkdir -p "$CHROOT$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" > /dev/null 2>&1' if [ ! $? -eq 0 ]; then - echo "WARNING COULDN'T CREATE $PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR, MAKE SURE I HAVE PERMISSON TO DO THAT!" + echo "WARNING COULDN'T CREATE $CHROOT$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR, MAKE SURE I HAVE PERMISSON TO DO THAT!" exit 1 fi fi if [ -f /etc/SuSE-release ] ; then echo -n "Starting Plex Media Server: " export HOME=$PLEX_MEDIA_SERVER_HOME - startproc -u $PLEX_USER "$PLEX_MEDIA_SERVER_HOME/$PMS_BIN" + startproc -u $PLEX_USER "chroot $CHROOT $PLEX_MEDIA_SERVER_HOME/$PMS_BIN" rc_status -v else echo -n $"Starting $PROG: " - su -s /bin/sh $PLEX_USER -c ". $CONFIG; cd $PLEX_MEDIA_SERVER_HOME; ./'$PMS_BIN' > /dev/null 2>&1" & + su $PLEX_USER -c chroot $CHROOT ". $CONFIG; cd $PLEX_MEDIA_SERVER_HOME; ./'$PMS_BIN' > /dev/null 2>&1" & sleep 3 eval "$@" && success || failure touch $LOCKFILE RETVAL=$? echo - [ $RETVAL = 0 ] && ln -s "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}/Plex Media Server/plexmediaserver.pid" $PIDFILE + [ $RETVAL = 0 ] && chroot $CHROOT ln -s "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}/Plex Media Server/plexmediaserver.pid" $PIDFILE return $RETVAL fi } @@ -89,11 +90,11 @@ stop() killproc -SIGQUIT "$PLEX_MEDIA_SERVER_HOME/$PMS_BIN" rc_status -v else - [ -f "$PIDFILE" ] || exit 0 - PID=`cat $PIDFILE` + [ -f "$CHROOT$PIDFILE" ] || exit 0 + PID=`cat $CHROOT$PIDFILE` echo -n $"Stopping $PROG: " - kill -3 "`cat $PIDFILE`"&& success || failure - if [ -f $PIDFILE ]; then + kill -3 "`cat $CHROOT$PIDFILE`"&& success || failure + if [ -f $CHROOT$PIDFILE ]; then PLEX=1 while [ $PLEX -eq 1 ]; do sleep 3 @@ -109,7 +110,7 @@ stop() fi RETVAL=$? echo - rm -f $PIDFILE + rm -f $CHROOT$PIDFILE rm -f $LOCKFILE return $RETVAL fi @@ -119,7 +120,7 @@ check_status () { # echo -n "Checking for service Plex Media Server: " if [ -f /etc/SuSE-release ]; then - /sbin/checkproc "$PLEX_MEDIA_SERVER_HOME/$PMS_BIN" + chroot $CHROOT /sbin/checkproc "$PLEX_MEDIA_SERVER_HOME/$PMS_BIN" rc_status -v else status $PROG