aboutsummaryrefslogtreecommitdiff
path: root/www/openacs
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2007-08-02 13:10:49 +0000
committerMartin Matuska <mm@FreeBSD.org>2007-08-02 13:10:49 +0000
commit97298a197c86f3defe247a7a0bc57511d18f4fab (patch)
tree197e9aec107a23dde3d76b08a70723bbd6a52483 /www/openacs
parentf775b6859848fa62dfefc51f26be755fbe39545b (diff)
downloadports-97298a197c86f3defe247a7a0bc57511d18f4fab.tar.gz
ports-97298a197c86f3defe247a7a0bc57511d18f4fab.zip
Notes
Diffstat (limited to 'www/openacs')
-rw-r--r--www/openacs/Makefile45
-rw-r--r--www/openacs/distinfo6
-rw-r--r--www/openacs/files/adjust_pgsql_conf.sh.in74
-rw-r--r--www/openacs/files/create_sampledb.sh.in42
-rw-r--r--www/openacs/files/pkg-deinstall.in12
-rw-r--r--www/openacs/files/pkg-message.in32
6 files changed, 155 insertions, 56 deletions
diff --git a/www/openacs/Makefile b/www/openacs/Makefile
index 83552626fb6b..dc44c0a1f655 100644
--- a/www/openacs/Makefile
+++ b/www/openacs/Makefile
@@ -6,20 +6,22 @@
#
PORTNAME?= openacs
-PORTVERSION?= 5.3.1
+DISTVERSION?= 5-3-2
CATEGORIES= www
MASTER_SITES?= http://openacs.org/projects/openacs/download/download/
-EXTRACT_SUFX?= .tgz?revision_id=976463
+EXTRACT_SUFX?= .tgz?revision_id=1098887
MAINTAINER?= mm@FreeBSD.org
COMMENT?= A modular web application platform for high traffic communities
AOLSERVERBASE?= ${LOCALBASE}/aolserver
-RUN_DEPENDS= ${AOLSERVERBASE}/bin/nscache.so:${PORTSDIR}/www/aolserver-nscache \
+TCLLIB_VER?= 1.9
+RUN_DEPENDS+= ${AOLSERVERBASE}/bin/nscache.so:${PORTSDIR}/www/aolserver-nscache \
${AOLSERVERBASE}/bin/nsopenssl.so:${PORTSDIR}/security/aolserver-nsopenssl \
${AOLSERVERBASE}/bin/nssha1.so:${PORTSDIR}/security/aolserver-nssha1 \
${AOLSERVERBASE}/bin/nspostgres.so:${PORTSDIR}/databases/aolserver-nspostgres \
${AOLSERVERBASE}/modules/tcl/xotcl.tcl:${PORTSDIR}/www/aolserver-xotcl \
+ ${LOCALBASE}/lib/tcllib${TCLLIB_VER}/pkgIndex.tcl:${PORTSDIR}/devel/tcllib \
${LOCALBASE}/lib/tdomConfig.sh:${PORTSDIR}/www/tdom
USE_RC_SUBR?= ${PORTNAME}
@@ -31,27 +33,39 @@ OPENACS_GROUP?= www
PGUSER?= pgsql
OPENACSBASE?= ${TARGETDIR}/openacs
OPENACSNAME?= OpenACS
+SU?= /usr/bin/su
+PGREP?= /usr/bin/pgrep
+PW?= /usr/sbin/pw
BASE_INSTALL?= bin content-repository-content-files log packages tcl www
PLIST= ${WRKDIR}/plist.tmp
-SUB_LIST+= OPENACS_USER=${OPENACS_USER} OPENACS_GROUP=${OPENACS_GROUP} \
- OPENACSBASE=${OPENACSBASE} OPENACS_DB=${OPENACS_DB} \
- PGUSER=${PGUSER} AOLSERVERBASE=${AOLSERVERBASE} \
- PORTNAME=${PORTNAME} OPENACSNAME=${OPENACSNAME}
-SUB_FILES+= pkg-install pkg-deinstall pkg-message openacs dotlrn create_sampledb.sh
+SUB_FILES+= pkg-install pkg-deinstall pkg-message ${PORTNAME} \
+ create_sampledb.sh adjust_pgsql_conf.sh
PKGINSTALL= ${WRKDIR}/pkg-install
PKGMESSAGE= ${WRKDIR}/pkg-message
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
-.if !defined(NOPORTDOCS)
-PORTDOCS= ChangeLog readme.txt license.txt
-.endif
+PORTDOCS= *
+
OPTIONS= EXAMPLES "Install various example files" on \
- TCLWEBTEST "Require tclwebteset" on
+ TCLTHREAD "Depend on tclthread" on \
+ TCLWEBTEST "Depend on tclwebteset" on
.include <bsd.port.pre.mk>
+SUB_LIST+= OPENACS_USER=${OPENACS_USER} OPENACS_GROUP=${OPENACS_GROUP} \
+ OPENACSBASE=${OPENACSBASE} OPENACS_DB=${OPENACS_DB} \
+ PGUSER=${PGUSER} AOLSERVERBASE=${AOLSERVERBASE} \
+ PORTNAME=${PORTNAME} OPENACSNAME=${OPENACSNAME} \
+ SU=${SU} PGREP=${PGREP} AWK=${AWK} CP=${CP} GREP=${GREP} \
+ PW=${PW} CHOWN=${CHOWN} CHMOD=${CHMOD}
+
+.if !defined(WITHOUT_TCLTHREAD)
+TCLTHREAD_VER?= 2.6.5
+RUN_DEPENDS+= ${LOCALBASE}/lib/thread${TCLTHREAD_VER}/libthread${TCLTHREAD_VER}.so:${PORTSDIR}/devel/tclthread
+.endif
+
.if !defined(WITHOUT_TCLWEBTEST)
RUN_DEPENDS+= ${LOCALBASE}/bin/tclwebtest:${PORTSDIR}/www/tclwebtest
.endif
@@ -75,7 +89,6 @@ pre-install:
.if defined(WITH_EXAMPLES)
@ ${FIND} ${WRKSRC}/etc ! -type d | \
${SED} 's|${WRKSRC}/etc|%%EXAMPLESDIR%%|' >> ${PLIST}
- @ ${ECHO} %%EXAMPLESDIR%%/create_sampledb.sh >> ${PLIST}
@ ${FIND} ${WRKSRC}/etc -type d | \
${SED} 's|${WRKSRC}/etc|@dirrm %%EXAMPLESDIR%%|' | \
${SORT} -r >> ${PLIST}
@@ -90,16 +103,18 @@ do-install:
@ ${ECHO} "Installing examples"
@ ${MKDIR} ${EXAMPLESDIR}
@ ${TAR} -c -C ${WRKSRC}/etc -f - . | ${TAR} -x -C ${EXAMPLESDIR} -f -
- @ ${INSTALL_SCRIPT} ${WRKDIR}/create_sampledb.sh ${EXAMPLESDIR}
.endif
@ ${ECHO} "Installing sample configuration file"
@ ${INSTALL_DATA} ${WRKDIR}/openacs-config.tcl ${OPENACSBASE}/etc/${PORTNAME}-config.tcl
.if !defined(NOPORTDOCS)
@ ${ECHO} "Installing docs"
@ ${MKDIR} ${DOCSDIR}
-.for FILE in ${PORTDOCS}
+.for FILE in ChangeLog readme.txt license.txt
@ ${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR}
.endfor
+.for FILE in create_sampledb.sh adjust_pgsql_conf.sh
+ @ ${INSTALL_SCRIPT} ${WRKDIR}/${FILE} ${DOCSDIR}
+.endfor
.endif
@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
diff --git a/www/openacs/distinfo b/www/openacs/distinfo
index 591ce85a83e2..cd98bec1390a 100644
--- a/www/openacs/distinfo
+++ b/www/openacs/distinfo
@@ -1,3 +1,3 @@
-MD5 (openacs-5.3.1.tgz?revision_id=976463) = 59146d2da5a5fbcb5cc9a1728920de52
-SHA256 (openacs-5.3.1.tgz?revision_id=976463) = 7048000a3e7fbb5e622aacfb48caf9466bec3a63548c67dfce6cf90dd1719e03
-SIZE (openacs-5.3.1.tgz?revision_id=976463) = 7499906
+MD5 (openacs-5-3-2.tgz?revision_id=1098887) = 5f83e9c5b2d9e83c84f78675dd690239
+SHA256 (openacs-5-3-2.tgz?revision_id=1098887) = a59e6aafb92596901f1738b64c461e1091f8e08ffa59a304d29676ac2233de29
+SIZE (openacs-5-3-2.tgz?revision_id=1098887) = 7327073
diff --git a/www/openacs/files/adjust_pgsql_conf.sh.in b/www/openacs/files/adjust_pgsql_conf.sh.in
new file mode 100644
index 000000000000..8674e5b9a034
--- /dev/null
+++ b/www/openacs/files/adjust_pgsql_conf.sh.in
@@ -0,0 +1,74 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# This script modifies the default "postgresql.conf" in PostgreSQL 8.1 and 8.2
+# installations, to suit the needs of OpenACS / .LRN
+#
+# Manual instructions:
+# http://openacs.org/xowiki/How_to_install_in_Postgres_8.x
+#
+# Usage: adjust_pgsql_conf.sh [path_to_postgresql.conf]
+#
+PGUSER=%%PGUSER%%
+LOCALBASE=%%LOCALBASE%%
+#
+AWK=%%AWK%%
+CP=%%CP%%
+GREP=%%GREP%%
+PW=%%PW%%
+SU=%%SU%%
+
+# Check if PostgreSQL version is >= 8.1.0
+if ! `${LOCALBASE}/bin/postmaster -V | ${AWK} -F '[ .]' '{if ($3==8 && $4>=1) {exit 0} else {exit 1}}'`; then
+ echo "You need PostgreSQL server 8.1 or higher installed."
+ exit 1
+fi
+
+# Check if user supplied a path or look for default postgresql.conf
+if [ "x${1}" = "x" ]; then
+ PGCONF=`${PW} usershow ${PGUSER} | ${AWK} -F: '{ print $9 }'`/data/postgresql.conf
+else
+ PGCONF=${1}
+fi
+
+if ! [ -f "${PGCONF}" ]; then
+ echo "ERROR: no such file: ${PGCONF}"; echo ""
+ echo "Maybe you use a different datadir or your database is not yet initialized"
+ echo "You can initialize your database with:"
+ echo "${LOCALBASE}/etc/rc.d/postgresql initdb"; echo ""
+ echo "Usage: $0 [path_to_postgresql.conf]"
+ exit 1
+fi
+
+# Very simple check if the file is a standard PostgreSQL configuration file
+if ! `${GREP} -qe '^# PostgreSQL configuration file' ${PGCONF}`; then
+ echo "ERROR: ${PGCONF} doesn't appear to be a default PostgreSQL database configuration file"
+ exit 1
+fi
+
+echo "Found ${PGCONF}"
+echo -n "Checking ... "
+
+MODIFY=no
+MISSING_FROM=no
+REGEX_FLAVOR=no
+WITH_OIDS=no
+
+# Check if we need to add anything
+if ! `${GREP} -qe '^add_missing_from = on' ${PGCONF}`; then MISSING_FROM=yes; MODIFY=yes; fi
+if ! `${GREP} -qe '^regex_flavor = extended' ${PGCONF}`; then REGEX_FLAVOR=yes; MODIFY=yes; fi
+if ! `${GREP} -qe '^default_with_oids = on' ${PGCONF}`; then WITH_OIDS=yes; MODIFY=yes; fi
+
+# Backup file and add configuration lines, if necessary
+if [ ${MODIFY} = "no" ]; then
+ echo "no modifications necessary"
+else
+ echo "needs to be modified"
+ echo "Backing up old configuration file to ${PGCONF}.bak"
+ ${CP} -p ${PGCONF} ${PGCONF}.bak
+ if [ ${MISSING_FROM} = "yes" ]; then echo "add_missing_from = on" >> ${PGCONF}; fi
+ if [ ${REGEX_FLAVOR} = "yes" ]; then echo "regex_flavor = extended" >> ${PGCONF}; fi
+ if [ ${WITH_OIDS} = "yes" ]; then echo "default_with_oids = on" >> ${PGCONF}; fi
+ echo "File successfully modified."
+ echo "Please restart your PostgreSQL server (if running)."
+fi
diff --git a/www/openacs/files/create_sampledb.sh.in b/www/openacs/files/create_sampledb.sh.in
index 67401e266678..c29987e58dc3 100644
--- a/www/openacs/files/create_sampledb.sh.in
+++ b/www/openacs/files/create_sampledb.sh.in
@@ -9,37 +9,41 @@ OPENACS_USER=%%OPENACS_USER%%
OPENACS_DB=%%OPENACS_DB%%
LOCALBASE=%%LOCALBASE%%
#
-PGREP=/usr/bin/pgrep
-SU=/usr/bin/su
-AWK=/usr/bin/awk
+PGREP=%%PGREP%%
+SU=%%SU%%
+AWK=%%AWK%%
CREATEUSERFLAGS="-A -d"
# Check if PostgreSQL version is >= 8.1.0
-${LOCALBASE}/bin/postmaster -V | ${AWK} -F '[ .]' '{if ($3==8 && $4>=1) {exit 0} else {exit 1}}' && {
-POSTGRESQL81=YES
-CREATEUSERFLAGS="-S -R -d"
-}
+if `${LOCALBASE}/bin/postmaster -V | ${AWK} -F '[ .]' '{if ($3==8 && $4>=1) {exit 0} else {exit 1}}'`; then
+ POSTGRESQL81=YES
+ CREATEUSERFLAGS="-S -R -d"
+fi
-${PGREP} -U ${PGUSER} postgres > /dev/null || {
+if ! `${PGREP} -U ${PGUSER} postgres > /dev/null`; then
echo "You need PostgreSQL server installed and running."
echo "After a fresh install, you need to initialize the database with:"
- echo "su - ${PGUSER} -c initdb"
+ echo "${LOCALBASE}/etc/rc.d/postgresql initdb"
echo "Exiting ..."
exit 1
-}
+fi
+
echo "Creating PostgreSQL user ${OPENACS_USER} ..."
${SU} -l ${PGUSER} -c "${LOCALBASE}/bin/createuser ${CREATEUSERFLAGS} ${OPENACS_USER}"
echo "Creating PostgreSQL database ${OPENACS_DB} ..."
${SU} -l ${OPENACS_USER} -c "${LOCALBASE}/bin/createdb -E UNICODE ${OPENACS_DB}"
echo "Registering language plpgsql for database ${OPENACS_DB} ..."
${SU} -l ${PGUSER} -c "${LOCALBASE}/bin/createlang plpgsql ${OPENACS_DB}"
-[ "x${POSTGRESQL81}" = "xYES" ] && {
-echo ""
-echo "**************************** NOTICE ****************************"
-echo "You have PostgreSQL 8.1 or greater installed."
-echo "Your may need to alter your PostgreSQL configuration."
-echo "Please read the instructions under the following URL:"
-echo "http://openacs.org/xowiki/How_to_install_in_Postgres_8.x"
-echo "****************************************************************"
-}
+
+if [ "x${POSTGRESQL81}" = "xYES" ]; then
+ echo ""
+ echo "**************************** NOTICE ****************************"
+ echo "You have PostgreSQL 8.1 or greater installed."
+ echo "Your may need to alter your PostgreSQL configuration."
+ echo "You can do this by running the supplied script:"
+ echo "%%DOCSDIR%%/adjust_pgqsl_conf.sh"; echo ""
+ echo "Alternatively you can follow the instructions at:"
+ echo "http://openacs.org/xowiki/How_to_install_in_Postgres_8.x"
+ echo "****************************************************************"
+fi
diff --git a/www/openacs/files/pkg-deinstall.in b/www/openacs/files/pkg-deinstall.in
index f7fd9c5ca14a..45d415d2b888 100644
--- a/www/openacs/files/pkg-deinstall.in
+++ b/www/openacs/files/pkg-deinstall.in
@@ -8,12 +8,14 @@ fi
OPENACS_USER=%%OPENACS_USER%%
OPENACS_GROUP=%%OPENACS_GROUP%%
OPENACSBASE=%%OPENACSBASE%%
-
-if pw usershow "${OPENACS_USER}" 2>/dev/null 1>&2; then
- echo "To delete ${OPENACS_USER} user permanently, use 'pw userdel \"${OPENACS_USER}\"'"
+
+PW=%%PW%%
+
+if ${PW} usershow "${OPENACS_USER}" 2>/dev/null 1>&2; then
+ echo "To delete ${OPENACS_USER} user permanently, use '${PW} userdel \"${OPENACS_USER}\"'"
fi
-if pw usershow "${OPENACS_GROUP}" 2>/dev/null 1>&2; then
- echo "To delete ${OPENACS_GROUP} group permanently, use 'pw groupdel \"${OPENACS_GROUP}\"'"
+if ${PW} usershow "${OPENACS_GROUP}" 2>/dev/null 1>&2; then
+ echo "To delete ${OPENACS_GROUP} group permanently, use '${PW} groupdel \"${OPENACS_GROUP}\"'"
fi
if test -d "${OPENACSBASE}"; then
echo "You may need to remove ${OPENACSBASE} manually."
diff --git a/www/openacs/files/pkg-message.in b/www/openacs/files/pkg-message.in
index ca5b5d2c41b8..ba6e712f5b9c 100644
--- a/www/openacs/files/pkg-message.in
+++ b/www/openacs/files/pkg-message.in
@@ -1,19 +1,20 @@
Congratulations! You have just installed %%OPENACSNAME%%
-To create a sample default database, you first need a PostgreSQL server
-installed and configured on your system. If the PostgreSQL server is started
-and running, you can run the script:
-%%EXAMPLESDIR%%/create_sampledb.sh
-
-The create_sampledb.sh script works with the following servers with their
-default configurations:
-databases/postgresql74-server (7.4.x)
-databases/postgresql80-server (8.0.x)
-
-For PostgreSQL 8.1.x and 8.2.x, the database server configuration
-needs to be adjusted. Please visit the following webpage for more information:
+You need a PostgreSQL server installed and configured on your (or a on remote)
+system. We recommend using the PostgreSQL 8.2.x port located in:
+databases/postgresql82-server
+
+You may need to adjust your PostgreSQL database configuration (for servers
+v 8.1.x and higher). This can be done with the following script:
+%%DOCSDIR%%/adjust_pgsql_conf.sh
+
+If you want adjust the database configuration manually, please visit:
http://openacs.org/xowiki/How_to_install_in_Postgres_8.x
+After your local PostgreSQL server is configured and running, you can create
+a default database by running the following script:
+%%DOCSDIR%%/create_sampledb.sh
+
You can start %%OPENACSNAME%% with the startup script:
%%LOCALBASE%%/etc/rc.d/%%PORTNAME%%
@@ -21,8 +22,8 @@ If you are using another AOLserver on the default port 8000,
please change the port number in the configuration file.
Default config: %%OPENACSBASE%%/etc/%%PORTNAME%%-config.tcl
-Then use your browser to view the welcome page (http://<your-ip>:<port>)
-- default port is 8000 and follow the instructions.
+Then use your web browser to view the welcome page and follow the instructions.
+http://<your-ip>:<port> (default port is 8000)
Errors, if any, are in:
%%OPENACSBASE%%/log/error.log
@@ -30,5 +31,8 @@ Errors, if any, are in:
If you want to use keepalive via cron, you might want to look here:
%%EXAMPLESDIR%%/keepalive/
+Please visit the following webpage for more information:
+http://openacs.org/xowiki/openacs-system-install-freebsd-ports
+
-Martin Matuska
mm@FreeBSD.org