[Zope-Checkins] CVS: Zope/inst/WinBuilders - MANIFEST.txt:1.1.2.1 Makefile.python:1.1.2.1 Makefile.spread:1.1.2.1 Makefile.spreadwrapper:1.1.2.1 Makefile.zeo:1.1.2.1 Makefile.zope:1.1.2.1 README.txt:1.1.2.1 buildout:1.1.2.1

Christian Theune ct at gocept.com
Mon May 9 04:07:42 EDT 2005


Update of /cvs-repository/Zope/inst/WinBuilders
In directory cvs.zope.org:/tmp/cvs-serv24822/WinBuilders

Added Files:
      Tag: Zope-2_7-branch
	MANIFEST.txt Makefile.python Makefile.spread 
	Makefile.spreadwrapper Makefile.zeo Makefile.zope README.txt 
	buildout 
Log Message:
 - Added WinBuilders in 2.7 flavour


=== Added File Zope/inst/WinBuilders/MANIFEST.txt ===
Manifest and description of included files

|-- Makefile.python: the Makefile used to create a Python binary from source
|-- Makefile.zeo: the Makefile used to create a ZEO installer package
|-- Makefile.zope: the Makefile used to create a Zope installer package
|-- README.txt
|-- bin
|   |-- compilezpy.py: compiles a tree of Python scripts into .pyc bytecode
|   |-- decompilezpy.py: deletes a tree full of .pyc bytecode files
|   |-- escape.sh: utility script that converts backslashes between unix & win
|   |-- fixreg.py: utility to manage Zope Corporation Win registry entries
|   |-- makezope.bat: utility script to build Zope, getting around NMAKE "bug"
|   `-- runzeo.bat: script which starts a ZEO instance
|-- buildout: the main script used to build Zope and/or ZEO installers
|-- doc
|   `-- ZC_PY_DIST_README.txt: readme for the Zope Corp. Python distro
|-- etc
|   |-- README.html: custom template used for Zope Quick Start page.
|   |-- sitecustomize.py: adds Zope dirs to sys.path automagically in distro
|   |-- zeo.iss.in: the Innosetup file to create a ZEO installer
|   |-- zlogo_left.bmp: used by Innosetup
|   |-- zlogo_top.bmp: used by Innosetup
|   `-- zope.iss.in: the Innosetup file to create a Zope installer
|-- mk
|   |-- common.mk: common make routines
|   |-- python.mk: routines for creating a Python distro
|   |-- zeo.mk: routines for creating a ZEO server distro
|   `-- zope.mk: routines for creating a Zope distro
`-- zeo_addons: a custom INSTANCE_HOME for ZEO
    |-- skel
    |   |-- README.txt
    |   |-- bin
    |   |   |-- runzeo.bat.in
    |   |   `-- zeoservice.py.in
    |   |-- etc
    |   |   |-- zeo.conf.in
    |   |   `-- zeoctl.conf.in
    |   |-- log
    |   |   `-- README.txt
    |   `-- var
    |       `-- README.txt
    `-- utilities
        |-- compilezpy.py
        |-- copyskel.py
        |-- decompilezpy.py
        `-- mkzeoinstance.py


=== Added File Zope/inst/WinBuilders/Makefile.python ===
# Zope/ZEO build and install Makefile for Python (gnumake-style).
# Puts binaries into build/bin

# See README.txt for system requirements.

# See python.mk for the input files required in tmp/.

# do "make -f <makefile_name> build"
# then "make -f <makefile_name" install

default: install

build: build_python

unbuild:
	$(RMRF) "$(BUILD_DIR)"

install: build install_python

# XXX test_python doesn't exist:  there's not enough stuff in the
# build/ directory to run the Python tests successfully.
test: test_python

clean: clean_python clean_libs unbuild

clobber: clean
	$(RMRF) src

include mk/common.mk
include mk/python.mk


=== Added File Zope/inst/WinBuilders/Makefile.spread ===
# Justs repackages the Spread binaries.
# Puts binaries into build/bin.

# See README.txt for system requirements.

# See spread.mk for the input files required in tmp/.

default: install_spread

