From owner-svn-ports-head@freebsd.org Mon Aug 22 13:27:53 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C4BBBC1E88; Mon, 22 Aug 2016 13:27:53 +0000 (UTC) (envelope-from jlh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0A4A91198; Mon, 22 Aug 2016 13:27:52 +0000 (UTC) (envelope-from jlh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u7MDRqMJ042728; Mon, 22 Aug 2016 13:27:52 GMT (envelope-from jlh@FreeBSD.org) Received: (from jlh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u7MDRpoC042725; Mon, 22 Aug 2016 13:27:51 GMT (envelope-from jlh@FreeBSD.org) Message-Id: <201608221327.u7MDRpoC042725@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jlh set sender to jlh@FreeBSD.org using -f From: Jeremie Le Hen Date: Mon, 22 Aug 2016 13:27:51 +0000 (UTC) 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 X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Aug 2016 13:27:53 -0000 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 +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 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%%