[zopeorg-checkins] CVS: NZO_SiteLayout - Makefile.ldap:1.1 Makefile.zinstance:1.1 buildinstance:1.1 ldap_recipes.mk:1.1 ldap_targets.mk:1.1 zinstance_recipes.mk:1.1 zinstance_targets.mk:1.1 zproduct_recipes.mk:1.1 zproduct_targets.mk:1.1 Makefile.nzo:1.2 Makefile.zope:1.3 Makefile.zss:1.3 README.txt:1.2 nzo_recipes.mk:1.2 nzo_targets.mk:1.2 python_recipes.mk:1.3 standard_targets.mk:1.2 zas_recipes.mk:1.4 zas_targets.mk:1.3
Chris McDonough
chrism at zope.com
Wed May 1 13:27:57 EDT 2002
Update of /cvs-zopeorg/NZO_SiteLayout
In directory cvs.zope.org:/tmp/cvs-serv31643
Modified Files:
Makefile.nzo Makefile.zope Makefile.zss README.txt
nzo_recipes.mk nzo_targets.mk python_recipes.mk
standard_targets.mk zas_recipes.mk zas_targets.mk
Added Files:
Makefile.ldap Makefile.zinstance buildinstance ldap_recipes.mk
ldap_targets.mk zinstance_recipes.mk zinstance_targets.mk
zproduct_recipes.mk zproduct_targets.mk
Log Message:
Checkpoint checkin.
=== Added File NZO_SiteLayout/Makefile.ldap ===
########################################################################
# LDAP Makefile
########################################################################
#-----------------------------------------------------------------------
# Tools
#-----------------------------------------------------------------------
include tools.mk
#-----------------------------------------------------------------------
# CVS dependencies
#-----------------------------------------------------------------------
include cvs.mk
#-----------------------------------------------------------------------
# Version selectors
#
# Override / add / remove these defines according to your needs (see
# cvs.mk for other known chcckouts).
#-----------------------------------------------------------------------
include ldap_targets.mk
#-----------------------------------------------------------------------
# Target selectors
#
# Add / remove here ass appropriate.
#-----------------------------------------------------------------------
OPT_TARGETS=\
${LDAP_OPT_TARGETS} \
SRC_TARGETS=\
${LDAP_SRC_TARGETS}
ROOT_TARGETS=\
${LDAP_ROOT_TARGETS}
USAGE_TARGETS=\
ldap_usage \
include standard_targets.mk
#=======================================================================
# Recipes
#=======================================================================
include ldap_recipes.mk
#-----------------------------------------------------------------------
# Generic rules
#-----------------------------------------------------------------------
${BASE_DIR}/src:
${MKDIR} ${BASE_DIR}/src
=== Added File NZO_SiteLayout/Makefile.zinstance ===
########################################################################
# Skeleton makefile for CVS-driven buildout
#
# Builds a "sandobox ZEO" instance (one which runs both the client
# and the server from the same host).
########################################################################
#-----------------------------------------------------------------------
# Tools
#-----------------------------------------------------------------------
include tools.mk
#-----------------------------------------------------------------------
# CVS dependencies
#-----------------------------------------------------------------------
include cvs.mk
#-----------------------------------------------------------------------
# Version selectors
#
# Override / add / remove these defines according to your needs (see
# cvs.mk for other known checkouts).
#-----------------------------------------------------------------------
PYTHON_CHECKOUT=src/Python-2.1.3
ZOPE_CHECKOUT=src/Zope-2.5-head
ZEO_CHECKOUT=src/ZEO-1.0-head
CMF_CHECKOUT=src/CMF-1.3-head
include python_targets.mk
include zope_targets.mk
include cmf_targets.mk
include zeo_targets.mk
include zinstance_targets.mk
include zproduct_targets.mk
#-----------------------------------------------------------------------
# Target selectors
#
# Add / remove here as appropriate.
#-----------------------------------------------------------------------
ROOT_TARGETS=\
${INSTANCE_ROOT_TARGETS} \
${PRODUCT_ROOT_TARGETS}
BIN_TARGETS=\
${INSTANCE_BIN_TARGETS} \
ETC_TARGETS=\
${INSTANCE_ETC_TARGETS} \
SRC_TARGETS=\
${PRODUCT_CHECKOUTS} \
OPT_TARGETS=\
${PRODUCT_OPT_TARGETS}
VAR_TARGETS=\
${INSTANCE_VAR_TARGETS} \
${PRODUCT_VAR_TARGETS} \
${CMF_INSTANCE_TARGETS} \
USAGE_TARGETS=\
zinstance_usage \
zproduct_usage \
include standard_targets.mk
#=======================================================================
# Recipes
#=======================================================================
include python_recipes.mk
include zeo_recipes.mk
include zope_recipes.mk
include cmf_recipes.mk
include zinstance_recipes.mk
include zproduct_recipes.mk
#-----------------------------------------------------------------------
# Generic rules
#-----------------------------------------------------------------------
${BASE_DIR}/src:
${MKDIR} ${BASE_DIR}/src
=== Added File NZO_SiteLayout/buildinstance ===
#! /bin/sh
#
# buildinstance [<INSTANCE_VAR=VALUE>]*
#
#
reldir=`dirname $0`
# fill in defaults
if test -z "$INSTANCE_PASSWD"; then
INSTANCE_PASSWD=123
fi
if test -z "$INSTANCE_NAME"; then
INSTANCE_NAME=Instance
fi
if test -z "$INSTANCE_HTTP_PORT"; then
INSTANCE_HTTP_PORT=8080
fi
if test -z "$INSTANCE_FTP_PORT"; then
INSTANCE_FTP_PORT=8021
fi
if test -z "$INSTANCE_DAV_PORT"; then
INSTANCE_DAV_PORT=9800
fi
if test -z "$INSTANCE_MONITOR_PORT"; then
INSTANCE_MONITOR_PORT=None
fi
if [ -f $reldir/Makefile.zinstance ]; then
/usr/bin/make -f $reldir/Makefile.zinstance \
-I $reldir MAKEFILEDIR=$reldir all \
INSTANCE_PASSWD=$INSTANCE_PASSWD \
INSTANCE_NAME=$INSTANCE_NAME \
INSTANCE_HTTP_PORT=$INSTANCE_HTTP_PORT \
INSTANCE_FTP_PORT=$INSTANCE_FTP_PORT \
INSTANCE_DAV_PORT=$INSTANCE_DAV_PORT \
INSTANCE_MONITOR_PORT=$INSTANCE_MONITOR_PORT \
else
echo "buildinstance [<INSTANCE_VAR=value>]*"
echo "acceptable instance variables are:"
echo " INSTANCE_PASSWD: admin/superuser password (default '123')"
echo " INSTANCE_NAME: 'var'-relative directory name (default 'Instance')"
echo " INSTANCE_HTTP_PORT: HTTP port (default '8080')"
echo " INSTANCE_FTP_PORT: FTP port (default '8021')"
echo " INSTANCE_DAV_PORT: DAV source port (default '9088')"
echo " INSTANCE_MONITOR_PORT: Zope monitor port (default 'None')"
fi
=== Added File NZO_SiteLayout/ldap_recipes.mk ===
${LDAP_SRC_TARGETS}: ${BASE_DIR}/src
${CD} $< && ${CVS} -d ${CVS_REPOSITORY} checkout ${CVS_TAG} -d ${@F} ${CVS_MODULE}
opt/openldap-2.0.23: src/openldap-2.0.23
${CD} $< && \
./configure\
--prefix=${BASE_DIR}/${@}\
--bindir=${BASE_DIR}/bin\
--sbindir=${BASE_DIR}/bin\
--sysconfdir=${BASE_DIR}/etc\
--localstatedir=${BASE_DIR}/var\
--disable-ipv6\
--without-cyrus-sasl\
--without-kerberos\
--with-threads\
--enable-rlookups\
--with-gnu-ld && \
${MAKE} && \
${MAKE} install
opt/openldap: opt/openldap-2.0.23
${LNSF} ${BASE_DIR}/$< ${BASE_DIR}/$@
opt/python-ldap: src/python-ldap-2.0.0pre04
${CD} ${BASE_DIR} && ${CPR} $< ${<:src/%=opt/%} && \
${LNSF} ${BASE_DIR}/${<:src/%=opt/%} ${BASE_DIR}/$@
opt/Python2/lib/python2.1/site-packages/ldap: opt/python-ldap
${CD} $< && ${BASE_DIR}/bin/python setup.py install
ldap_usage:
@${ECHO} " libraries -- Build & install ldap package libraries."
@${ECHO}
.PHONY: ldap ldap_usage
=== Added File NZO_SiteLayout/ldap_targets.mk ===
#=======================================================================
# Python library targets
#=======================================================================
src/python-ldap-2.0.0pre04: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/python-ldap-2.0.0pre04: CVS_MODULE=python-ldap-2.0.0pre04
src/python-ldap-2.0.0pre04: CVS_TAG=
src/openldap-2.0.23: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/openldap-2.0.23: CVS_MODULE=openldap-2.0.23
src/openldap-2.0.23: CVS_TAG=
LDAP_SRC_TARGETS=\
src/openldap-2.0.23 \
src/python-ldap-2.0.0pre04 \
LDAP_OPT_TARGETS=\
opt/openldap \
opt/python-ldap \
LDAP_ROOT_TARGETS=\
opt/Python2/lib/python2.1/site-packages/ldap \
=== Added File NZO_SiteLayout/zinstance_recipes.mk ===
#=======================================================================
# Zope instance targets
#=======================================================================
SEDSCRIPT=\
-e "\
s@<<BASE_DIR>>@${BASE_DIR}@g;\
s@<<ZOPE_CONFIGFILE>>@${BASE_DIR}/etc/${INSTANCE_NAME}.conf at g;\
s@<<INSTANCE_NAME>>@${INSTANCE_NAME}@g;\
s@<<INSTANCE_LOGDIR>>@${BASE_DIR}/log/${INSTANCE_NAME}@g;\
s@<<INSTANCE_HTTP_PORT>>@${INSTANCE_HTTP_PORT}@g;\
s@<<INSTANCE_FTP_PORT>>@${INSTANCE_FTP_PORT}@g;\
s@<<INSTANCE_DAV_PORT>>@${INSTANCE_DAV_PORT}@g;\
s@<<INSTANCE_MONITOR_PORT>>@${INSTANCE_MONITOR_PORT}@g\
"
AFTERCREATE=${TRUE}
bin/zopectl: ${MAKEFILEDIR}/bin/zopectl.in opt/Python2/lib/python2.1/site-packages/ZopeCtl.py
bin/zopectl: AFTERCREATE=${CHMOD} u+x $@
bin/zctl-${INSTANCE_NAME}: ${MAKEFILEDIR}/bin/zctlinstance.in bin/zopectl
bin/zctl-${INSTANCE_NAME}: AFTERCREATE=${CHMOD} u+x $@
var/${INSTANCE_NAME}/custom_zodb.py: ${MAKEFILEDIR}/var/zope/custom_zodb.py.in
etc/${INSTANCE_NAME}.conf: ${MAKEFILEDIR}/etc/zope.conf.in
SED_NEEDING=\
bin/zopectl \
var/${INSTANCE_NAME}/custom_zodb.py \
etc/${INSTANCE_NAME}.conf \
bin/zctl-${INSTANCE_NAME} \
${SED_NEEDING}:
${MKDIR} ${@D}
${SED} ${SEDSCRIPT} < $< > $@
${AFTERCREATE}
opt/Python2/lib/python2.1/site-packages/ZopeCtl.py: ${MAKEFILEDIR}/ZopeCtl.py
${MKDIR} ${BASE_DIR}/${@D}
${CP} $< $@
opt/Zope/zpasswd.py: opt/Zope
MKDIR_NEEDING=\
tmp \
log/${INSTANCE_NAME} \
var/${INSTANCE_NAME}/var \
var/${INSTANCE_NAME}/import \
var/${INSTANCE_NAME}/Extensions \
var/${INSTANCE_NAME}/Products \
${MKDIR_NEEDING}:
${MKDIR} $@
var/${INSTANCE_NAME}/inituser: ZPASSWD_USERNAME=admin
var/${INSTANCE_NAME}/inituser: ZPASSWD_PASSWD=${INSTANCE_PASSWD}
var/${INSTANCE_NAME}/access: ZPASSWD_USERNAME=superuser
var/${INSTANCE_NAME}/access: ZPASSWD_PASSWD=${INSTANCE_PASSWD}
var/${INSTANCE_NAME}/inituser var/${INSTANCE_NAME}/access: bin/python opt/Zope/zpasswd.py
${MKDIR} ${@D}
${BASE_DIR}/bin/python ${BASE_DIR}/opt/Zope/zpasswd.py -u \
${ZPASSWD_USERNAME} -p ${ZPASSWD_PASSWD} $@
=== Added File NZO_SiteLayout/zinstance_targets.mk ===
#=======================================================================
# Standard Zope instance home targets
#
# DEPENDENCIES on environment variables:
# INSTANCE_NAME={var directory name}
# INSTANCE_HTTP_PORT={HTTP TCP port}
# INSTANCE_FTP_PORT={FTP TCP port}
# INSTANCE_DAV_PORT={DAV TCP port}
# INSTANCE_MONITOR_PORT={monitor TCP port}
# INSTANCE_PASSWD={password for access and inituser files}
#=======================================================================
INSTANCE_ROOT_TARGETS=\
tmp \
log/${INSTANCE_NAME} \
INSTANCE_BIN_TARGETS=\
bin/zctl-${INSTANCE_NAME} \
INSTANCE_ETC_TARGETS=\
etc/${INSTANCE_NAME}.conf \
INSTANCE_VAR_TARGETS=\
var/${INSTANCE_NAME}/custom_zodb.py \
var/${INSTANCE_NAME}/var \
var/${INSTANCE_NAME}/import \
var/${INSTANCE_NAME}/inituser \
var/${INSTANCE_NAME}/access \
var/${INSTANCE_NAME}/Extensions \
var/${INSTANCE_NAME}/Products \
=== Added File NZO_SiteLayout/zproduct_recipes.mk ===
#=======================================================================
# Instance product recipes
#=======================================================================
${PRODUCT_CHECKOUTS}:
${CD} ${BASE_DIR}/src \
&& ${CVS} -d ${CVS_REPOSITORY} checkout -d ${@F} ${CVS_MODULE}
${PRODUCT_OPT_TARGETS}:
${CD} ${BASE_DIR} && ${CPR} $< ${<:src/%=opt/%} && \
${LNSF} ${BASE_DIR}/${<:src/%=opt/%} ${BASE_DIR}/$@
${PRODUCT_VAR_TARGETS}:
${MKDIR} ${@D} && ${CD} ${@D} && ${LNSF} ${BASE_DIR}/opt/${@F}
${CMF_INSTANCE_TARGETS}:
${CD} ${@D} && ${LNSF} ${BASE_DIR}/opt/CMF/${@F}
opt/BTreeFolder-0.3/cBTreeFolderMixin.so: opt/BTreeFolder
${CD} ${@D} && ${MAKE}
zproduct_usage:
@${ECHO} " zproduct -- install instance products."
@${ECHO}
.PHONY: zproduct_usage
=== Added File NZO_SiteLayout/zproduct_targets.mk ===
#=======================================================================
# product targets
#=======================================================================
PRODUCTS_DIRECTORY=var/${INSTANCE_NAME}/Products
src/ZopeOrg-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/ZopeOrg-NV: CVS_MODULE=Products/ZopeOrg-NV
src/ZopeOrg-NV: CVS_TAG=
src/CMFLDAP-1.2: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/CMFLDAP-1.2: CVS_MODULE=Products/CMFLDAP-1.2
src/CMFLDAP-1.2: CVS_TAG=
src/BTreeFolder-0.3: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/BTreeFolder-0.3: CVS_MODULE=Products/BTreeFolder-0.3
src/BTreeFolder-0.3: CVS_TAG=
src/Rewriter-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/Rewriter-NV: CVS_MODULE=Products/Rewriter-NV
src/Rewriter-NV: CVS_TAG=
src/PythonJobs-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/PythonJobs-NV: CVS_MODULE=Products/PythonJobs-NV
src/PythonJobs-NV: CVS_TAG=
src/DateIndexes-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/DateIndexes-NV: CVS_MODULE=Products/DateIndexes-NV
src/DateIndexes-NV: CVS_TAG=
src/CMFDateIndexes-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/CMFDateIndexes-NV: CVS_MODULE=Products/CMFDateIndexes-NV
src/CMFDateIndexes-NV: CVS_TAG=
src/LDAPUserFolder-1.3b1: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
src/LDAPUserFolder-1.3b1: CVS_MODULE=Products/LDAPUserFolder-1.3b1
src/LDAPUserFolder-1.3b1: CVS_TAG=
src/CMFWiki-head: CVS_REPOSITORY=:pserver:anonymous at cvs.zope.org:/cvs-repository
src/CMFWiki-head: CVS_MODULE=CMF/CMFWiki
src/CMFWiki-head: CVS_TAG=
PRODUCT_CHECKOUTS=\
src/CMFLDAP-1.2 \
src/ZopeOrg-NV \
src/BTreeFolder-0.3 \
src/Rewriter-NV \
src/PythonJobs-NV \
src/DateIndexes-NV \
src/CMFDateIndexes-NV \
src/LDAPUserFolder-1.3b1 \
src/CMFWiki-head \
opt/CMFLDAP: src/CMFLDAP-1.2
opt/ZopeOrg: src/ZopeOrg-NV
opt/BTreeFolder: src/BTreeFolder-0.3
opt/Rewriter: src/Rewriter-NV
opt/PythonJobs: src/PythonJobs-NV
opt/DateIndexes: src/DateIndexes-NV
opt/CMFDateIndexes: src/CMFDateIndexes-NV
opt/LDAPUserFolder: src/LDAPUserFolder-1.3b1
opt/CMFWiki: src/CMFWiki-head
PRODUCT_OPT_TARGETS=\
opt/CMFLDAP \
opt/ZopeOrg \
opt/BTreeFolder \
opt/Rewriter \
opt/PythonJobs \
opt/DateIndexes \
opt/CMFDateIndexes \
opt/LDAPUserFolder \
opt/CMFWiki \
${PRODUCTS_DIRECTORY}/CMFLDAP: opt/CMFLDAP
${PRODUCTS_DIRECTORY}/ZopeOrg: opt/ZopeOrg
${PRODUCTS_DIRECTORY}/BTreeFolder: opt/BTreeFolder
${PRODUCTS_DIRECTORY}/Rewriter: opt/Rewriter
${PRODUCTS_DIRECTORY}/PythonJobs: opt/PythonJobs
${PRODUCTS_DIRECTORY}/DateIndexes: opt/DateIndexes
${PRODUCTS_DIRECTORY}/CMFDateIndexes: opt/CMFDateIndexes
${PRODUCTS_DIRECTORY}/LDAPUserFolder: opt/LDAPUserFolder
${PRODUCTS_DIRECTORY}/CMFWiki: opt/CMFWiki
PRODUCT_VAR_TARGETS=\
${PRODUCTS_DIRECTORY}/CMFLDAP \
${PRODUCTS_DIRECTORY}/ZopeOrg \
${PRODUCTS_DIRECTORY}/BTreeFolder \
${PRODUCTS_DIRECTORY}/Rewriter \
${PRODUCTS_DIRECTORY}/PythonJobs \
${PRODUCTS_DIRECTORY}/DateIndexes \
${PRODUCTS_DIRECTORY}/CMFDateIndexes \
${PRODUCTS_DIRECTORY}/LDAPUserFolder \
${PRODUCTS_DIRECTORY}/CMFWiki \
CMF_INSTANCE_TARGETS=\
${PRODUCTS_DIRECTORY}/CMFCore \
${PRODUCTS_DIRECTORY}/CMFDefault \
${PRODUCTS_DIRECTORY}/CMFTopic \
PRODUCT_ROOT_TARGETS=\
opt/BTreeFolder-0.3/cBTreeFolderMixin.so \
opt/CMF \
=== NZO_SiteLayout/Makefile.nzo 1.1 => 1.2 ===
# cvs.mk for other known chcckouts).
#-----------------------------------------------------------------------
-NZO_CHECKOUT=src/CMFLDAP src/ZopeOrg
include nzo_targets.mk
@@ -29,9 +28,6 @@
#-----------------------------------------------------------------------
OPT_TARGETS=\
${NZO_OPT_TARGETS} \
-
-VAR_TARGETS=\
-${NZO_VAR_TARGETS} \
USAGE_TARGETS=\
nzo_usage \
=== NZO_SiteLayout/Makefile.zope 1.2 => 1.3 ===
include zeo_targets.mk
include cmf_targets.mk
-include zas_targets.mk
#-----------------------------------------------------------------------
# Target selectors
@@ -51,13 +50,6 @@
BIN_TARGETS=\
${PYTHON_BIN_TARGETS} \
-${ZAS_BIN_TARGETS} \
-
-ETC_TARGETS=\
-${ZAS_ETC_TARGETS} \
-
-VAR_TARGETS=\
-${ZAS_VAR_TARGETS}\
USAGE_TARGETS=\
python_usage \
@@ -70,7 +62,6 @@
${ZOPE_DOC_TARGETS} \
${ZEO_DOC_TARGETS} \
${CMF_DOC_TARGETS} \
-${ZAS_DOC_TARGETS}\
include standard_targets.mk
=== NZO_SiteLayout/Makefile.zss 1.2 => 1.3 ===
#-----------------------------------------------------------------------
PYTHON_CHECKOUT=src/Python-2.1.3
-ZEO_CHECKOUT= src/StandaloneZODB-1.0-final
+ZEO_CHECKOUT=src/StandaloneZODB-1.0-final
#-----------------------------------------------------------------------
# Package-specific targets
=== NZO_SiteLayout/README.txt 1.1 => 1.2 ===
+Instructions for Installing a appserver from scratch:
- - Set up a RedHat Linux machine (latest release). The software
- buildout for NZO has no dependency on the system Python (or
- Apache, or Zope), so it doesn't matter too much which packages are
- installed as long as bash, cvs, gcc and C development tools exist.
+ - Set up a machine with the latest RedHat Linux release. Ensure that the
+ at least the following subsystems are installed::
+
+ gcc
+ emacs
+ vim
+ X11
+
+ NOTE: The software buildout has no dependency on the system Python
+ or Apache, or Zope, so it doesn't matter too much which packages
+ are installed as long as bash, cvs, gcc and C development tools
+ exist.
- As the root user, create a "zope" user on the newly set up system::
@@ -14,13 +22,16 @@
$ su - zope; cd ~
- Set the CVS checkout mechanism to SSH by adding this line to
- the Zope user's .bash_profile and relogin::
+ the Zope user's .bash_profile::
export CVS_RSH=ssh
- - Perform an anonymous checkout of the "site layout" facility. This
- facility will be used to install recent versions of Zope, Python,
- and the CMF::
+ - Log out as the Zope user and log back in (for the CVS_RSH envvar to
+ take effect).
+
+ - Ensure that the machine has Internet access.
+
+ - Perform an anonymous checkout of the "site layout" facility.
$ cvs -d :pserver:anonymous at cvs.zope.org:/cvs-zopeorg login
Logging in to...
@@ -28,15 +39,46 @@
$ cvs -z7 -d :pserver:anonymous at cvs.zope.org:/cvs-zopeorg co -d \
site-layout NZO_SiteLayout
- - Use the site-layout facility to install Zope/ZEO, Python, and CMF::
+ - Use the site-layout facility to create a base install of Python,
+ Zope, ZEO, CMF software:: software::
$ site-layout/buildout zope
{churn, churn, churn}
- - Use the site-layout facility to install the products required for the
- new.zope.org instance::
+ When the process is finished, you will have the following
+ directories in the "zope" user's home directory::
+
+ src -- "pristine" sources for Python, Zope, ZEO, and CMF
+ opt -- binary (or psudobinary) builds for Python, Zope, ZEO, and CMF
+ doc -- various documentation texts
+ bin -- directory containing symlinks to Python binaries
+
+ - Use the site-layout facility to install the python-ldap Python module::
+
+ $ site-layout/buildout ldap
+ {churn, churn, churn}
+
+ - Use the site-layout facility to install an INSTANCE_HOME directory and
+ requisite Zope products::
- $ site-layout/buildout nzo
+ $ site-layout/buildinstance
{churn, churn, churn}
+ To install an additional INSTANCE_HOME with a different name and
+ different port/password settings or to change the default instance
+ settings, use a special set of environment variables *before* the
+ "site-layout/buildinstance" command. For instance::
+
+ $ INSTANCE_NAME=Instance2 INSTANCE_PASSWD=456 site-layout/buildinstance
+
+ The following environment variables are supported::
+
+ INSTANCE_NAME={var directory name, default "Instance"}
+ INSTANCE_HTTP_PORT={HTTP TCP port, default "8080"}
+ INSTANCE_FTP_PORT={FTP TCP port, default "8021"}
+ INSTANCE_DAV_PORT={DAV TCP port, default "9800"}
+ INSTANCE_MONITOR_PORT={monitor TCP port, default "None"}
+ INSTANCE_PASSWD={password for access and inituser files, default "123"}
+
(needs to be finished)
+
=== NZO_SiteLayout/nzo_recipes.mk 1.1 => 1.2 ===
#=======================================================================
-src/ZopeOrg: CVS_REPOSITORY=${CUSTOM_CVS_REPOSITORY}
-src/ZopeOrg: CVS_MODULE=Products/ZopeOrg
-src/ZopeOrg: CVS_TAG=
-
-src/CMFLDAP: CVS_REPOSITORY=${CUSTOM_CVS_REPOSITORY}
-src/CMFLDAP: CVS_MODULE=CMFLDAP
-src/CMFLDAP: CVS_TAG=
+src/ZopeOrg-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/ZopeOrg-NV: CVS_MODULE=Products/ZopeOrg-NV
+src/ZopeOrg-NV: CVS_TAG=
-NZO_CHECKOUT=src/CMFLDAP src/ZopeOrg
+src/CMFLDAP-1.2: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/CMFLDAP-1.2: CVS_MODULE=Products/CMFLDAP-1.2
+src/CMFLDAP-1.2: CVS_TAG=
+
+src/BTreeFolder-0.3: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/BTreeFolder-0.3: CVS_MODULE=Products/BTreeFolder-0.3
+src/BTreeFolder-0.3: CVS_TAG=
+
+src/Rewriter-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/Rewriter-NV: CVS_MODULE=Products/Rewriter-NV
+src/Rewriter-NV: CVS_TAG=
+
+src/PythonJobs-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/PythonJobs-NV: CVS_MODULE=Products/PythonJobs-NV
+src/PythonJobs-NV: CVS_TAG=
+
+src/DateIndexes-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/DateIndexes-NV: CVS_MODULE=Products/DateIndexes-NV
+src/DateIndexes-NV: CVS_TAG=
+
+src/CMFDateIndexes-NV: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/CMFDateIndexes-NV: CVS_MODULE=Products/CMFDateIndexes-NV
+src/CMFDateIndexes-NV: CVS_TAG=
+
+src/LDAPUserFolder-1.3b1: CVS_REPOSITORY=${ZOPEORG_CVS_REPOSITORY}
+src/LDAPUserFolder-1.3b1: CVS_MODULE=Products/LDAPUserFolder-1.3b1
+src/LDAPUserFolder-1.3b1: CVS_TAG=
+
+src/CMFWiki-head: CVS_REPOSITORY=:pserver:anonymous at cvs.zope.org:/cvs-repository
+src/CMFWiki-head: CVS_MODULE=CMF/CMFWiki
+src/CMFWiki-head: CVS_TAG=
+
+# copy and link
+
+CMFCORE=var/${INSTANCE_NAME}/Products/CMFCore
+
+opt/CMFLDAP: src/CMFLDAP-1.2 ${CMFCORE}
+opt/ZopeOrg: src/ZopeOrg-NV ${CMFCORE}
+opt/BTreeFolder: src/BTreeFolder-0.3 ${CMFCORE}
+opt/Rewriter: src/Rewriter-NV ${CMFCORE}
+opt/PythonJobs: src/PythonJobs-NV ${CMFCORE}
+opt/DateIndexes: src/DateIndexes-NV ${CMFCORE}
+opt/CMFDateIndexes: src/CMFDateIndexes-NV ${CMFCORE}
+opt/LDAPUserFolder: src/LDAPUserFolder-1.3b1 ${CMFCORE}
+opt/CMFWiki: src/CMFWiki-head ${CMFCORE}
+
+var/${INSTANCE_NAME}/Products/CMFCore: var/${INSTANCE_NAME}/Products
+ ${CD} ${BASE_DIR}/$< && ${LNSF} ${BASE_DIR}/opt/CMF/* .
+
+var/${INSTANCE_NAME}/Products:
+ ${CD} ${BASE_DIR}/var/${INSTANCE_NAME} && ${MKDIR} Products
+
+opt/BTreeFolder-0.3/cBTreeFolderMixin.so:
+ ${CD} ${@D} && ${MAKE}
+
+NZO_CHECKOUT=src/CMFLDAP-1.2 src/ZopeOrg-NV src/BTreeFolder-0.3 src/Rewriter-NV src/PythonJobs-NV src/DateIndexes-NV src/CMFDateIndexes-NV src/LDAPUserFolder-1.3b1 src/CMFWiki-NV
+
+CP_AND_LINK=opt/CMFLDAP opt/ZopeOrg opt/BTreeFolder opt/Rewriter opt/PythonJobs opt/DateIndexes opt/CMFDateIndexes opt/LDAPUserFolder opt/CMFWiki
${NZO_CHECKOUT}: ${BASE_DIR}/src
${CD} ${BASE_DIR}/src \
- && ${CVS} -d ${ZOPEORG_CVS_REPOSITORY} checkout -d ${@F} ${CVS_MODULE}
+ && ${CVS} -d ${CVS_REPOSITORY} checkout -d ${@F} ${CVS_MODULE}
+
+${CP_AND_LINK}:
+ ${CD} ${BASE_DIR} && ${CPR} $< ${<:src/%=opt/%} && \
+ ${LNSF} ${BASE_DIR}/${<:src/%=opt/%} ${BASE_DIR}/$@ && \
+ ${CD} ${BASE_DIR}/var/${INSTANCE_NAME}/Products && \
+ ${LNSF} ${BASE_DIR}/$@
nzo_usage:
@${ECHO} " nzo -- install New.Zope.Org products."
@${ECHO}
-opt/CMFLDAP: src/CMFLDAP
- ${CD} ${BASE_DIR}/opt && ${CPR} ${BASE_DIR}/src/CMFLDAP .
-
-opt/ZopeOrg: src/ZopeOrg
- ${CD} ${BASE_DIR}/opt && ${CPR} ${BASE_DIR}/src/ZopeOrg .
-
-var/zope/Products/ZopeOrg: var/zope/Products/CMFCore
- ${CD} ${BASE_DIR}/var/zope/Products &&\
- ${LNSF} ${BASE_DIR}/opt/ZopeOrg
-
-var/zope/Products/CMFLDAP: var/zope/Products/CMFCore
- ${CD} ${BASE_DIR}/var/zope/Products &&\
- ${LNSF} ${BASE_DIR}/opt/CMFLDAP
-
-var/zope/Products/CMFCore: var/zope/Products
- ${CD} ${BASE_DIR}/var/zope/Products && ${LNSF} ${BASE_DIR}/opt/CMF/* .
-var/zope/Products:
- ${CD} ${BASE_DIR}/var/zope && ${MKDIR} Products
+.PHONY: nzo_usage
-.PHONY: nzo_usage var/zope/Products/ZopeOrg var/zope/Products/CMFLDAP
=== NZO_SiteLayout/nzo_targets.mk 1.1 => 1.2 ===
#=======================================================================
+INSTANCE_NAME=Instance
+
NZO_OPT_TARGETS=\
opt/ZopeOrg \
opt/CMFLDAP \
+opt/BTreeFolder \
+opt/Rewriter \
+opt/PythonJobs \
+opt/DateIndexes \
+opt/CMFDateIndexes \
+opt/LDAPUserFolder \
+opt/CMFWiki \
+opt/BTreeFolder-0.3/cBTreeFolderMixin.so \
-NZO_VAR_TARGETS=\
-var/zope/Products/ZopeOrg \
-var/zope/Products/CMFLDAP \
=== NZO_SiteLayout/python_recipes.mk 1.2 => 1.3 ===
${MKDIR} bin
${LNSF} ${BASE_DIR}/$< ${BASE_DIR}/$@
+ ${LNSF} ${BASE_DIR}/$< ${BASE_DIR}/$@2.1
bin/pydoc: opt/Python2/bin/pydoc
${MKDIR} bin
=== NZO_SiteLayout/standard_targets.mk 1.1.1.1 => 1.2 ===
install: compile ${BIN_TARGETS}
-instance: install ${ETC_TARGETS} ${VAR_TARGETS}
+instance: install ${ROOT_TARGETS} ${ETC_TARGETS} ${VAR_TARGETS}
clean:
${RM} ${OPT_TARGETS}
@@ -21,6 +21,7 @@
.PHONY:\
all \
fetch \
+root \
compile \
install \
instance \
=== NZO_SiteLayout/zas_recipes.mk 1.3 => 1.4 ===
#=======================================================================
-SEDSCRIPT= -e "s@<<BASE_DIR>>@${BASE_DIR}@g"
+SEDSCRIPT=\
+-e "\
+s@<<BASE_DIR>>@${BASE_DIR}@g;\
+s@<<INSTANCE_NAME>>@${INSTANCE_NAME}@g;\
+s@<<ZOPE_CONFIGFILE>>@${BASE_DIR}/etc/${INSTANCE_NAME}.conf at g;\
+s@<<LOGFILE_DIR>>@${LOGFILE_DIR}@g\
+"
AFTERCREATE=${TRUE}
-bin/zopectl: ${MAKEFILEDIR}/bin/zopectl.in
+bin/zopectl: ${MAKEFILEDIR}/bin/zopectl.in opt/Python2/lib/python2.1/site-packages/ZopeCtl.py
bin/zopectl: AFTERCREATE=${CHMOD} u+x $@
+bin/zctl_${INSTANCE_NAME}: ${MAKEFILEDIR}/bin/zctlinstance.in bin/zopectl
+bin/zctl_${INSTANCE_NAME}: AFTERCREATE=${CHMOD} u+x $@
+var/${INSTANCE_NAME}/custom_zodb.py: ${MAKEFILEDIR}/var/zope/custom_zodb.py.in
+etc/${INSTANCE_NAME}.conf: ${MAKEFILEDIR}/etc/zope.conf.in
-bin/zopectl: opt/Python2/lib/python2.1/site-packages/ZopeCtl.py
-
-opt/Python2/lib/python2.1/site-packages/ZopeCtl.py: ${MAKEFILEDIR}/ZopeCtl.py
- ${MKDIR} ${BASE_DIR}/${@D}
- ${CP} $< $@
-
-etc/zope.conf: etc/%.conf : ${MAKEFILEDIR}/etc/%.conf.in
-
-var/zope/custom_zodb.py: ${MAKEFILEDIR}/var/zope/custom_zodb.py.in
-
+SED_NEEDING=\
bin/zopectl \
-etc/zope.conf \
-var/zope/custom_zodb.py:
+var/${INSTANCE_NAME}/custom_zodb.py \
+etc/${INSTANCE_NAME}.conf \
+bin/zctl_${INSTANCE_NAME} \
+
+${SED_NEEDING}:
${MKDIR} ${@D}
${SED} ${SEDSCRIPT} < $< > $@
${AFTERCREATE}
+opt/Python2/lib/python2.1/site-packages/ZopeCtl.py: ${MAKEFILEDIR}/ZopeCtl.py
+ ${MKDIR} ${BASE_DIR}/${@D}
+ ${CP} $< $@
+
${ZAS_VAR_PRODUCTS}: ${CMF_BUILD}
- ${MKDIR} ${BASE_DIR}/var/zope/Products
- ${CD} ${BASE_DIR}/var/zope/Products \
+ ${MKDIR} ${BASE_DIR}/var/${INSTANCE_NAME}/Products
+ ${CD} ${BASE_DIR}/var/${INSTANCE_NAME}/Products \
&& ${LNSF} ${BASE_DIR}/${CMF_BUILD}/CMFCore .
- ${CD} ${BASE_DIR}/var/zope/Products \
+ ${CD} ${BASE_DIR}/var/${INSTANCE_NAME}/Products \
&& ${LNSF} ${BASE_DIR}/${CMF_BUILD}/CMFDefault .
- ${CD} ${BASE_DIR}/var/zope/Products \
+ ${CD} ${BASE_DIR}/var/${INSTANCE_NAME}/Products \
&& ${LNSF} ${BASE_DIR}/${CMF_BUILD}/CMFTopic .
opt/Zope/zpasswd.py: opt/Zope
-var/zope/var:
+MKDIR_NEEDING=\
+tmp \
+log \
+var/${INSTANCE_NAME}/var \
+var/${INSTANCE_NAME}/import \
+
+${MKDIR_NEEDING}:
${MKDIR} $@
-var/zope/inituser var/zope/access: bin/python opt/Zope/zpasswd.py
+var/${INSTANCE_NAME}/inituser: ZPASSWD_USERNAME=admin
+var/${INSTANCE_NAME}/inituser: ZPASSWD_PASSWD=${ZPASSWD_PASSWD}
+var/${INSTANCE_NAME}/access: ZPASSWD_USERNAME=superuser
+var/${INSTANCE_NAME}/access: ZPASSWD_PASSWD=${ZPASSWD_PASSWD}
+
+var/${INSTANCE_NAME}/inituser var/${INSTANCE_NAME}/access: bin/python opt/Zope/zpasswd.py
${MKDIR} ${@D}
- ${BASE_DIR}/bin/python ${BASE_DIR}/opt/Zope/zpasswd.py $@
+ ${BASE_DIR}/bin/python ${BASE_DIR}/opt/Zope/zpasswd.py -u \
+ ${ZPASSWD_USERNAME} -p ${ZPASSWD_PASSWD} $@
+
=== NZO_SiteLayout/zas_targets.mk 1.2 => 1.3 ===
#=======================================================================
+INSTANCE_NAME=Instance
+LOGFILE_DIR=${BASE_DIR}/log # logfile directory for config file
+ZPASSWD_PASSWD=123 # change this to change access and inituser passwords
+
+ZAS_ROOT_TARGETS=\
+tmp \
+log \
+
ZAS_BIN_TARGETS=\
-bin/zopectl \
+bin/zctl_${INSTANCE_NAME} \
ZAS_ETC_TARGETS=\
-etc/zope.conf \
+etc/${INSTANCE_NAME}.conf \
ZAS_VAR_TARGETS=\
-var/zope/custom_zodb.py \
-var/zope/var \
+var/${INSTANCE_NAME}/custom_zodb.py \
+var/${INSTANCE_NAME}/var \
+var/${INSTANCE_NAME}/import \
+var/${INSTANCE_NAME}/inituser \
+var/${INSTANCE_NAME}/access \
ZAS_VAR_PRODUCTS=\
-var/zope/Products/CMFCore/__init__.py \
-var/zope/Products/CMFDefault/__init__.py \
-var/zope/Products/CMFTopic/__init__.py \
+var/${INSTANCE_NAME}/Products/CMFCore/__init__.py \
+var/${INSTANCE_NAME}/Products/CMFDefault/__init__.py \
+var/${INSTANCE_NAME}/Products/CMFTopic/__init__.py \
More information about the zopeorg-checkins
mailing list