[Zope-dev] Zope 2.12: mkzopeinstance, runzope and zopectl - a small proposal

yuppie y.2009 at wcm-solutions.de
Mon Aug 10 04:44:40 EDT 2009


Hi Chris!


Chris Withers wrote:
> yuppie wrote:
>> SOFTWARE_HOME no longer exist in Zope 2.12, all the software is now 
>> somewhere on sys.path.
>>
>> So this no longer works in zopectl:
>>
>> ZDCTL="$SOFTWARE_HOME/Zope2/Startup/zopectl.py"
>> exec "$PYTHON" "$ZDCTL" -C "$CONFIG_FILE" "$@"
> 
> I wish we could just bless buildout as "the way" to set up Zope 2.12, 
> then mkzopeinstance becomes moot.

Not everybody agrees with that. But nevertheless, both approaches can 
learn from each other and become more similar.

> If you dig back through the archives, 
> you'll find the buildout.cfg I came up with that works exactly as it should.

Thanks for the pointer. I was not aware of this thread:
http://mail.zope.org/pipermail/zope-dev/2009-April/035973.html

Some random thoughts:

1.) mkzopeinstance now also uses entry points for runzope and zopectl. 
zopectl did have some code in the "__name__ == '__main__'" section, so I 
added a small 'run' wrapper for 'main':
http://svn.zope.org/Zope/trunk/src/Zope2/Startup/zopectl.py?rev=102009&r1=101795&r2=102009

2.) The runzope and zopectl scripts created by mkzopeinstance are now 
basically small wrappers that pass the config file location to the entry 
point scripts. They still set INSTANCE_HOME, but that is redundant if we 
always set INSTANCE_HOME in zope.conf.

3.) And the zopectl script still sets the PYTHON interpreter. You 
specify it in zope.conf. I can't see a reason why someone would want to 
run zopectl with a different interpreter than the Zope instance. Maybe 
we can make it unnecessary to specify the interpreter. It's just a bit 
tricky to pass the whole Python path to the subprocess. At least I 
couldn't figure out a simple and reliable solution.

4.) How do you create zopeservice.py for Windows?


Cheers,

	Yuppie



More information about the Zope-Dev mailing list