diff -ruN subsonic-standalone-orig/Makefile subsonic-standalone/Makefile --- subsonic-standalone-orig/Makefile 2016-06-25 23:20:35.378332479 -0700 +++ subsonic-standalone/Makefile 2016-06-26 23:55:14.507744867 -0700 @@ -2,11 +2,12 @@ # Based on www/subsonic from Nicole Reid # $FreeBSD: head/www/subsonic-standalone/Makefile 382052 2015-03-23 22:21:33Z antoine $ -PORTNAME= subsonic-standalone -PORTVERSION= 5.2 +PORTNAME= subsonic +PORTVERSION= 6.0 CATEGORIES= www java MASTER_SITES= SF/subsonic/subsonic/${PORTVERSION} -DISTNAME= subsonic-${PORTVERSION}-standalone +PKGNAMESUFFIX= -standalone +DISTNAME= ${PORTNAME}-${PORTVERSION}${PKGNAMESUFFIX} MAINTAINER= jlh@FreeBSD.org COMMENT= Subsonic streaming media server, standalone version @@ -29,58 +30,50 @@ OPTIONS_DEFAULT= FFMPEG OPTIONS_SUB= yes -FFMPEG_RUN_DEPENDS= ffmpeg:${PORTSDIR}/multimedia/ffmpeg -FLAC_RUN_DEPENDS= flac:${PORTSDIR}/audio/flac -LAME_RUN_DEPENDS= lame:${PORTSDIR}/audio/lame -VORBIS_RUN_DEPENDS= oggenc:${PORTSDIR}/audio/vorbis-tools -FAAC_RUN_DEPENDS= faac:${PORTSDIR}/audio/faac -FAAD_RUN_DEPENDS= faad:${PORTSDIR}/audio/faad -XMP_RUN_DEPENDS= xmp:${PORTSDIR}/audio/xmp -MPC_RUN_DEPENDS= mpcdec:${PORTSDIR}/audio/musepack -APE_RUN_DEPENDS= mac:${PORTSDIR}/audio/mac +FFMPEG_RUN_DEPENDS= ffmpeg:multimedia/ffmpeg +FLAC_RUN_DEPENDS= flac:audio/flac +LAME_RUN_DEPENDS= lame:audio/lame +VORBIS_RUN_DEPENDS= oggenc:audio/vorbis-tools +FAAC_RUN_DEPENDS= faac:audio/faac +FAAD_RUN_DEPENDS= faad:audio/faad +XMP_RUN_DEPENDS= xmp:audio/xmp +MPC_RUN_DEPENDS= mpcdec:audio/musepack +APE_RUN_DEPENDS= mac:audio/mac .include +NO_WRKSUBDIR= yes NO_BUILD= yes USE_JAVA= yes -USE_RC_SUBR= subsonic JAVA_VERSION= 1.6+ +JAVA_RUN= yes +USE_RC_SUBR= subsonic USERS= subsonic GROUPS= subsonic SUBSONIC_HOME= /var/subsonic -SUBSONIC_DIR= ${PREFIX}/${PORTDIRNAME} -WRKSRC= ${WRKDIR}/${PORTNAME} -PKGMESSAGE= ${WRKDIR}/pkg-message PLIST_SUB+= SUBSONIC_HOME="${SUBSONIC_HOME}" \ USER="${USERS}" \ GROUP="${GROUPS}" -SUB_FILES= pkg-message \ - message-transcoding \ - subsonic +SUB_FILES= pkg-message \ + message-transcoding SUB_LIST= SUBSONIC_HOME="${SUBSONIC_HOME}" \ - SUBSONIC_DIR="${SUBSONIC_DIR}" \ USER="${USERS}" \ GROUP="${GROUPS}" \ JAVA="${JAVA}" -do-extract: - @${MKDIR} ${WRKSRC} - @${TAR} -xf ${DISTDIR}/${DISTNAME}.tar.gz -C ${WRKSRC} --no-same-owner --no-same-permission - do-install: @${CAT} ${PKGDIR}/pkg-message-spacer >> ${PKGMESSAGE} @${CAT} ${WRKDIR}/message-transcoding >> ${PKGMESSAGE} @${CAT} ${PKGDIR}/pkg-message-spacer >> ${PKGMESSAGE} - ${INSTALL} -d ${STAGEDIR}${SUBSONIC_DIR} - ${INSTALL_DATA} ${WRKDIR}/${PORTDIRNAME}/LICENSE.TXT ${STAGEDIR}${SUBSONIC_DIR}/ - ${INSTALL_DATA} ${WRKDIR}/${PORTDIRNAME}/README.TXT ${STAGEDIR}${SUBSONIC_DIR}/ - ${INSTALL_DATA} ${WRKDIR}/${PORTDIRNAME}/subsonic.war ${STAGEDIR}${SUBSONIC_DIR}/ - ${INSTALL_DATA} ${WRKDIR}/${PORTDIRNAME}/subsonic-booter-jar-with-dependencies.jar ${STAGEDIR}${SUBSONIC_DIR}/ - ${INSTALL_SCRIPT} ${WRKDIR}/${PORTDIRNAME}/subsonic.sh ${STAGEDIR}${SUBSONIC_DIR}/ - ${INSTALL} -d ${STAGEDIR}${SUBSONIC_HOME} - ${INSTALL} -d ${STAGEDIR}${SUBSONIC_HOME}/transcode -.if ${PORT_OPTIONS:MFFMEG} - ${LN} -sf ${PREFIX}/bin/ffmeg ${STAGEDIR}${SUBSONIC_HOME}/transcode/ffmpeg + ${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_MAN} ${WRKSRC}/README.TXT ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/subsonic.war ${STAGEDIR}${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/subsonic-booter-jar-with-dependencies.jar ${STAGEDIR}${DATADIR}/ + +post-install: + ${MKDIR} ${STAGEDIR}${SUBSONIC_HOME}/transcode +.if ${PORT_OPTIONS:MFFMPEG} + ${LN} -sf ${PREFIX}/bin/ffmpeg ${STAGEDIR}${SUBSONIC_HOME}/transcode/ffmpeg .endif .if ${PORT_OPTIONS:MFLAC} ${LN} -sf ${PREFIX}/bin/flac ${STAGEDIR}${SUBSONIC_HOME}/transcode/flac diff -ruN subsonic-standalone-orig/distinfo subsonic-standalone/distinfo --- subsonic-standalone-orig/distinfo 2016-06-25 22:10:13.773267655 -0700 +++ subsonic-standalone/distinfo 2016-06-26 17:26:39.399159826 -0700 @@ -1,2 +1,2 @@ -SHA256 (subsonic-5.2-standalone.tar.gz) = f6131bd628cff00071ba5177182eb3454ce23906472c56712f9d7e53366aee63 -SIZE (subsonic-5.2-standalone.tar.gz) = 43671147 +SHA256 (subsonic-6.0-standalone.tar.gz) = df14d05e3b52f07486782e3e16922688968c95b0c8cc4987941bc3b9cea7872b +SIZE (subsonic-6.0-standalone.tar.gz) = 48572856 diff -ruN subsonic-standalone-orig/files/subsonic.in subsonic-standalone/files/subsonic.in --- subsonic-standalone-orig/files/subsonic.in 2016-06-25 22:10:13.753679241 -0700 +++ subsonic-standalone/files/subsonic.in 2016-06-26 23:55:53.670949066 -0700 @@ -2,46 +2,43 @@ # # $FreeBSD: head/www/subsonic-standalone/files/subsonic.in 389352 2015-06-13 12:21:51Z jlh $ # - # PROVIDE: subsonic - +# REQUIRE: LOGIN +# KEYWORD: shutdown # # Configuration settings for subsonic in /etc/rc.conf: # # subsonic_enable (bool): # Set to "NO" by default. -# Set it to "YES" to enable subsonic +# Set it to "YES" to enable subsonic. # # subsonic_home (str): # Set to "%%SUBSONIC_HOME%%" by default. # -# subsonic_music_folder (str): -# Set to "%%SUBSONIC_HOME%%"/music by default. -# -# subsonic_playlist_folder (str): -# Set to "%%SUBSONIC_HOME%%"/playlist by default. -# -# subsonic_pidfile (str): -# Set to "${subsonic_home}/subsonic.pid" by default. -# # subsonic_host (str): # Set to "0.0.0.0" by default. # Specify which IP address to listen to. # -# subsonic_http_port (int): +# subsonic_port (int): # Set to "4040" by default. -# Specify which port to listen on for HTTP. +# Specify which port to listen on for HTTP(S). # -# subsonic_https_port (int): -# Set to "0" by default. -# Specify which port to listen on for HTTPS. +# subsonic_ssl (bool): +# Set to "OFF" by default. +# Set it to "YES" to enable SSL. +# +# subsonic_ssl_keystore (str): +# Optionally set path to custom SSL keystore. +# +# subsonic_ssl_password (str): +# Optionally set password for custom SSL keystore. # # subsonic_context_path (str): # Set to "/" by default. # Specify the last part of the Subsonic URL, typically "/" or "/subsonic". # # subsonic_max_memory (int): -# Set to "100" by defaut. +# Set to "100" by default. # Specify the memory limit (Java heap size) in megabytes. # @@ -53,31 +50,37 @@ load_rc_config "${name}" -eval "${rcvar}=\${${rcvar}:-'NO'}" -eval "${name}_user=\${${name}_user:-'subsonic'}" -eval "${name}_group=\${${name}_group:-'subsonic'}" -eval "_subsonic_max_memory=\${${name}_max_memory:-'100'}" -eval "_subsonic_home=\${${name}_home:-'%%SUBSONIC_HOME%%'}" -eval "_subsonic_music_folder=\${${name}_music_folder:-'%%SUBSONIC_HOME%%/music'}" -eval "_subsonic_playlist_folder=\${${name}folder:-'%%SUBSONIC_HOME%%/playlist'}" -eval "_subsonic_host=\${${name}_host:-'0.0.0.0'}" -eval "_subsonic_http_port=\${${name}_http_port:-'4040'}" -eval "_subsonic_https_port=\${${name}_https_port:-'0'}" -eval "_subsonic_context_path=\${${name}_context_path:-'/'}" -eval "_subsonic_pidfile=\${${name}_pidfile:-'%%SUBSONIC_HOME%%/subsonic.pid'}" -pidfile="${_subsonic_pidfile}" - - - -command="%%SUBSONIC_DIR%%/subsonic.sh" -command_args="--home=${_subsonic_home} \ - --host=${_subsonic_host} \ - --port=${_subsonic_http_port} \ - --https-port=${_subsonic_https_port} \ - --context-path=${_subsonic_context_path} \ - --max-memory=${_subsonic_max_memory} \ - --pidfile=${_subsonic_pidfile} \ - --default-music-folder=${_subsonic_music_folder} \ - --default-playlist-folder=${_subsonic_playlist_folder}" +: ${subsonic_enable:="NO"} +: ${subsonic_user:="%%USER%%"} +: ${subsonic_group:="%%GROUP%%"} +: ${subsonic_home:="%%SUBSONIC_HOME%%"} +: ${subsonic_host:="0.0.0.0"} +: ${subsonic_port:="4040"} +: ${subsonic_ssl:="NO"} +: ${subsonic_context_path:="/"} +: ${subsonic_max_memory:="100"} + +if checkyesno subsonic_ssl; then + SUBSONIC_SSL_FLAGS="-Dsubsonic.httpsPort=${subsonic_port}" && subsonic_port="0" + if [ ! -z ${subsonic_ssl_keystore} ]; then + SUBSONIC_SSL_FLAGS=${SUBSONIC_SSL_FLAGS}" -Dsubsonic.ssl.keystore=${subsonic_ssl_keystore} -Dsubsonic.ssl.password=${subsonic_ssl_password}" + fi +fi + +start_precmd="export LC_CTYPE='UTF-8'" +subsonic_chdir="%%DATADIR%%" +command="/usr/sbin/daemon" +command_args="-f ${procname} \ + -Dsubsonic.home=${subsonic_home} \ + -Dsubsonic.host=${subsonic_host} \ + -Dsubsonic.port=${subsonic_port} \ + ${SUBSONIC_SSL_FLAGS} \ + -Dsubsonic.contextPath=${subsonic_context_path} \ + -Dsubsonic.defaultMusicFolder=${subsonic_home}/music \ + -Dsubsonic.defaultPodcastFolder=${subsonic_home}/Podcast \ + -Dsubsonic.defaultPlaylistFolder=${subsonic_home}/playlists \ + -Xmx${subsonic_max_memory}m \ + -Djava.awt.headless=true \ + -jar ${subsonic_chdir}/subsonic-booter-jar-with-dependencies.jar" run_rc_command "$1" diff -ruN subsonic-standalone-orig/pkg-plist subsonic-standalone/pkg-plist --- subsonic-standalone-orig/pkg-plist 2016-06-25 22:10:13.793554757 -0700 +++ subsonic-standalone/pkg-plist 2016-06-26 17:39:26.184112624 -0700 @@ -1,8 +1,9 @@ -subsonic-standalone/LICENSE.TXT -subsonic-standalone/README.TXT -subsonic-standalone/subsonic.war -subsonic-standalone/subsonic-booter-jar-with-dependencies.jar -subsonic-standalone/subsonic.sh -@unexec test -d %%SUBSONIC_HOME%% && (echo "Configuration information and database saved." && echo "If you you are permanently uninstalling this package" && echo "please remove %%SUBSONIC_HOME%% and its contents manually.") +%%DATADIR%%/README.TXT +%%DATADIR%%/subsonic-booter-jar-with-dependencies.jar +%%DATADIR%%/subsonic.war +%%FFMPEG%%%%SUBSONIC_HOME%%/transcode/ffmpeg +%%FLAC%%%%SUBSONIC_HOME%%/transcode/flac +%%LAME%%%%SUBSONIC_HOME%%/transcode/lame +@postunexec test -d %%SUBSONIC_HOME%% && (echo "Configuration information and database saved." && echo "If you you are permanently uninstalling this package" && echo "please remove %%SUBSONIC_HOME%% and its contents manually.") @dir(%%USER%%,%%GROUP%%,750) %%SUBSONIC_HOME%%/transcode @dir(%%USER%%,%%GROUP%%,750) %%SUBSONIC_HOME%%