[Zope-dev] Proposed installation changes for review

Chris McDonough chrism@zope.com
11 Mar 2003 18:39:00 -0500


On Tue, 2003-03-11 at 17:11, Dieter Maurer wrote:
>   All this is achieved by incorporating the result of "hostname"
>   into the respective environment variables.
>   
>   I do not know how to do something like this in a configuration
>   file (unless it provides for some form of shell functionality).

ZConfig does allow you to declare and use simple bash-style variables
within a single file, but currently provides no access to the
environment.  I suspect we could add something to obtain an envvar value
within ZConfig.

E.g.:

%define HOSTNAME ${HOSTNAME}

.. then refer to $HOSTNAME in the rest of the config file...

(squiggly brackets would mean obtain from environment).

Do you think this would suffice?  Or maybe we just make HOSTNAME and/or
IP_ADRRESS within the a "key constant" as you describe.

>  > - Building and installing the software have become more clearly
>  >   distinct; the installation can be separate from the build.
> 
> Seems you make the elementary installation more difficult.

I'm surprised at this assertion.  The most elementary way of install
under 2.7 is this:

$ cd Zope-src
$ ./configure 
{finds suitable Python and reports lack of large file support}
$ make
$ make install
$ /opt/zope/mkzopeinstance /tmp/inst
{user edits /tmp/inst/etc/zope.conf, which has inline docs}
$ /tmp/inst/zopectl start

While under 2.6 it's this:

{need to know to configure Python with largefile support}
$ cd Zope-src
$ /path/to/python/version/you/want wo_pcgi.py 
{user finds and reads doc/ENVIRONMENT.txt for envvars}
{user finds and reads z2.py for command-line switches}
{user edits the 'start' script with the right switches and envvars}
$ ./start

(Forgot to mention the auto-large-file-detection support in the
configure script in the original request for comments, sorry).

I think most folks new to Zope would pick up on the first path sooner
than the latter as it more closely follows the setup directions of
programs they're already used to (Apache, for instance).

It also provides the least amount of suprise in the long term.  For
example, how many times have we had to talk panicked people through a
recovery effort after they've run in to the 2GB limit on some UNIX
variant because they're running a Python without largefile support?

Anyway, I think the requirement to be able to access the environment
under ZConfig is a good suggestion.  If you could expand on why you
think elementary installation is now harder, I would like to hear that.

- C