build: build_spread

install: install_spread

include mk/common.mk
include mk/spread.mk


=== Added File Zope/inst/WinBuilders/Makefile.spreadwrapper ===
# Zope2 build and install Makefile for win32 (gnumake-style).
# Creates an installable executable for the Python Spread wrapper module.

# See README.txt for system requirements.

# See spreadwrapper.mk for the input files required in tmp/.

default: install

build: build_spreadwrapper

install: install_spreadwrapper


include mk/common.mk
include mk/spreadwrapper.mk


=== Added File Zope/inst/WinBuilders/Makefile.zeo ===
# Zope2 build and install Makefile for win32 (gnumake-style).
# Creates an installable executable of ZEO/ZODB3.

# Use a Win2k/XP machine with Cygwin, VC++, and InnoSetup4
# Install Inno Setup 4 into Program Files\Inno Setup 4

# also obtain and situate the following supporting files before
# attempting to run the makefile:
#
#   obtain the source distribution of ZODB 3.X.X and put the tar.gz file
#   in tmp\ZODB3-3.2.tar.gz

#   see python.mk for files needed to build Python

# To produce the executable:

# do "make -f <makefile_name> build"
# then "make -f <makefile_name" install

# The resulting executable will show up in the "build" subdirectory
# as "ZEO-3.X.X-win32.exe".

# include common subroutines

default: install

build: build_python

unbuild:
	$(RMRF) "$(BUILD_DIR)"

install: build install_python install_zeo

test: test_python test_zeo

clean: clean_python clean_zeo clean_libs unbuild

clobber: clean
	$(RMRF) src

include mk/common.mk
include mk/python.mk
include mk/zeo.mk


=== Added File Zope/inst/WinBuilders/Makefile.zope ===
# Zope2 build and install Makefile for win32 (gnumake-style).
# Creates an installable executable of Zope 2.

# Use a Win2k/XP machine with Cygwin, VC++, and InnoSetup4
# Install Inno Setup 4 into Program Files\Inno Setup 4

# also obtain and situate the following supporting files before
# attempting to run the makefile:
#
#   obtain the source distribution of Zope 2.7.X and put the tar.gz file
#   in tmp\Zope-2.7.X.tar.gz

#   see python.mk for files needed to build Python

# To produce the executable:
 
# do "make -f <makefile_name> build"
# then "make -f <makefile_name" install

# The resulting executable will show up in the "build" subdirectory
# as "Zope-2.X.X-X-win32.exe".

# include common subroutines

default: install

build: build_python

unbuild:
	$(RMRF) "$(BUILD_DIR)"

install: build install_python install_zope

test: test_python test_zope

clean: clean_python clean_zope clean_libs unbuild

clobber: clean
	$(RMRF) src

include mk/common.mk
include mk/python.mk
include mk/zope.mk



=== Added File Zope/inst/WinBuilders/README.txt ===
Quick instructions:

The installers have only been tested under Windows 2K, but should work
without incident on XP.  It "almost works" on Win98SE (see bottom of
file for discussion).

Install Cygwin from cygwin.org (the default installation should give
you everything you need).

Install Microsoft Visual C++ 6.0.

Install InnoSetup 4.0 from www.jrsofware.org (into its default location).
4.0.4-beta seems to work, while 4.0.7 does not.  Symptom: type error
on compilation.  4.0.11 appears to work.

Unpack this package into a directory.

Launch a Cygwin bash shell.  If necessary, run the VCVARS.bat to set up
the VC++ environment.  This shouldn't be necessary on Win2K, provided
you've brought up the GUI at least once (MSDev doesn't finish writing
all the registry keys it should until the GUI is first launched).  See
below for Win98SE.

If you're building Zope against Python 2.3.X, you may need to add some
registry entries due to a bug in the distutils msvccompiler.py:

