With earlier Plone versions, such as my 6.0.7, Products.validation 2.1.3 is used, which again leads to the following error after a fresh buildout and start of the instance. The problem can be solved by pinning the package to version 4.2.0
bin/instance fg
...
Traceback (most recent call last):
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 393, in endElementNS
self.context.end()
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/config.py", line 701, in end
self.stack.pop().finish()
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/config.py", line 869, in finish
actions = self.handler(context, **args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 552, in include
with openInOrPlain(path) as f:
^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 465, in openInOrPlain
return open(filename)
^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '../sandboxes/plone/eggs/Products.validation-2.1.3-py3.11.egg/Products/validation/configure.zcml'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "../sandboxes/plone/parts/instance/bin/interpreter", line 309, in <module>
exec(compile(__file__f.read(), __file__, "exec"))
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/serve.py", line 255, in <module>
sys.exit(main() or 0)
^^^^^^
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/serve.py", line 251, in main
return command.run()
^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/serve.py", line 189, in run
app = self.loadapp(app_spec, name=app_name, relative_to=base,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/serve.py", line 220, in loadapp
return loadapp(app_spec, name=name, relative_to=relative_to, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/loadwsgi.py", line 248, in loadapp
return loadobj(APP, uri, name=name, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/loadwsgi.py", line 273, in loadobj
return context.create()
^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/loadwsgi.py", line 741, in create
return self.object_type.invoke(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/loadwsgi.py", line 200, in invoke
app = context.app_context.create()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/loadwsgi.py", line 741, in create
return self.object_type.invoke(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/loadwsgi.py", line 138, in invoke
return fix_call(context.object, context.global_conf, **context.local_conf)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/PasteDeploy-3.0.1-py3.11.egg/paste/deploy/util.py", line 61, in fix_call
val = callable(*args, **kw)
^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/run.py", line 61, in make_wsgi_app
starter.prepare()
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/starter.py", line 38, in prepare
self.startZope()
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/Startup/starter.py", line 94, in startZope
Zope2.startup_wsgi()
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/__init__.py", line 36, in startup_wsgi
_startup()
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/App/startup.py", line 126, in startup
load_zcml()
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/App/startup.py", line 41, in load_zcml
load_site()
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/Zope2/App/zcml.py", line 45, in load_site
_context = xmlconfig.file(site_zcml)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 662, in file
include(context, name, package)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 559, in include
processxmlfile(f, context)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 409, in processxmlfile
parser.parse(src)
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 111, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python3.11/xml/sax/xmlreader.py", line 125, in parse
self.feed(buffer)
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 217, in feed
self._parser.Parse(data, isFinal)
File "../Modules/pyexpat.c", line 475, in EndElement
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 395, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 395, in endElementNS
self._handle_exception(ex, info)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 393, in endElementNS
self.context.end()
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/config.py", line 701, in end
self.stack.pop().finish()
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/config.py", line 869, in finish
actions = self.handler(context, **args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/Zope-5.8.5-py3.11.egg/OFS/metaconfigure.py", line 47, in loadProducts
xmlconfig.include(_context, zcml, package=product)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 559, in include
processxmlfile(f, context)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 409, in processxmlfile
parser.parse(src)
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 111, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python3.11/xml/sax/xmlreader.py", line 125, in parse
self.feed(buffer)
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 217, in feed
self._parser.Parse(data, isFinal)
File "../Modules/pyexpat.c", line 475, in EndElement
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 395, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 395, in endElementNS
self._handle_exception(ex, info)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 393, in endElementNS
self.context.end()
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/config.py", line 701, in end
self.stack.pop().finish()
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/config.py", line 869, in finish
actions = self.handler(context, **args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../sandboxes/plone/eggs/plone.autoinclude-1.0.1-py3.11.egg/plone/autoinclude/zcml.py", line 39, in includePluginsDirective
loader.load_configure(context, filename, dists)
File "../sandboxes/plone/eggs/plone.autoinclude-1.0.1-py3.11.egg/plone/autoinclude/loader.py", line 180, in load_configure
load_zcml_file(context, module_name, package, filename)
File "../sandboxes/plone/eggs/plone.autoinclude-1.0.1-py3.11.egg/plone/autoinclude/loader.py", line 173, in load_zcml_file
include(context, filename, package)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 559, in include
processxmlfile(f, context)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 409, in processxmlfile
parser.parse(src)
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 111, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python3.11/xml/sax/xmlreader.py", line 125, in parse
self.feed(buffer)
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 217, in feed
self._parser.Parse(data, isFinal)
File "../Modules/pyexpat.c", line 475, in EndElement
File "/usr/lib/python3.11/xml/sax/expatreader.py", line 395, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 395, in endElementNS
self._handle_exception(ex, info)
File "../sandboxes/plone/eggs/zope.configuration-5.0-py3.11.egg/zope/configuration/xmlconfig.py", line 237, in _handle_exception
raise ZopeXMLConfigurationError(info, ex)
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "../sandboxes/plone/eggs/collective.easyform-4.2.1-py3.11.egg/collective/easyform/configure.zcml", line 9.2-9.43
File "../sandboxes/plone/parts/instance/etc/site.zcml", line 16.2-16.23
File "../sandboxes/plone/eggs/Products.CMFPlone-6.0.7-py3.11.egg/Products/CMFPlone/configure.zcml", line 128.2-132.8
FileNotFoundError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '../sandboxes/plone/eggs/Products.validation-2.1.3-py3.11.egg/Products/validation/configure.zcml'
With earlier Plone versions, such as my 6.0.7, Products.validation 2.1.3 is used, which again leads to the following error after a fresh buildout and start of the instance. The problem can be solved by pinning the package to version 4.2.0