Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jan 2011 09:30:22 GMT
From:      Alex Deiter <alex.deiter@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/153923: [PATCH] update www/bigbluebutton
Message-ID:  <201101120930.p0C9UMWK011398@red.freebsd.org>
Resent-Message-ID: <201101120940.p0C9e7Dr053250@freefall.freebsd.org>

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

>Number:         153923
>Category:       ports
>Synopsis:       [PATCH] update www/bigbluebutton
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 12 09:40:07 UTC 2011
>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:
1. Update Makefile:
 - clean tabs
 - use different master sites URL for different files
 - remove unused options
 - add freeswitch user option
 - bump portrevision

2. Update bbb-conf script:
 - add freeswitch user
 - check installed packages
 - add start / stop options
 - verify host names with getent

3. Update rc script for openoffice:
 - set and use HOME env

4. Update pkg-message:
 - add note about hostname resolution
 - add start note

5. Clean pkg-plist


>How-To-Repeat:
cd /usr/ports/www
patch -p0 < patch-bigbluebutton.txt
cd bigbluebutton && make install
>Fix:
apply patch

Patch attached with submission follows:

diff -ur bigbluebutton.orig/Makefile bigbluebutton/Makefile
--- bigbluebutton.orig/Makefile	2011-01-09 22:10:39.000000000 +0000
+++ bigbluebutton/Makefile	2011-01-11 14:13:05.000000000 +0000
@@ -5,78 +5,76 @@
 # $FreeBSD: ports/www/bigbluebutton/Makefile,v 1.1 2011/01/09 22:10:39 jpaetzel Exp $
 #
 
-PORTNAME=		bigbluebutton
-PORTVERSION=		0.71
-CATEGORIES=		www java
-MASTER_SITES=		http://bigbluebutton.org/downloads/%SUBDIR%/
-MASTER_SITE_SUBDIR=	${PORTVERSION} ${PORTVERSION}/packages 0.70 0.64/blank
-DISTFILES=		bbb_extensions.conf bbb_sip.conf blank-slide.swf \
-			blank-thumb.png nginx-bigbluebutton.conf \
-			${EXTRACT_FILES}
-EXTRACT_ONLY=		${EXTRACT_FILES}
-
-MAINTAINER=		alex.deiter@gmail.com
-COMMENT=		Web conferencing system for distance education
-
-BUILD_DEPENDS=		${LOCALBASE}/bin/pdf2swf:${PORTSDIR}/graphics/swftools \
-			${LOCALBASE}/bin/convert:${PORTSDIR}/graphics/ImageMagick \
-			${LOCALBASE}/etc/rc.d/activemq:${PORTSDIR}/net/activemq \
-			${LOCALBASE}/sbin/nginx:${PORTSDIR}/www/nginx \
-			${LOCALBASE}/etc/rc.d/tomcat6:${PORTSDIR}/www/tomcat6 \
-			${LOCALBASE}/etc/rc.d/red5:${PORTSDIR}/www/red5
-RUN_DEPENDS=		${BUILD_DEPENDS}
-
-EXTRACT_FILES=		bigbluebutton.tar.gz freeswitch-config.tar.gz \
-			red5-0.9.1.tar.gz
-
-USE_DOS2UNIX=		yes
-DOS2UNIX_REGEX=		.+\.(conf|jsp|properties|xml)$
-
-USE_JAVA=		yes
-JAVA_VERSION=		1.5+
-JAVA_EXTRACT=		yes
-USE_MYSQL=		yes
-NO_BUILD=		yes
-NO_WRKSUBDIR=		yes
-DIST_SUBDIR=		${PORTNAME}
-USE_RC_SUBR=    	openoffice
-SOFFICEBIN?=		${PREFIX}/openoffice.org-3.2.1/openoffice.org3/program/soffice.bin
-RED5_HOME?=		${PREFIX}/red5
-RED5_HOME_REL=		${RED5_HOME:S,^${PREFIX}/,,}
-RED5_LOGS?=		${RED5_HOME}/log
-RED5_USER?=		www
-RED5_GROUP?=		${RED5_USER}
-TOMCAT_HOME?=		${PREFIX}/apache-tomcat-6.0
-TOMCAT_HOME_REL=	${TOMCAT_HOME:S,^${PREFIX}/,,}
-TOMCAT_LOGS?=		${TOMCAT_HOME}/logs
-TOMCAT_USER?=		www
-TOMCAT_GROUP?=		${TOMCAT_USER}
-WWWROOT?=		${WWWDIR:S|/${PORTNAME}$||}
-WWWROOT_REL=		${WWWROOT:S,^${PREFIX}/,,}
-
-OPTIONS=		MEETME "meetme Asterisk module" off \
-			KONFERENCE "konference Asterisk module" on \
-			FREESWITCH "mod_conference FreeSWITCH module" off \
-			OPENOFFICE "Include OpenOffice support" off
-
-PLIST_SUB+=		RED5_HOME=${RED5_HOME_REL} \
-			TOMCAT_HOME=${TOMCAT_HOME_REL} \
-			WWWROOT=${WWWROOT_REL}
-
-SUB_LIST+=		PORTNAME=${PORTNAME} \
-			SOFFICEBIN=${SOFFICEBIN} \
-			RED5_HOME=${RED5_HOME} \
-			RED5_LOGS=${RED5_LOGS} \
-			RED5_USER=${RED5_USER} \
-			RED5_GROUP=${RED5_GROUP} \
-			TOMCAT_HOME=${TOMCAT_HOME} \
-			TOMCAT_LOGS=${TOMCAT_LOGS} \
-			TOMCAT_USER=${TOMCAT_USER} \
-			TOMCAT_GROUP=${TOMCAT_GROUP} \
-			WWWROOT=${WWWROOT} \
-			WWWDIR=${WWWDIR}
+PORTNAME=	bigbluebutton
+PORTVERSION=	0.71
+PORTREVISION=	1
+CATEGORIES=	www java
+MASTER_SITES=	http://bigbluebutton.org/downloads/${PORTVERSION}/ \
+		http://bigbluebutton.org/downloads/0.70/:2 \
+		http://bigbluebutton.org/downloads/0.64/blank/:3
+DISTFILES=	bigbluebutton.tar.gz freeswitch-config.tar.gz \
+		nginx-bigbluebutton.conf bbb_extensions.conf:2 \
+		bbb_sip.conf:2 red5-0.9.1.tar.gz:2 \
+		blank-slide.swf:3 blank-thumb.png:3
+EXTRACT_ONLY=	bigbluebutton.tar.gz red5-0.9.1.tar.gz freeswitch-config.tar.gz
+
+MAINTAINER=	alex.deiter@gmail.com
+COMMENT=	Web conferencing system for distance education
+
+BUILD_DEPENDS=	${LOCALBASE}/bin/pdf2swf:${PORTSDIR}/graphics/swftools \
+		${LOCALBASE}/bin/convert:${PORTSDIR}/graphics/ImageMagick \
+		${LOCALBASE}/etc/rc.d/activemq:${PORTSDIR}/net/activemq \
+		${LOCALBASE}/sbin/nginx:${PORTSDIR}/www/nginx \
+		${LOCALBASE}/etc/rc.d/tomcat6:${PORTSDIR}/www/tomcat6 \
+		${LOCALBASE}/etc/rc.d/red5:${PORTSDIR}/www/red5
+RUN_DEPENDS=	${BUILD_DEPENDS}
+
+USE_DOS2UNIX=	yes
+DOS2UNIX_REGEX=	.+\.(conf|jsp|properties|xml)$
+
+USE_JAVA=	yes
+NO_BUILD=	yes
+NO_WRKSUBDIR=	yes
+DIST_SUBDIR=	${PORTNAME}
+USE_RC_SUBR=   	openoffice
+SOFFICEBIN?=	${PREFIX}/openoffice.org-3.2.1/openoffice.org3/program/soffice.bin
+RED5_HOME?=	${PREFIX}/red5
+RED5_LOGS?=	${RED5_HOME}/log
+RED5_USER?=	www
+RED5_GROUP?=	${RED5_USER}
+TOMCAT_HOME?=	${PREFIX}/apache-tomcat-6.0
+TOMCAT_LOGS?=	${TOMCAT_HOME}/logs
+TOMCAT_USER?=	www
+TOMCAT_GROUP?=	${TOMCAT_USER}
+FS_USER?=	freeswitch
+FS_GROUP?=	${FS_USER}
+WWWROOT?=	${WWWDIR:S|/${PORTNAME}$||}
+
+OPTIONS=	MEETME "meetme Asterisk module" off \
+		KONFERENCE "konference Asterisk module" on \
+		FREESWITCH "mod_conference FreeSWITCH module" off \
+		OPENOFFICE "Include OpenOffice support" off
+
+PLIST_SUB+=	RED5_HOME=${RED5_HOME:S,^${PREFIX}/,,} \
+		TOMCAT_HOME=${TOMCAT_HOME:S,^${PREFIX}/,,} \
+		WWWROOT=${WWWROOT:S,^${PREFIX}/,,}
+
+SUB_LIST+=	PORTNAME=${PORTNAME} \
+		SOFFICEBIN=${SOFFICEBIN} \
+		RED5_HOME=${RED5_HOME} \
+		RED5_LOGS=${RED5_LOGS} \
+		RED5_USER=${RED5_USER} \
+		RED5_GROUP=${RED5_GROUP} \
+		TOMCAT_HOME=${TOMCAT_HOME} \
+		TOMCAT_LOGS=${TOMCAT_LOGS} \
+		TOMCAT_USER=${TOMCAT_USER} \
+		TOMCAT_GROUP=${TOMCAT_GROUP} \
+		FREESWITCH_USER=${FS_USER} \
+		FREESWITCH_GROUP=${FS_GROUP} \
+		WWWROOT=${WWWROOT} \
+		WWWDIR=${WWWDIR}
 
-SUB_FILES=		pkg-message openoffice nginx.conf-dist bbb-conf
+SUB_FILES=	pkg-message openoffice nginx.conf-dist bbb-conf
 
 .include <bsd.port.pre.mk>
 
diff -ur bigbluebutton.orig/distinfo bigbluebutton/distinfo
--- bigbluebutton.orig/distinfo	2011-01-09 22:10:39.000000000 +0000
+++ bigbluebutton/distinfo	2011-01-11 11:25:42.000000000 +0000
@@ -1,16 +1,16 @@
+SHA256 (bigbluebutton/bigbluebutton.tar.gz) = b05d8bddcf80c9105bef3b85b80f9667f63082b3a5346b4d09ddd017bfd3766e
+SIZE (bigbluebutton/bigbluebutton.tar.gz) = 54825642
+SHA256 (bigbluebutton/freeswitch-config.tar.gz) = 4d5e6691fbc760bbf3540cd1871aa74b824f280ebc7853d07a0d1dca878f7f5f
+SIZE (bigbluebutton/freeswitch-config.tar.gz) = 48955
+SHA256 (bigbluebutton/nginx-bigbluebutton.conf) = 36593e846cf1c6abcfcf5a7295e33637fea017b460230ccec14af1032806e044
+SIZE (bigbluebutton/nginx-bigbluebutton.conf) = 3012
 SHA256 (bigbluebutton/bbb_extensions.conf) = 7f1afad7196210f926989fe08f2414ca570f4b97c6ad10d22236d411f3b7c6d7
 SIZE (bigbluebutton/bbb_extensions.conf) = 1788
 SHA256 (bigbluebutton/bbb_sip.conf) = 924925f909cb753623abf82006f8cb8acb55c3024b47544d22ca6fa01525081b
 SIZE (bigbluebutton/bbb_sip.conf) = 142
+SHA256 (bigbluebutton/red5-0.9.1.tar.gz) = afd0db4f8dfcda71c5a4d68dd2488774e013e7aa68f1bb3bf901550afd3ffbed
+SIZE (bigbluebutton/red5-0.9.1.tar.gz) = 86712320
 SHA256 (bigbluebutton/blank-slide.swf) = 7338ec4f98030b2da4051cd61be9f3d0e6964de10f3fd8e7e21460b401382964
 SIZE (bigbluebutton/blank-slide.swf) = 223
 SHA256 (bigbluebutton/blank-thumb.png) = c3c564e9023e7de608add924f752f75b28251a5b8468d2981665993fb9053cfa
 SIZE (bigbluebutton/blank-thumb.png) = 983