[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Directories]
"path dirs"="c:\\windows\\system32;c:\\Program Files\\Microsoft Visual Studio\\Common\\Tools\\WinNT; c:\\Program Files\\Microsoft Visual Studio\\Common\\MSDev98\\Bin;c:\\Program Files\\Microsoft Visual Studio\\Common\\Tools;c:\\Program Files\\Microsoft Visual Studio\\VC98\\bin"
"library dirs"="C:\\Program Files\\Microsoft Visual Studio\\VC98\\mfc\\lib;C:\\Program Files\\Microsoft Visual Studio\\VC98\\lib"
"include dirs"="C:\\Program Files\\Microsoft Visual Studio\\VC98\\atl\\include;C:\\Program Files\\Microsoft Visual Studio\\VC98\\mfc\\include;C:\\Program Files\\Microsoft Visual Studio\\VC98\\include"

This is unecessary if building against Python 2.2.X.  [Tim didn't find
this necessary building against Python 2.3.3 and Christian against 2.3.4 either.]

>From the parent directory of the package, make a "tmp" directory.

Get necessary source packages and place them in the tmp directory.  At the time
of this writing, this includes:

  - Python-2.3.4.tgz
  - Python-2.3.4.exe (used for binary modules)
  - win32all-163.exe
  - Zope.tgz

As time marches on, these version numbers will obviously change.

If you see any make errors with references to one of these files, it's because
you've not downloaded them or you've not placed them in 'tmp'.

>From the parent directory of the package, type WinBuilders/buildout <type>
where type is one of "python", "zope", or "zeo".

For python, the buildout populates the "build" directory with a Python
laid out for Zope and/or ZEO.

For 'zope', the buildout populates the "build" directory with a Windows
executable installer (read the Makfile.zope for special instructions).

For 'zeo', the buildout populates the "build" directory with a Windows
executable installer (read the Makefile.zeo for special instructions).



Win98SE notes
-------------
- You have to run vcvars32.bat to set up envars for MSVC 6.  Running that
  from a bash shell doesn't have any effect on the Cygwin PATH.
  This works:

+ Open a native DOS box.
+ Run vcvars32.bat.
+ Start a bash shell from the same box (== run cygwin.bat, found in the
  root of your Cygwin installation -- the same thing the Cygwin shell
  desktop shortcut resolves to, so you can get the exact path by looking
  at the icon's Properties).

- Every time a makefile runs xcopy, there's a segfault in kernel32.dll,
  which hangs the bash shell with an endless succession of error boxes.
  The only way I found to break out of this was to bring up the debugger,
  close it, then type Ctrl+C at the hung bash shell.  The bash shell
  appears to be fine at that point, but you can never close it (short of
  killing it via the task manager).
  Same thing if xcopy32 is used instead.
  xcopy works OK directly from a bash shell.  The segfaults occur if it's
  run via a makefile, or via a shell script.  Guessing a problem with I/O
  redirection, since some other apps can't see keyboard input before the
  hung stuff is killed.

  Workaround:  xxcopy works fine <http://www.xxcopy.com/>; free for
  personal use, but not for commercial use.  Rename it to xcopy.exe and
  get it into your path before the native xcopy, or fiddle the XCOPY
  defn in common.mk to use xxcopy instead of xcopy.


=== Added File Zope/inst/WinBuilders/buildout ===
#! /bin/sh
#
#   buildout <server_type> [<make_args>]*
#
#     <server_type> should be one of 'squid', 'zope', or 'zeo' (or some
#       other server instance for whom we have a specific makefile)
#
#     <makefile_args> are additional arguments to pass to make, e.g.
#       'compile', 'install', etc.
#
reldir=`dirname $0`
reldir=`realpath $reldir`
server_type=$1
shift

if [ -n "$PYTHONHOME" -o -n "$PYTHONPATH" ]; then
  echo "** Python build is likely to malfunction if either of" 1>&2
  echo "** PYTHONHOME ('$PYTHONHOME') or PYTHONPATH ('$PYTHONPATH')" 1>&2
  echo "** is set - please unset them before doing the buildout." 1>&2
  exit 1
fi

if [ -f $reldir/Makefile.$server_type ]; then
  /usr/bin/make -f $reldir/Makefile.$server_type \
                -I $reldir MAKEFILEDIR=$reldir $@
else
  echo "buildout <server_type> [make_args]*"

fi



More information about the Zope-Checkins mailing list