diff options
author | Jodok Batlogg <batlogg@gentoo.org> | 2004-07-24 20:52:20 +0000 |
---|---|---|
committer | Jodok Batlogg <batlogg@gentoo.org> | 2004-07-24 20:52:20 +0000 |
commit | a3882d5c9b1c821fb2bfd052364b8d9ad1ce3d9f (patch) | |
tree | f0dfc342bbeb504f8a3fe347d11fb819456e366e /app-admin | |
parent | oops. fix keywords (diff) | |
download | historical-a3882d5c9b1c821fb2bfd052364b8d9ad1ce3d9f.tar.gz historical-a3882d5c9b1c821fb2bfd052364b8d9ad1ce3d9f.tar.bz2 historical-a3882d5c9b1c821fb2bfd052364b8d9ad1ce3d9f.zip |
version bump (required by changes in zope ebuild)
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/zope-config/ChangeLog | 8 | ||||
-rw-r--r-- | app-admin/zope-config/Manifest | 12 | ||||
-rw-r--r-- | app-admin/zope-config/files/0.4-r1/zope-config | 456 | ||||
-rw-r--r-- | app-admin/zope-config/files/0.4-r1/zope-config.conf | 30 | ||||
-rw-r--r-- | app-admin/zope-config/files/digest-zope-config-0.4-r1 | 0 | ||||
-rw-r--r-- | app-admin/zope-config/zope-config-0.4-r1.ebuild | 36 |
6 files changed, 537 insertions, 5 deletions
diff --git a/app-admin/zope-config/ChangeLog b/app-admin/zope-config/ChangeLog index 2a921cd1e55e..16aee6698f93 100644 --- a/app-admin/zope-config/ChangeLog +++ b/app-admin/zope-config/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-admin/zope-config # Copyright 2003-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/zope-config/ChangeLog,v 1.19 2004/07/20 00:34:19 pylon Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/zope-config/ChangeLog,v 1.20 2004/07/24 20:52:20 batlogg Exp $ + +*zope-config-0.4-r1 (24 Jul 2004) + + 24 Jul 2004; Jodok Batlogg <batlogg@gentoo.org>; +files/0.4-r1/zope-config, + +files/0.4-r1/zope-config.conf, +zope-config-0.4-r1.ebuild: + version bump (required by zope ebuild changes) 20 Jul 2004; Lars Weiler <pylon@gentoo.org> zope-config-0.3.ebuild: Stable on ppc. diff --git a/app-admin/zope-config/Manifest b/app-admin/zope-config/Manifest index 402332ba9b4a..e95b614e45f6 100644 --- a/app-admin/zope-config/Manifest +++ b/app-admin/zope-config/Manifest @@ -1,13 +1,17 @@ -MD5 3ce6690f5affe848d16ef38544155d9e ChangeLog 2856 -MD5 7890d88c5c6d189fbe6b187a3ebb6532 metadata.xml 161 -MD5 66364d21a70a8fb1b0a30f7831df514e zope-config-0.1-r1.ebuild 540 MD5 fb37e913fece40227de866c18b12c380 zope-config-0.3.ebuild 954 +MD5 66364d21a70a8fb1b0a30f7831df514e zope-config-0.1-r1.ebuild 540 +MD5 106b4e9bfa6936347389d843627217a3 zope-config-0.4-r1.ebuild 958 MD5 ce10dc2ab0139995d0a9f0a8bcdce9b1 zope-config-0.4.ebuild 955 -MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-zope-config-0.1-r1 0 +MD5 ab2663bb45ae590615580dce26c8ed29 ChangeLog 3083 +MD5 7890d88c5c6d189fbe6b187a3ebb6532 metadata.xml 161 MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-zope-config-0.3 0 MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-zope-config-0.4 0 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-zope-config-0.1-r1 0 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-zope-config-0.4-r1 0 MD5 0f40a729a7da468e26035bb6ee809497 files/0.1/zope-config 6878 MD5 ee33083be6a5df4425481f4212e94493 files/0.3/zope-config 7714 MD5 091fc2dce258d3da117b7c1017bd5b9a files/0.3/zope-config.conf 1040 MD5 e634da1b14d3ff327398a413ab3796fc files/0.4/zope-config 12296 MD5 db1d2aa45d51bc9279b3be400a31c56a files/0.4/zope-config.conf 1080 +MD5 7bd362aa818369883cc6e7ac520a451a files/0.4-r1/zope-config 12457 +MD5 50636bfb7b5d468507cb2aa7af9f6afd files/0.4-r1/zope-config.conf 1082 diff --git a/app-admin/zope-config/files/0.4-r1/zope-config b/app-admin/zope-config/files/0.4-r1/zope-config new file mode 100644 index 000000000000..232b30b601b7 --- /dev/null +++ b/app-admin/zope-config/files/0.4-r1/zope-config @@ -0,0 +1,456 @@ +#!/bin/bash +# vim: set noexpandtab ts=4: +# Gentoo Zope Instance configure tool. +# +# Originally written by Jason Shoemaker <kutsuya@gentoo.org> +# Portions by Jodok Batlogg <batlogg@gentoo.org> (Logging and some cleanups) +# Portions by Robin Johnson <robbat2@gentoo.org> (Documentation and further cleanup) +# Portions by Carter Smithhart <derheld42@derheld.net> (2.7.0 stuff) +# +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/zope-config/files/0.4-r1/zope-config,v 1.1 2004/07/24 20:52:20 batlogg Exp $ +# +# +# Notes: +# $ZI_DIR/.default holds name of default zope instance +# $NEWZOPE is set to 1 if the zope server is 2.7.0 or newer +# +VERSION="0.4" + +CONFIGFILE=/etc/zope-config.conf +if [ -e ${CONFIGFILE} ]; then + source ${CONFIGFILE} +else + echo "Unable to find config file: ${CONFIGFILE}" 1>&2 + exit 1 +fi + +# Return codes used in this program: +E_SUCCESS=0 +E_FAILURE=1 + +E_ZILIST=22 +E_PARAM=26 +E_ZSLIST=28 +E_ZIDEFAULT=30 + +#Parameters: +# $1 = instance directory +# $2 = group +zinst_security_setup() +{ + if [ ${ZOPE27} ] ; then + chown -R root:${2} ${1} + chmod -R o-rwx ${1} + chmod g+ws ${1}/{var,log} + chmod g+rX -R ${1} + else + chown -R ${ZUID}:${2} ${1} + chmod -R g+u ${1} + chmod -R o-rwx ${1} + chown root ${1}/var/ # needed if $ZOPE_OPTS='-u root' + chmod +t ${1}/var/ + fi +} + +# params: $ZSERV_DIR +# returns 1 if $ZSERV_DIR is a 2.7 or newer Zope. Also sets NEWZOPE to 1. +zserv_is_2.7_or_newer() +{ + TEXT=$(echo $1 | grep ${ZS_DIR2}) + if [ "$TEXT" = "" ] ; then + NEWZOPE=0 + return 0; + fi + NEWZOPE=1 + return 1; +} + +#Params: +# $1 = zserv dir +# $2 = zinst dir +zinst_fs_setup() +{ + local RESULT=${E_FAILURE} + local USER= + local PASS= + local PASS2= + + if [ "${#}" -lt 2 ] ; then + # need a param + RESULT=${E_PARAM} + elif [ ${ZOPE27} ] ; then + if [ "x$3" == "xinituser" ] ; then + ${BIN}/mkzopeinstance.py --user admin:admin --dir $2 + else + ${BIN}/mkzopeinstance.py --dir $2 + fi + RESULT=$? + else + if [ $NEWZOPE = 1 ] ; then + while : ; do + USER=$(dialog --stdout \ + --backtitle "Please choose a username and password for the initial user." \ + --inputbox "Username:" 0 0 "admin") + RESULT=$? + if [ "$USER" != "" ] ; then + break + fi + done + while : ; do + PASS=$(dialog --stdout \ + --backtitle "Please choose a username and password for the initial user." \ + --passwordbox "Password:" 0 0 "") + RESULT=$? + if [ "$PASS" = "" ] ; then + continue + fi + PASS2=$(dialog --stdout \ + --backtitle "Please choose a username and password for the initial user." \ + --passwordbox "Reenter Password:" 0 0 "") + RESULT=$? + if [ "$PASS2" = "" ] ; then + continue + fi + if [ $PASS = $PASS2 ] ; then + break + else + dialog --msgbox "Passwords must be equal!" 0 0 + fi + done + su zope -c "$1/bin/mkzopeinstance.py --dir $2 --user $USER:$PASS" + RESULT=${E_SUCCESS} + else + # prior to 2.7 + mkdir -p $2 || exit 1 + if [ $(zinst_default_get >/dev/null)$? -ne 0 ] ; then + echo $(basename ${ZINST_DIR}) >${ZI_DIR}/.default + chown zope:root ${ZI_DIR}/.default + fi + + if [ -f $2/var/Data.fs ]; then + mv $2/var/Data.fs $2/var/Data.fs.org + fi + + cp -R $1/.templates/Extensions $2 + cp -R $1/.templates/import $2 + cp -R $1/.templates/var $2 + mkdir $2/Products + + if [ -f $2/var/Data.fs.org ]; then + mv $2/var/Data.fs $2/var/Data.fs.dist + mv $2/var/Data.fs.org $2/var/Data.fs + fi + + RESULT=$? + fi + fi + + return ${RESULT} +} + +#Params: +# $1 = zserv dir +# $2 = zinst dir +# $3 = zinst name +zinst_rc_setup() +{ + local RESULT=${E_FAILURE} + + if [ "${#}" -lt 3 ] ; then + # need a param + RESULT=${E_PARAM} + elif [ ${ZOPE27} ] ; then + install $1/skel/zope.initd ${INITD}/${3} + echo "INSTANCE_HOME=${2}" >${CONFD}/$3 + echo "EVENT_LOG_FILE=${EVENTLOGDIR}/${3}" >>${CONFD}/$3 + sed -i \ + -e "/^# *effective-user/ a\\effective-user ${ZUID}\\ " \ + ${2}/etc/zope.conf + RESULT=$? + else + if [ $NEWZOPE = 1 ] ; then + install $1/.templates/zope.initd ${INITD}/${3} + sed -i \ + -e "s|ZINST_DIR=|ZINST_DIR=${2}|" \ + -e "s|EVENT_LOG_FILE=|EVENT_LOG_FILE=${EVENTLOGDIR}\/${3}|" \ + ${INITD}/${3} + RESULT=${E_SUCCESS} + else + install $1/.templates/zope.confd ${CONFD}/${3} + install $1/.templates/zope.initd ${INITD}/${3} + sed -i \ + -e "/INSTANCE_HOME=/ c\\INSTANCE_HOME=${2}\\ " \ + -e "/CLIENT_HOME=/ c\\CLIENT_HOME=${2}/var\\ " \ + -e "/EVENT_LOG_FILE=/ c\\EVENT_LOG_FILE=${EVENTLOGDIR}\/${3}\\ " \ + ${CONFD}/${3} + RESULT=$? + fi + # make sure the directory exists + mkdir -p ${EVENTLOGDIR} >/dev/null 2>&1 + fi + return ${RESULT} +} + +# Sets the variable: ZSERV_DIR and returns 0 +# or returns a non-zero error code +zserv_dir_get() +{ + local RESULT=${E_FAILURE} + local LIST=$(ls -d ${ZS_DIR}* ; ls -d ${ZS_DIR2}*) + local LIST_CNT=$(echo ${LIST} | wc -w) + local DLIST= + + # Assume that LIST_TMP contains valid zserver dirs. + if [ ${LIST_CNT} -eq 1 ] ; then + ZSERV_DIR=${LIST} + RESULT=${E_SUCCESS} + elif [ ${LIST_CNT} -ne 0 ] ; then + for N in ${LIST} ; do + DLIST="${DLIST} $N -" + done + ZSERV_DIR=$(dialog --stdout \ + --title "Zope Server List" \ + --menu "Select desired zserver: " 0 40 ${LIST_CNT} ${DLIST}) + RESULT=$? + else + RESULT=${E_ZSLIST} # There are no zservers + fi + + # set NEWZOPE to 1 if we are dealing with a "newer" zope version + zserv_is_2.7_or_newer ${ZERV_DIR} + + return ${RESULT} +} + +# Sets the variable: ZINST_DIR and returns 0 +# or returns a non-zero error code +zinst_dir_set() +{ + local RESULT= + + if [ ! -d ${ZI_DIR} ] ; then + mkdir -p ${ZI_DIR} + fi + + while : ; do + ZINST_DIR=$(dialog --stdout \ + --backtitle "Need a uniqe name for zinstance directory.(Also the name of the rcscript.)" \ + --inputbox "Enter a new zinstance name:" 0 0 ${DEFAULT_ZINSTANCENAME} ) + RESULT=$? + if [ ${RESULT} -ne 0 ] ; then + break + elif [ -z ${ZINST_DIR} ] ; then + dialog --msgbox "Error: need a name." 0 0 + continue + elif echo ${ZINST_DIR} |grep "/" ; then + dialog --msgbox "Error: ${ZINST_DIR} is a path, not a name." 0 0 + continue + elif [[ -d "${ZI_DIR}${ZINST_DIR}" && \ + -f "${INITD}/${ZINST_DIR}" ]] ; then + dialog --msgbox "Error: ${ZINST_DIR} zinstance already exists. Delete ${INITD}/${ZINST_DIR} to replace instance." 0 0 + continue + fi + ZINST_DIR=${ZI_DIR}${ZINST_DIR} + break + done + return ${RESULT} +} + +# sets the variable $ZINST_DIR and returns 0 +# or returns non-null error code +zinst_dir_get() +{ + local RESULT=1 + local LIST=$(ls ${ZI_DIR}) + local LIST_CNT=$(echo ${LIST} | wc -w) + local DLIST= + + # Assume that LIST_TMP contains valid zinstance dirs. + if [ ${LIST_CNT} -eq 1 ] ; then + ZINST_DIR=${LIST} + RESULT=${E_SUCCESS} + elif [ ${LIST_CNT} -ne 0 ] ; then + for N in ${LIST} ; do + DLIST="${DLIST} $N -" + done + ZINST_DIR=$(dialog --stdout \ + --title "Zope Instance List" \ + --menu "Select desired zinstance:" 0 0 ${LIST_CNT} ${DLIST}) + RESULT=$? + else + RESULT=${E_ZILIST} # There are no zinstances + fi + ZINST_DIR="${ZI_DIR}${ZINST_DIR}" + return ${RESULT} +} + +# makes ZSERV_DIR the default zope version. if ZSERV_DIR +zinst_default_set() +{ + local RESULT= + + if [ -z ${ZINST_DIR} ] ; then + zinst_dir_get || { echo 'Canceled: zinst_dir_get' ; exit 1 ; } + fi + RESULT=$? + if [ ${RESULT} -eq 0 ] ; then + echo $(basename ${ZINST_DIR}) >${ZI_DIR}/.default + chown zope ${ZI_DIR}/.default + fi + + return ${RESULT} +} + +# Echos the default directory that this instance was created in +zinst_default_get() +{ + local RESULT=${E_ZIDEFAULT} + + if [ -s ${ZI_DIR}/.default ] ; then + cat ${ZI_DIR}/.default + RESULT=$? # use to be 0 + fi + return ${RESULT} +} + +# Gets a name for the group that owns the new zinstance and also creates the +# group if nessicary +zinst_zgid_set() +{ + local RESULT= + while : ; do + ZGID_NAME=$(dialog --stdout \ + --backtitle "Need to create/assign a zinstance group name." \ + --inputbox "Enter a group name:" \ + 0 0 $(basename ${ZIRC_NAME})) + RESULT=$? + if [ ${RESULT} -ne 0 ] ; then + break + elif [ -z ${ZGID_NAME} ] ; then + dialog --msgbox "Error: empty string." 0 0 + continue + elif groupmod ${ZGID_NAME} >/dev/null 2>&1 ; then + dialog --yesno "${ZGID_NAME} already exists, use it?" 0 0 + RESULT=$? + [ ${RESULT} -ne 0 ] && continue + fi + break + done + return ${RESULT} +} + +# Sets the inituser password for a given zinstance +zinst_zpasswd_set() +{ + if [ -z ${ZSERV_DIR} ] ; then + zserv_dir_get || { exit $? ; } + fi + if [ -z ${ZINST_DIR} ] ; then + zinst_dir_get || exit $? + fi + + zserv_is_2.7_or_newer ${ZSERV_DIR} + if [ $NEWZOPE = 1 ] ; then + echo ">>> Create Zope inituser for \"$(basename ${ZINST_DIR})\"..." + /usr/bin/python ${BIN}/zpasswd.py ${ZINST_DIR}/inituser + # If zpasswd is aborted it creates a blank inituser + chown ${ZUID} ${ZINST_DIR}/inituser + else + echo ">>> Create Zope inituser for \"$(basename ${ZINST_DIR})\"..." + /usr/bin/python ${ZSERV_DIR}/zpasswd.py ${ZINST_DIR}/inituser + # If zpasswd is aborted it creates a blank inituser + chown ${ZUID} ${ZINST_DIR}/inituser + fi +} + +# help! + +usage() +{ + echo "$(basename $0) version ${VERSION}" + echo "A Gentoo Zope Instance configure tool." + echo + echo "Interactive usage:" + echo -e "\t$(basename $0)" + echo "Partial interactive usage:" + echo -e "\t$(basename $0) --[zserv=[dir] &| zinst=[dir] &| zgid=[name]]" + echo "Non-interactive usage:" + echo -e "\t$(basename $0) --[zidef-get | zidef-set | zpasswd | version | help]" + echo -e "\t$(basename $0) --[zserv=[dir] & zinst=[di] & zgid=[name]]" + exit ${E_SUCCESS} +} + +zserv_version_detect() +{ + if [ -d "${ZSERV_DIR}/bin" ] ; then + ZOPE27=1 + BIN=${ZSERV_DIR}/bin + else + ZOPE27=0 + BIN=${ZSERV_DIR} + fi +} + +##### Process the commandline + +while [ "$#" -gt 0 ] ; do + case "$1" in + -*=*) OPTARG=$(echo "$1" | sed 's/[-_a-zA-Z0-9:]*=//') ;; + *) OPTARG= ;; + esac + + case "$1" in + --zserv=*) ZSERV_DIR=${OPTARG} ; zserv_version_detect ;; + --zinst=*) ZINST_DIR=${OPTARG} ;; + --zgid=*) ZGID_NAME=${OPTARG} ;; + --zinituser) ZINIT_USER=inituser ;; + --zidef-set) zinst_default_set ; exit $? ;; + --zidef-get) zinst_default_get ; exit $? ;; + --zpasswd) zinst_zpasswd_set ; exit $? ;; + --version) echo ${VERSION} ; exit 0 ;; + -*) usage ; exit 0 ;; + *) usage ; exit 0 ;; + esac + shift +done + +# if ZSERV_DIR isn't set by command line, call zserv_dir_get to set it +if [ -z ${ZSERV_DIR} ] ; then + zserv_dir_get || { echo 'Canceled: zserv_dir_get' ; exit 1 ; } + zserv_version_detect +fi + +# if ZINST_DIR passed by command line, call zinst_dir_set to set it +if [ -z ${ZINST_DIR} ] ; then + zinst_dir_set || { echo 'Canceled: zinst_dir_set' ; exit 1 ; } +fi + +# if ZIRC_NAME isn't set then use the base of the ZINST_DIR for ZIRC_NAME +[ -z ${ZIRC_NAME} ] && ZIRC_NAME=$(basename ${ZINST_DIR}) + +if [ -z ${ZGID_NAME} ] ; then + zinst_zgid_set || { echo 'Canceled: zinst_zgid_set' ; exit 1 ; } +fi +zserv_is_2.7_or_newer ${ZSERV_DIR} + +zinst_fs_setup ${ZSERV_DIR} ${ZINST_DIR} ${ZINIT_USER} +zinst_rc_setup ${ZSERV_DIR} ${ZINST_DIR} ${ZIRC_NAME} + +! groupmod ${ZGID_NAME} >/dev/null 2>&1 && groupadd ${ZGID_NAME} +# add existing user zope to the new group +gpasswd -a zope ${ZGID_NAME} + +zinst_security_setup ${ZINST_DIR} ${ZGID_NAME} + +# TODO: see about adding interactive configuration of ZOPE_OPTS +if [ ${ZOPE27} ] ; then + echo "Note: Review settings in ${ZINST_DIR}/etc/zope.conf." + echo "Then you can start your new instance with:" + echo " /etc/init.d/${ZIRC_NAME} start" +else + echo "Note: Don\'t forget to edit ZOPE_OPTS in ${CONFD}${ZIRC_NAME}" + echo " (you might want to add -P 8{1,2,3,..}00 to set the zope ports offset)" +fi + diff --git a/app-admin/zope-config/files/0.4-r1/zope-config.conf b/app-admin/zope-config/files/0.4-r1/zope-config.conf new file mode 100644 index 000000000000..964d8f94fc0a --- /dev/null +++ b/app-admin/zope-config/files/0.4-r1/zope-config.conf @@ -0,0 +1,30 @@ +# vim: set noexpandtab ts=4 ft=sh: +# Gentoo Zope Instance configure tool config file. +# +# Originally written by Jason Shoemaker <kutsuya@gentoo.org> +# Portions by Jodok Batlogg <batlogg@gentoo.org> (Logging and some cleanups) +# Portions by Robin Johnson <robbat2@gentoo.org> (Documentation and further cleanup) +# +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/zope-config/files/0.4-r1/zope-config.conf,v 1.1 2004/07/24 20:52:20 batlogg Exp $ + +# default name for new instances +DEFAULT_ZINSTANCENAME="zope-" + +# Logging directory +EVENTLOGDIR="/var/log/zope/" + +# you probably shouldn't change anything below this +# ------------------------------------------------- +# Name of zope user on your system +ZUID=zope +# This is where the real zope lives +ZS_DIR="/usr/share/zope/" +ZS_DIR2="/usr/lib/zope-" +# This is where we will put our new instance of zope +ZI_DIR="/var/lib/zope/" +# place for init script +# and it's associated configuration file +INITD="/etc/init.d/" +CONFD="/etc/conf.d/" diff --git a/app-admin/zope-config/files/digest-zope-config-0.4-r1 b/app-admin/zope-config/files/digest-zope-config-0.4-r1 new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/app-admin/zope-config/files/digest-zope-config-0.4-r1 diff --git a/app-admin/zope-config/zope-config-0.4-r1.ebuild b/app-admin/zope-config/zope-config-0.4-r1.ebuild new file mode 100644 index 000000000000..7ae85ace206e --- /dev/null +++ b/app-admin/zope-config/zope-config-0.4-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/zope-config/zope-config-0.4-r1.ebuild,v 1.1 2004/07/24 20:52:20 batlogg Exp $ + +DESCRIPTION="A Gentoo Zope multi-Instance configure tool" +SRC_URI="" +HOMEPAGE="http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~sparc ~ppc ~alpha" +IUSE="" +DEPEND="" +RDEPEND=">=dev-util/dialog-0.7 + sys-apps/grep + sys-apps/sed + sys-apps/shadow + dev-lang/python + sys-apps/coreutils" + +PDEPEND=">=net-zope/zope-2.7.1" + +src_install() { + # the script + dosbin ${FILESDIR}/${PV}/zope-config + # config file + insinto /etc + doins ${FILESDIR}/${PV}/zope-config.conf + # ensure this directory exists + keepdir /var/log/zope +} + +pkg_postinst() { + source ${FILESDIR}/${PV}/zope-config.conf + einfo "Please note that new instances now log into ${EVENTLOGDIR}" + einfo "Please see the configuration file /etc/zope-config.conf" +} |