[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