-SHA256 (bigbluebutton/nginx-bigbluebutton.conf) = 36593e846cf1c6abcfcf5a7295e33637fea017b460230ccec14af1032806e044
-SIZE (bigbluebutton/nginx-bigbluebutton.conf) = 3012
-SHA256 (bigbluebutton/bigbluebutton.tar.gz) = b05d8bddcf80c9105bef3b85b80f9667f63082b3a5346b4d09ddd017bfd3766e
-SIZE (bigbluebutton/bigbluebutton.tar.gz) = 54825642
-SHA256 (bigbluebutton/freeswitch-config.tar.gz) = 4d5e6691fbc760bbf3540cd1871aa74b824f280ebc7853d07a0d1dca878f7f5f
-SIZE (bigbluebutton/freeswitch-config.tar.gz) = 48955
-SHA256 (bigbluebutton/red5-0.9.1.tar.gz) = afd0db4f8dfcda71c5a4d68dd2488774e013e7aa68f1bb3bf901550afd3ffbed
-SIZE (bigbluebutton/red5-0.9.1.tar.gz) = 86712320
diff -ur bigbluebutton.orig/files/bbb-conf.in bigbluebutton/files/bbb-conf.in
--- bigbluebutton.orig/files/bbb-conf.in	2011-01-09 22:10:40.000000000 +0000
+++ bigbluebutton/files/bbb-conf.in	2011-01-11 14:06:36.000000000 +0000
@@ -17,6 +17,8 @@
 TOMCAT_LOGS="%%TOMCAT_LOGS%%"
 TOMCAT_USER="%%TOMCAT_USER%%"
 TOMCAT_GROUP="%%TOMCAT_GROUP%%"
+FREESWITCH_USER="%%FREESWITCH_USER%%"
+FREESWITCH_GROUP="%%FREESWITCH_GROUP%%"
 WWWROOT="%%WWWROOT%%"
 WWWDIR="%%WWWDIR%%"
 ASTERISK_ETC="$PREFIX/etc/asterisk"
@@ -29,16 +31,17 @@
 # BBB security salt
 BBB_SALT=""
 
-# BBB common path
+# BBB common
 BBB_SHAREDIR="%%DATADIR%%"
 BBB_PRESENTATIONDIR="/var/spool/%%PORTNAME%%"
+BBB_SRV_LIST=""
 BBB_INSTALL_CONF="$BBB_PRESENTATIONDIR/conf.txt"
 
 # BBB JDBC properties
 BBB_DATABASE_TYPE="mysql"
-BBB_DATABASE_HOST="localhost"
+BBB_DATABASE_HOST=""
 BBB_DATABASE_NAME="%%PORTNAME%%"
-BBB_DATABASE_URL="jdbc:$BBB_DATABASE_TYPE://$BBB_DATABASE_HOST/$BBB_DATABASE_NAME"
+BBB_DATABASE_URL=""
 BBB_DATABASE_DRIVER="com.mysql.jdbc.Driver"
 BBB_DATABASE_USERNAME="%%PORTNAME%%"
 BBB_DATABASE_PASSWORD=""
@@ -48,18 +51,18 @@
 BBB_CONFERENCE_TYPE=""
 
 # FreeSWITCH Event Socket Library (ESL)
-BBB_ESL_HOST="localhost"
+BBB_ESL_HOST=""
 BBB_ESL_PORT="8021"
 BBB_ESL_PASSWORD=""
 
 # Asterisk Management Interface (AMI)
-BBB_AMI_HOST="localhost"
+BBB_AMI_HOST=""
 BBB_AMI_PORT="5038"
 BBB_AMI_USERNAME="bbb"
 BBB_AMI_PASSWORD=""
 
 # SIP
-BBB_SIP_HOST="localhost"
+BBB_SIP_HOST=""
 BBB_SIP_PORT="5070"
 BBB_SIP_USERNAME="bbbuser"
 BBB_SIP_PASSWORD=""
@@ -68,8 +71,8 @@
 BBB_VAR_LIST="PREFIX WWWROOT WWWDIR \
 	RED5_HOME RED5_LOGS RED5_USER RED5_GROUP \
 	TOMCAT_HOME TOMCAT_LOGS TOMCAT_USER TOMCAT_GROUP \
-	ASTERISK_ETC NGINX_ETC BBB_HOSTNAME BBB_SALT \
-	BBB_SHAREDIR BBB_PRESENTATIONDIR BBB_INSTALL_CONF \
+	ASTERISK_ETC NGINX_ETC BBB_HOSTNAME BBB_IP_ADDRESS BBB_SALT \
+	BBB_SHAREDIR BBB_PRESENTATIONDIR BBB_SRV_LIST BBB_INSTALL_CONF \
 	BBB_DATABASE_TYPE BBB_DATABASE_HOST BBB_DATABASE_NAME BBB_DATABASE_URL \
 	BBB_DATABASE_DRIVER BBB_DATABASE_USERNAME BBB_DATABASE_PASSWORD \
 	BBB_CONFERENCE_MODULE BBB_CONFERENCE_TYPE \
@@ -86,6 +89,12 @@
 	Install initial configuration:
 	$SCRIPT install -h <hostname|ip address> -c <konference|meetme|freeswitch>
 
+	Start all BigBlueButton services:
+	$SCRIPT start
+
+	Stop all BigBlueButton services:
+	$SCRIPT stop
+
 	Restart all bbb services:
 	$SCRIPT restart
 
@@ -95,21 +104,30 @@
 }
 
 bbb_random() {
-	openssl rand -base64 $1 | sed -E 's|[^A-Za-z0-9]||g'
+	openssl rand -base64 48 | sed -E 's|[^A-Za-z0-9]||g' | cut -c 1-$1
 }
 
 bbb_install() {
+	CHECK_PKGS="swftools ImageMagick mysql-server activemq nginx tomcat"
+	CHECK_PKGS="$CHECK_PKGS red5"
 	CHECK_DIRS="RED5_HOME TOMCAT_HOME WWWROOT WWWDIR NGINX_ETC BBB_SHAREDIR"
 
 	case "$BBB_CONFERENCE_MODULE" in
 	konference|meetme)
+		CHECK_PKGS="$CHECK_PKGS asterisk"
 		CHECK_DIRS="$CHECK_DIRS ASTERISK_ETC"
 		;;
 	freeswitch)
+		CHECK_PKGS="$CHECK_PKGS freeswitch"
 		CHECK_DIRS="$CHECK_DIRS FREESWITCH_ETC"
 		;;
 	esac
 
+	for pkg in $CHECK_PKGS; do
+		echo -n "Check package $pkg: "
+		pkg_info -E ${pkg}\* || usage "$SCRIPT required $pkg package"
+	done
+
 	for var in $CHECK_DIRS; do
 		eval val=\$$var
 		echo -n "Check $var = '$val': "
@@ -126,6 +144,12 @@
 	BBB_ESL_PASSWORD="$(bbb_random 16)"
 	BBB_AMI_PASSWORD="$(bbb_random 16)"
 	BBB_SIP_PASSWORD="$(bbb_random 16)"
+	BBB_IP_ADDRESS="$(getent hosts "$BBB_HOSTNAME" | awk '{print $1}')"
+	BBB_DATABASE_HOST="$BBB_IP_ADDRESS"
+	BBB_DATABASE_URL="jdbc:$BBB_DATABASE_TYPE://$BBB_DATABASE_HOST/$BBB_DATABASE_NAME"
+	BBB_ESL_HOST="$BBB_IP_ADDRESS"
+	BBB_AMI_HOST="$BBB_IP_ADDRESS"
+	BBB_SIP_HOST="$BBB_IP_ADDRESS"
 
 	for var in $BBB_VAR_LIST; do
 		eval val=\$$var
@@ -136,13 +160,14 @@
 	mkdir -p /etc/rc.conf.d
 
 	echo "Configure activemq: rc.conf"
+	BBB_SRV_LIST="activemq"
 	cat >/etc/rc.conf.d/activemq <<-EOF
 	activemq_enable="YES"
 	EOF
 
 	echo -n "Configure $BBB_DATABASE_TYPE: drop/create/grant"
-	(/usr/local/etc/rc.d/mysql-server status || /usr/local/etc/rc.d/mysql-server start) >/dev/null 2>&1
-	mysql -h $BBB_DATABASE_HOST -u root >/dev/null <<-EOF
+	(/usr/local/etc/rc.d/mysql-server onestatus || /usr/local/etc/rc.d/mysql-server onestart) >/dev/null 2>&1
+	mysql -u root >/dev/null <<-EOF
 	drop database if exists $BBB_DATABASE_NAME;
 	create database $BBB_DATABASE_NAME;
 	grant all on $BBB_DATABASE_NAME.* to '$BBB_DATABASE_USERNAME'@'$BBB_DATABASE_HOST' identified by '$BBB_DATABASE_PASSWORD';
@@ -150,10 +175,13 @@
 	EOF
 
 	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST mysql-server"
 	cat >/etc/rc.conf.d/mysql <<-EOF
 	mysql_enable="YES"
 	EOF
 
+	/usr/local/etc/rc.d/mysql-server stop >/dev/null 2>&1
+
 	echo -n "Configure $BBB_CONFERENCE_TYPE:"
 	case "$BBB_CONFERENCE_MODULE" in
 	konference|meetme)
