Date: Fri, 28 Nov 2014 18:32:40 +0000 (UTC) From: Mark Felder <feld@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r373574 - in head/multimedia/plexmediaserver: . files Message-ID: <201411281832.sASIWeQP057119@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: feld Date: Fri Nov 28 18:32:39 2014 New Revision: 373574 URL: https://svnweb.freebsd.org/changeset/ports/373574 QAT: https://qat.redports.org/buildarchive/r373574/ Log: Port cleanup and preparation for making -plexpass a slave port to prevent duplicate work PR: 194909 Submitted by: Josh Ruehlig Added: head/multimedia/plexmediaserver/files/pkg-message.in (contents, props changed) Modified: head/multimedia/plexmediaserver/Makefile head/multimedia/plexmediaserver/files/plexmediaserver.in head/multimedia/plexmediaserver/pkg-plist Modified: head/multimedia/plexmediaserver/Makefile ============================================================================== --- head/multimedia/plexmediaserver/Makefile Fri Nov 28 18:03:57 2014 (r373573) +++ head/multimedia/plexmediaserver/Makefile Fri Nov 28 18:32:39 2014 (r373574) @@ -2,31 +2,29 @@ # $FreeBSD$ PORTNAME= plexmediaserver -PORTVERSION= 0.9.11.4.739 +PORTVERSION?= 0.9.11.4.739 CATEGORIES= multimedia MASTER_SITES= http://downloads.plexapp.com/plex-media-server/${PORTVERSION}-${PLEX_BUILD}/ -DISTNAME= PlexMediaServer-${PORTVERSION}-${PLEX_BUILD}-freebsd-amd64 +DISTNAME= PlexMediaServer-${PORTVERSION}-${PLEX_BUILD}-freebsd-${ARCH} MAINTAINER= feld@FreeBSD.org COMMENT= The Plex Media Server component USES= tar:bzip2 -PLEX_BUILD= a4e710f +PLEX_BUILD?= a4e710f NO_BUILD= yes WRKSRC= ${WRKDIR}/PlexMediaServer-${PORTVERSION}-${PLEX_BUILD} -USE_RC_SUBR= plexmediaserver +USE_RC_SUBR= ${PORTNAME} -SUB_FILES= plexmediaserver -SUB_LIST= SUPPORT_PATH=${SUPPORT_PATH} SCRIPT_PATH="${SCRIPT_PATH}" USERS=${USERS} GROUPS=${GROUPS} +SUB_FILES= pkg-message +SUB_LIST= PORTNAME=${PORTNAME} DATADIR=${DATADIR} USERS=${USERS} GROUPS=${GROUPS} USERS= plex -GROUPS= plex -SUPPORT_PATH?= ${PREFIX}/plexdata -SCRIPT_PATH?= ${DATADIR} +GROUPS= ${USERS} BUNDLE_LIBS= yes -ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= It is a binary-only program. Source code not available. .include <bsd.port.pre.mk> @@ -42,22 +40,24 @@ RUN_DEPENDS+= ${LOCALBASE}/lib/compat/li post-patch: # binaries don't come pre-stripped - ${FIND} ${WRKSRC} -name '*.so' -exec ${STRIP_CMD} {} \; + ${FIND} ${WRKSRC}/Resources -name '*.so' -exec ${STRIP_CMD} {} \; ${STRIP_CMD} ${WRKSRC}/Resources/rsync ${WRKSRC}/Resources/Python/bin/python do-install: - @(cd ${WRKSRC} && ${COPYTREE_SHARE} Resources ${STAGEDIR}/${SCRIPT_PATH}) - ${INSTALL_PROGRAM} ${WRKSRC}/Plex\ DLNA\ Server ${STAGEDIR}/${SCRIPT_PATH} - ${INSTALL_PROGRAM} ${WRKSRC}/Plex\ Media\ Scanner ${STAGEDIR}/${SCRIPT_PATH} - ${INSTALL_PROGRAM} ${WRKSRC}/Plex\ Media\ Server ${STAGEDIR}/${SCRIPT_PATH} - ${INSTALL_LIB} ${WRKSRC}/lib* ${STAGEDIR}/${SCRIPT_PATH} + @(cd ${WRKSRC} && ${COPYTREE_SHARE} Resources ${STAGEDIR}/${DATADIR}) + ${INSTALL_PROGRAM} ${WRKSRC}/Plex\ DLNA\ Server ${STAGEDIR}/${DATADIR} + ${INSTALL_PROGRAM} ${WRKSRC}/Plex\ Media\ Scanner ${STAGEDIR}/${DATADIR} + ${INSTALL_PROGRAM} ${WRKSRC}/Plex\ Media\ Server ${STAGEDIR}/${DATADIR} + ${INSTALL_LIB} ${WRKSRC}/lib* ${STAGEDIR}/${DATADIR} # Fix permissions to programs and db - @${CHMOD} a+x ${STAGEDIR}/${SCRIPT_PATH}/Resources/rsync - @${CHMOD} a+x ${STAGEDIR}/${SCRIPT_PATH}/Resources/Plex\ New\ Transcoder - @${CHMOD} a+x ${STAGEDIR}/${SCRIPT_PATH}/Resources/Plex\ Transcoder - @${CHMOD} a+x ${STAGEDIR}/${SCRIPT_PATH}/Resources/Python/bin/python - @${CHMOD} u+w ${STAGEDIR}/${SCRIPT_PATH}/Resources/com.plexapp.plugins.library.db + @${CHMOD} a+x ${STAGEDIR}/${DATADIR}/Resources/rsync + @${CHMOD} a+x ${STAGEDIR}/${DATADIR}/Resources/Plex\ New\ Transcoder + @${CHMOD} a+x ${STAGEDIR}/${DATADIR}/Resources/Plex\ Transcoder + @${CHMOD} a+x ${STAGEDIR}/${DATADIR}/Resources/Python/bin/python + @${CHMOD} u+w ${STAGEDIR}/${DATADIR}/Resources/com.plexapp.plugins.library.db # Python fix - @${LN} -s ${SCRIPT_PATH}/libpython2.7.so.1 ${STAGEDIR}/${SCRIPT_PATH}/libpython2.7.so + @${LN} -s ${DATADIR}/libpython2.7.so.1 ${STAGEDIR}/${DATADIR}/libpython2.7.so + # Workaround for space in binary name + @${LN} -s ${DATADIR}/Plex\ Media\ Server ${STAGEDIR}${DATADIR}/Plex_Media_Server .include <bsd.port.post.mk> Added: head/multimedia/plexmediaserver/files/pkg-message.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/plexmediaserver/files/pkg-message.in Fri Nov 28 18:32:39 2014 (r373574) @@ -0,0 +1,15 @@ +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +multimedia/%%PORTNAME%% includes an RC script: +%%PREFIX%%/etc/rc.d/%%PORTNAME%% + +TO START PLEXMEDIASERVER ON BOOT: +sysrc %%PORTNAME%%_enable=YES + +START MANUALLY: +service %%PORTNAME%% start + +Once started, visit the following to configure: +http://localhost:32400/web + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Modified: head/multimedia/plexmediaserver/files/plexmediaserver.in ============================================================================== --- head/multimedia/plexmediaserver/files/plexmediaserver.in Fri Nov 28 18:03:57 2014 (r373573) +++ head/multimedia/plexmediaserver/files/plexmediaserver.in Fri Nov 28 18:32:39 2014 (r373574) @@ -3,46 +3,45 @@ # # $FreeBSD$ # -# PROVIDE: plexmediaserver +# PROVIDE: %%PORTNAME%% # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable the Plex Media Server: # -# plexmediaserver_enable="YES" +# %%PORTNAME%%_enable="YES" # -# plexmediaserver_support_path="%%SUPPORT_PATH%%" # Plex data: logs, media metadata, settings, etc +# %%PORTNAME%%_support_path="%%PREFIX%%/plexdata" # Plex data: logs, media metadata, settings, etc # -# plexmediaserver_tmp="/var/tmp/plex" # configure tmp directory used for the transcoding process if desired +# %%PORTNAME%%_tmp="/var/tmp/plex" # configure tmp directory used for the transcoding process if desired # -# plexmediaserver_maxplugins="6" # Maximum number of background plugin procs. May have to raise in rare cases. +# %%PORTNAME%%_maxplugins="6" # Maximum number of background plugin procs. May have to raise in rare cases. # . /etc/rc.subr -name=plexmediaserver -rcvar=plexmediaserver_enable +name=%%PORTNAME%% +rcvar=%%PORTNAME%%_enable load_rc_config $name -: ${plexmediaserver_enable:=NO} -: ${plexmediaserver_support_path="%%SUPPORT_PATH%%"} -: ${plexmediaserver_user="%%USERS%%"} -: ${plexmediaserver_group="%%GROUPS%%"} -: ${plexmediaserver_maxplugins=6} - -extra_commands=status +: ${%%PORTNAME%%_enable:=NO} +: ${%%PORTNAME%%_support_path="%%PREFIX%%/plexdata"} +: ${%%PORTNAME%%_user="%%USERS%%"} +: ${%%PORTNAME%%_group="%%GROUPS%%"} +: ${%%PORTNAME%%_maxplugins=6} + +command=/usr/sbin/daemon +procname="%%DATADIR%%/Plex_Media_Server" +command_args="-f ${procname}" start_precmd=plex_precmd -start_cmd=plex_startcmd -status_cmd=plex_statuscmd -stop_cmd=plex_stopcmd pidfile=/var/run/plex/plex.pid plex_precmd() { export SUPPORT_PATH="${plexmediaserver_support_path}" export HOME="${plexmediaserver_support_path}/Plex Media Server" - export PYTHONHOME="%%SCRIPT_PATH%%/Resources/Python" - export SCRIPTPATH="%%SCRIPT_PATH%%" + export PYTHONHOME="%%DATADIR%%/Resources/Python" + export SCRIPTPATH="%%DATADIR%%" export LD_LIBRARY_PATH="${SCRIPTPATH}" export PLEX_MEDIA_SERVER_HOME="${SCRIPTPATH}" export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=${plexmediaserver_maxplugins} @@ -67,39 +66,4 @@ plex_precmd() fi } -plex_startcmd() -{ - if [ -f "${pidfile}" ] && (pgrep -F ${pidfile} Plex >/dev/null); then - echo "${name} is already running with pid: $(cat ${pidfile})"; - else - echo "Starting ${name}." - /usr/sbin/daemon -u ${plexmediaserver_user} -f '%%SCRIPT_PATH%%/Plex Media Server' - fi -} - -plex_statuscmd() -{ - if [ -f "${pidfile}" ] && (pgrep -F ${pidfile} Plex >/dev/null); then - echo "${name} is running with pid: $(cat ${pidfile})"; - else - echo "${name} is not running."; - exit 1; - fi -} - -plex_stopcmd() -{ - if [ -f "${pidfile}" ] && (pgrep -F ${pidfile} Plex >/dev/null); then - main_pid=$(cat ${pidfile}); - child_pids=$(pgrep -P ${main_pid}); - all_pids="${main_pid} ${child_pids}" - kill ${sig_stop} ${all_pids}; - wait_for_pids ${all_pids}; - rm ${pidfile} - else - echo "${name} is not running."; - exit 1; - fi -} - run_rc_command "$1" Modified: head/multimedia/plexmediaserver/pkg-plist ============================================================================== --- head/multimedia/plexmediaserver/pkg-plist Fri Nov 28 18:03:57 2014 (r373573) +++ head/multimedia/plexmediaserver/pkg-plist Fri Nov 28 18:32:39 2014 (r373574) @@ -1,6 +1,7 @@ %%DATADIR%%/Plex DLNA Server %%DATADIR%%/Plex Media Scanner %%DATADIR%%/Plex Media Server +%%DATADIR%%/Plex_Media_Server %%DATADIR%%/Resources/Graphics/DefaultAlbumCover.png %%DATADIR%%/Resources/Graphics/actor-icon.png %%DATADIR%%/Resources/Graphics/album-fanart.jpg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411281832.sASIWeQP057119>