Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Aug 2016 13:27:51 +0000 (UTC)
From:      Jeremie Le Hen <jlh@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r420614 - in head/www/madsonic-standalone: . files
Message-ID:  <201608221327.u7MDRpoC042725@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jlh (src committer)
Date: Mon Aug 22 13:27:51 2016
New Revision: 420614
URL: https://svnweb.freebsd.org/changeset/ports/420614

Log:
  Minor improvements.
  
  Most noticeable changes in no particular order:
  - The rc.d script doesn't use the provided shell script to start the daemon,
    but starts it directly.
  - This is now installed in ${DATADIR}, not in ${PREFIX}/${PORTDIRNAME}.
  - Define CONFLICTS_INSTALL so as to avoid colliding with non standalone version.
  - Use post-install-${OPTION}-on.
  
  PR:		210651
  Submitted by:	joshruehlig@gmail.com
  Reviewed by:	crees
  Approved by:	crees
  Differential Revision:	https://reviews.freebsd.org/D7305

Modified:
  head/www/madsonic-standalone/Makefile
  head/www/madsonic-standalone/files/madsonic.in
  head/www/madsonic-standalone/pkg-plist

Modified: head/www/madsonic-standalone/Makefile
==============================================================================
--- head/www/madsonic-standalone/Makefile	Mon Aug 22 13:20:47 2016	(r420613)
+++ head/www/madsonic-standalone/Makefile	Mon Aug 22 13:27:51 2016	(r420614)
@@ -6,9 +6,11 @@
 
 PORTNAME=	madsonic-standalone
 PORTVERSION=	5.1
+DISTVERSIONSUFFIX=	.5150
+DISTDATE=	20140927
 CATEGORIES=	www java
 MASTER_SITES=	http://madsonic.org/download/${PORTVERSION}/
-DISTNAME=	20140927_madsonic-5.1.5150-standalone
+DISTNAME=	${DISTDATE}_madsonic-${PORTVERSION}${DISTVERSIONSUFFIX}-standalone
 
 MAINTAINER=	jlh@FreeBSD.org
 COMMENT=	Subsonic streaming media server, standalone version
@@ -43,54 +45,47 @@ APE_RUN_DEPENDS=	mac:audio/mac
 
 .include <bsd.port.options.mk>
 
+NO_WRKSUBDIR=	yes
 NO_BUILD=	yes
 USE_JAVA=	yes
 USE_RC_SUBR=	madsonic
 JAVA_VERSION=	1.6+
+JAVA_RUN=	yes
 # Don't waste UID/GID and reuse Subsonic's user.
 USERS=		subsonic
 GROUPS=		subsonic
 # Keep the same variable names as in the Subsonic port to minimize diffs.
 SUBSONIC_HOME=	/var/madsonic
-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 \
-		madsonic
+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
+CONFLICTS_INSTALL=	madsonic-jetty madsonic-resin3 madsonic-tomcat[678]
 
 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}/madsonic.war ${STAGEDIR}${SUBSONIC_DIR}/