@@ -212,6 +240,7 @@
 			noload => app_konference.so
 			EOF
 
+			BBB_SRV_LIST="$BBB_SRV_LIST zaptel"
 			cat >/etc/rc.conf.d/zaptel <<-EOF
 			zaptel_enable="YES"
 			zaptel_kmod_load="zaptel.ko ztdummy.ko"
@@ -231,17 +260,50 @@
 		EOF
 
 		echo " rc.conf"
+		BBB_SRV_LIST="$BBB_SRV_LIST asterisk"
 		cat >/etc/rc.conf.d/asterisk <<-EOF
 		asterisk_enable="YES"
 		EOF
 		;;
 	freeswitch)
-		echo "Not implemented yet"
-		exit 1
+		cd $FREESWITCH_ETC
+		echo -n " backup"
+		mv conf conf$BACKUP
+
+		echo -n " extract"
+		(cd $BBB_SHAREDIR/freeswitch && tar cf - conf) | tar xf -
+		chown -R $FREESWITCH_USER:$FREESWITCH_GROUP conf
+		cd conf
+
+		echo -n " event_socket.conf.xml"
+		$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
+			autoload_configs/event_socket.conf.xml-dist \
+			autoload_configs/event_socket.conf.xml
+		sed -i '' $BBB_REPLACE autoload_configs/event_socket.conf.xml
+
+		echo -n " acl.conf.xml"
+		$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
+			autoload_configs/acl.conf.xml-dist \
+			autoload_configs/acl.conf.xml
+		sed -i '' $BBB_REPLACE autoload_configs/acl.conf.xml
+
+		echo -n " $BBB_SIP_USERNAME.xml"
+		$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
+			directory/default/bbbuser.xml-dist \
+			directory/default/$BBB_SIP_USERNAME.xml
+		sed -i '' $BBB_REPLACE directory/default/$BBB_SIP_USERNAME.xml
+
+		echo " rc.conf"
+		BBB_SRV_LIST="$BBB_SRV_LIST freeswitch"
+		cat >/etc/rc.conf.d/freeswitch <<-EOF
+		freeswitch_enable="YES"
+		freeswitch_flags="-ncwait -waste -nonat"
+		EOF
 		;;
 	esac
 
 	echo "Configure openoffice: rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST openoffice"
 	cat >/etc/rc.conf.d/openoffice <<-EOF
 	openoffice_enable="YES"
 	EOF
@@ -269,35 +331,10 @@
 		WEB-INF/classes/log4j.properties
 
 	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST tomcat6"
 	cat >/etc/rc.conf.d/tomcat60 <<-EOF
 	tomcat60_enable="YES"
-	tomcat60_stop_timeout="60"
-	EOF
-
-	echo -n "Configure nginx:"
-	cd $NGINX_ETC
-	mkdir -p sites-available sites-enabled
-
-	echo -n " nginx.conf"
-	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx.conf-dist nginx.conf
-
-	echo -n " bigbluebutton.conf"
-	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx-bigbluebutton.conf-dist \
-		sites-available/bigbluebutton.conf
-	sed -i '' $BBB_REPLACE nginx.conf sites-available/bigbluebutton.conf
-	cd sites-enabled
-	rm -f bigbluebutton.conf
-	ln -s ../sites-available/bigbluebutton.conf \
-		bigbluebutton.conf
-	cd $WWWDIR/client/conf
-
-	echo -n " config.xml"
-	$INSTALL_CMD config.xml-dist config.xml
-	sed -i '' $BBB_REPLACE config.xml
-
-	echo " rc.conf"
-	cat >/etc/rc.conf.d/nginx <<-EOF
-	nginx_enable="YES"
+	tomcat60_stop_timeout="30"
 	EOF
 
 	echo -n "Configure red5:"
@@ -327,16 +364,44 @@
 	sed -i '' $BBB_REPLACE  bigbluebutton-sip.properties
 
 	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST red5"
 	RED5_RMI_PORT=$(awk -F= '/^jmx.rmi.port.registry/{print $2}' $RED5_HOME/conf/red5.properties)
 	RED5_RMI_USER=$(awk '/^[^#].+readwrite$/{print $1}' $RED5_HOME/conf/access.properties | head -1)
 	RED5_RMI_PASSWD=$(awk '/^'$RED5_RMI_USER'[\ \t]+/{print $2}' $RED5_HOME/conf/password.properties)
 	
 	cat >/etc/rc.conf.d/red5 <<-EOF
 	red5_enable="YES"
