From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Oct 25 18:50:10 2010 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F860106566C for ; Mon, 25 Oct 2010 18:50:10 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D4EAB8FC14 for ; Mon, 25 Oct 2010 18:50:09 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o9PIo9hE071636 for ; Mon, 25 Oct 2010 18:50:09 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o9PIo96Q071635; Mon, 25 Oct 2010 18:50:09 GMT (envelope-from gnats) Resent-Date: Mon, 25 Oct 2010 18:50:09 GMT Resent-Message-Id: <201010251850.o9PIo96Q071635@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Alex Deiter Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8893106564A for ; Mon, 25 Oct 2010 18:45:37 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id B63D58FC08 for ; Mon, 25 Oct 2010 18:45:37 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o9PIjbMZ043737 for ; Mon, 25 Oct 2010 18:45:37 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o9PIjbP7043736; Mon, 25 Oct 2010 18:45:37 GMT (envelope-from nobody) Message-Id: <201010251845.o9PIjbP7043736@www.freebsd.org> Date: Mon, 25 Oct 2010 18:45:37 GMT From: Alex Deiter To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/151724: [path] update www/red5 up to 0.9.1 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Oct 2010 18:50:10 -0000 >Number: 151724 >Category: ports >Synopsis: [path] update www/red5 up to 0.9.1 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Mon Oct 25 18:50:09 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Alex Deiter >Release: 8.1-RELEASE >Organization: N/A >Environment: FreeBSD x4150b.tdc 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Update www/red5 up to 0.9.1. Port changes: - change MASTER_SITES - change MAINTAINER - update pkg-descr - add rc.d script - add pkg-install script - add new system user/group: red5 with uid/gid: 931 - tested on 8.1 i386/amd64 with Sun JDK/OpenJDK >How-To-Repeat: cd /usr/ports/www/red5 && make install >Fix: Patch attached with submission follows: diff -Nur red5.orig/Makefile red5/Makefile --- red5.orig/Makefile 2010-02-01 12:52:52.000000000 +0000 +++ red5/Makefile 2010-10-24 22:51:19.000000000 +0000 @@ -6,55 +6,36 @@ # PORTNAME= red5 -PORTVERSION= 0.7.0 -PORTREVISION= 2 +PORTVERSION= 0.9.1 CATEGORIES= www java -MASTER_SITES= http://www.nielsenaa.com/red5-installers/ \ - http://www.red5.fr/release/0.7.0/war/ -DISTNAME= Red5War_${PORTVERSION}-java5 +MASTER_SITES= http://www.red5.org/downloads/0_9/ -MAINTAINER= ports@FreeBSD.org +MAINTAINER= alex.deiter@gmail.com COMMENT= Red5 is an Open Source flash server -OPTIONS= TOMCAT4 "Use Tomcat 4.1" OFF \ - TOMCAT5 "Use Tomcat 5.5" OFF \ - TOMCAT6 "Use Tomcat 6.0" ON - -WRKSRC= ${WRKDIR} -USE_ZIP= yes USE_JAVA= yes -JAVA_VERSION= 1.5 +JAVA_VERSION= 1.6 NO_BUILD= yes +USE_RC_SUBR= ${PORTNAME} +SUB_FILES= pkg-install +RED5HOME?= ${PREFIX}/lib/${PORTNAME} +RED5USER?= red5 +RED5GROUP?= red5 +RED5LOGDIR?= /var/log/red5 +SUB_LIST= RED5HOME=${RED5HOME} \ + RED5USER=${RED5USER} \ + RED5GROUP=${RED5GROUP} \ + RED5LOGDIR=${RED5LOGDIR} -.include - -.if (defined(WITH_TOMCAT4) && defined(WITH_TOMCAT5)) || \ - (defined(WITH_TOMCAT4) && defined(WITH_TOMCAT6)) || \ - (defined(WITH_TOMCAT5) && defined(WITH_TOMCAT6)) -IGNORE= please select only one version of Tomcat -.endif - -.if defined(WITH_TOMCAT4) -RUN_DEPENDS+= ${LOCALBASE}/apache-tomcat4.1:${PORTSDIR}/www/tomcat41 -WEBAPPDIR= ${PREFIX}/apache-tomcat4.1/webapps -.elif defined(WITH_TOMCAT5) -RUN_DEPENDS+= ${LOCALBASE}/tomcat5.5:${PORTSDIR}/www/tomcat55 -WEBAPPDIR= ${PREFIX}/tomcat5.5/webapps -.elif defined(WITH_TOMCAT6) -RUN_DEPENDS+= ${LOCALBASE}/apache-tomcat-6.0:${PORTSDIR}/www/tomcat6 -WEBAPPDIR= ${PREFIX}/apache-tomcat-6.0/webapps -.else -IGNORE= please select one version of Tomcat -.endif - -PLIST_FILES= ${WEBAPPDIR:S|^${PREFIX}/||}/red5.war +pre-install: + @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL do-install: - @${MKDIR} ${WEBAPPDIR} - @${INSTALL_DATA} ${WRKSRC}/ROOT.war ${WEBAPPDIR}/red5.war - @${CHOWN} ${WWWOWN}:${WWWGRP} ${WEBAPPDIR}/red5.war - -post-install: - @${CAT} ${PKGMESSAGE} + @${MKDIR} ${RED5HOME} + @cd ${WRKSRC} && ${COPYTREE_SHARE} "boot.jar red5.jar conf lib webapps" ${RED5HOME} + @${INSTALL} -d -g ${RED5GROUP} -o ${RED5USER} ${RED5HOME}/work + @${CHOWN} -R ${RED5USER}:${RED5GROUP} ${RED5HOME}/conf ${RED5HOME}/webapps + @${FIND} -s -d ${RED5HOME} -type f | ${SED} "s#${PREFIX}/##g" >${TMPPLIST} + @${FIND} -s -d ${RED5HOME} -type d | ${SED} "s#${PREFIX}/#@dirrm #g" >>${TMPPLIST} -.include +.include diff -Nur red5.orig/distinfo red5/distinfo --- red5.orig/distinfo 2008-03-20 10:00:37.000000000 +0000 +++ red5/distinfo 2010-10-23 13:47:46.000000000 +0000 @@ -1,3 +1,3 @@ -MD5 (Red5War_0.7.0-java5.zip) = 88cd86aff8a50f35e8a4d07cb210bd0d -SHA256 (Red5War_0.7.0-java5.zip) = 058d2be8ae20d567cf92be1edd02332532f0ca32b56365b8ae5302f086068946 -SIZE (Red5War_0.7.0-java5.zip) = 20335816 +MD5 (red5-0.9.1.tar.gz) = a2eb54ce2a86584c5274db9d0a515475 +SHA256 (red5-0.9.1.tar.gz) = 71290b8b22db8c267752be432126a89e4105809d16c9bfc84d6d1e7f52438efd +SIZE (red5-0.9.1.tar.gz) = 35466436 diff -Nur red5.orig/files/patch-conf-red5-core.xml red5/files/patch-conf-red5-core.xml --- red5.orig/files/patch-conf-red5-core.xml 1970-01-01 00:00:00.000000000 +0000 +++ red5/files/patch-conf-red5-core.xml 2010-10-25 15:21:00.000000000 +0000 @@ -0,0 +1,18 @@ +--- conf/red5-core.xml.orig 2010-10-25 15:19:56.000000000 +0000 ++++ conf/red5-core.xml 2010-10-25 15:20:17.000000000 +0000 +@@ -115,7 +115,6 @@ + + + +- + + + diff -Nur red5.orig/files/pkg-install.in red5/files/pkg-install.in --- red5.orig/files/pkg-install.in 1970-01-01 00:00:00.000000000 +0000 +++ red5/files/pkg-install.in 2010-10-24 22:40:05.000000000 +0000 @@ -0,0 +1,35 @@ +#!/bin/sh +# $FreeBSD$ +# + +if [ "$2" != "PRE-INSTALL" ]; then + exit 0 +fi + +RED5USER=%%RED5USER%% +RED5GROUP=%%RED5GROUP%% +RED5UID=931 +RED5GID=${RED5UID} + +if ! pw groupshow "${RED5GROUP}" 2>/dev/null 1>&2; then + if pw groupadd ${RED5GROUP} -g ${RED5GID}; then + echo "Added group \"${RED5GROUP}\"." + else + echo "Adding group \"${RED5GROUP}\" failed..." + exit 1 + fi +fi + +if ! pw usershow "${RED5USER}" 2>/dev/null 1>&2; then + if pw useradd ${RED5USER} -u ${RED5UID} -g ${RED5GROUP} -h - \ + -s "/sbin/nologin" -d "/nonexistent" \ + -c "Red5 Daemon"; \ + then + echo "Added user \"${RED5USER}\"." + else + echo "Adding user \"${RED5USER}\" failed..." + exit 1 + fi +fi + +exit 0 diff -Nur red5.orig/files/red5.in red5/files/red5.in --- red5.orig/files/red5.in 1970-01-01 00:00:00.000000000 +0000 +++ red5/files/red5.in 2010-10-25 14:58:10.000000000 +0000 @@ -0,0 +1,188 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: red5 +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown + +# +# Configuration settings for red5 +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# red5_enable (bool): +# Set to "NO" by default. +# Set it to "YES" to enable red5. +# +# red5_user (str): +# Set to "%%RED5USER%%" by default. +# +# red5_group (str): +# Set to "%%RED5GROUP%%" by default. +# +# red5_home (str): +# Set to "%%RED5HOME%%" by default. +# +# red5_log_dir (str): +# Set to "%%RED5LOGDIR%%" by default. +# +# red5_stop_timeout (num): +# Set to "10" by default. +# +# red5_start_opts (str): +# See below for default value. +# Java VM args for start red5. +# +# red5_stop_opts (str): +# See below for default value. +# Java VM args for stop red5. +# +# red5_start_class_opts (str): +# See below for default value. +# Start class arguments. +# +# red5_stop_class_opts (str): +# See below for default value. +# Stop class arguments. +# + +. /etc/rc.subr + +name="red5" +rcvar=`set_rcvar` +pidfile="/var/run/${name}.pid" + +load_rc_config $name + +: ${red5_enable:="NO"} +: ${red5_user:="%%RED5USER%%"} +: ${red5_group:="%%RED5GROUP%%"} +: ${red5_home:="%%RED5HOME%%"} +: ${red5_log_dir:="%%RED5LOGDIR%%"} +: ${red5_stop_timeout:="10"} +: ${red5_start_opts:="-Xrs -Xms512M -Xmx1024M -Xss128K -XX:NewSize=256m -XX:SurvivorRatio=16 -XX:MinHeapFreeRatio=20 -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.client.gcInterval=990000 -Dsun.rmi.dgc.server.gcInterval=990000 -Djava.net.preferIPv4Stack=true -Xverify:none"} +: ${red5_stop_opts:="-Djavax.net.ssl.keyStore=${red5_home}/conf/keystore.jmx -Djavax.net.ssl.keyStorePassword=password"} +: ${red5_start_class_opts:=""} +: ${red5_stop_class_opts:="9999 red5user changeme"} + +red5_chdir="${red5_home}" +java_command="%%LOCALBASE%%/bin/java" +red5_start_class="org.red5.server.Bootstrap" +red5_stop_class="org.red5.server.Shutdown" + +red5_opts="-Dpython.home=lib \ + -Dred5.root=${red5_home} \ + -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector \ + -Dcatalina.useNaming=true \ + -Djava.security.debug=failure \ + -cp ${red5_home}/boot.jar:${red5_home}/conf" + +red5_stdout_log="${red5_log_dir}/stdout.log" +red5_stderr_log="${red5_log_dir}/stderr.log" +log_args=">>${red5_stdout_log} 2>>${red5_stderr_log}" + +required_files="${red5_home}/conf/red5.xml" + +command="/usr/sbin/daemon" +command_args="-p ${pidfile} ${java_command} ${red5_start_opts} ${red5_opts} \ + ${red5_start_class} ${red5_start_class_opts} ${log_args}" + +start_precmd="red5_precmd" +status_cmd="red5_status" +stop_cmd="red5_stop" +poll_cmd="red5_poll" + +red5_precmd() { + mkdir -p ${red5_log_dir} + chown ${red5_user}:${red5_group} ${red5_log_dir} + touch ${pidfile} ${red5_stdout_log} ${red5_stderr_log} + chown ${red5_user}:${red5_group} ${pidfile} \ + ${red5_stdout_log} ${red5_stderr_log} + rm -f ${red5_home}/log + ln -s ${red5_log_dir} ${red5_home}/log +} + +red5_stop() { + rc_pid=$(red5_check_pidfile $pidfile) + + if [ -z "$rc_pid" ]; then + [ -n "$rc_fast" ] && return 0 + echo "${name} not running? (check $pidfile)." + return 1 + fi + + echo "Stopping ${name}." + su -m ${red5_user} -c "sh -c '${java_command} ${red5_stop_opts} \ + ${red5_opts} ${red5_stop_class} ${red5_stop_class_opts} \ + ${log_args}'" + red5_wait_max_for_pid ${red5_stop_timeout} ${rc_pid} + kill -KILL ${rc_pid} 2>/dev/null && echo "Killed." + rm -f ${pidfile} ${red5_home}/log +} + +red5_status() { + rc_pid=$(red5_check_pidfile $pidfile) + + if [ -z "$rc_pid" ]; then + [ -n "$rc_fast" ] && return 0 + echo "${name} not running? (check $pidfile)." + return 1 + fi + echo "${name} is running as pid ${rc_pid}." +} + +red5_poll() { + _prefix= + while (true) ; do + rc_pid=$(red5_check_pidfile $pidfile) + [ -z "$rc_pid" ] && break + echo -n ${_prefix:-"Waiting for PIDS: "}$rc_pid + _prefix=", " + sleep 2 + done + if [ -n "$_prefix" ]; then + echo "." + fi +} + +red5_check_pidfile() { + _pidfile=$1 + if [ -z "$_pidfile" ]; then + err 3 'USAGE: red5_check_pidfile pidfile' + fi + if [ ! -f $_pidfile ]; then + debug "pid file ($_pidfile): not readable." + return + fi + read _pid _junk < $_pidfile + if [ -z "$_pid" ]; then + debug "pid file ($_pidfile): no pid in file." + return + fi + if [ -n "`%%LOCALBASE%%/bin/jps -l | grep -e "^$_pid ${red5_start_class}\$"`" ]; then + echo -n $_pid + fi +} + +red5_wait_max_for_pid() { + _timeout=$1 + shift + _pid=$1 + _prefix= + while [ $_timeout -gt 0 ] ; do + echo -n ${_prefix:-"Waiting (max $_timeout secs) for PIDS: "}$_pid + _prefix=", " + sleep 2 + kill -0 $_pid 2>/dev/null || break + _timeout=$(($_timeout-2)) + done + if [ -n "$_prefix" ]; then + echo "." + fi +} + +run_rc_command "$1" diff -Nur red5.orig/pkg-descr red5/pkg-descr --- red5.orig/pkg-descr 2008-03-20 10:00:37.000000000 +0000 +++ red5/pkg-descr 2010-10-23 13:35:01.000000000 +0000 @@ -1,6 +1,7 @@ -Red5 is an Open Source Flash Server written +Red5 is an Open Source Flash Server written in Java that supports streaming Audio/Video -(FLV and MP3),Recording Client Streams, -Live Stream Publishing, etc. +(FLV, MP3, F4V, MP4, AAC and M4A), Recording +Client Streams, Shared Objects, Live Stream +Publishing, Remoting, etc. -WWW: http://www.red5.fr/ +WWW: http://www.red5.org/ diff -Nur red5.orig/pkg-message red5/pkg-message --- red5.orig/pkg-message 2008-03-20 10:00:37.000000000 +0000 +++ red5/pkg-message 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -===================================== -Now start your Tomcat and browse with: -http://your-server-ip:8180/red5/ >Release-Note: >Audit-Trail: >Unformatted: