summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJodok Batlogg <batlogg@gentoo.org>2004-07-24 20:52:20 +0000
committerJodok Batlogg <batlogg@gentoo.org>2004-07-24 20:52:20 +0000
commita3882d5c9b1c821fb2bfd052364b8d9ad1ce3d9f (patch)
treef0dfc342bbeb504f8a3fe347d11fb819456e366e /app-admin
parentoops. fix keywords (diff)
downloadhistorical-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/ChangeLog8
-rw-r--r--app-admin/zope-config/Manifest12
-rw-r--r--app-admin/zope-config/files/0.4-r1/zope-config456
-rw-r--r--app-admin/zope-config/files/0.4-r1/zope-config.conf30
-rw-r--r--app-admin/zope-config/files/digest-zope-config-0.4-r10
-rw-r--r--app-admin/zope-config/zope-config-0.4-r1.ebuild36
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"
+}