-	red5_stop_timeout="60"
+	red5_stop_timeout="30"
 	red5_stop_class_opts="$RED5_RMI_PORT $RED5_RMI_USER $RED5_RMI_PASSWD"
 	EOF
 
+	echo -n "Configure nginx:"
+	cd $NGINX_ETC
+	mkdir -p sites-available sites-enabled
+
+	echo -n " nginx.conf"
+	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx.conf-dist nginx.conf
+
+	echo -n " bigbluebutton.conf"
+	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx-bigbluebutton.conf-dist \
+		sites-available/bigbluebutton.conf
+	sed -i '' $BBB_REPLACE nginx.conf sites-available/bigbluebutton.conf
+	cd sites-enabled
+	rm -f bigbluebutton.conf
+	ln -s ../sites-available/bigbluebutton.conf \
+		bigbluebutton.conf
+	cd $WWWDIR/client/conf
+
+	echo -n " config.xml"
+	$INSTALL_CMD config.xml-dist config.xml
+	sed -i '' $BBB_REPLACE config.xml
+
+	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST nginx"
+	cat >/etc/rc.conf.d/nginx <<-EOF
+	nginx_enable="YES"
+	EOF
+
 	echo -n "Save config:"
 	$INSTALL_CMD -m 0600 /dev/null $BBB_INSTALL_CONF
 	cat >$BBB_INSTALL_CONF <<-EOF
@@ -348,35 +413,31 @@
 	for var in $BBB_VAR_LIST; do
 		eval val=\$$var
 		cat >>$BBB_INSTALL_CONF <<-EOF
-		$var=$val
+		$var="$val"
 		EOF
 	done
 	echo " $BBB_INSTALL_CONF"
 }
 
-bbb_restart() {
-	. $BBB_INSTALL_CONF
+bbb_start() {
+	for i in $BBB_SRV_LIST; do
+		$PREFIX/etc/rc.d/$i start || true
+	done
+}
 
-	$PREFIX/etc/rc.d/activemq restart
-	$PREFIX/etc/rc.d/mysql-server restart
-	case "$BBB_CONFERENCE_MODULE" in
-	meetme)
-		if ! kldstat -q -m ztdummy; then
-			$PREFIX/etc/rc.d/zaptel start >/dev/null 2>&1
-		fi
-		$PREFIX/etc/rc.d/asterisk restart
-		;;
-	konference)
-		$PREFIX/etc/rc.d/asterisk restart
-		;;
-	freeswitch)
-		$PREFIX/etc/rc.d/freeswitch restart
-		;;
-	esac
-	$PREFIX/etc/rc.d/openoffice restart
-	$PREFIX/etc/rc.d/tomcat6 restart
-	$PREFIX/etc/rc.d/red5 restart
-	$PREFIX/etc/rc.d/nginx restart
+bbb_stop() {
+	for i in $BBB_SRV_LIST; do
+		REVERSE_SRV_LIST="$i $REVERSE_SRV_LIST"
+	done
+
+	for i in $REVERSE_SRV_LIST; do
+		$PREFIX/etc/rc.d/$i stop || true
+	done
+}
+
+bbb_restart() {
+	bbb_stop
+	bbb_start
 }
 
 if [ "`/usr/bin/id -u`" != "0" ]; then
@@ -384,7 +445,7 @@
 fi
 
 if [ $# -eq 0 ]; then
-	bbb_usage "$SCRIPT <install|restart> [options]"
+	bbb_usage "$SCRIPT <install|start|stop|restart> [options]"
 fi
 
 BBB_ACTION="$1"
@@ -409,8 +470,8 @@
 	if [ -z "$BBB_HOSTNAME" ]; then
 		bbb_usage "Error: 'install' action required '-h' option"
 	else
-		if ! host "$BBB_HOSTNAME" >/dev/null 2>&1; then
-			bbb_usage "Error: hostname '$BBB_HOSTNAME' not found by host command"
+		if ! getent hosts "$BBB_HOSTNAME" >/dev/null 2>&1; then
+			bbb_usage "Error: hostname '$BBB_HOSTNAME' not found by getent command"
 		fi
 	fi
 
@@ -441,11 +502,18 @@
 	fi
 	bbb_install
 	;;
-restart)
-	if [ -n "$BBB_HOSTNAME" ]; then
-		bbb_usage "Error: 'restart' action do not allow any options"
+start|stop|restart)
+	if [ -n "$BBB_HOSTNAME" -o -n "$BBB_CONFERENCE_MODULE" ]; then
+		bbb_usage "Error: '$BBB_ACTION' action do not allow any options"
 	fi
