From 24cc7f6069d7f485bf7ef4718e735b9901c96c26 Mon Sep 17 00:00:00 2001
From: Sam Lawrance <lawrance@FreeBSD.org>
Date: Mon, 1 Aug 2005 13:16:47 +0000
Subject: Add openacs:

OpenACS (Open Architecture Community System) is a web application platform
designed for high traffic community websites. It is built on a free and
open source foundation. OpenACS is the foundation for many products
and websites including the .LRN e-learning platform (www.dotlrn.org).

PR:		ports/84146
Submitted by:	Aldert Nooitgedagt <aldert@nooitgedagt.net>
---
 www/openacs/Makefile               | 140 +++++++++++++++++++++++++++++++++++++
 www/openacs/distinfo               |   4 ++
 www/openacs/files/pkg-deinstall.in |  24 +++++++
 www/openacs/files/pkg-install.in   | 117 +++++++++++++++++++++++++++++++
 www/openacs/files/pkg-message.in   |  61 ++++++++++++++++
 www/openacs/files/post-config.in   |  84 ++++++++++++++++++++++
 www/openacs/files/svscan.sh        |  62 ++++++++++++++++
 www/openacs/pkg-descr              |  17 +++++
 8 files changed, 509 insertions(+)
 create mode 100644 www/openacs/Makefile
 create mode 100644 www/openacs/distinfo
 create mode 100644 www/openacs/files/pkg-deinstall.in
 create mode 100644 www/openacs/files/pkg-install.in
 create mode 100644 www/openacs/files/pkg-message.in
 create mode 100644 www/openacs/files/post-config.in
 create mode 100644 www/openacs/files/svscan.sh
 create mode 100644 www/openacs/pkg-descr

(limited to 'www/openacs')

