Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Jan 2011 02:26:40 +1030 (CST)
From:      Jarrod Sayers <jarrod@downtools.com.au>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/154031: New port: audio/shoutcast2: SHOUTcast Distributed Network Audio Server 2.0 (and take ownership of audio/shoutcast)
Message-ID:  <201101151556.p0FFue9G072158@burbank.downtools.com.au>
Resent-Message-ID: <201101151600.p0FG0Q1i007207@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         154031
>Category:       ports
>Synopsis:       New port: audio/shoutcast2: SHOUTcast Distributed Network Audio Server 2.0 (and take ownership of audio/shoutcast)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 15 16:00:25 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Jarrod Sayers
>Release:        FreeBSD 8.1-RELEASE-p2 i386
>Organization:
>Environment:
System: FreeBSD burbank.downtools.com.au 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #7: Sat Dec 18 19:18:08 CST 2010 root@burbank.downtools.com.au:/usr/obj/usr/src/sys/BURBANK i386
>Description:
New port: audio/shoutcast2.

>From pkg-descr:
"SHOUTcast Distributed Network Audio Server 2.0 (or DNAS for short) is
 the next-generation SHOUTcast server technology, designed to work with
 the new YP 2.0 playform that supports real-time and coming soon search
 results, international chatacter encoding support, and much more!"

Included in this PR is a standard shar file (audio-shoutcast2-2.0.b10.shar)
containing the audio/shoutcast2 port.  In order to maintain revision history,
if required, a diff is also included (audio-shoutcast2-2.0.b10-with-a-repocopy.diff)
which can be applied after a repocopy of audio/shoutcast to audio/shoutcast2.
These two methods are mutually exclusive.

Please note that a modification to ports/GIDs is required and while it is
included in the diff version, it could not be included in the shar and may
need manual extraction and application.

A third diff is included (audio-shoutcast-take-maintainership.diff) to change
the maintainer of the legacy port from ports@ to myself.  The previous diff
assumes that his has not been applied.