-	bbb_restart
+
+	if [ -s "$BBB_INSTALL_CONF" ]; then
+		. $BBB_INSTALL_CONF
+	else
+		bbb_usage "Error: '$BBB_ACTION' action allow only after install"
+	fi
+
+	eval bbb_$BBB_ACTION
 	;;
 *)
 	bbb_usage "Error: '$BBB_ACTION' is not valid action"
diff -ur bigbluebutton.orig/files/openoffice.in bigbluebutton/files/openoffice.in
--- bigbluebutton.orig/files/openoffice.in	2011-01-09 22:10:41.000000000 +0000
+++ bigbluebutton/files/openoffice.in	2011-01-11 11:30:59.000000000 +0000
@@ -17,6 +17,8 @@
 #               Set it to required username.
 # openoffice_group (group):   Set to www by default.
 #               Set it to required group.
+# openoffice_home (string):   Set to /var/spool/%%PORTNAME%% by default.
+#               Set it to required dir.
 # openoffice_bin (string):    Set by default - see below.
 #               Set it to soffice.bin path.
 # openoffice_args (string):  Set by default - see below.
@@ -32,6 +34,7 @@
 : ${openoffice_enable:=NO}
 : ${openoffice_user:="www"}
 : ${openoffice_group:="www"}
+: ${openoffice_home:="/var/spool/%%PORTNAME%%"}
 : ${openoffice_bin:="%%SOFFICEBIN%%"}
 : ${openoffice_args:="-accept=socket,host=localhost,port=8100;urp -headless -nofirststartwizard"}
 
@@ -42,7 +45,8 @@
 
 openoffice_start() {
         echo "Starting ${name}."
-        /usr/sbin/daemon -f -p ${pidfile} -u ${openoffice_user} \
+        env HOME=${openoffice_home} /usr/sbin/daemon \
+		-f -p ${pidfile} -u ${openoffice_user} \
 		${openoffice_bin} ${openoffice_args}
 }
 
diff -ur bigbluebutton.orig/files/pkg-message.in bigbluebutton/files/pkg-message.in
--- bigbluebutton.orig/files/pkg-message.in	2011-01-09 22:10:41.000000000 +0000
+++ bigbluebutton/files/pkg-message.in	2011-01-11 11:31:26.000000000 +0000
@@ -1,15 +1,19 @@
-==========================================================================
+===============================================================================
 
 BigBlueButon is now installed. If you install it for the first time,
 you may need to perform the following steps:
 
-1. Configure your BigBlueButon with command:
+1. Check /etc/hosts or DNS for your BigBlueButon server hostname resolution:
+
+% getent hosts bbb-hostname
+
+2. Configure your BigBlueButon server with command:
 
 # bbb-config install -h <hostname|ip address> -c <konference|meetme|freeswitch>
 
 2. Start your BigBlueButon with command:
 
-# bbb-config restart
+# bbb-config start
 
 3. Open http://<hostname|ip address> in your web browser.
 
@@ -27,4 +31,4 @@
 http://code.google.com/p/bigbluebutton/wiki/ConfigurationFiles
 http://code.google.com/p/bigbluebutton/wiki/FAQ
 
-==========================================================================
+===============================================================================
diff -ur bigbluebutton.orig/pkg-plist bigbluebutton/pkg-plist
--- bigbluebutton.orig/pkg-plist	2011-01-09 22:10:39.000000000 +0000
+++ bigbluebutton/pkg-plist	2011-01-11 11:24:30.000000000 +0000
@@ -1530,7 +1530,6 @@
 @dirrmtry %%WWWDIR%%/client/org
 @dirrmtry %%WWWDIR%%/client/swfobject
 @dirrmtry %%WWWDIR%%/client
-@dirrmtry %%WWWDIR%%
 @dirrmtry %%RED5_HOME%%/webapps/deskshare/META-INF
 @dirrmtry %%RED5_HOME%%/webapps/deskshare/WEB-INF/lib
 @dirrmtry %%RED5_HOME%%/webapps/deskshare/WEB-INF/classes/org/bigbluebutton/deskshare/server/socket


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



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