diff --git a/www/openacs/Makefile b/www/openacs/Makefile
new file mode 100644
index 000000000000..65ca038a59d7
--- /dev/null
+++ b/www/openacs/Makefile
@@ -0,0 +1,140 @@
+# New ports collection makefile for:    openACS
+# Date created:         July 2005
+# Whom:                 Aldert Nooitgedagt <aldert@nooitgedagt.net>
+#
+# $FreeBSD$
+#
+
+PORTNAME?=	openacs
+PORTVERSION?=	5.1.5
+CATEGORIES=	www
+MASTER_SITES?=	http://openacs.org/projects/openacs/download/download/
+
+MAINTAINER?=	aldert@nooitgedagt.net
+COMMENT?=	A modular web application platform for high traffic communities
+
+OPENACS_USER?=	service0
+OPENACS_GROUP=	web
+PG_USER=	pgsql
+
+DATADIR=	${PREFIX}/share/${OPENACS_USER}
+EXAMPLESDIR=	${PREFIX}/share/examples/${OPENACS_USER}
+OPENACSBASE=	${PREFIX}/share
+VIRTUALBASE=	/var/lib
+AOLSERVERBASE=	${LOCALBASE}/aolserver
+DTSERVICEBASE=	/var/service
+RCCONF=		/etc/rc.conf
+
+IP_ADDRESS=	0.0.0.0
+
+USE_RC_SUBR=	YES
+PKGINSTALL=	${WRKDIR}/pkg-install
+PKGMESSAGE=	${WRKDIR}/pkg-message
+PKGDEINSTALL=	${WRKDIR}/pkg-deinstall
+.if defined(WITH_POSTCONFIG)
+POSTCONFIG=	${WRKDIR}/post-config
+.endif
+
+SUB_FILES=	pkg-install pkg-message pkg-deinstall post-config
+SUB_LIST+=	RCCONF=${RCCONF} \
+		OPENACSBASE=${OPENACSBASE} OPENACS_GROUP=${OPENACS_GROUP} \
+		OPENACS_USER=${OPENACS_USER} DB=${DB} PGDATA=${PGDATA} \
+		PG_USER=${PG_USER} PGBASE=${PGBASE} \
+		DTSERVICEBASE=${DTSERVICEBASE} \
+		AOLSERVERBASE=${AOLSERVERBASE} VIRTUALBASE=${VIRTUALBASE}
+
+RUN_DEPENDS+=	${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash \
+		${LOCALBASE}/lib/libtcl84.so.1:${PORTSDIR}/lang/tcl84-thread \
+		${LOCALBASE}/lib/libreadline.so:${PORTSDIR}/devel/readline \
+
+.if defined(WITH_ORACLE)
+BROKEN=		"Oracle not supported yet"
+DB=		ORA
+.else
+DB=		PG
+PGBASE=		${LOCALBASE}
+PGDATA=		${LOCALBASE}/pgsql/data
+RUN_DEPENDS+=	${LOCALBASE}/lib/libpq.so:${PORTSDIR}/databases/postgresql74-server \
+		${LOCALBASE}/aolserver/bin/nsd:${PORTSDIR}/www/aolserver-openacs-pg
+.endif
+
+RUN_DEPENDS+=	${LOCALBASE}/lib/tdom0.8.0/libtdom0.8.0.so:${PORTSDIR}/www/tdom \
+		${LOCALBASE}/tclwebtest-1.0/tclwebtest:${PORTSDIR}/www/tclwebtest \
+		${LOCALBASE}/bin/supervise:${PORTSDIR}/sysutils/daemontools
+USE_LINUX=	YES
+
+NO_BUILD=	YES
+
+USE_REINPLACE=	YES
+REINPLACE_ARGS=	-i "" -e
+
+PLIST_FILES=	${EXAMPLESDIR:S,^${PREFIX}/,,}/svscan.sh \
+		${EXAMPLESDIR:S,^${PREFIX}/,,}/restart-aolserver \
+		${EXAMPLESDIR:S,^${PREFIX}/,,}/svgroup \
+		${EXAMPLESDIR:S,^${PREFIX}/,,}/nsd-postgres \
+		${EXAMPLESDIR:S,^${PREFIX}/,,}/nsd-oracle \
+		${EXAMPLESDIR:S,^${PREFIX}/,,}/post-config.sh
+
+pre-install:
+	@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
+do-install:
+	@${MKDIR} ${EXAMPLESDIR}
+	@${MKDIR} ${OPENACSBASE}
+	@${MKDIR} ${VIRTUALBASE}
+	@ ${MKDIR} ${DTSERVICEBASE}
+
+	@${ECHO_CMD} "Installing files"
+	@if [ ! -d ${OPENACSBASE}/${OPENACS_USER} ] ; then \
+	   ${CP} -R ${WRKSRC} ${OPENACSBASE}/${OPENACS_USER}; else \
+	   ${RM} -Rf ${OPENACSBASE}/${OPENACS_USER}.old && \
+	   ${MV} ${OPENACSBASE}/${OPENACS_USER} ${OPENACSBASE}/${OPENACS_USER}.old && \
+	   ${CP} -R ${WRKSRC} ${OPENACSBASE}/${OPENACS_USER}; fi
+
+	@${TEST} -e ${VIRTUALBASE}/aolserver || ${LN} -s ${OPENACSBASE} ${VIRTUALBASE}/aolserver
+	@${TEST} -L ${VIRTUALBASE}/aolserver || ${ECHO_MSG} "${VIRTUALBASE}/aolserver is no symbolic link"
+	@${TEST} -L ${DTSERVICEBASE}/${OPENACS_USER} || ${LN} -s ${OPENACSBASE}/${OPENACS_USER}/etc/daemontools ${DTSERVICEBASE}/${OPENACS_USER}
+
+	@${INSTALL_SCRIPT} ${OPENACSBASE}/${OPENACS_USER}/packages/acs-core-docs/www/files/nsd-postgres.txt ${EXAMPLESDIR}/nsd-postgres
+	@${INSTALL_SCRIPT} ${OPENACSBASE}/${OPENACS_USER}/packages/acs-core-docs/www/files/nsd-oracle.txt ${EXAMPLESDIR}/nsd-oracle
+	@${INSTALL_SCRIPT} ${OPENACSBASE}/${OPENACS_USER}/packages/acs-core-docs/www/files/restart-aolserver.txt ${EXAMPLESDIR}/restart-aolserver
+	@${INSTALL_SCRIPT} ${FILESDIR}/svscan.sh ${EXAMPLESDIR}/svscan.sh
+	@${INSTALL_SCRIPT} ${OPENACSBASE}/${OPENACS_USER}/packages/acs-core-docs/www/files/svgroup.txt ${EXAMPLESDIR}/svgroup
+	@${INSTALL_SCRIPT} ${WRKDIR}/post-config ${EXAMPLESDIR}/post-config.sh
+
+post-install:
+	@${REINPLACE_CMD} "\
+		s|/usr/local/aolserver|${AOLSERVERBASE}|g; \
+		s|/bin/bash|/bin/sh|g; \
+		" ${EXAMPLESDIR}/nsd-postgres ${EXAMPLESDIR}/nsd-oracle
+	@${REINPLACE_CMD} "\
+		s|service0|${OPENACS_USER}|g; \
+		s|\[ns_info address\]|${IP_ADDRESS}|g; \
+		s|/var/lib/aolserver|${OPENACSBASE}|g; \
+		s|/usr/local/aolserver|${AOLSERVERBASE}|g; \
+		" ${OPENACSBASE}/${OPENACS_USER}/etc/config.tcl
+	@${REINPLACE_CMD} "\
+		s|service0|${OPENACS_USER}|g; \
+		s|/usr/local/aolserver/bin|${EXAMPLESDIR}|g; \
+		" ${OPENACSBASE}/${OPENACS_USER}/etc/daemontools/run
+
+	@${ECHO_CMD} "@unexec rm -f ${DATADIR}/log/${OPENACS_USER}* 2>&1 > /dev/null || true" >> ${TMPPLIST}
+	@${ECHO_CMD} "@unexec rm -f ${DATADIR}/log/error.log 2>&1 > /dev/null || true" >> ${TMPPLIST}
+	@${ECHO_CMD} "@unexec rm -Rf ${DATADIR}/apm-workspace 2>&1 > /dev/null || true" >> ${TMPPLIST}
+	@${ECHO_CMD} "@unexec rm -Rf ${DATADIR}/etc/daemontools/supervise 2>&1 > /dev/null || true" >> ${TMPPLIST}
+	@${FIND} -s ${WRKSRC} -not -type d \
+		| ${SED} -ne 's,^${WRKSRC},${DATADIR:S,^${PREFIX}/,,},p' >> ${TMPPLIST}
+	@${FIND} -s -d ${WRKSRC} -type d \
+		| ${SED} -ne 's,^${WRKSRC},@dirrm ${DATADIR:S,^${PREFIX}/,,},p' >> ${TMPPLIST}
+	@${ECHO_CMD} "@dirrm ${EXAMPLESDIR:S,^${PREFIX}/,,}" >> ${TMPPLIST}
+	@${ECHO_CMD} "@cd ${DTSERVICEBASE}" >> ${TMPPLIST}
+	@${ECHO_CMD} "${OPENACS_USER}" >> ${TMPPLIST}
+	@${ECHO_CMD} "@unexec rmdir ${DTSERVICEBASE} 2>&1 > /dev/null || true" >> ${TMPPLIST}
+
+	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.if defined(WITH_POSTCONFIG)
+	@${SH} ${POSTCONFIG} ${PKGNAME} POST-INSTALL
+.endif
+	@${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/www/openacs/distinfo b/www/openacs/distinfo
new file mode 100644
index 000000000000..4c0454eb4ef7
--- /dev/null
+++ b/www/openacs/distinfo
@@ -0,0 +1,4 @@
+MD5 (openacs-5.1.5.tar.gz) = a86843cb5aaf62d7e1c54b0e69238079
+SIZE (openacs-5.1.5.tar.gz) = 5740656
+MD5 (dotlrn-2.1.1.tar.gz) = f80c93d95c3695d4d89ff0394d7ea6dc
+SIZE (dotlrn-2.1.1.tar.gz) = 7935564
diff --git a/www/openacs/files/pkg-deinstall.in b/www/openacs/files/pkg-deinstall.in
new file mode 100644
index 000000000000..b030721b3965
--- /dev/null
+++ b/www/openacs/files/pkg-deinstall.in
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+PATH=$PATH:/bin:/usr/bin:/usr/sbin
+
+case $2 in
+
+POST-DEINSTALL)
+	echo "You are deinstalling this port:"
+	echo "  Remember to kill the associated Aolserver process in case"
+	echo "	you've changed the standard."       
+	echo "  We will try to kill the standard now:"
+	pid=`ps -ax | grep %%OPENACS_USER%%/etc/config.tcl | grep -v grep| awk -F' ' '{print $1}'`;
+	if test "$pid" = "" ; then
+		echo "  No %%OPENACS_USER%% process found."
+	else
+		echo "  Killing %%OPENACS_USER%% proces. pid: $pid . "
+		kill $pid
+	fi
+	echo " If no other openACS/.LRN instance needs it, you may want to "
+	echo " delete %%AOLSERVERBASE%% and %%VIRTUALBASE%% manually, "
+	echo " and possibly the %%OPENACS_USER%% users and database. "
+	;;
+esac
+ 
diff --git a/www/openacs/files/pkg-install.in b/www/openacs/files/pkg-install.in
new file mode 100644
index 000000000000..bcf4215c5492
--- /dev/null
+++ b/www/openacs/files/pkg-install.in
@@ -0,0 +1,117 @@
+#! /bin/sh
+
+PATH=/bin:/usr/sbin:/usr/bin
+LOCALBASE=%%LOCALBASE%%
+EXAMPLESDIR=%%EXAMPLESDIR%%
+RCCONF=%%RCCONF%%
+OPENACSBASE=%%OPENACSBASE%%
+OPENACS_GROUP=%%OPENACS_GROUP%%
+OPENACS_USER=%%OPENACS_USER%%
+DB=%%DB%%
+PGDATA=%%PGDATA%%
+PG_USER=%%PG_USER%%
+PGBASE=%%PGBASE%%
+DTSERVICEBASE=%%DTSERVICEBASE%%
+AOLSERVERBASE=%%AOLSERVERBASE%%
+VIRTUALBASE=%%VIRTUALBASE%%
+
+pre-install() { echo "
+
+  First, make sure that you either have         
+  lang/tcl84-thread or no tcl84 installed
+
+  =========== BACKUP YOUR DATA! =============
+  As always, backup your data before
+  upgrading. This is *NOT* done by the port!
+
+  IMPORTANT: You may loose data by an upgrade.
+   Press ctrl-C *NOW* if you need to 
+           BACKUP YOUR DATA,
+   for example a pg_dump or custom openacs files.
+
+  =========  FOR UPGRADE SEE: ===============
+  http://openacs.org/doc/current/upgrade.html
+  ===========================================
+
+     make install WITH_POSTCONFIG=yes
+  
+  to allow post-install configurations 
+  Or run afterwards: 
+  sh ${EXAMPLESDIR}/post-config.sh XX POST-INSTALL 
+
+  Advice: stop Aolserver and Postgresql
+  before post-install configuration starts.
+
+  Press ctrl-C *NOW* if you need to. 
+  ===========================================
+"
+
+sleep 10
+
+for DIRS in /usr/share/skel/dot
+do
+if egrep 'OPENACS-entries in .profile' ${DIRS}.profile >/dev/null 2>&1; then
+	echo "You already have OPENACS-entries in .profile (skeleton)"
+else
+	echo "${DIRS}.profile: adding entries" && \
+	echo "# OPENACS-entries in .profile:" >> ${DIRS}.profile && \
+	echo "export PATH=\$$PATH:${PGBASE}/bin" >> ${DIRS}.profile && \
+	echo "export PGDATA=${PGDATA}" >> ${DIRS}.profile && \
+	echo "export LD_LIBRARY_PATH=\$$LD_LIBRARY_PATH:${PGBASE}/lib" >> ${DIRS}.profile && \
+	echo "export PS1=\"<\u-\W>\"" >> ${DIRS}.profile && \
+	echo "export PS2=\"continu>\"" >> ${DIRS}.profile && \
+	echo "export CVSROOT=/cvsroot" >> ${DIRS}.profile && \
+	echo "export EDITOR=emacs" >> ${DIRS}.profile && \
+	echo "# end of OPENACS-entries." >> ${DIRS}.profile
+fi 
+done
+
+if egrep 'OPENACS-entries in rc.conf' ${RCCONF} >/dev/null 2>&1; then
+	echo "You already have OPENACS-entries in ${RCCONF}"
+else
+	echo "${RCCONF}: adding entries" && \
+	echo "# OPENACS-entries in rc.conf:" >> ${RCCONF} && \
+	echo "ldconfig_paths=\"/usr/lib/compat /usr/X11R6/lib ${LOCALBASE}/lib ${PGBASE}/lib ${AOLSERVERBASE}/lib\" " >> ${RCCONF} && \
+	echo "# end of OPENACS-entries." >> ${RCCONF}
+fi
+
+if pw group show ${OPENACS_GROUP} >/dev/null 2>&1; then
+	echo "You already have a group \"${OPENACS_GROUP}\", so I will use it."
+else
+	pw groupadd -n ${OPENACS_GROUP} 
+fi
+
+if pw user show ${OPENACS_USER} >/dev/null 2>&1; then
+	echo "You already have a user \"${OPENACS_USER}\", so I will use it."
+else
+	pw useradd -n ${OPENACS_USER} -G ${OPENACS_GROUP} -c "OpenACS instance pseudo-user" \
+	-m -s ${LOCALBASE}/bin/bash -h - 
+fi
+
+	pw usermod nobody -G ${OPENACS_GROUP}
+	pw usermod pgsql -G ${OPENACS_GROUP}
+	pw usermod root -G ${OPENACS_GROUP}
+}
+
+post-install() {
+	echo "Set permissions of files"
+	chmod -R 770 ${OPENACSBASE}/${OPENACS_USER}
+	chmod -R 770 ${EXAMPLESDIR}
+	chmod -R 755 ${DTSERVICEBASE}/${OPENACS_USER}
+     	chmod 1755 ${DTSERVICEBASE}
+ 
+	chown -R ${OPENACS_USER}:${OPENACS_GROUP} ${OPENACSBASE}/${OPENACS_USER}
+	chown root:${OPENACS_GROUP} ${EXAMPLESDIR}/nsd-postgres ${EXAMPLESDIR}/nsd-oracle
+
+}
+
+case $2 in
+
+PRE-INSTALL)
+	pre-install
+	;;
+POST-INSTALL)
+	post-install
+	;;
+esac
+
diff --git a/www/openacs/files/pkg-message.in b/www/openacs/files/pkg-message.in
new file mode 100644
index 000000000000..8f57f07cc39f
--- /dev/null
+++ b/www/openacs/files/pkg-message.in
@@ -0,0 +1,61 @@
+     ******** READ THIS *******
+
+Congratulations! You have just installed OpenACS/.LRN
+
+If you didn't  make install WITH_POSTCONFIG=yes
+to allow post-install configurations or run now:
+sh ${EXAMPLESDIR}/post-config.sh XX POST-INSTALL
+Make sure you stop Aolserver and Postgresql 
+before post-install configuration starts.
+
+Then use your browser to view the welcome page (http://<your-ip>:8000)
+and follow the instructions. (Find out your IP address by typing 
+"ifconfig" at the command line)
+
+If you want daemontools to restart aolserver, remember to:
+Copy the example svscan.sh from %%EXAMPLESDIR%%
+to %%LOCALBASE%%/etc/rc.d/svscan.sh
+Make a copy of the original file first, if you like.
+Then REBOOT (shutdown -r now)!
+
+Once the datamodel has been installed and aolserver restarts
+it can take a few MINUTES before the server becomes available. 
+Be patient! 
+
+Errors, if any, are in:
+%%VIRTUALBASE%%/aolserver/%%OPENACS_USER%%/log/error.log
+ 
+Go to the docs at http://openacs.org/doc/ to find out more.
+There are a few things different from the docs (!): For example, the 
+postgres user is pgsql not postgres, daemontools are in %%DTSERVICEBASE%%,
+openACS/.LRN is in %%LOCALBASE%%/share/ (with symlink in %%VIRTUALBASE%%), 
+nsd-postgres and some other files are in %%EXAMPLESDIR%%, but everything
+should work just fine.
+
+To view your pages at port 80 you will have to change:
+daemontools/run and config.tcl in
+%%VIRTUALBASE%%/aolserver/%%OPENACS_USER%%/etc.
+
+If you install .LRN as well as openACS the IP address in config.tcl
+should be different or you should shut one down (svc -d %%DTSERVICEBASE%%/...)
+before starting the other. Aolserver cannot listen on the same ip-address
+twice!
+
+If you want to remove openacs, type "make deinstall" or use pkg_delete
+(pkg_info).
+However, users and database are not removed. At (re)install an existing
+datadirectory with the same name is moved to <name>.old
+
+We use bash as shell in openACS. We didn't change the shells of
+current users like root and pgsql, yet. If you want, do:
+chsh -s %%LOCALBASE%%/bin/bash USERNAME 
+and change its profile by copying the openACS entries from
+/usr/share/skel/dot.profile to  ~/.profile. 
+Than login/out or type ". .profile".
+
+Remember: THIS MESSAGE is in PORTSDIR/www/openacs/pkg-message.
+
+-Aldert
+aldert@nooitgedagt.net
+
+     ******** READ THE INFORMATION ABOVE ******** 
diff --git a/www/openacs/files/post-config.in b/www/openacs/files/post-config.in
new file mode 100644
index 000000000000..d443b7bde344
--- /dev/null
+++ b/www/openacs/files/post-config.in
@@ -0,0 +1,84 @@
+#! /bin/sh
+
+PATH=/bin:/usr/sbin:/usr/bin
+LOCALBASE=%%LOCALBASE%%
+EXAMPLESDIR=%%EXAMPLESDIR%%
+RCCONF=%%RCCONF%%
+OPENACSBASE=%%OPENACSBASE%%
+OPENACS_GROUP=%%OPENACS_GROUP%%
+OPENACS_USER=%%OPENACS_USER%%
+DB=%%DB%%
+PGDATA=%%PGDATA%%
+PG_USER=%%PG_USER%%
+PGBASE=%%PGBASE%%
+DTSERVICEBASE=%%DTSERVICEBASE%%
+AOLSERVERBASE=%%AOLSERVERBASE%%
+VIRTUALBASE=%%VIRTUALBASE%%
+
+post-install() {
+	echo "Set permissions of files (post-config)"
+	chown -R :${OPENACS_GROUP} ${AOLSERVERBASE}
+
+if [ "${DB}" = "PG" ]; then
+	echo "Postgresql database is being configured."
+	if [ ! -d ${PGDATA} ]; then 
+		su -l ${PG_USER} -c "${LOCALBASE}/bin/initdb -D ${PGDATA}"; 
+	fi
+	if [ -e ${PGDATA}/postmaster.pid ]; then
+        	echo "Postgres is running. We don't want to stop it, because we don't know why you have it running."
+		pid0=`ps -ax | grep ${PGDATA}/server.log | grep -v grep| awk -F' ' '{print $1}'`;
+		if test "$pid0" != "" ; then
+			echo  "Since ${PGDATA}/server.log seems active you may be fine."
+		fi
+		echo "If you run into trouble: please stop Postgresql and Aolserver en restart them respectively, after this installation has completed."
+	else
+        	echo "Start Postgresql"
+		su -l ${PG_USER} -c "${LOCALBASE}/bin/pg_ctl -D ${PGDATA} -l ${PGDATA}/server.log start" 
+	fi	
+	sleep 5
+	su  -l ${PG_USER} -c "${LOCALBASE}/bin/createlang plpgsql template1"  > /dev/null 2>&1
+	su  -l ${PG_USER} -c "${LOCALBASE}/bin/createlang -l template1"  > /dev/null 2>&1
+	su  -l ${PG_USER} -c "${LOCALBASE}/bin/createuser -A -d ${OPENACS_USER}"  > /dev/null 2>&1
+	su  -l ${OPENACS_USER} -c "${LOCALBASE}/bin/createdb -E UNICODE ${OPENACS_USER}"  > /dev/null 2>&1
+	sleep 5
+	echo "Checking Aolserver before (re)start. Is it running?"
+	pid1=`ps -ax | grep sample-config | grep -v grep| awk -F' ' '{print $1}'`;
+	if test "$pid1" = "" ; then
+		:
+	else
+		echo "Killing sample-config process. pid: $pid1 ."
+		kill $pid1
+	fi	
+	pid2=`ps -ax | grep ${OPENACS_USER}/etc/config.tcl | grep -v grep| awk -F' ' '{print $1}'`;
+	if test "$pid2" = "" ; then
+		:
+	else
+		echo "Killing ${OPENACS_USER} config.tcl process. pid: $pid2 ."
+		kill $pid2
+	fi
+
+	pid3=`ps -ax | grep nsd | grep -v grep| awk -F' ' '{print $1}'`;
+	if test "$pid3" = "" ; then
+		echo "Good. No running Aolserver process.";
+	else
+		echo "Warning: at least still one Aolserver process is running..."
+		echo "We will start Aolserver now, but it may not be able to listen on the same address:port"
+		echo "FYI: killall -9 nsd  will stop all processes or change the IP-address in config.tcl, then start again."
+	fi
+	echo "Starting aolserver: ${EXAMPLESDIR}/nsd-postgres -t ${OPENACSBASE}/${OPENACS_USER}/etc/config.tcl -u ${OPENACS_USER} -g ${OPENACS_GROUP}"
+	${EXAMPLESDIR}/nsd-postgres -t ${OPENACSBASE}/${OPENACS_USER}/etc/config.tcl -u ${OPENACS_USER} -g ${OPENACS_GROUP}
+	sleep 10
+fi
+
+}
+
+case $2 in
+
+POST-INSTALL)
+	post-install
+	;;
+esac
+
+# ${EXAMPLESDIR}/svgroup ${OPENACS_GROUP} ${DTSERVICEBASE}/${OPENACS_USER}
+# KEEP ALIVE with DAEMONTOOLS + OPTION: see http://openacs.org/forums/message-view?message_id=291164
+# AOLSERVER RESTART SCRIPT: see http://openacs.org/doc/current/maintenance-web.html
diff --git a/www/openacs/files/svscan.sh b/www/openacs/files/svscan.sh
new file mode 100644
index 000000000000..f52db48fc7d3
--- /dev/null
+++ b/www/openacs/files/svscan.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
+    echo "$0: Cannot determine the PREFIX" >&2
+    exit 1
+fi
+
+# It would really, really be a Good Thing(tm)
+# for you to enable some of the below
+# control variables and the apropriate ulimit.
+# These are only examples.
+# Furthermore, you should think about additional
+# limits you might need.
+# Or, check login.conf(5) for a suitable
+# alternative
+#
+# I really do suggest you use /var/service/ as your
+# service spool directory. Check hier(7) for
+# reasons.
+
+# 10 Mb
+MINSEGMENT=10240
+# 20 Mb
+#MAXSEGMENT=20480
+# 10 Mb
+MAXFILESIZE=10240
+# 100
+MAXFD=100
+# 40
+MAXCHILD=40
+
+# ulimits
+#ulimit -d ${MINSEGMENT}
+#ulimit -f ${MAXFILESIZE}
+#ulimit -m ${MAXSEGMENT}
+#ulimit -n ${MAXFD}
+#ulimit -s ${MINSEGMENT}
+#ulimit -u ${MAXCHILD}
+
+KILLALL=/usr/bin/killall
+SVC=${PREFIX}/bin/svc
+SVPROC=svscan
+SVSCAN=$PREFIX/bin/svscan
+READPROCTITLE=$PREFIX/bin/readproctitle
+SVDIR=/var/service/
+
+case "$1" in
+  start)
+	echo -n " svscan"
+	exec env PATH=$PREFIX/sbin:$PREFIX/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH /bin/csh -cf "$SVSCAN $SVDIR |& $READPROCTITLE service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................ &" > /dev/null
+	;;
+
+  stop)
+	echo -n " svscan: "
+	$KILLALL $SVPROC
+	$SVC -dx $SVDIR/* $SVDIR/*/log
+	;;
+
+  *)
+  	echo "Usage: $0 start | stop"
+	;;
+esac
diff --git a/www/openacs/pkg-descr b/www/openacs/pkg-descr
new file mode 100644
index 000000000000..b8dd7483b366
--- /dev/null
+++ b/www/openacs/pkg-descr
@@ -0,0 +1,17 @@
+OpenACS (Open Architecture Community System) is a web application platform 
+designed for high traffic community websites. It is built on a free and 
+open source foundation. OpenACS is the foundation for many products 
+and websites including the .LRN e-learning platform (www.dotlrn.org).
+
+OpenACS runs on AOLserver and uses either the PostgreSQL or Oracle (which is 
+not open-source) relational databases. It uses TCL as its main language. 
+AOLserver, postgresql and Oracle are used in some of the most demanding, 
+high-traffic web applications in the world.
+
+DotLRN (.LRN) is built upon openACS core, but includes extra modules and
+configurations. DotLRN has its own tarball and port (openacs-dotlrn).
+
+WWW: http://openacs.org 
+
+- Aldert
+aldert@nooitgedagt.net
-- 
cgit v1.2.3