[ZCM] [ZC] 2177/ 2 Comment "ZEO server conflict resolution can't find instance-based products"
"Collector: Zope Bugs, Features, and Patches ..." <[email protected]> Fri, 29 Jun 2007 14:14:33 -0400
| Newsgroups | gmane.comp.web.zope.devel.collector-monitor |
|---|---|
| Message-ID | <[email protected]> |
Issue #2177 Update (Comment) "ZEO server conflict resolution can't find instance-based products" Status Pending, Database/bug low To followup, visit: http://www.zope.org/Collectors/Zope/2177 ============================================================== = Comment - Entry #2 by mcdonc on Jun 29, 2007 2:14 pm Uploaded: "runzeo_localproducts.patch" - http://www.zope.org/Collectors/Zope/2177/runzeo_localproducts.patch/view A patch to make runzeo stitch instance home Products into pythonpath. ________________________________________ = Request - Entry #1 by mcdonc on Aug 27, 2006 4:47 am I'm not entirely sure what to do about this, but in its "default" configuration, a ZEO server cannot find Zope products that are installed in the Zope $INSTANCE_HOME/Products directory in order to do user-defined conflict resolution. This directory is stitched into Zope's Products.__path__ at Zope startup in order to provide a more local place to put user-installed products. ZEO's "runzeo.py" does indeed seem to consult an INSTANCE_HOME envvar (and mkzeoinst makes a runzeo shell script that sets one), which, if found, is presumed to be a path to a Zope instance home. Unfortunately, because the Products package is a "namespace package", we can't just add INSTANCE_HOME to the PYTHONPATH, we need to fix up Products.__path__. runzeo.py does not try to compose a Products.__path__ that takes into account the Zope instance-home-based Products despite knowing about INSTANCE_HOME. It seems awfully nasty to change runzeo.py to do this specially for ZEO-in-Zope, but maybe no more nasty than it already is. ==============================================================