[Zope-dev] Zope 2.12: mkzopeinstance, runzope and zopectl - a small proposal
yuppie
y.2009 at wcm-solutions.de
Thu Jul 23 06:10:16 EDT 2009
Hi!
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" "$@"
Therefore mkzopeinstance now creates something like this:
ZDCTL="/path/to/eggs/Zope2-2.12.0b3-py2.5-linux-i686.egg/Zope2/Startup/zopectl.py"
exec "$PYTHON" "$ZDCTL" -C "$CONFIG_FILE" "$@"
Problem:
--------
- the code in mkzopeinstance.py that looks up the Zope2 path fails on
some platforms
- if the software is updated, you have to change the paths in runzope
and zopectl of each instance
Solution:
---------
1.) Add two new entry points in setup.py:
runzope=Zope2.Startup.run:run
zopectl=Zope2.Startup.zopectl:run
If the software is installed, executable runzope and zopectl files are
created in the bin directory. That should work with zc.buildout and with
easy_install.
2.) Modify the runzope and zopectl files created by mkzopeinstance:
The result should look like this:
ZDCTL="/path/to/install/bin/zopectl"
exec "$ZDCTL" -C "$CONFIG_FILE" "$@"
mkzopeinstance would make the assumption that executable runzope and
zopectl files exist in the same directory as mkzopeinstance itself.
Risks:
------
- mkzopeinstance has a --python option. The specified Python interpreter
will no longer be used to execute runzope or zopectl.
- uses cases might exist that no longer work after that change
Any thoughts? Is the 2.12 branch still open for changes like that?
Cheers,
Yuppie
More information about the Zope-Dev
mailing list