[Zope] zope higher abstraction installation

Jerome Alet alet@unice.fr
Thu, 31 May 2001 12:31:36 +0200 (MET DST)


On Thu, 31 May 2001, Olaf Zanger wrote:

> * a setup process, where the newbee-user can select what products should be pre
> installed. 

This one is very good IMHO.

But there will be two main issues there:

	- eventually some licensing problems.
	- actually no Zope package type.

The fact that Zope hasn't got a preferred package type means that product
installation is hard to do automatically:

	- you have to determine the true file type (.py, .zexp, .tgz,
.tar.gz, .tar, etc...) 

	- you have to take appropriate action depending on the
previously detected type, which may be:

		tar + gzipped file:
			gunzip it.
			see if it installs in lib/python/Products or
                            in Products or anywhere else.
			install it according to this.
			restart Zope

	and of course the procedure is different for each product and this
must be done manually.

So I really think we should create together a dedicated Zope package type
ala .rpm ou .deb to distribute products and allow an automated
installation. 

BTW I don't know if Distutils may fit in its current version, but I
suppose it can do it just fine !

This package type would have to contain at least:

	The license: GPL, BSD, ZPL, Python, MPL, LGPL, etc...
	The author name and email
	The preferred URL
	The preferred installation directory:
		INSTANCE would mean $INSTANCE_HOME
		ZOPECORE would mean install from $ZOPEHOME
	Other informations as we may need (dependencies for example).
	Finally the "tarball":

	So with INSTANCE the tarball should contain:

		Products/MyProduct/...

		or:

		import/somefile

		...

	but if INSTANCE is used and $INSTANCE_HOME doesn't exist
then use ZOPECORE instead.

	and with ZOPECORE it may contain:

		lib/python/TAL/somefile

		or:

		Extensions/anotherfile

		...

So this will allow an easy detection of the destination directory, and
allow an easy online installation with an Installation menu in the
Control_Panel (and why not a ZShell "install" command ;-) 

Your thoughts ?

bye,

Jerome Alet