-	${INSTALL_DATA} ${WRKDIR}/${PORTDIRNAME}/madsonic-booter.jar ${STAGEDIR}${SUBSONIC_DIR}/
-	${INSTALL_SCRIPT} ${WRKDIR}/${PORTDIRNAME}/madsonic.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
-.endif
-.if ${PORT_OPTIONS:MFLAC}
+	${MKDIR} ${STAGEDIR}${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/madsonic.war ${STAGEDIR}${DATADIR}/
+	${INSTALL_DATA} ${WRKSRC}/madsonic-booter.jar ${STAGEDIR}${DATADIR}/
+
+post-install:
+	${MKDIR} ${STAGEDIR}${SUBSONIC_HOME}/transcode
+
+post-install-FFMPEG-on:
+	${LN} -sf ${PREFIX}/bin/ffmpeg ${STAGEDIR}${SUBSONIC_HOME}/transcode/ffmpeg
+
+post-install-FLAC-on:
 	${LN} -sf ${PREFIX}/bin/flac ${STAGEDIR}${SUBSONIC_HOME}/transcode/flac
-.endif
-.if ${PORT_OPTIONS:MLAME}
+
+post-install-LAME-on:
 	${LN} -sf ${PREFIX}/bin/lame ${STAGEDIR}${SUBSONIC_HOME}/transcode/lame
-.endif
 
 .include <bsd.port.mk>

Modified: head/www/madsonic-standalone/files/madsonic.in
==============================================================================
--- head/www/madsonic-standalone/files/madsonic.in	Mon Aug 22 13:20:47 2016	(r420613)
+++ head/www/madsonic-standalone/files/madsonic.in	Mon Aug 22 13:27:51 2016	(r420614)
@@ -4,48 +4,47 @@
 #
 
 # PROVIDE: subsonic
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
 
 #
 # Configuration settings for madsonic in /etc/rc.conf:
 #
 # madsonic_enable (bool):
 #   Set to "NO" by default.
-#   Set it to "YES" to enable madsonic
+#   Set it to "YES" to enable madsonic.
 #
 # madsonic_home (str):
 #   Set to "%%SUBSONIC_HOME%%" by default.
 #
-# madsonic_music_folder (str):
-#   Set to "%%SUBSONIC_HOME%%"/music by default.
-#
-# madsonic_playlist_folder (str):
-#   Set to "%%SUBSONIC_HOME%%"/playlist by default.
-#
-# madsonic_pidfile (str):
-#   Set to "${madsonic_home}/madsonic.pid" by default.
-#
 # madsonic_host (str):
 #   Set to "0.0.0.0" by default.
 #   Specify which IP address to listen to.
 #
-# madsonic_http_port (int):
+# madsonic_port (int):
 #   Set to "4040" by default.
-#   Specify which port to listen on for HTTP.
+#   Specify which port to listen on for HTTP(S).
+#
+# madsonic_ssl (bool):
+#   Set to "NO" by default.
+#   Set it to "YES" to enable SSL.
 #
-# madsonic_https_port (int):
-#   Set to "0" by default.
-#   Specify which port to listen on for HTTPS.
+# madsonic_ssl_keystore (str):
+#   Optionally set path to custom SSL keystore.
+#
+# madsonic_ssl_password (str):
+#   Optionally set password for custom SSL keystore.
 #
 # madsonic_context_path (str):
 #   Set to "/" by default.
 #   Specify the last part of the Subsonic URL, typically "/" or "/madsonic".
 #
 # madsonic_init_memory (int):
-#   Set to "192" by defaut.
+#   Set to "192" by default.
 #   Specify the memory initial size (Java heap size) in megabytes.
 #
 # madsonic_max_memory (int):
-#   Set to "384" by defaut.
+#   Set to "384" by default.
 #   Specify the memory limit (Java heap size) in megabytes.
 #
 
@@ -57,36 +56,42 @@ procname="%%JAVA%%"
 
 load_rc_config "${name}"
 
-eval "${rcvar}=\${${rcvar}:-'NO'}"
-eval "${name}_user=\${${name}_user:-'subsonic'}"
-eval "${name}_group=\${${name}_group:-'subsonic'}"
-# Keep the same variable names as subsonic to minimize diffs.
-eval "_subsonic_init_memory=\${${name}_init_memory:-'192'}"
-eval "_subsonic_max_memory=\${${name}_max_memory:-'384'}"
-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%%/madsonic.sh"
-command_args="--home=${_subsonic_home} \
-	--host=${_subsonic_host} \
-	--port=${_subsonic_http_port} \
-	--https-port=${_subsonic_https_port} \
-	--context-path=${_subsonic_context_path} \
-	--init-memory=${_subsonic_init_memory} \
-	--max-memory=${_subsonic_max_memory} \
-	--pidfile=${_subsonic_pidfile} \
-	--default-music-folder=${_subsonic_music_folder} \
-	--default-playlist-import-folder=${_subsonic_playlist_folder}/import \
-	--default-playlist-export-folder=${_subsonic_playlist_folder}/export \
-	--default-playlist-backup-folder=${_subsonic_playlist_folder}/backup"
+: ${madsonic_enable:="NO"}
+: ${madsonic_user:="%%USER%%"}
+: ${madsonic_group:="%%GROUP%%"}
+: ${madsonic_home:="%%SUBSONIC_HOME%%"}
+: ${madsonic_host:="0.0.0.0"}
+: ${madsonic_port:="4040"}
+: ${madsonic_ssl:="NO"}
+: ${madsonic_context_path:="/"}
+: ${madsonic_init_memory:="192"}
+: ${madsonic_max_memory:="384"}
+
+if checkyesno madsonic_ssl; then
+	MADSONIC_SSL_FLAGS="-Dmadsonic.httpsPort=${madsonic_port}" && madsonic_port="0"
+	if [ ! -z ${madsonic_ssl_keystore} ]; then
+		MADSONIC_SSL_FLAGS=${MADSONIC_SSL_FLAGS}" -Dmadsonic.ssl.keystore=${madsonic_ssl_keystore} -Dmadsonic.ssl.password=${madsonic_ssl_password}"
+	fi
+fi
+
+start_precmd="export LC_CTYPE='UTF-8'"
+madsonic_chdir="%%DATADIR%%"
+command="/usr/sbin/daemon"
+command_args="-f ${procname} \
+	-Dmadsonic.home=${madsonic_home} \
+	-Dmadsonic.host=${madsonic_host} \
+	-Dmadsonic.port=${madsonic_port} \
+	${MADSONIC_SSL_FLAGS} \
+	-Dmadsonic.contextPath=${madsonic_context_path} \
+	-Dmadsonic.defaultMusicFolder=${madsonic_home}/artists \
+	-Dmadsonic.defaultUploadFolder=${madsonic_home}/incoming \
+	-Dmadsonic.defaultPodcastFolder=${madsonic_home}/podcasts \
+	-Dmadsonic.defaultPlaylistImportFolder=${madsonic_home}/playlists/import \
+	-Dmadsonic.defaultPlaylistExportFolder=${madsonic_home}/playlists/export \
+	-Dmadsonic.defaultPlaylistBackupFolder=${madsonic_home}/playlists/backup \
+	-Xms${madsonic_init_memory}m \
+	-Xmx${madsonic_max_memory}m \
+	-Djava.awt.headless=true \
+	-jar ${madsonic_chdir}/madsonic-booter.jar"
 
 run_rc_command "$1"

Modified: head/www/madsonic-standalone/pkg-plist
==============================================================================
--- head/www/madsonic-standalone/pkg-plist	Mon Aug 22 13:20:47 2016	(r420613)
+++ head/www/madsonic-standalone/pkg-plist	Mon Aug 22 13:27:51 2016	(r420614)
@@ -1,8 +1,8 @@
-madsonic-standalone/LICENSE.TXT
-madsonic-standalone/README.TXT
-madsonic-standalone/madsonic.war
-madsonic-standalone/madsonic-booter.jar
-madsonic-standalone/madsonic.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%%/madsonic.war
+%%DATADIR%%/madsonic-booter.jar
+%%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.") | true
 @dir(%%USER%%,%%GROUP%%,750) %%SUBSONIC_HOME%%/transcode
 @dir(%%USER%%,%%GROUP%%,750) %%SUBSONIC_HOME%%



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608221327.u7MDRpoC042725>