- Update openacs to 5.3.2

- Depend on devel/tcllib and devel/tcllthread
- Add script for adjusting postgresql.conf
- Improve installation documentation
- Bump dotlrn portrevision
- Other small fixes and improvements

Approved by:	garga (mentor, implicit)
This commit is contained in:
Martin Matuska 2007-08-02 13:10:49 +00:00
parent f775b68598
commit 97298a197c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=196962
7 changed files with 155 additions and 55 deletions

View file

@ -6,7 +6,8 @@
#
PORTNAME= dotlrn
PORTVERSION= 2.3.0
DISTVERSION= 2.3.0
PORTREVISION= 1
MASTER_SITES= http://openacs.org/projects/dotlrn/download/download/
EXTRACT_SUFX= .tgz?revision_id=976988

View file

@ -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}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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."

View file

@ -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
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
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)
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
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:
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