audio-shoutcast2-2.0.b10.shar:
[http://www.downtools.com.au/~jarrod/FreeBSD/audio-shoutcast2-2.0.b10.shar]
- ports/audio/shoutcast2/Makefile (added)
- ports/audio/shoutcast2/distinfo (added)
- ports/audio/shoutcast2/files/pkg-message.in (added)
- ports/audio/shoutcast2/files/shoutcast.in (added)
- ports/audio/shoutcast2/pkg-descr (added)
- ports/audio/shoutcast2/pkg-plist (added)

audio-shoutcast2-2.0.b10-with-a-repocopy.diff:
[http://www.downtools.com.au/~jarrod/FreeBSD/audio-shoutcast2-2.0.b10-with-a-repocopy.diff]
- ports/GIDs (modified)
- ports/audio/shoutcast2/Makefile (modified)
- ports/audio/shoutcast2/distinfo (modified)
- ports/audio/shoutcast2/files/pkg-message.in (modified)
- ports/audio/shoutcast2/files/shoutcast.in (added)
- ports/audio/shoutcast2/files/shoutcast.sh.in (removed)
- ports/audio/shoutcast2/pkg-deinstall (removed)
- ports/audio/shoutcast2/pkg-descr (modified)
- ports/audio/shoutcast2/pkg-install (removed)
- ports/audio/shoutcast2/pkg-plist (modified)

audio-shoutcast-take-maintainership.diff:
[http://www.downtools.com.au/~jarrod/FreeBSD/audio-shoutcast-take-maintainership.diff]
- ports/audio/shoutcast/Makefile (modified)
>How-To-Repeat:
>Fix:
--- audio-shoutcast2-2.0.b10.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	ports/audio/shoutcast2
#	ports/audio/shoutcast2/Makefile
#	ports/audio/shoutcast2/distinfo
#	ports/audio/shoutcast2/files
#	ports/audio/shoutcast2/files/shoutcast.in
#	ports/audio/shoutcast2/files/pkg-message.in
#	ports/audio/shoutcast2/pkg-descr
#	ports/audio/shoutcast2/pkg-plist
#
echo c - ports/audio/shoutcast2
mkdir -p ports/audio/shoutcast2 > /dev/null 2>&1
echo x - ports/audio/shoutcast2/Makefile
sed 's/^X//' >ports/audio/shoutcast2/Makefile << 'a55700de74730da9048dc0e8165e9048'
X# New ports collection makefile for:	shoutcast2
X# Date created:				15 January 2011
X# Whom:					Jarrod Sayers <jarrod@downtools.com.au>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	shoutcast
XPORTVERSION=	2.0.b10
XDISTNAME=	sc_serv2_bsd_8_x_12_14_2010
XCATEGORIES=	audio net
XMASTER_SITES=	http://download.nullsoft.com/shoutcast/tools/
X
XMAINTAINER=	jarrod@downtools.com.au
XCOMMENT=	SHOUTcast Distributed Network Audio Server
X
XRESTRICTED=	redistribution of software is not permitted
XIA32_BINARY_PORT=	yes
X
XUSE_RC_SUBR=	shoutcast
X
XCONFLICTS=	shoutcast-* linux-shoutcast-*
XNO_WRKSUBDIR=	yes
XNO_BUILD=	yes
X
XSHOUTCASTUSER=	${PORTNAME}
XSHOUTCASTGROUP=	${PORTNAME}
XSHOUTCASTDIR=	/var/run/${PORTNAME}
X
XPLIST_SUB=	SHOUTCASTUSER=${SHOUTCASTUSER} \
X		SHOUTCASTGROUP=${SHOUTCASTGROUP} \
X		SHOUTCASTDIR=${SHOUTCASTDIR}
X
XSUB_FILES=	pkg-message
X
X# XXX: Don't remove PREFIX from SUB_LIST here.
XSUB_LIST=	PREFIX=${PREFIX} \
X		${PLIST_SUB}
X
XUSERS=		${SHOUTCASTUSER}
XGROUPS=		${SHOUTCASTGROUP}
X
XLATEST_LINK=	shoutcast2
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 800000
XIGNORE=		is for FreeBSD 8.x and later
X.endif
X
Xpost-patch:
X	@${REINPLACE_CMD} -e '/^logfile=.*\/logfile.log/d' \
X		-e '/sc_serv2 directory/d' \
X		-e 's#=.*/sc_serv.log#=/var/log/sc_serv.log#g' \
X		-e 's#=.*/sc_w3c.log#=/var/log/sc_w3c.log#g' \
X		-e 's#=./control/#=${SHOUTCASTDIR}/#g' ${WRKSRC}/sc_serv_basic.conf
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/sc_serv ${PREFIX}/sbin
X	${MKDIR} ${ETCDIR}
X	${INSTALL_DATA} ${WRKSRC}/sc_serv_basic.conf ${ETCDIR}/sc_serv_basic.conf.sample
X	${INSTALL_DATA} ${WRKSRC}/sc_serv_debug.conf ${ETCDIR}/sc_serv_debug.conf.sample
X	${INSTALL_DATA} ${WRKSRC}/sc_serv_public.conf ${ETCDIR}/sc_serv_public.conf.sample
X	${INSTALL_DATA} ${WRKSRC}/sc_serv_relay.conf ${ETCDIR}/sc_serv_relay.conf.sample
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${DOCSDIR}
X	${INSTALL_DATA} ${WRKSRC}/changes.txt ${DOCSDIR}/changes.txt
X	${INSTALL_DATA} ${WRKSRC}/docs/crossdomain.xml ${DOCSDIR}/crossdomain.xml
X	${INSTALL_DATA} ${WRKSRC}/docs/dsp_sc/dsp_sc.txt ${DOCSDIR}/dsp_sc.txt
X	${INSTALL_DATA} ${WRKSRC}/docs/dsp_sc/dsp_sc_config.txt ${DOCSDIR}/dsp_sc_config.txt
X	${INSTALL_DATA} ${WRKSRC}/docs/getting_started.txt ${DOCSDIR}/getting_started.txt
X	${INSTALL_DATA} ${WRKSRC}/docs/sc2_xml_metadata.txt ${DOCSDIR}/sc2_xml_metadata.txt
X	${INSTALL_DATA} ${WRKSRC}/docs/sc_serv2.txt ${DOCSDIR}/sc_serv2.txt
X.endif
X
Xpost-install:
X	${MKDIR} ${SHOUTCASTDIR}
X	@${CHMOD} 0750 ${SHOUTCASTDIR}
X	@${CHOWN} ${SHOUTCASTUSER}:${SHOUTCASTGROUP} ${SHOUTCASTDIR}
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.post.mk>
a55700de74730da9048dc0e8165e9048
echo x - ports/audio/shoutcast2/distinfo
sed 's/^X//' >ports/audio/shoutcast2/distinfo << '5e811b352d8e834bd43b4fdb636bedd7'
XSHA256 (sc_serv2_bsd_8_x_12_14_2010.tar.gz) = f5f6a6d025a0a75b353d12f919a4c1c435b11a6aa36c167c2c31f6d54dfdfd78
XSIZE (sc_serv2_bsd_8_x_12_14_2010.tar.gz) = 603975
5e811b352d8e834bd43b4fdb636bedd7
echo c - ports/audio/shoutcast2/files
mkdir -p ports/audio/shoutcast2/files > /dev/null 2>&1
echo x - ports/audio/shoutcast2/files/shoutcast.in
sed 's/^X//' >ports/audio/shoutcast2/files/shoutcast.in << '848a42348207055c161a040f8c2605bd'
X#!/bin/sh
X#
X# $FreeBSD$
X#
X
X# PROVIDE: shoutcast
X# REQUIRE: LOGIN
X# BEFORE:
X# KEYWORD: shutdown
X
X#
X# Add the following lines to /etc/rc.conf to enable SHOUTcast:
X# shoutcast_enable (bool):    Set to "NO" by default.
X#                             Set it to "YES" to enable SHOUTcast.
X# shoutcast_configfile (str): Set to "%%PREFIX%%/%%ETCDIR%%/sc_serv.conf" by default.
X#
X
X. /etc/rc.subr
X
Xname="shoutcast"
Xrcvar=`set_rcvar`
Xshoutcast_logfile="/var/log/sc_serv.log"
X
Xstart_cmd="shoutcast_startcmd"
Xstop_cmd="shoutcast_stopcmd"
X
X[ -z "${shoutcast_enable}" ] && shoutcast_enable="NO"
X[ -z "${shoutcast_configfile}" ] && shoutcast_configfile="%%PREFIX%%/%%ETCDIR%%/sc_serv.conf"
X
Xload_rc_config "${name}"
X
Xrequired_files="${shoutcast_configfile}"
X
Xshoutcast_startcmd() {
X  touch ${shoutcast_logfile}
X  chown %%SHOUTCASTUSER%%:wheel ${shoutcast_logfile}
X  chmod 0640 ${shoutcast_logfile}
X  su %%SHOUTCASTUSER%% -c "cd %%SHOUTCASTDIR%% && %%PREFIX%%/sbin/sc_serv ${shoutcast_configfile} >/dev/null 2>&1 &"
X}
X
Xshoutcast_stopcmd() {
X  killall sc_serv
X}
X
Xrun_rc_command "$1"
848a42348207055c161a040f8c2605bd
echo x - ports/audio/shoutcast2/files/pkg-message.in
sed 's/^X//' >ports/audio/shoutcast2/files/pkg-message.in << '6f06ae28f62b281d7ccbb59fe3b4dfa2'
X**********************************************************************
X
X SHOUTcast Distributed Network Audio Server is now installed.
X
X Enable SHOUTcast in /etc/rc.conf with the following line:
X
X   shoutcast_enable="YES"
X
X Configuration templates are available in %%PREFIX%%/%%ETCDIR%% as
X *.sample files. A basic installation can be completed by copying
X sc_serv_basic.conf.sample to sc_serv.conf.
X
X**********************************************************************
6f06ae28f62b281d7ccbb59fe3b4dfa2
echo x - ports/audio/shoutcast2/pkg-descr
sed 's/^X//' >ports/audio/shoutcast2/pkg-descr << '252b6a4f2295fb1feda90e5a7da208a8'
XSHOUTcast Distributed Network Audio Server 2.0 (or DNAS for short) is
Xthe next-generation SHOUTcast server technology, designed to work with
Xthe new YP 2.0 playform that supports real-time and coming soon search
Xresults, international chatacter encoding support, and much more!
X
XWWW: http://www.shoutcast.com/broadcast-tools/
252b6a4f2295fb1feda90e5a7da208a8
echo x - ports/audio/shoutcast2/pkg-plist
sed 's/^X//' >ports/audio/shoutcast2/pkg-plist << '430fbb29a6b487db5bf195fc741ba6eb'
X@exec mkdir -p %%SHOUTCASTDIR%%
X@exec chmod 0750 %%SHOUTCASTDIR%%
X@exec chown %%SHOUTCASTUSER%%:%%SHOUTCASTGROUP%% %%SHOUTCASTDIR%%
X%%ETCDIR%%/sc_serv_basic.conf.sample
X%%ETCDIR%%/sc_serv_debug.conf.sample
X%%ETCDIR%%/sc_serv_public.conf.sample
X%%ETCDIR%%/sc_serv_relay.conf.sample
Xsbin/sc_serv
X%%PORTDOCS%%%%DOCSDIR%%/changes.txt
X%%PORTDOCS%%%%DOCSDIR%%/crossdomain.xml
X%%PORTDOCS%%%%DOCSDIR%%/dsp_sc.txt
X%%PORTDOCS%%%%DOCSDIR%%/dsp_sc_config.txt
X%%PORTDOCS%%%%DOCSDIR%%/getting_started.txt
X%%PORTDOCS%%%%DOCSDIR%%/sc2_xml_metadata.txt
X%%PORTDOCS%%%%DOCSDIR%%/sc_serv2.txt
X@dirrmtry %%ETCDIR%%
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X@unexec if [ ! -s %%SHOUTCASTDIR%%/sc_serv.ban ]; then rm -f %%SHOUTCASTDIR%%/sc_serv.ban; fi
X@unexec if [ ! -s %%SHOUTCASTDIR%%/sc_serv.rip ]; then rm -f %%SHOUTCASTDIR%%/sc_serv.rip; fi
X@unexec rmdir %%SHOUTCASTDIR%% 2>/dev/null || true
430fbb29a6b487db5bf195fc741ba6eb
exit
--- audio-shoutcast2-2.0.b10.shar ends here ---

--- audio-shoutcast2-2.0.b10-with-a-repocopy.diff begins here ---
diff -ruN ports/audio/shoutcast2.orig/Makefile ports/audio/shoutcast2/Makefile
--- ports/audio/shoutcast2.orig/Makefile	2010-09-03 06:47:32.000000000 +0930
+++ ports/audio/shoutcast2/Makefile	2011-01-16 00:40:53.000000000 +1030
@@ -1,52 +1,82 @@
-# Ports collection Makefile for:	shoutcast
-# Date created:				09 Oct 2005
-# Whom:					Gabor Kovesdan
+# New ports collection makefile for:	shoutcast2
+# Date created:				15 January 2011
+# Whom:					Jarrod Sayers <jarrod@downtools.com.au>
+#
+# $FreeBSD$
 #
-# $FreeBSD: ports/audio/shoutcast/Makefile,v 1.16 2010/09/02 21:17:32 wxs Exp $
 
 PORTNAME=	shoutcast
-PORTVERSION=	1.9.8
+PORTVERSION=	2.0.b10
+DISTNAME=	sc_serv2_bsd_8_x_12_14_2010
 CATEGORIES=	audio net
-MASTER_SITES=	http://yp.shoutcast.com/downloads/sc1-9-8/
-DISTNAME=	sc_serv_${PORTVERSION}_FreeBSD5
+MASTER_SITES=	http://download.nullsoft.com/shoutcast/tools/
+
+MAINTAINER=	jarrod@downtools.com.au
+COMMENT=	SHOUTcast Distributed Network Audio Server
+
+RESTRICTED=	redistribution of software is not permitted
+IA32_BINARY_PORT=	yes
+
+USE_RC_SUBR=	shoutcast
+
+CONFLICTS=	shoutcast-* linux-shoutcast-*
+NO_WRKSUBDIR=	yes
+NO_BUILD=	yes
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	Nullsoft's streaming audio server (binary port)
+SHOUTCASTUSER=	${PORTNAME}
+SHOUTCASTGROUP=	${PORTNAME}
+SHOUTCASTDIR=	/var/run/${PORTNAME}
 
-LIB_DEPENDS=	c.5:${PORTSDIR}/misc/compat5x
+PLIST_SUB=	SHOUTCASTUSER=${SHOUTCASTUSER} \
+		SHOUTCASTGROUP=${SHOUTCASTGROUP} \
+		SHOUTCASTDIR=${SHOUTCASTDIR}
 
-IA32_BINARY_PORT=	YES
-NO_BUILD=	YES
-RESTRICTED=	Redistribution of the software is not allowed
+SUB_FILES=	pkg-message
 
-CONFLICTS=	linux-shoutcast-[0-9]*
+# XXX: Don't remove PREFIX from SUB_LIST here.
+SUB_LIST=	PREFIX=${PREFIX} \
+		${PLIST_SUB}
 
-USE_RC_SUBR=	shoutcast.sh
-PORTDOCS=	README.TXT
-WRKSRC=		${WRKDIR}
+USERS=		${SHOUTCASTUSER}
+GROUPS=		${SHOUTCASTGROUP}
+
+LATEST_LINK=	shoutcast2
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 800000
+IGNORE=		is for FreeBSD 8.x and later
+.endif
 
 post-patch:
-	@${REINPLACE_CMD} -e 's/[[:cntrl:]]*$$//' \
-		-e 's|=sc_serv.log|=/var/log/sc_serv.log|' \
-		-e 's|=sc_w3c.log|=/var/log/sc_w3c.log|' \
-		-e 's|ScreenLog=1|ScreenLog=0|' \
-		-e 's|RealTime=1|RealTime=0|' \
-		-e 's|=sc_serv.ban|=${PREFIX}/etc/shoutcast/sc_serv.ban|' \
-		-e 's|=sc_serv.rip|=${PREFIX}/etc/shoutcast/sc_serv.rip|' \
-		${WRKSRC}/sc_serv.conf
+	@${REINPLACE_CMD} -e '/^logfile=.*\/logfile.log/d' \
+		-e '/sc_serv2 directory/d' \
+		-e 's#=.*/sc_serv.log#=/var/log/sc_serv.log#g' \
+		-e 's#=.*/sc_w3c.log#=/var/log/sc_w3c.log#g' \
+		-e 's#=./control/#=${SHOUTCASTDIR}/#g' ${WRKSRC}/sc_serv_basic.conf
 
 do-install:
-	@${INSTALL_PROGRAM} ${WRKSRC}/sc_serv ${PREFIX}/sbin
-	@${MKDIR} ${PREFIX}/etc/shoutcast
-	@${INSTALL_DATA} ${WRKSRC}/sc_serv.conf ${PREFIX}/etc/shoutcast/sc_serv.conf.sample
-	@[ -f ${PREFIX}/etc/shoutcast/sc_serv.conf ] || \
-		${INSTALL_DATA} ${WRKSRC}/sc_serv.conf ${PREFIX}/etc/shoutcast/sc_serv.conf
+	${INSTALL_PROGRAM} ${WRKSRC}/sc_serv ${PREFIX}/sbin
+	${MKDIR} ${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/sc_serv_basic.conf ${ETCDIR}/sc_serv_basic.conf.sample
+	${INSTALL_DATA} ${WRKSRC}/sc_serv_debug.conf ${ETCDIR}/sc_serv_debug.conf.sample
+	${INSTALL_DATA} ${WRKSRC}/sc_serv_public.conf ${ETCDIR}/sc_serv_public.conf.sample
+	${INSTALL_DATA} ${WRKSRC}/sc_serv_relay.conf ${ETCDIR}/sc_serv_relay.conf.sample
 .if !defined(NOPORTDOCS)
-	@${MKDIR} ${DOCSDIR}
-	@${INSTALL_DATA} ${WRKSRC}/README.TXT ${DOCSDIR}
+	${MKDIR} ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/changes.txt ${DOCSDIR}/changes.txt
+	${INSTALL_DATA} ${WRKSRC}/docs/crossdomain.xml ${DOCSDIR}/crossdomain.xml
+	${INSTALL_DATA} ${WRKSRC}/docs/dsp_sc/dsp_sc.txt ${DOCSDIR}/dsp_sc.txt
+	${INSTALL_DATA} ${WRKSRC}/docs/dsp_sc/dsp_sc_config.txt ${DOCSDIR}/dsp_sc_config.txt
+	${INSTALL_DATA} ${WRKSRC}/docs/getting_started.txt ${DOCSDIR}/getting_started.txt
+	${INSTALL_DATA} ${WRKSRC}/docs/sc2_xml_metadata.txt ${DOCSDIR}/sc2_xml_metadata.txt
+	${INSTALL_DATA} ${WRKSRC}/docs/sc_serv2.txt ${DOCSDIR}/sc_serv2.txt
 .endif
 
 post-install:
-	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+	${MKDIR} ${SHOUTCASTDIR}
+	@${CHMOD} 0750 ${SHOUTCASTDIR}
+	@${CHOWN} ${SHOUTCASTUSER}:${SHOUTCASTGROUP} ${SHOUTCASTDIR}
+	@${CAT} ${PKGMESSAGE}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -ruN ports/audio/shoutcast2.orig/distinfo ports/audio/shoutcast2/distinfo
--- ports/audio/shoutcast2.orig/distinfo	2008-12-05 01:36:39.000000000 +1030
+++ ports/audio/shoutcast2/distinfo	2011-01-15 20:20:24.000000000 +1030
@@ -1,3 +1,2 @@
-MD5 (sc_serv_1.9.8_FreeBSD5.tar.gz) = 0e9e19bf05831f17cb7881213382bbf5
-SHA256 (sc_serv_1.9.8_FreeBSD5.tar.gz) = 5e05f7bac72b3cffe8f54b0387e5a67aa55be67d2a864508db82de4dc5a41a0a
-SIZE (sc_serv_1.9.8_FreeBSD5.tar.gz) = 62688
+SHA256 (sc_serv2_bsd_8_x_12_14_2010.tar.gz) = f5f6a6d025a0a75b353d12f919a4c1c435b11a6aa36c167c2c31f6d54dfdfd78
+SIZE (sc_serv2_bsd_8_x_12_14_2010.tar.gz) = 603975
diff -ruN ports/audio/shoutcast2.orig/files/pkg-message.in ports/audio/shoutcast2/files/pkg-message.in
--- ports/audio/shoutcast2.orig/files/pkg-message.in	2005-11-19 02:50:59.000000000 +1030
+++ ports/audio/shoutcast2/files/pkg-message.in	2011-01-16 00:35:30.000000000 +1030
@@ -1,12 +1,13 @@
-==================================================================
-Shoutcast is now installed.
-There is a sample configuration file under
-%%PREFIX%%/etc/shoutcast/sc_serv.conf.sample.
-Edit that file and save it as sc_serv.conf in the same directory.
+**********************************************************************
 
-If You want to start the server, set shoutcast_enable="YES" in
-your /etc/rc.conf file, and type:
+ SHOUTcast Distributed Network Audio Server is now installed.
 
-%%PREFIX%%/etc/rc.d/shoutcast.sh start
+ Enable SHOUTcast in /etc/rc.conf with the following line:
 
-==================================================================
+   shoutcast_enable="YES"
+
+ Configuration templates are available in %%PREFIX%%/%%ETCDIR%% as
+ *.sample files. A basic installation can be completed by copying
+ sc_serv_basic.conf.sample to sc_serv.conf.
+
+**********************************************************************
diff -ruN ports/audio/shoutcast2.orig/files/shoutcast.in ports/audio/shoutcast2/files/shoutcast.in
--- ports/audio/shoutcast2.orig/files/shoutcast.in	1970-01-01 09:30:00.000000000 +0930
+++ ports/audio/shoutcast2/files/shoutcast.in	2011-01-16 01:09:42.000000000 +1030
@@ -0,0 +1,45 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: shoutcast
+# REQUIRE: LOGIN
+# BEFORE:
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable SHOUTcast:
+# shoutcast_enable (bool):    Set to "NO" by default.
+#                             Set it to "YES" to enable SHOUTcast.
+# shoutcast_configfile (str): Set to "%%PREFIX%%/%%ETCDIR%%/sc_serv.conf" by default.
+#
+
+. /etc/rc.subr
+
+name="shoutcast"
+rcvar=`set_rcvar`
+shoutcast_logfile="/var/log/sc_serv.log"
+
+start_cmd="shoutcast_startcmd"
+stop_cmd="shoutcast_stopcmd"
+
+[ -z "${shoutcast_enable}" ] && shoutcast_enable="NO"
+[ -z "${shoutcast_configfile}" ] && shoutcast_configfile="%%PREFIX%%/%%ETCDIR%%/sc_serv.conf"
+
+load_rc_config "${name}"
+
+required_files="${shoutcast_configfile}"
+
+shoutcast_startcmd() {
+  touch ${shoutcast_logfile}
+  chown %%SHOUTCASTUSER%%:wheel ${shoutcast_logfile}
+  chmod 0640 ${shoutcast_logfile}
+  su %%SHOUTCASTUSER%% -c "cd %%SHOUTCASTDIR%% && %%PREFIX%%/sbin/sc_serv ${shoutcast_configfile} >/dev/null 2>&1 &"
+}
+
+shoutcast_stopcmd() {
+  killall sc_serv
+}
+
+run_rc_command "$1"
diff -ruN ports/audio/shoutcast2.orig/files/shoutcast.sh.in ports/audio/shoutcast2/files/shoutcast.sh.in
--- ports/audio/shoutcast2.orig/files/shoutcast.sh.in	2006-02-21 07:16:49.000000000 +1030
+++ ports/audio/shoutcast2/files/shoutcast.sh.in	1970-01-01 09:30:00.000000000 +0930
@@ -1,27 +0,0 @@
-#!/bin/sh
-#
-
-# PROVIDE: shoutcast
-# REQUIRE: LOGIN
-# BEFORE:
-# KEYWORD: shutdown
-
-. /etc/rc.subr
-
-name="shoutcast"
-rcvar=`set_rcvar`
-start_cmd="shoutcast_startcmd"
-stop_cmd="shoutcast_stopcmd"
-
-shoutcast_startcmd ()
-{
-su shoutcast -c '%%PREFIX%%/sbin/sc_serv %%PREFIX%%/etc/shoutcast/sc_serv.conf & >/dev/null 2>&1'
-}
-
-shoutcast_stopcmd ()
-{
-killall sc_serv
-}
-
-load_rc_config $name
-run_rc_command "$1"
diff -ruN ports/audio/shoutcast2.orig/pkg-deinstall ports/audio/shoutcast2/pkg-deinstall
--- ports/audio/shoutcast2.orig/pkg-deinstall	2006-06-05 20:05:35.000000000 +0930
+++ ports/audio/shoutcast2/pkg-deinstall	1970-01-01 09:30:00.000000000 +0930
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-if [ "$2" != "POST-DEINSTALL" ]; then
-        exit 0
-fi
-
-SC_GROUP=shoutcast
-SC_USER=shoutcast
-SC_SHELL=/bin/sh
-SC_HOME=/nonexistent
-PW=/usr/sbin/pw
-
-pw groupdel shoutcast >/dev/null 2>&1
-pw userdel shoutcast >/dev/null 2>&1
-
-exit 0
diff -ruN ports/audio/shoutcast2.orig/pkg-descr ports/audio/shoutcast2/pkg-descr
--- ports/audio/shoutcast2.orig/pkg-descr	2005-10-13 12:31:12.000000000 +0930
+++ ports/audio/shoutcast2/pkg-descr	2011-01-16 00:13:59.000000000 +1030
@@ -1,9 +1,6 @@
-Shoutcast is Nullsoft's Winamp-based streaming audio server. It isn't
-an open source software, but freely available for i386 versions of
-FreeBSD 4.x and 5.x. This port installs the appropriate binary for
-your system.
+SHOUTcast Distributed Network Audio Server 2.0 (or DNAS for short) is
+the next-generation SHOUTcast server technology, designed to work with
+the new YP 2.0 playform that supports real-time and coming soon search
+results, international chatacter encoding support, and much more!
 
-WWW: http://www.shoutcast.com
-
-Gabor Kovesdan
-<gkovesdan@t-hosting.hu>
+WWW: http://www.shoutcast.com/broadcast-tools/
diff -ruN ports/audio/shoutcast2.orig/pkg-install ports/audio/shoutcast2/pkg-install
--- ports/audio/shoutcast2.orig/pkg-install	2007-04-01 05:26:18.000000000 +0930
+++ ports/audio/shoutcast2/pkg-install	1970-01-01 09:30:00.000000000 +0930
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-if [ "$2" != "POST-INSTALL" ]; then
-	exit 0
-fi
-
-SC_GROUP=shoutcast
-SC_USER=shoutcast
-SC_SHELL=/bin/sh
-SC_HOME=/nonexistent
-PW="/usr/sbin/pw"
-
-if ! ${PW} show group ${SC_GROUP} -q >/dev/null; then
-	gid=210
-	while ${PW} show group -g ${gid} -q >/dev/null; do
-		gid=`expr ${gid} + 1`
-	done
-	if ! ${PW} add group ${SC_GROUP} -g ${gid}; then
-		e=$?
-		echo "*** Failed to add group \`${SC_GROUP}'. Please add it manually."
-		exit ${e}
-	fi
-	echo "*** Added group \`${SC_GROUP}' (id ${gid})"
-else
-	gid=`${PW} show group ${SC_GROUP} 2>/dev/null | cut -d: -f3`
-fi
-
-if ! ${PW} show user ${SC_USER} -q >/dev/null; then
-	uid=210
-	while ${PW} show user -u ${uid} -q >/dev/null; do
-		uid=`expr ${uid} + 1`
-	done
-	if ! ${PW} add user ${SC_USER} -u ${uid} -g ${gid} -d "${SC_HOME}" \
-	-c "Shoutcast sandbox" -s "${SC_SHELL}" -p "*" \
-	; then
-		e=$?
-		echo "*** Failed to add user \`${SC_USER}'. Please add it manually."
-		exit ${e}
-	fi
-	echo "*** Added user \`${SC_USER}' (id ${uid})"
-else
-	if ! ${PW} mod user ${SC_USER} -g ${gid} -d "${SC_HOME}" \
-	-c "Shoutcast sandbox" -s "${SC_SHELL}" -p "*" \
-	; then
-		e=$?
-		echo "*** Failed to update user \`${SC_USER}'."
-		exit ${e}
-	fi
-		echo "*** Updated user \`${SC_USER}'."
-fi
diff -ruN ports/audio/shoutcast2.orig/pkg-plist ports/audio/shoutcast2/pkg-plist
--- ports/audio/shoutcast2.orig/pkg-plist	2006-06-05 20:05:35.000000000 +0930
+++ ports/audio/shoutcast2/pkg-plist	2011-01-16 01:07:04.000000000 +1030
@@ -1,4 +1,20 @@
+@exec mkdir -p %%SHOUTCASTDIR%%
+@exec chmod 0750 %%SHOUTCASTDIR%%
+@exec chown %%SHOUTCASTUSER%%:%%SHOUTCASTGROUP%% %%SHOUTCASTDIR%%
+%%ETCDIR%%/sc_serv_basic.conf.sample
+%%ETCDIR%%/sc_serv_debug.conf.sample
+%%ETCDIR%%/sc_serv_public.conf.sample
+%%ETCDIR%%/sc_serv_relay.conf.sample
 sbin/sc_serv
-@unexec if cmp -s %%PREFIX%%/etc/shoutcast/sc_serv.conf %%PREFIX%%/etc/shoutcast/sc_serv.conf.sample; then rm %%PREFIX%%/etc/shoutcast/sc_serv.conf; fi
-etc/shoutcast/sc_serv.conf.sample
-@dirrmtry etc/shoutcast
+%%PORTDOCS%%%%DOCSDIR%%/changes.txt
+%%PORTDOCS%%%%DOCSDIR%%/crossdomain.xml
+%%PORTDOCS%%%%DOCSDIR%%/dsp_sc.txt
+%%PORTDOCS%%%%DOCSDIR%%/dsp_sc_config.txt
+%%PORTDOCS%%%%DOCSDIR%%/getting_started.txt
+%%PORTDOCS%%%%DOCSDIR%%/sc2_xml_metadata.txt
+%%PORTDOCS%%%%DOCSDIR%%/sc_serv2.txt
+@dirrmtry %%ETCDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@unexec if [ ! -s %%SHOUTCASTDIR%%/sc_serv.ban ]; then rm -f %%SHOUTCASTDIR%%/sc_serv.ban; fi
+@unexec if [ ! -s %%SHOUTCASTDIR%%/sc_serv.rip ]; then rm -f %%SHOUTCASTDIR%%/sc_serv.rip; fi
+@unexec rmdir %%SHOUTCASTDIR%% 2>/dev/null || true
--- ports/GIDs.orig	2011-01-06 03:34:18.000000000 +1030
+++ ports/GIDs	2011-01-16 01:21:28.000000000 +1030
@@ -89,6 +89,7 @@
 saned:*:194:
 sympa:*:200:
 dspam:*:202:
+shoutcast:*:210:
 git:*:211:
 drizzle:*:213:
 bs:*:220:
--- audio-shoutcast2-2.0.b10-with-a-repocopy.diff ends here ---

--- audio-shoutcast-take-maintainership.diff begins here ---
diff -ruN ports/audio/shoutcast.orig/Makefile ports/audio/shoutcast/Makefile
--- ports/audio/shoutcast.orig/Makefile	2010-09-03 06:47:32.000000000 +0930
+++ ports/audio/shoutcast/Makefile	2011-01-16 01:27:36.000000000 +1030
@@ -10,7 +10,7 @@
 MASTER_SITES=	http://yp.shoutcast.com/downloads/sc1-9-8/
 DISTNAME=	sc_serv_${PORTVERSION}_FreeBSD5
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	jarrod@downtools.com.au
 COMMENT=	Nullsoft's streaming audio server (binary port)
 
 LIB_DEPENDS=	c.5:${PORTSDIR}/misc/compat5x
--- audio-shoutcast-take-maintainership.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



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