Commit c799f27e authored by Jérome Perrin's avatar Jérome Perrin

stack/erp5: version up all zope stack (Zope 4.8.7)

parent cee7aaa7
...@@ -15,10 +15,10 @@ parts = ZODB/scripts ...@@ -15,10 +15,10 @@ parts = ZODB/scripts
# [ZODB] # [ZODB]
# major = <ZODB-version-major> # major = <ZODB-version-major>
# #
# By default ZODB4 is used. # By default ZODB5 is used.
[ZODB] [ZODB]
recipe = slapos.recipe.build recipe = slapos.recipe.build
major = 4 major = 5
init = init =
# link/depend ZODB -> ZODB<X> # link/depend ZODB -> ZODB<X>
zodb_x = 'ZODB'+options['major'] zodb_x = 'ZODB'+options['major']
...@@ -59,7 +59,7 @@ egg-versions = ...@@ -59,7 +59,7 @@ egg-versions =
<= _ZODB <= _ZODB
egg-versions = egg-versions =
ZODB = 5.8.0 ZODB = 5.8.0
transaction = 2.4.0 transaction = 3.0.1
# ZODB4-wc2 is ZODB4 version with patches for wendelin.core 2 to work correctly. # ZODB4-wc2 is ZODB4 version with patches for wendelin.core 2 to work correctly.
...@@ -94,9 +94,9 @@ setup-eggs = ${python-cffi:egg} ...@@ -94,9 +94,9 @@ setup-eggs = ${python-cffi:egg}
# eggs that are common to ZODB4 and ZODB5. # eggs that are common to ZODB4 and ZODB5.
[versions] [versions]
BTrees = 4.5.1 BTrees = 4.11.3
persistent = 4.6.4 persistent = 4.9.3
zodbpickle = 2.0.0 zodbpickle = 2.6.0
# Provide ZODB3 for those eggs that still care about ZODB3 compatibility - # Provide ZODB3 for those eggs that still care about ZODB3 compatibility -
# for example wendelin.core. ZODB3 3.11 is just a dependency egg on _latest_ # for example wendelin.core. ZODB3 3.11 is just a dependency egg on _latest_
......
diff -uNr Acquisition-2.13.12.orig/src/Acquisition/_Acquisition.c Acquisition-2.13.12/src/Acquisition/_Acquisition.c diff -Naur Acquisition-4.7.orig/src/Acquisition/_Acquisition.c Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition/_Acquisition.c
--- Acquisition-2.13.12.orig/src/Acquisition/_Acquisition.c 2017-12-01 12:01:34.000000000 +0100 --- Acquisition-4.7.orig/src/Acquisition/_Acquisition.c 2021-03-17 16:22:28.266539592 +0100
+++ Acquisition-2.13.12/src/Acquisition/_Acquisition.c 2018-04-09 17:10:15.394836944 +0200 +++ Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition/_Acquisition.c 2021-03-17 16:28:59.609842948 +0100
@@ -449,6 +449,64 @@ @@ -543,6 +543,64 @@
} }
static PyObject * static PyObject *
...@@ -63,50 +63,50 @@ diff -uNr Acquisition-2.13.12.orig/src/Acquisition/_Acquisition.c Acquisition-2. ...@@ -63,50 +63,50 @@ diff -uNr Acquisition-2.13.12.orig/src/Acquisition/_Acquisition.c Acquisition-2.
+} +}
+ +
+static PyObject * +static PyObject *
Wrapper_acquire(Wrapper *self, PyObject *oname, Wrapper_acquire(Wrapper *self, PyObject *oname,
PyObject *filter, PyObject *extra, PyObject *orig, PyObject *filter, PyObject *extra, PyObject *orig,
int explicit, int containment); int explicit, int containment);
@@ -589,8 +647,8 @@ @@ -677,8 +735,8 @@
Py_XDECREF(r); Py_XDECREF(v); Py_XDECREF(tb); return NULL;
r=NULL; }
}
- /* normal attribute lookup */
- else if ((r=PyObject_GetAttr(self->obj,oname)))
+ /* Give _aq_dynamic a chance, then normal attribute lookup */
+ else if ((r=Wrapper_GetAttr(OBJECT(self),oname,orig)))
{
if (r==Acquired)
{
@@ -714,7 +772,7 @@
Py_XDECREF(r); Py_XDECREF(v); Py_XDECREF(tb);
r=NULL;
- if ((r=PyObject_GetAttr(self->container,oname))) { - /* normal attribute lookup */
+ if ((r=Wrapper_GetAttr(self->container,oname,orig))) { - else if ((r = PyObject_GetAttr(self->obj, oname))) {
if (r == Acquired) { + /* Give _aq_dynamic a chance, then normal attribute lookup */
Py_DECREF(r); + else if ((r = Wrapper_GetAttr(OBJECT(self), oname, orig))) {
} if (r == Acquired) {
@@ -751,7 +809,7 @@ Py_DECREF(r);
return Wrapper_acquire(
@@ -806,7 +864,7 @@
return NULL;
}
- if ((r = PyObject_GetAttr(self->container, oname)) == NULL) {
+ if ((r = Wrapper_GetAttr(self->container, oname, orig)) == NULL) {
/* May be AttributeError or some other kind of error */
return NULL;
}
@@ -830,7 +888,7 @@
static PyObject *
Wrapper_getattro(Wrapper *self, PyObject *oname) Wrapper_getattro(Wrapper *self, PyObject *oname)
{ {
if (self->obj || self->container)
- return Wrapper_findattr(self, oname, NULL, NULL, NULL, 1, 1, 0, 0); - return Wrapper_findattr(self, oname, NULL, NULL, NULL, 1, 1, 0, 0);
+ return Wrapper_findattr(self, oname, NULL, NULL, OBJECT(self), 1, 1, 0, 0); + return Wrapper_findattr(self, oname, NULL, NULL, OBJECT(self), 1, 1, 0, 0);
}
/* Maybe we are getting initialized? */ static PyObject *
return Py_FindAttr(OBJECT(self),oname); @@ -846,7 +904,7 @@
@@ -776,7 +834,7 @@ if (STR_EQ(PyBytes_AS_STRING(tmp), "acquire")) {
result = Py_FindAttr(OBJECT(self),oname); result = Py_FindAttr(OBJECT(self), oname);
} else {
else if (self->obj || self->container) - result = Wrapper_findattr(self, oname, NULL, NULL, NULL, 1, 0, 0, 0);
- result = Wrapper_findattr(self, oname, NULL, NULL, NULL, 1, 0, 0, 0); + result = Wrapper_findattr(self, oname, NULL, NULL, OBJECT(self), 1, 0, 0, 0);
+ result = Wrapper_findattr(self, oname, NULL, NULL, OBJECT(self), 1, 0, 0, 0); }
/* Maybe we are getting initialized? */ Py_DECREF(tmp);
else result = Py_FindAttr(OBJECT(self),oname); diff -Naur Acquisition-4.7.orig/src/Acquisition/test_dynamic_acquisition.py Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition/test_dynamic_acquisition.py
diff -uNr Acquisition-2.13.12.orig/src/Acquisition/test_dynamic_acquisition.py Acquisition-2.13.12/src/Acquisition/test_dynamic_acquisition.py --- Acquisition-4.7.orig/src/Acquisition/test_dynamic_acquisition.py 1970-01-01 01:00:00.000000000 +0100
--- Acquisition-2.13.12.orig/src/Acquisition/test_dynamic_acquisition.py 1970-01-01 01:00:00.000000000 +0100 +++ Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition/test_dynamic_acquisition.py 2021-03-17 16:30:07.082413986 +0100
+++ Acquisition-2.13.12/src/Acquisition/test_dynamic_acquisition.py 2018-04-09 17:07:34.863985305 +0200
@@ -0,0 +1,160 @@ @@ -0,0 +1,160 @@
+############################################################################## +##############################################################################
+# +#
...@@ -268,25 +268,30 @@ diff -uNr Acquisition-2.13.12.orig/src/Acquisition/test_dynamic_acquisition.py A ...@@ -268,25 +268,30 @@ diff -uNr Acquisition-2.13.12.orig/src/Acquisition/test_dynamic_acquisition.py A
+ >>> assert not b.a.aq_inContextOf('somestring') + >>> assert not b.a.aq_inContextOf('somestring')
+''' +'''
+ +
diff -uNr Acquisition-2.13.12.orig/src/Acquisition/tests.py Acquisition-2.13.12/src/Acquisition/tests.py diff -Naur Acquisition-4.7.orig/src/Acquisition/tests.py Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition/tests.py
--- Acquisition-2.13.12.orig/src/Acquisition/tests.py 2017-12-01 12:01:34.000000000 +0100 --- Acquisition-4.7.orig/src/Acquisition/tests.py 2021-03-17 16:22:28.266539592 +0100
+++ Acquisition-2.13.12/src/Acquisition/tests.py 2018-04-09 17:07:34.867985476 +0200 +++ Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition/tests.py 2021-03-17 16:31:31.971132854 +0100
@@ -2588,6 +2588,7 @@ @@ -3366,6 +3366,7 @@
def test_suite():
return unittest.TestSuite(( suites = [
DocTestSuite(), DocTestSuite(),
+ DocTestSuite('Acquisition.test_dynamic_acquisition'), + DocTestSuite('Acquisition.test_dynamic_acquisition'),
DocFileSuite('README.txt', package='Acquisition'), unittest.defaultTestLoader.loadTestsFromName(__name__),
unittest.makeSuite(TestParent), ]
unittest.makeSuite(TestAcquire),
diff -uNr Acquisition-2.13.12.orig/src/Acquisition.egg-info/SOURCES.txt Acquisition-2.13.12/src/Acquisition.egg-info/SOURCES.txt diff -Naur Acquisition-4.7.orig/src/Acquisition.egg-info/SOURCES.txt Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition.egg-info/SOURCES.txt
--- Acquisition-2.13.12.orig/src/Acquisition.egg-info/SOURCES.txt 2017-12-01 12:08:29.000000000 +0100 --- Acquisition-4.7.orig/src/Acquisition.egg-info/SOURCES.txt 2021-03-17 16:22:28.262539558 +0100
+++ Acquisition-2.13.12/src/Acquisition.egg-info/SOURCES.txt 2018-04-09 17:07:34.867985476 +0200 +++ Acquisition-4.7-py2.7-linux-x86_64.egg/src/Acquisition.egg-info/SOURCES.txt 2021-03-17 16:32:31.619638229 +0100
@@ -10,6 +10,7 @@ @@ -15,9 +15,10 @@
src/Acquisition/_Acquisition.c
src/Acquisition/__init__.py src/Acquisition/__init__.py
src/Acquisition/interfaces.py src/Acquisition/interfaces.py
+src/Acquisition/test_dynamic_acquisition.py
src/Acquisition/tests.py src/Acquisition/tests.py
+src/Acquisition/test_dynamic_acquisition.py
src/Acquisition.egg-info/PKG-INFO src/Acquisition.egg-info/PKG-INFO
src/Acquisition.egg-info/SOURCES.txt src/Acquisition.egg-info/SOURCES.txt
src/Acquisition.egg-info/dependency_links.txt
src/Acquisition.egg-info/not-zip-safe
src/Acquisition.egg-info/requires.txt
-src/Acquisition.egg-info/top_level.txt
\ Pas de fin de ligne à la fin du fichier
+src/Acquisition.egg-info/top_level.txt
diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/DCWorkflow.py diff -Naur Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/DCWorkflow.py Products.DCWorkflow-2.4.1/Products/DCWorkflow/DCWorkflow.py
--- Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py 2011-11-01 18:55:01.000000000 +0100 --- Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/DCWorkflow.py 2020-03-09 22:05:43.000000000 +0100
+++ Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/DCWorkflow.py 2013-10-31 16:42:05.021141352 +0100 +++ Products.DCWorkflow-2.4.1/Products/DCWorkflow/DCWorkflow.py 2021-03-18 15:43:47.791236880 +0100
@@ -40,6 +40,7 @@ @@ -38,6 +38,7 @@
from Products.DCWorkflow.permissions import ManagePortal from Products.DCWorkflow.interfaces import IDCWorkflowDefinition
from Products.DCWorkflow.Transitions import TRIGGER_AUTOMATIC from Products.DCWorkflow.Transitions import TRIGGER_AUTOMATIC
from Products.DCWorkflow.Transitions import TRIGGER_USER_ACTION from Products.DCWorkflow.Transitions import TRIGGER_USER_ACTION
+from Products.DCWorkflow.Transitions import TRIGGER_WORKFLOW_METHOD +from Products.DCWorkflow.Transitions import TRIGGER_WORKFLOW_METHOD
from Products.DCWorkflow.utils import Message as _ from Products.DCWorkflow.utils import Message as _
from Products.DCWorkflow.utils import modifyRolesForGroup from Products.DCWorkflow.utils import modifyRolesForGroup
from Products.DCWorkflow.utils import modifyRolesForPermission from Products.DCWorkflow.utils import modifyRolesForPermission
@@ -281,6 +282,52 @@ @@ -279,6 +280,52 @@
raise Unauthorized(action)
self._changeStateOf(ob, tdef, kw) self._changeStateOf(ob, tdef, kw)
+ security.declarePrivate('isWorkflowMethodSupported') @security.private
+ def isWorkflowMethodSupported(self, ob, method_id): + def isWorkflowMethodSupported(self, ob, method_id):
+ ''' + '''
+ Returns a true value if the given workflow method + Returns a true value if the given workflow method
...@@ -30,7 +29,7 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.D ...@@ -30,7 +29,7 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.D
+ return 1 + return 1
+ return 0 + return 0
+ +
+ security.declarePrivate('wrapWorkflowMethod') + @security.private
+ def wrapWorkflowMethod(self, ob, method_id, func, args, kw): + def wrapWorkflowMethod(self, ob, method_id, func, args, kw):
+ ''' + '''
+ Allows the user to request a workflow action. This method + Allows the user to request a workflow action. This method
...@@ -38,12 +37,12 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.D ...@@ -38,12 +37,12 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.D
+ ''' + '''
+ sdef = self._getWorkflowStateOf(ob) + sdef = self._getWorkflowStateOf(ob)
+ if sdef is None: + if sdef is None:
+ raise WorkflowException, 'Object is in an undefined state' + raise WorkflowException('Object is in an undefined state')
+ if method_id not in sdef.transitions: + if method_id not in sdef.transitions:
+ raise Unauthorized(method_id) + raise Unauthorized(method_id)
+ tdef = self.transitions.get(method_id, None) + tdef = self.transitions.get(method_id, None)
+ if tdef is None or tdef.trigger_type != TRIGGER_WORKFLOW_METHOD: + if tdef is None or tdef.trigger_type != TRIGGER_WORKFLOW_METHOD:
+ raise WorkflowException, ( + raise WorkflowException(
+ 'Transition %s is not triggered by a workflow method' + 'Transition %s is not triggered by a workflow method'
+ % method_id) + % method_id)
+ if not self._checkTransitionGuard(tdef, ob): + if not self._checkTransitionGuard(tdef, ob):
...@@ -54,17 +53,18 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.D ...@@ -54,17 +53,18 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/DCWorkflow.py Products.D
+ except ObjectDeleted: + except ObjectDeleted:
+ # Re-raise with a different result. + # Re-raise with a different result.
+ raise ObjectDeleted(res) + raise ObjectDeleted(res)
+ except ObjectMoved, ex: + except ObjectMoved as ex:
+ # Re-raise with a different result. + # Re-raise with a different result.
+ raise ObjectMoved(ex.getNewObject(), res) + raise ObjectMoved(ex.getNewObject(), res)
+ return res + return res
+ +
security.declarePrivate('isInfoSupported') + @security.private
def isInfoSupported(self, ob, name): def isInfoSupported(self, ob, name):
''' '''
diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transition_properties.dtml Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/dtml/transition_properties.dtml Returns a true value if the given info name is supported.
--- Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transition_properties.dtml 2011-11-01 18:55:01.000000000 +0100 diff -Naur Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/dtml/transition_properties.dtml Products.DCWorkflow-2.4.1/Products/DCWorkflow/dtml/transition_properties.dtml
+++ Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/dtml/transition_properties.dtml 2013-10-31 16:42:05.021141352 +0100 --- Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/dtml/transition_properties.dtml 2020-03-09 22:05:43.000000000 +0100
+++ Products.DCWorkflow-2.4.1/Products/DCWorkflow/dtml/transition_properties.dtml 2021-03-18 15:37:55.144028451 +0100
@@ -56,6 +56,16 @@ @@ -56,6 +56,16 @@
</tr> </tr>
...@@ -82,9 +82,9 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transition_properti ...@@ -82,9 +82,9 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transition_properti
<th align="left">Script (before)</th> <th align="left">Script (before)</th>
<td> <td>
<select name="script_name"> <select name="script_name">
diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transitions.dtml Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/dtml/transitions.dtml diff -Naur Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/dtml/transitions.dtml Products.DCWorkflow-2.4.1/Products/DCWorkflow/dtml/transitions.dtml
--- Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transitions.dtml 2011-11-01 18:55:01.000000000 +0100 --- Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/dtml/transitions.dtml 2020-03-09 22:05:43.000000000 +0100
+++ Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/dtml/transitions.dtml 2013-10-31 16:42:05.021141352 +0100 +++ Products.DCWorkflow-2.4.1/Products/DCWorkflow/dtml/transitions.dtml 2021-03-18 15:37:55.144028451 +0100
@@ -17,7 +17,8 @@ @@ -17,7 +17,8 @@
<td> <td>
Destination state: <code><dtml-if new_state_id>&dtml-new_state_id;<dtml-else>(Remain in state)</dtml-if></code> <br /> Destination state: <code><dtml-if new_state_id>&dtml-new_state_id;<dtml-else>(Remain in state)</dtml-if></code> <br />
...@@ -95,21 +95,21 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transitions.dtml Pr ...@@ -95,21 +95,21 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/dtml/transitions.dtml Pr
<br /> <br />
<dtml-if script_name> <dtml-if script_name>
Script (before): &dtml-script_name; Script (before): &dtml-script_name;
diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/exportimport.py Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/exportimport.py diff -Naur Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/exportimport.py Products.DCWorkflow-2.4.1/Products/DCWorkflow/exportimport.py
--- Products.DCWorkflow-2.2.4/Products/DCWorkflow/exportimport.py 2011-11-01 18:55:01.000000000 +0100 --- Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/exportimport.py 2020-03-09 22:05:43.000000000 +0100
+++ Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/exportimport.py 2013-10-31 16:42:09.221141578 +0100 +++ Products.DCWorkflow-2.4.1/Products/DCWorkflow/exportimport.py 2021-03-18 15:44:34.903667147 +0100
@@ -34,7 +34,7 @@ @@ -40,7 +40,7 @@
from Products.GenericSetup.interfaces import ISetupEnviron from Products.DCWorkflow.utils import _xmldir
from Products.GenericSetup.utils import BodyAdapterBase
-TRIGGER_TYPES = ( 'AUTOMATIC', 'USER' )
+TRIGGER_TYPES = ( 'AUTOMATIC', 'USER', 'METHOD' ) -TRIGGER_TYPES = ('AUTOMATIC', 'USER')
+TRIGGER_TYPES = ('AUTOMATIC', 'USER', 'METHOD' )
_FILENAME = 'workflows.xml' _FILENAME = 'workflows.xml'
diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/Transitions.py Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/Transitions.py diff -Naur Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/Transitions.py Products.DCWorkflow-2.4.1/Products/DCWorkflow/Transitions.py
--- Products.DCWorkflow-2.2.4/Products/DCWorkflow/Transitions.py 2011-11-01 18:55:01.000000000 +0100 --- Products.DCWorkflow-2.4.1.orig/Products/DCWorkflow/Transitions.py 2020-03-09 22:05:43.000000000 +0100
+++ Products.DCWorkflow-2.2.4nxd001/Products/DCWorkflow/Transitions.py 2013-10-31 16:42:12.389141749 +0100 +++ Products.DCWorkflow-2.4.1/Products/DCWorkflow/Transitions.py 2021-03-18 15:37:55.148028486 +0100
@@ -31,6 +31,7 @@ @@ -31,6 +31,7 @@
TRIGGER_AUTOMATIC = 0 TRIGGER_AUTOMATIC = 0
...@@ -117,4 +117,4 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/Transitions.py Products. ...@@ -117,4 +117,4 @@ diff -uNr Products.DCWorkflow-2.2.4/Products/DCWorkflow/Transitions.py Products.
+TRIGGER_WORKFLOW_METHOD = 2 +TRIGGER_WORKFLOW_METHOD = 2
class TransitionDefinition (SimpleItem): class TransitionDefinition(SimpleItem):
...@@ -875,10 +875,7 @@ class ZopeTestMixin(ZopeSkinsMixin, CrontabMixin): ...@@ -875,10 +875,7 @@ class ZopeTestMixin(ZopeSkinsMixin, CrontabMixin):
class TestZopeWSGI(ZopeTestMixin, ERP5InstanceTestCase): class TestZopeWSGI(ZopeTestMixin, ERP5InstanceTestCase):
pass
@unittest.expectedFailure
def test_basic_authentication_user_in_access_log(self):
super().test_basic_authentication_user_in_access_log()
class TestZopePublisherTimeout(ZopeSkinsMixin, ERP5InstanceTestCase): class TestZopePublisherTimeout(ZopeSkinsMixin, ERP5InstanceTestCase):
......
...@@ -34,7 +34,6 @@ interpreter = ${:_buildout_section_name_} ...@@ -34,7 +34,6 @@ interpreter = ${:_buildout_section_name_}
[versions] [versions]
# To match ERP5 # To match ERP5
zope.event = 3.5.2 zope.exceptions = 4.6
zope.exceptions = 3.6.2 zope.testing = 4.10
zope.testing = 3.9.7
## ##
[buildout] [buildout]
extends = extends =
# Exact version of Zope # versions pins from zope, vendored with:
# curl https://zopefoundation.github.io/Zope/releases/4.8.7/versions.cfg | sed -e s/versions-prod.cfg/zope-versions.cfg/g > ztk-versions.cfg
# curl https://zopefoundation.github.io/Zope/releases/4.8.7/versions-prod.cfg > zope-versions.cfg
# When updating, keep in mind that some versions are defined in other places,
# for example component/ZEO , component/ZODB and stack/slapos
ztk-versions.cfg ztk-versions.cfg
zope-versions.cfg zope-versions.cfg
buildout.hash.cfg buildout.hash.cfg
...@@ -506,30 +510,18 @@ eggs += ...@@ -506,30 +510,18 @@ eggs +=
ipywidgets ipywidgets
requests requests
[zope-product-with-eggtestinfo]
[egg-with-zope-proxy]
recipe = zc.recipe.egg:custom recipe = zc.recipe.egg:custom
setup-eggs = setup-eggs =
eggtestinfo zope.proxy
egg = ${:_buildout_section_name_} egg = ${:_buildout_section_name_}
[zope.security]
[Products.CMFUid] <= egg-with-zope-proxy
<= zope-product-with-eggtestinfo [zope.container]
[Products.CMFActionIcons] <= egg-with-zope-proxy
<= zope-product-with-eggtestinfo setup-eggs +=
[Products.CMFCalendar] ${persistent:egg}
<= zope-product-with-eggtestinfo
[Products.CMFCore]
<= zope-product-with-eggtestinfo
[Products.CMFDefault]
<= zope-product-with-eggtestinfo
[Products.CMFTopic]
<= zope-product-with-eggtestinfo
[Products.DCWorkflow]
<= zope-product-with-eggtestinfo
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
Products.DCWorkflow-patch-options = -p1
[Products.GenericSetup]
<= zope-product-with-eggtestinfo
[eggs] [eggs]
<= neoppod <= neoppod
...@@ -614,6 +606,8 @@ eggs = ${neoppod:eggs} ...@@ -614,6 +606,8 @@ eggs = ${neoppod:eggs}
xlrd xlrd
# Zope # Zope
${zope.security:egg}
${zope.container:egg}
Zope2 Zope2
${tempstorage:egg} ${tempstorage:egg}
# Zope acquisition patch # Zope acquisition patch
...@@ -623,27 +617,11 @@ eggs = ${neoppod:eggs} ...@@ -623,27 +617,11 @@ eggs = ${neoppod:eggs}
# Other Zope 2 packages # Other Zope 2 packages
Products.PluggableAuthService Products.PluggableAuthService
Products.PluginRegistry Products.DCWorkflow
# CMF 2.2
${Products.CMFActionIcons:egg}
${Products.CMFCalendar:egg}
${Products.CMFCore:egg}
${Products.CMFDefault:egg}
${Products.CMFTopic:egg}
${Products.CMFUid:egg}
${Products.DCWorkflow:egg}
${Products.GenericSetup:egg}
five.localsitemanager
# Other products # Other products
Products.MimetypesRegistry Products.MimetypesRegistry
Products.TIDStorage Products.TIDStorage
haufe.requestmonitoring
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
# (for tests like testCookieCrumbler).
zope.app.testing
# Currently forked in our repository # Currently forked in our repository
# Products.PortalTransforms # Products.PortalTransforms
...@@ -677,6 +655,21 @@ eggs = ${neoppod:eggs} ...@@ -677,6 +655,21 @@ eggs = ${neoppod:eggs}
strict-rfc3339 strict-rfc3339
jsonschema[format] jsonschema[format]
# Used by zope4
docutils
zLOG
Products.ZSQLMethods
ZServer
Products.ExternalMethod
Products.SiteErrorLog
tempstorage
Products.DCWorkflow
Products.Sessions
Products.ZODBMountPoint
Record
haufe.requestmonitoring
Zope
entry-points = entry-points =
runwsgi=Products.ERP5.bin.zopewsgi:runwsgi runwsgi=Products.ERP5.bin.zopewsgi:runwsgi
scripts = scripts =
...@@ -695,10 +688,12 @@ extra-paths = ...@@ -695,10 +688,12 @@ extra-paths =
# patches for eggs # patches for eggs
patch-binary = ${patch:location}/bin/patch patch-binary = ${patch:location}/bin/patch
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic-4.7.patch#85b0090e216cead0fc86c5c274450d96
Acquisition-patch-options = -p1
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method-2.4.1.patch#ec7bb56a9f1d37fcbf960cd1e96e6e6d
Products.DCWorkflow-patch-options = -p1
PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8 PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8
PyPDF2-patch-options = -p1 PyPDF2-patch-options = -p1
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic-2.13.12.patch#1d9a56e9af4371f5b6951ebf217a15d7
Acquisition-patch-options = -p1
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068 python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
python-magic-patch-options = -p1 python-magic-patch-options = -p1
# backported security patches for waitress-1.4.4 from Debian 1.4.4-1.1+deb11u1 package. # backported security patches for waitress-1.4.4 from Debian 1.4.4-1.1+deb11u1 package.
...@@ -741,8 +736,8 @@ depends = ...@@ -741,8 +736,8 @@ depends =
# neoppod, mysqlclient, slapos.recipe.template # neoppod, mysqlclient, slapos.recipe.template
# patched eggs # patched eggs
Acquisition = 2.13.12+SlapOSPatched001 Acquisition = 4.7+SlapOSPatched001
Products.DCWorkflow = 2.2.4+SlapOSPatched001 Products.DCWorkflow = 2.4.1+SlapOSPatched001
ocropy = 1.0+SlapOSPatched001 ocropy = 1.0+SlapOSPatched001
pysvn = 1.9.15+SlapOSPatched001 pysvn = 1.9.15+SlapOSPatched001
python-ldap = 2.4.32+SlapOSPatched001 python-ldap = 2.4.32+SlapOSPatched001
...@@ -754,129 +749,121 @@ pylint = 1.4.4+SlapOSPatched002 ...@@ -754,129 +749,121 @@ pylint = 1.4.4+SlapOSPatched002
# astroid 1.4.1 breaks testDynamicClassGeneration # astroid 1.4.1 breaks testDynamicClassGeneration
astroid = 1.3.8+SlapOSPatched001 astroid = 1.3.8+SlapOSPatched001
# use newer version than specified in ZTK
PasteDeploy = 1.5.2
argparse = 1.4.0
zope.dottedname = 4.1.0
# modified version that works fine for buildout installation # modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001 SOAPpy = 0.12.0nxd001
# CMF 2.3 is not yet supported.
Products.CMFCalendar = 2.2.3
Products.CMFCore = 2.2.10
Products.CMFDefault = 2.2.4
Products.CMFTopic = 2.2.1
Products.CMFUid = 2.2.1
# newer version requires zope.traversing>=4.0.0a2.
zope.app.appsetup = 3.16.0
# newer version requires zope.i18n>=4.0.0a3
zope.app.publication = 3.14.0
# newer version requires zope.testbrowser>=4
zope.app.testing = 3.8.1
# Pinned versions # Pinned versions
alabaster = 0.7.12
APacheDEX = 1.8 APacheDEX = 1.8
Pillow = 6.2.2 Beaker = 1.11.0
Products.CMFActionIcons = 2.1.3 beautifulsoup4 = 4.8.2
Products.GenericSetup = 1.8.6 cloudpickle = 0.5.3
haufe.requestmonitoring = 0.6.0 cookies = 2.2.1
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition. dask = 0.18.1
Products.MimetypesRegistry = 2.0.10 deepdiff = 3.3.0
Products.PluggableAuthService = 1.10.0
Products.PluginRegistry = 1.4
Products.TIDStorage = 5.5.0
pyPdf = 1.13
PyStemmer = 1.3.0
Pympler = 0.4.3
StructuredText = 2.11.1
WSGIUtils = 0.7
erp5-coverage-plugin = 0.0.1 erp5-coverage-plugin = 0.0.1
erp5diff = 0.8.1.8 erp5diff = 0.8.1.8
facebook-sdk = 2.0.0
five.formlib = 1.0.4 five.formlib = 1.0.4
five.localsitemanager = 2.0.5 fpconst = 0.7.2
future = 0.18.2
google-api-python-client = 1.6.1 google-api-python-client = 1.6.1
graphviz = 0.5.2
haufe.requestmonitoring = 0.6.0
html5lib = 1.1
httplib2 = 0.10.3 httplib2 = 0.10.3
huBarcode = 1.0.0 huBarcode = 1.0.0
interval = 1.0.0 interval = 1.0.0
ipdb = 0.10.2 ipdb = 0.10.2
jdcal = 1.3
jedi = 0.15.1
jsonpickle = 0.9.6
jsonpointer = 2.2
logilab-common = 1.3.0 logilab-common = 1.3.0
Mako = 1.1.4
mechanize = 0.4.8
mpmath = 0.19
munnel = 0.3 munnel = 0.3
networkx = 2.1
nt-svcutils = 2.13.0 nt-svcutils = 2.13.0
numpy = 1.13.1
oauth2client = 4.0.0 oauth2client = 4.0.0
oauthlib = 3.1.0 oauthlib = 3.1.0
objgraph = 3.1.0 objgraph = 3.1.0
oic = 0.15.1
olefile = 0.44
openpyxl = 2.4.8
pandas = 0.19.2
parso = 0.5.1
Pillow = 6.2.2
polib = 1.0.8 polib = 1.0.8
pprofile = 2.0.4 pprofile = 2.0.4
Products.CMFCore = 2.7.0
Products.ExternalMethod = 4.7
Products.GenericSetup = 2.3.0
Products.MailHost = 4.13
Products.MimetypesRegistry = 2.1.8
Products.PluggableAuthService = 2.8.1
Products.PluginRegistry = 1.6
Products.PythonScripts = 4.15
Products.Sessions = 4.15
Products.SiteErrorLog = 5.7
Products.StandardCacheManagers = 4.2
Products.TIDStorage = 5.5.0
Products.ZODBMountPoint = 1.3
Products.ZSQLMethods = 3.16
pyasn1-modules = 0.0.8 pyasn1-modules = 0.0.8
pycountry = 17.1.8 pycountry = 17.1.8
pycrypto = 2.6.1 pycrypto = 2.6.1
pycryptodomex = 3.10.1
pyflakes = 1.5.0 pyflakes = 1.5.0
pyjwkest = 1.4.2
Pympler = 0.4.3
pyPdf = 1.13
PyStemmer = 1.3.0
pytesseract = 0.2.2
python-libmilter = 1.0.3
python-memcached = 1.58 python-memcached = 1.58
pytracemalloc = 1.2 pytracemalloc = 1.2
PyWavelets = 0.5.2
qrcode = 5.3 qrcode = 5.3
responses = 0.10.6
rfc3987 = 1.3.8
rsa = 3.4.2 rsa = 3.4.2
scikit-image = 0.14.0
scipy = 0.19.0
soupsieve = 1.9.5
spyne = 2.12.14 spyne = 2.12.14
strict-rfc3339 = 0.7
StructuredText = 2.11.1
suds = 0.4 suds = 0.4
facebook-sdk = 2.0.0 toolz = 0.9.0
unidiff = 0.5.5
urlnorm = 1.1.4 urlnorm = 1.1.4
uuid = 1.30 uuid = 1.30
validictory = 1.1.0 validictory = 1.1.0
webcolors = 1.10
webencodings = 0.5.1
WebOb = 1.8.5
WebTest = 2.0.33
WSGIProxy2 = 0.4.6
WSGIUtils = 0.7
xfw = 0.10 xfw = 0.10
xupdate-processor = 0.5 xupdate-processor = 0.5
scikit-image = 0.14.0 yapf = 0.28.0
PyWavelets = 0.5.2 z3c.etestbrowser = 3.0.1
networkx = 2.1
pytesseract = 0.2.2
zbarlight = 2.3 zbarlight = 2.3
cloudpickle = 0.5.3 zLOG = 3.1
dask = 0.18.1 zope.app.appsetup = 4.2.0
toolz = 0.9.0
zope.globalrequest = 1.5
Products.ZSQLMethods = 2.13.5
fpconst = 0.7.2
graphviz = 0.5.2
olefile = 0.44
python-libmilter = 1.0.3
zope.app.debug = 3.4.1 zope.app.debug = 3.4.1
zope.app.dependable = 3.5.1 zope.app.dependable = 3.5.1
zope.app.form = 4.0.2 zope.app.form = 5.1.0
mpmath = 0.19 zope.app.publication = 4.5
openpyxl = 2.4.8 zope.app.testing = 4.0.0
jdcal = 1.3 zope.authentication = 5.0
deepdiff = 3.3.0 zope.error = 4.6
unidiff = 0.5.5 zope.minmax = 2.3
jsonpickle = 0.9.6 zope.password = 4.4
responses = 0.10.6 zope.session = 4.5
cookies = 2.2.1
jedi = 0.15.1
parso = 0.5.1
yapf = 0.28.0
z3c.etestbrowser = 3.0.1
zope.testbrowser = 5.5.1 zope.testbrowser = 5.5.1
WSGIProxy2 = 0.4.6
WebTest = 2.0.33
beautifulsoup4 = 4.8.2
WebOb = 1.8.5
soupsieve = 1.9.5
eggtestinfo = 0.3
oic = 0.15.1
Beaker = 1.11.0
Mako = 1.1.4
pyjwkest = 1.4.2
alabaster = 0.7.12
future = 0.18.2
pycryptodomex = 3.10.1
strict-rfc3339 = 0.7
webcolors = 1.10
rfc3987 = 1.3.8
jsonpointer = 2.2
pandas = 0.19.2
numpy = 1.13.1
scipy = 0.19.0
ZConfig = 2.9.3
[buildout]
# Version pins for required and commonly used dependencies.
[versions] [versions]
Zope2 = 2.13.30 Zope = 4.8.7
AccessControl = 2.13.16 Zope2 = 4.0
Acquisition = 2.13.12 # AccessControl 5+ no longer supports Zope 4.
DateTime = 2.12.8 AccessControl = 4.3
DocumentTemplate = 2.13.6 Acquisition = 4.13
ExtensionClass = 2.13.2 AuthEncoding = 4.3
Jinja2 = 2.8.1 BTrees = 4.11.3
MarkupSafe = 1.1.1 Chameleon = 3.10.2
Missing = 2.13.1 DateTime = 4.9
MultiMapping = 2.13.0 DocumentTemplate = 4.1
Paste = 1.7.5.1 ExtensionClass = 4.9
PasteDeploy = 1.3.4 Missing = 4.2
PasteScript = 1.7.5 MultiMapping = 4.1
Persistence = 2.13.2 Paste = 3.5.2
Products.BTreeFolder2 = 2.13.5 PasteDeploy = 3.0.1
Products.ExternalMethod = 2.13.1 Persistence = 3.6
Products.MIMETools = 2.13.0 Products.BTreeFolder2 = 4.4
Products.MailHost = 2.13.4 # ZCatalog 6+ no longer supports Zope 4.
Products.OFSP = 2.13.2 Products.ZCatalog = 5.4
Products.PythonScripts = 2.13.2 Record = 3.6
Products.Sessions = 3.0 # RestrictedPython >= 6 no longer supports Zope 4
Products.StandardCacheManagers = 2.13.1 RestrictedPython = 5.2
Products.TemporaryFolder = 3.0 WSGIProxy2 = 0.5.1
Products.ZCTextIndex = 2.13.5 WebOb = 1.8.7
Products.ZCatalog = 2.13.30 WebTest = 3.0.0
Record = 2.13.0 ZConfig = 3.6.1
RestrictedPython = 3.6.0 ZEO = 5.3.0
Sphinx = 1.0.8 ZODB = 5.8.0
ZConfig = 2.9.3 five.globalrequest = 99.1
ZODB3 = 3.10.7 five.localsitemanager = 3.4
ZServer = 3.0 funcsigs = 1.0.2
ZopeUndo = 2.12.0 future = 0.18.2
appdirs = 1.4.3 ipaddress = 1.0.23
configparser = 4.0.2 mock = 4.0.3
contextlib2 = 0.6.0.post1 multipart = 0.2.4
distlib = 0.3.0 pbr = 5.11.0
docutils = 0.12 persistent = 4.9.3
filelock = 3.0.12 pytz = 2022.7
importlib-metadata = 1.3.0 roman = 3.3
importlib-resources = 1.0.2 shutilwhich = 1.1.0
initgroups = 2.13.0 six = 1.16.0
mechanize = 0.2.5 transaction = 3.0.1
more-itertools = 5.0.0 waitress = 2.1.2
mr.developer = 1.34 z3c.pt = 3.3.1
packaging = 20.1 zExceptions = 4.3
pathlib2 = 2.3.5 zc.lockfile = 2.0
pluggy = 0.13.1 zdaemon = 4.4
py = 1.8.1 zodbpickle = 2.6
pyparsing = 2.4.6 zope.annotation = 4.8
pytz = 2017.2 zope.browser = 2.4
repoze.retry = 1.2 zope.browsermenu = 4.4
repoze.tm2 = 1.0 zope.browserpage = 4.4.0
repoze.who = 2.0 zope.browserresource = 4.4
scandir = 1.10.0 zope.cachedescriptors = 4.4
six = 1.14.0 zope.component = 5.0.1
tempstorage = 2.12.2 zope.componentvocabulary = 2.3.0
toml = 0.10.0 zope.configuration = 4.4.1
tox = 3.14.4 zope.container = 4.10
transaction = 1.1.1 zope.contentprovider = 4.2.1
typing = 3.7.4.1 zope.contenttype = 4.6
virtualenv = 20.0.4 zope.datetime = 4.3.0
z3c.checkversions = 1.1 zope.deferredimport = 4.4
zExceptions = 2.13.0 zope.deprecation = 4.4.0
zLOG = 2.11.2 zope.dottedname = 5.0
zc.buildout = 2.3.1 zope.event = 4.6
zc.lockfile = 1.0.2 zope.exceptions = 4.6
zc.recipe.egg = 2.0.5 zope.filerepresentation = 5.0.0
zc.recipe.testrunner = 1.2.1 zope.formlib = 5.0.1
zdaemon = 2.0.7 zope.globalrequest = 1.6
zipp = 0.6.0 zope.hookable = 5.4
zope.annotation = 3.5.0 zope.i18n = 4.9.0
zope.broken = 3.6.0 zope.i18nmessageid = 5.1.1
zope.browser = 1.3 zope.interface = 5.5.2
zope.browsermenu = 3.9.1 zope.lifecycleevent = 4.4
zope.browserpage = 3.12.2 zope.location = 4.3
zope.browserresource = 3.10.3 zope.pagetemplate = 4.6.0
zope.component = 3.9.5 zope.processlifetime = 2.4
zope.configuration = 3.7.4 zope.proxy = 4.6.1
zope.container = 3.11.2 zope.ptresource = 4.3.0
zope.contentprovider = 3.7.2 zope.publisher = 6.1.0
zope.contenttype = 3.5.5 zope.ramcache = 2.4
zope.deferredimport = 3.5.3 zope.schema = 6.2.1
zope.dottedname = 3.4.6 zope.security = 5.8
zope.event = 3.5.2 zope.sendmail = 5.3
zope.exceptions = 3.6.2 zope.sequencesort = 4.2
zope.filerepresentation = 3.6.1 zope.site = 4.6.1
zope.i18n = 3.7.4 zope.size = 4.4
zope.i18nmessageid = 3.5.3 zope.structuredtext = 4.4
zope.interface = 3.6.8 zope.tal = 4.5
zope.lifecycleevent = 3.6.2 zope.tales = 5.2
zope.location = 3.9.1 zope.testbrowser = 5.6.1
zope.pagetemplate = 3.5.2 zope.testing = 4.10
zope.processlifetime = 1.0 zope.testrunner = 5.6
zope.proxy = 3.6.1 zope.traversing = 4.4.1
zope.ptresource = 3.9.0 zope.viewlet = 4.3
zope.publisher = 3.12.6
zope.schema = 3.7.1 [versions:python27]
zope.security = 3.7.4 # Chameleon 3.10 doesn't work on Python 2.7
zope.sendmail = 3.7.5 Chameleon = 3.9.1
zope.sequencesort = 3.4.0 # DocumentTemplate 4+ requires Python 3.5 or higher
zope.site = 3.9.2 DocumentTemplate = 3.4
zope.size = 3.4.1 # PasteDeploy >3 requires Python 3.7
zope.structuredtext = 3.5.1 PasteDeploy = 2.1.1
zope.tal = 3.5.2 # WSGIProxy 0.5 and up requires Python 3.7 and up
zope.tales = 3.5.3 WSGIProxy2 = 0.4.6
zope.testbrowser = 3.11.1 # WebTest 3.0 and up requires Python 3.6 and up
zope.testing = 3.9.7 WebTest = 2.0.35
zope.traversing = 3.13.2 # ZServer is only available for Python 2
zope.viewlet = 3.7.2 ZServer = 4.0.2
# mock 4.0 and up requires Python 3.6 or higher
mock = 3.0.5
# multipart 0.2 and up requires Python 3
multipart = 0.1.1
# waitress 2 requires Python 3.6 or higher
waitress = 1.4.4
# zope.dottedname >= 5 requires Python 3.6 or higher
zope.dottedname = 4.3
[versions:python35]
# DocumentTemplate 4+ cannot be installed on Zope 4 for Python 3.5
DocumentTemplate = 3.4
# PasteDeploy >3 requires Python 3.7
PasteDeploy = 2.1.1
# WSGIProxy 0.5 and up requires Python 3.7 and up
WSGIProxy2 = 0.4.6
# WebTest 3.0 and up requires Python 3.6 and up
WebTest = 2.0.35
# mock 4.0 and up requires Python 3.6 or higher
mock = 3.0.5
# waitress 2 requires Python 3.6 or higher
waitress = 1.4.4
# zope.dottedname >= 5 requires Python 3.6 or higher
zope.dottedname = 4.3
[versions:python36]
# PasteDeploy >3 requires Python 3.7
PasteDeploy = 2.1.1
# WSGIProxy 0.5 and up requires Python 3.7 and up
WSGIProxy2 = 0.4.6
# waitress 2.1 requires Python 3.7 or higher
waitress = 2.0.0
[buildout]
extends =
zope-versions.cfg
versions = versions
[versions] [versions]
# ZTK # Version pins for development and optional dependencies.
zope.annotation = 3.5.0 Babel = 2.11.0
zope.applicationcontrol = 3.5.5 Jinja2 = 3.1.2
zope.authentication = 3.7.1 MarkupSafe = 2.1.1
zope.broken = 3.6.0 Pygments = 2.13.0
zope.browser = 1.3 Sphinx = 5.3.0
zope.browsermenu = 3.9.1 alabaster = 0.7.12
zope.browserpage = 3.12.2 backports.functools-lru-cache = 1.6.4
zope.browserresource = 3.10.3 beautifulsoup4 = 4.11.1
zope.cachedescriptors = 3.5.1 certifi = 2022.12.7
zope.catalog = 3.8.2 cffi = 1.15.1
zope.component = 3.9.5 chardet = 5.1.0
zope.componentvocabulary = 1.0.1 # requests 2.28.1 requires charset-normalizer <3
zope.configuration = 3.7.4 charset-normalizer = 2.1.1
zope.container = 3.11.2 collective.recipe.template = 2.2
zope.contentprovider = 3.7.2 # sphinx-rtd-theme 1.1.1 requires docutils <0.18
zope.contenttype = 3.5.5 docutils = 0.17.1
zope.copy = 3.5.0 idna = 3.4
zope.copypastemove = 3.7.0 imagesize = 1.4.1
zope.datetime = 3.4.1 importlib-metadata = 5.1.0
zope.deferredimport = 3.5.3 mr.developer = 2.0.1
zope.deprecation = 3.4.1 packaging = 22.0
zope.dottedname = 3.4.6 plone.recipe.command = 1.1
zope.dublincore = 3.7.1 pyparsing = 3.0.9
zope.error = 3.7.4 pycparser = 2.21
zope.event = 3.5.2 python-gettext = 4.1
zope.exceptions = 3.6.2 requests = 2.28.1
zope.filerepresentation = 3.6.1 singledispatch = 3.7.0
zope.formlib = 4.0.6 snowballstemmer = 2.2.0
zope.hookable = 3.4.1 soupsieve = 2.3.2.post1
zope.i18n = 3.7.4 sphinx-rtd-theme = 1.1.1
zope.i18nmessageid = 3.5.3 sphinxcontrib-applehelp = 1.0.2
zope.index = 3.6.4 sphinxcontrib-devhelp = 1.0.2
zope.interface = 3.6.7 sphinxcontrib-htmlhelp = 2.0.0
zope.intid = 3.7.2 sphinxcontrib-jsmath = 1.0.1
zope.keyreference = 3.6.4 sphinxcontrib-qthelp = 1.0.3
zope.lifecycleevent = 3.6.2 sphinxcontrib-serializinghtml = 1.1.5
zope.location = 3.9.1 sphinxcontrib-websupport = 1.2.4
zope.login = 1.0.0 # tempstorage is only needed because the Sphinx documentation parses
zope.mimetype = 1.3.1 # ZConfig xml configurations, which still contain references to it
zope.minmax = 1.1.2 tempstorage = 5.2
zope.pagetemplate = 3.5.2 typing = 3.10.0.0
zope.password = 3.6.1 typing-extensions = 4.4.0
zope.pluggableauth = 1.0.3 urllib3 = 1.26.13
zope.principalannotation = 3.6.1 z3c.checkversions = 1.2
zope.principalregistry = 3.7.1 zc.recipe.egg = 2.0.7
zope.processlifetime = 1.0 zc.recipe.testrunner = 2.2
zope.proxy = 3.6.1 zodbupdate = 1.5
zope.ptresource = 3.9.0 zipp = 3.11.0
zope.publisher = 3.12.6
zope.ramcache = 1.0
zope.schema = 3.7.1
zope.security = 3.7.4
zope.securitypolicy = 3.7.0
zope.sendmail = 3.7.5
zope.sequencesort = 3.4.0
zope.server = 3.6.3
zope.session = 3.9.5
zope.site = 3.9.2
zope.size = 3.4.1
zope.structuredtext = 3.5.1
zope.tal = 3.5.2
zope.tales = 3.5.3
zope.testing = 3.9.7
zope.traversing = 3.13.2
zope.viewlet = 3.7.2
# Deprecating [versions:python27]
zope.documenttemplate = 3.4.3 # Babel 2.10 requires Python 3.6
Babel = 2.9.1
# Jinja2 3 and up needs Python 3.6 or higher
Jinja2 = 2.11.3
# MarkupSafe 2+ needs Python 3.6 or higher
MarkupSafe = 1.1.1
# Pygments 2.6.0 and up require Python 3
Pygments = 2.5.2
# Version 2.0+ needs Python 3.x
Sphinx = 1.8.5
# beautifulsoup4 4.10 and up requires Python 3
beautifulsoup4 = 4.9.3
# Version 2020.4.5.2 and up claim no Python 2 support
certifi = 2020.4.5.1
# chardet >5 requires Python 3.6
chardet = 4.0.0
# charset-normalizer >=2.1 requires Python 3.6
charset-normalizer = 2.0.12
# idna 3 and up require Python 3
idna = 2.10
# packaging 21 and up requires Python 3.6
packaging = 20.9
# pip 21 and up require Python 3
pip = 20.3.4
# pyparsing 3 and up require Python 3.6
pyparsing = 2.4.7
# requests >= 2.28 requires Python 3.7
requests = 2.27.1
# soupsieve 2 needs Python 3
soupsieve = 1.9.6
# typing-extensions >= 4 requires Python 3.6
typing-extensions = 3.10.0.2
# Dependencies [versions:python35]
# Needed for the mechanize 0.1.x. # Babel 2.10 requires Python 3.6
ClientForm = 0.2.10 Babel = 2.9.1
distribute = 0.6.49 # Jinja2 3 and up needs Python 3.6 or higher
docutils = 0.7 Jinja2 = 2.11.3
Jinja2 = 2.5.5 # MarkupSafe 2+ needs Python 3.6 or higher
# Newer versions of mechanize are not fully py24 compatible. MarkupSafe = 1.1.1
mechanize = 0.1.11 # Pygments version 2.12 requires Python 3.6
Paste = 1.7.5.1 Pygments = 2.11.2
PasteDeploy = 1.3.4 # Version 4 needs Python 3.6 or higher
PasteScript = 1.7.5 Sphinx = 3.5.4
py = 1.3.4 # beautifulsoup4 4.11 and up requires Python 3.6
Pygments = 1.3.1 beautifulsoup4 = 4.10.0
python-gettext = 1.0 # certifi 2022 dropped support for Python 3.5
pytz = 2013b certifi = 2021.10.8
RestrictedPython = 3.6.0 # cffi 1.15 dropped support for Python 3.5
setuptools = 12.2 cffi = 1.14.6
Sphinx = 1.0.8 # chardet >5 requires Python 3.6
transaction = 1.1.1 chardet = 4.0.0
unittest2 = 0.5.1 # charset-normalizer >=2.1 requires Python 3.6
z3c.recipe.sphinxdoc = 0.0.8 charset-normalizer = 2.0.12
zc.buildout = 2.3.1 # packaging 21 and up requires Python 3.6
zc.lockfile = 1.0.2 packaging = 20.9
ZConfig = 2.8.0 # pyparsing 3 and up require Python 3.6
zc.recipe.egg = 1.3.2 pyparsing = 2.4.7
zc.recipe.testrunner = 1.2.1 # requests >= 2.28 requires Python 3.7
zc.resourcelibrary = 1.3.4 requests = 2.27.1
zdaemon = 2.0.7 # soupsieve 2.2 needs Python 3.6
ZODB3 = 3.9.7 soupsieve = 2.1
zope.mkzeoinstance = 3.9.6 # typing-extensions >= 4 requires Python 3.6
typing-extensions = 3.10.0.2
# Sphinx==3.5.4 requires docutils < 0.17
docutils = 0.16
# toolchain [versions:python36]
argparse = 1.1 # Jinja2 3.1 and up needs Python 3.7 or higher
coverage = 3.5.3 Jinja2 = 3.0.3
lxml = 2.2.8 # MarkupSafe 2.1 needs Python 3.7 or higher
mr.developer = 1.25 MarkupSafe = 2.0.1
tl.eggdeps = 0.4 # chardet >=5.1 requires Python 3.7
nose = 1.1.2 chardet = 5.0.0
z3c.checkversions = 0.4.2 # packaging >= 22 requires Python 3.7
z3c.recipe.compattest = 0.12.2 packaging = 21.3
z3c.recipe.depgraph = 0.5 # requests >= 2.28 requires Python 3.7
zope.kgs = 1.2.0 requests = 2.27.1
# soupsieve 2.3.2 droppen Python 3.6 support
soupsieve = 2.3.1
# typing-extensions >= 4.2 requires Python 3.7
typing-extensions = 4.1.1
...@@ -338,7 +338,7 @@ ZConfig = 3.6.1 ...@@ -338,7 +338,7 @@ ZConfig = 3.6.1
zdaemon = 4.2.0 zdaemon = 4.2.0
zipp = 3.12.0:whl zipp = 3.12.0:whl
zodburi = 2.5.0 zodburi = 2.5.0
zope.event = 3.5.2 zope.event = 4.6.0
zope.interface = 5.4.0 zope.interface = 5.4.0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment