[Zope-dev] Opinions wanted: clean installation (was distribution)

Matt Behrens matt.behrens@kohler.com
Tue, 06 Nov 2001 08:11:32 -0500


Toby Dickenson wrote:

> Do you really want products and extensions in VARDIR? To me they feel
> more like configuration, and less like data.
> 
> My preference:
> 
> XXX/etc/zope/INSTANCE/Products    : containing symlinks to
> XXX/lib/zope/AllZopeProducts      : containing products
> 
> My second preference:
> 
> XXX/lib/zope/INSTANCE/Products    : containing products
> 
> But I really dont like:
> 
> XXX/var/zope/INSTANCE/Products    : containing products


I think the biggest problem with this setup is that installation of 
additional products should be able to be done without permission to 
modify the base installation.  There is work afoot to make products 
installable TTW, too, so the running user must have permission to 
install his own products for this to work properly.

Given this, VARDIR is really the only hierarchy we can count on to be 
writable at all (BINDIR/LIBDIR should be writable only at OS-level 
package installation time, and ETCDIR can be locked down by the sysadmin 
for normal operation).

I got to thinking a little bit more, too, regarding running multiple 
versions of Zope on the same system (hell, I do it!), plus an oversight 
with ETCDIR...

Also, I missed import and doc entirely :-)

So, revised:

BINDIR/ 
	zopectl
		zopeinst

LIBEXECDIR/ 
pcgi-wrapper

LIBDIR/ 
	zope/		VERSION/	(lib/python contents)
						Products
						Extensions
						ZServer
						inst
						utilities

SHAREDIR/ 
doc/ 
	zope/		*.txt
		zope/		import/		(import contents)

ETCDIR/ 
	zope/		INSTANCE/	access
						inituser
						config

VARDIR/ 
	zope/		INSTANCE/	db/
						run/
						gadfly
						Zope.cgi

I've run out of horizontal room, but VARDIR/zope/INSTANCE/db/ is the 
home of Data.fs and friends; VARDIR/zope/INSTANCE/run/ is the home of 
the pid files.

-- 
Matt Behrens <matt.behrens@kohler.com>
System Analyst, Baker Furniture