[ZCM] [ZC] 2177/ 2 Comment "ZEO server conflict resolution can't find instance-based products"

Collector: Zope Bugs, Features, and Patches ... zope-coders-admin at zope.org
Fri Jun 29 14:14:33 EDT 2007


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.
==============================================================



More information about the Zope-Collector-Monitor mailing list