plex-test/start_pms.patch

64 lines
2.4 KiB
Diff

--- start_pms
+++ /usr/bin/start_pms
@@ -1,36 +1,39 @@
#!/bin/sh
-#change these parameters in /etc/default/plexmediaserver
-export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
-export PLEX_MEDIA_SERVER_HOME=/usr/lib/plexmediaserver
-export PLEX_MEDIA_SERVER_MAX_STACK_SIZE=3000
-export PLEX_MEDIA_SERVER_TMPDIR=/tmp
-export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${HOME}/Library/Application Support"
-if [ -f /etc/default/locale ]; then
- export LANG="`cat /etc/default/locale|awk -F '=' '/LANG=/{print $2}'|sed 's/"//g'`"
- export LC_ALL="$LANG"
-fi
-
-test -f /etc/default/plexmediaserver && . /etc/default/plexmediaserver
+# Default values
+export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="${PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS:-6}"
+export PLEX_MEDIA_SERVER_HOME="${PLEX_MEDIA_SERVER_HOME:-/usr/lib/plexmediaserver}"
+export PLEX_MEDIA_SERVER_MAX_STACK_SIZE="${PLEX_MEDIA_SERVER_MAX_STACK_SIZE:-3000}"
+export PLEX_MEDIA_SERVER_TMPDIR="${PLEX_MEDIA_SERVER_TMPDIR:-/tmp}"
+export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR:-/config}"
+export PLEX_MEDIA_SERVER_CONFIG_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}/Plex Media Server"
if [ ! -d "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" ]
then
- mkdir -p "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR"
+ mkdir -p "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" && \
+ chown $UID:$GID "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR"
if [ ! $? -eq 0 ]
then
echo "WARNING COULDN'T CREATE $PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR, MAKE SURE I HAVE PERMISSON TO DO THAT!"
exit 1
fi
fi
+if su-exec $UID:$GID [ ! -w "$PLEX_MEDIA_SERVER_CONFIG_DIR" ]
+then
+ echo "ERROR: CANNOT WRITE IN $PLEX_MEDIA_SERVER_CONFIG_DIR, MAKE SURE I HAVE PERMISSION TO DO THAT!"
+ exit 2
+fi
-export LD_LIBRARY_PATH="${PLEX_MEDIA_SERVER_HOME}"
+export LD_LIBRARY_PATH="${PLEX_MEDIA_SERVER_HOME}:$LD_LIBRARY_PATH"
export TMPDIR="${PLEX_MEDIA_SERVER_TMPDIR}"
-echo $PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS $PLEX_MEDIA_SERVER_MAX_STACK_SIZE $PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR
-
-ulimit -s $PLEX_MAX_STACK_SIZE
-
-# Add sleep - Possible fix for start on boot.
-sleep 3
+# Allow Plex group to write to tmpdir
+chgrp $GID "$TMPDIR"
+chmod g+rwx "$TMPDIR"
+
+PIDFILE="${PLEX_MEDIA_SERVER_CONFIG_DIR}/plexmediaserver.pid"
+if [ -f "$PIDFILE" ]; then
+ rm -f "$PIDFILE"
+fi
-(cd /usr/lib/plexmediaserver; ./Plex\ Media\ Server)
+exec su-exec $UID:$GID "$PLEX_MEDIA_SERVER_HOME/Plex Media Server"