[Zope-dev] Opinions wanted: clean distribution
Behrens Matt - Grand Rapids
Matt.Behrens@Kohler.Com
Mon, 05 Nov 2001 15:33:20 -0500
I'm experimenting with a few ideas for a "clean distribution" of Zope;
i.e. one that builds on the INSTANCE_HOME concept to produce a
production-ready layout for UNIX-like systems. My hope is that it will
someday make life a hell of a lot easier for Zope packagers (such as
myself) as well as end-users. I'd love for the Zope install script to
create this layout by default, and am certainly willing to dedicate code
to the effort.
I'm looking at a software home directory like this:
BINDIR
zopectl
zopeinst
LIBEXECDIR
pcgi-wrapper
LIBDIR
zope (eveything from lib/python)
Products
Extensions [1]
ZServer [1]
inst [1]
utilities [1]
ETCDIR
zope access
inituser
instances [2]
VARDIR
zope INSTANCE [2] db [3] Data.fs (et al.)
run [4] *.pid
gadfly [3]
[5]
[1] I am not sure if putting these folders here clashes with anything.
Extensions, especially, I am worried about.
[2] Instances should be named and built by 'zopeinst', which takes care
of reasonably secure default permissions. The 'instances' file would
list these along with start parameters and flags that zopectl
understands; zopectl could be used to shutdown/startup zope instances in
system startup/shutdown scripts this way.
[3] These directories should be readable and writable only by the user
who runs Zope.
[4] This directory, if Zope is started as root, should be writable only
by root.
[5] Other instance-specific files such as Zope.cgi would live here.
start/stop duties would be taken over by zopectl.
The top level directories (BINDIR, LIBEXECDIR, LIBDIR, ETCDIR, VARDIR)
would be configured at install time but would probably default to
/usr/local/bin, /usr/local/libexec (or sbin for non-BSDers),
/usr/local/lib, /usr/local/etc, /usr/local/var.
I'm really looking for compatibility issues that anyone has or any
suggestions for improvement. I plan to make a proposal out of this
eventually. Please make sure you cc me at home (matt@zigg.com) on replies.
--
Matt Behrens <matt.behrens@kohler.com>
System Analyst, Baker Furniture