collective / collective.easyform

Forms for Plone
https://pypi.org/project/collective.easyform
13 stars 29 forks source link

collective.easyform 4.2.1 no longer works with Plone versions prior to 6.0.13 #436

Closed Arkusm closed 2 weeks ago

Arkusm commented 1 month ago

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'
petschki commented 2 weeks ago

latest version neets Products.validation>=3.0.0 ... setup.py should have a version pin on that.