Merge ~cjwatson/launchpad:ztk-20200403 into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: e722d419580552e6f2228bfc5c39bbc0483ba008
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:ztk-20200403
Merge into: launchpad:master
Diff against target: 280 lines (+72/-69)
3 files modified
constraints.txt (+64/-63)
lib/lp/services/feeds/doc/feeds.txt (+3/-1)
lib/lp/services/tests/test_timeout.py (+5/-5)
Reviewer Review Type Date Requested Status
Thiago F. Pappacena (community) Approve
Review via email: mp+382875@code.launchpad.net

Commit message

Upgrade ZTK packages to 2020-04-03 versions

Description of the change

Dependencies MP: https://code.launchpad.net/~cjwatson/lp-source-dependencies/+git/lp-source-dependencies/+merge/382870

My main interest in this is that it fixes https://github.com/zopefoundation/zope.interface/issues/141 which causes lots of problems for Launchpad on Python 3, but it's good to keep things current anyway.

To post a comment you must log in.
Revision history for this message
Thiago F. Pappacena (pappacena) wrote :

LGTM, but I couldn't find some packages on the corresponding dependencies branch. Is that expected?

review: Approve
Revision history for this message
Colin Watson (cjwatson) wrote :

The first section of constraints.txt is phrased as a copy of https://github.com/zopefoundation/zopetoolkit/blob/master/ztk-versions.cfg mangled into the pip requirements format, and then some versions are commented out and followed by the real version we want to use in cases where we've upgraded ahead of ZTK or have a local fork. To make future upgrades easier and avoid compatibility problems in cases where we decide to pull in some previously-unused bits of ZTK, we don't remove the packages that we don't use. (This is why it's constraints.txt rather than requirements.txt.) As such, it's normal for there to be quite a few entries in constraints.txt that aren't in our dependencies branch, because the latter only includes things that we actually use, or at least that we have actually used at some point.

This isn't ideal, and there's a note at the top of the file about it already: while it preserves all the information we need for future upgrades, it's tedious and confusing to maintain. I think instead we should keep an unmodified copy of ztk-versions.cfg in our tree along with some overrides and additions, and have a script to build a unified requirements.txt from all those pieces. However, we haven't got around to this yet, so this is where we are at the moment.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/constraints.txt b/constraints.txt
index bc3d495..f5de6b2 100644
--- a/constraints.txt
+++ b/constraints.txt
@@ -11,84 +11,83 @@ zope.applicationcontrol==4.2.0
11zope.authentication==4.4.011zope.authentication==4.4.0
12zope.browser==2.312zope.browser==2.3
13zope.browsermenu==4.413zope.browsermenu==4.4
14zope.browserpage==4.3.014zope.browserpage==4.4.0
15zope.browserresource==4.315zope.browserresource==4.4
16zope.cachedescriptors==4.3.116zope.cachedescriptors==4.3.1
17zope.catalog==4.2.117zope.catalog==4.2.1
18zope.component==4.518zope.component==4.6.1
19zope.componentvocabulary==2.2.019zope.componentvocabulary==2.2.0
20zope.configuration==4.3.120zope.configuration==4.4.0
21zope.container==4.2.221zope.container==4.4.0
22zope.contentprovider==4.2.122zope.contentprovider==4.2.1
23zope.contenttype==4.423zope.contenttype==4.5.0
24zope.copy==4.224zope.copy==4.2
25zope.copypastemove==4.1.025zope.copypastemove==4.1.0
26zope.datetime==4.2.026zope.datetime==4.2.0
27zope.deferredimport==4.327zope.deferredimport==4.3.1
28zope.deprecation==4.4.028zope.deprecation==4.4.0
29zope.dottedname==4.329zope.dottedname==4.3
30zope.dublincore==4.2.030zope.dublincore==4.2.0
31zope.error==4.5.031zope.error==4.5.0
32zope.event==4.432zope.event==4.4
33zope.exceptions==4.333zope.exceptions==4.3
34zope.filerepresentation==4.2.034zope.filerepresentation==5.0.0
35zope.formlib==4.6.035zope.formlib==4.7.1
36zope.hookable==4.2.036zope.hookable==5.0.1
37zope.i18n==4.6.237zope.i18n==4.7.0
38zope.i18nmessageid==4.3.138zope.i18nmessageid==5.0.1
39zope.index==4.4.039zope.index==5.0.0
40zope.interface==4.6.040zope.interface==5.0.2
41zope.intid==4.3.041zope.intid==4.3.0
42zope.keyreference==4.2.042zope.keyreference==4.2.0
43zope.lifecycleevent==4.343zope.lifecycleevent==4.3
44zope.location==4.244zope.location==4.2
45zope.login==2.1.045zope.login==2.1.0
46zope.mimetype==2.4.046zope.mimetype==2.5.0
47zope.minmax==2.2.047zope.minmax==2.2.0
48zope.pagetemplate==4.4.148zope.pagetemplate==4.5.0
49zope.password==4.3.149zope.password==4.3.1
50zope.pluggableauth==2.3.050zope.pluggableauth==2.3.0
51zope.principalannotation==4.3.051zope.principalannotation==4.3.0
52zope.principalregistry==4.2.052zope.principalregistry==4.2.0
53zope.processlifetime==2.3.053zope.processlifetime==2.3.0
54zope.proxy==4.3.154zope.proxy==4.3.5
55zope.ptresource==4.2.055zope.ptresource==4.2.0
56zope.publisher==5.0.156zope.publisher==5.2.0
57zope.ramcache==2.357zope.ramcache==2.3
58zope.schema==4.9.358zope.schema==6.0.0
59zope.security==4.3.159zope.security==5.1.1
60zope.securitypolicy==4.3.160zope.securitypolicy==4.3.1
61zope.sendmail==5.061zope.sendmail==5.0
62#zope.session==4.3.062#zope.session==4.3.0
63# lp:~launchpad-committers/zope.session:launchpad63# lp:~launchpad-committers/zope.session:launchpad
64zope.session==4.3.0+lp164zope.session==4.3.0+lp1
65zope.site==4.2.265zope.site==4.3.0
66zope.size==4.366zope.size==4.3
67zope.structuredtext==4.367zope.structuredtext==4.3
68zope.tal==4.468zope.tal==4.4
69zope.tales==5.069zope.tales==5.0.2
70zope.testing==4.770zope.testing==4.7
71#zope.testrunner==5.071#zope.testrunner==5.1
72# lp:~launchpad-committers/zope.testrunner:launchpad72# lp:~launchpad-committers/zope.testrunner:launchpad
73zope.testrunner==5.1+lp273zope.testrunner==5.1+lp2
74zope.traversing==4.3.174zope.traversing==4.4.1
75zope.viewlet==4.2.175zope.viewlet==4.2.1
7676
77# Direct dependencies77# Direct dependencies
78BTrees==4.5.178BTrees==4.7.1
79persistent==4.4.379persistent==4.6.4
80python-gettext==4.080python-gettext==4.0
81pytz==2018.981pytz==2019.3
82# Handled in setup-requirements.txt instead.82# Handled in setup-requirements.txt instead.
83#setuptools==41.0.083#setuptools==44.0.0
84#six==1.12.0
85six==1.14.084six==1.14.0
86transaction==2.4.085transaction==3.0.0
8786
88# zope.password needs these87# zope.password needs these
89bcrypt==3.1.688bcrypt==3.1.7
90cffi==1.12.289cffi==1.14.0
91pycparser==2.1990pycparser==2.20
9291
93# Python2-only92# Python2-only
94zope.untrustedpython==4.0.093zope.untrustedpython==4.0.0
@@ -96,57 +95,60 @@ zope.untrustedpython==4.0.0
96RestrictedPython==3.6.095RestrictedPython==3.6.0
9796
98# Testing dependencies97# Testing dependencies
99ZConfig==3.4.098ZConfig==3.5.0
100ZODB==5.5.199ZODB==5.5.1
101argparse==1.4.0100argparse==1.4.0
102colorama==0.4.1101colorama==0.4.3
103extras==1.0.0102extras==1.0.0
104fixtures==3.0.0103fixtures==3.0.0
105linecache2==1.0.0104linecache2==1.0.0
106manuel==1.10.1105manuel==1.10.1
107pbr==5.1.3106pbr==5.4.4
108pyparsing==2.4.0107pyparsing==2.4.6
109python-mimeparse==1.6.0108python-mimeparse==1.6.0
110python-subunit==1.3.0109python-subunit==1.4.0
111testtools==2.3.0110testtools==2.4.0
112traceback2==1.4.0111traceback2==1.4.0
113#unittest2==1.1.0112#unittest2==1.1.0
114# lp1 Set version directly in setup.py to fix wheel building.113# lp1 Set version directly in setup.py to fix wheel building.
115unittest2==1.1.0+lp1114unittest2==1.1.0+lp1
116zc.lockfile==1.4115zc.lockfile==2.0
117zdaemon==4.3116zdaemon==4.3
118zodbpickle==1.0.3117zodbpickle==2.0.0
119118
120119
121# Testing tools120# Testing tools
122coverage==4.5.3121coverage==5.0.4
123nose==1.3.7122nose==1.3.7
124123
125# Documentation dependencies124# Documentation dependencies
126# We have to keep a version < 2 to still support Python 2
127Sphinx==1.8.5125Sphinx==1.8.5
128docutils==0.14126docutils==0.16
129imagesize==1.1.0127imagesize==1.2.0
130alabaster==0.7.12128alabaster==0.7.12
131babel==2.6.0129babel==2.8.0
132Jinja2==2.10.1130Jinja2==2.11.1
133MarkupSafe==1.1.1131MarkupSafe==1.1.1
134Pygments==2.3.1132Pygments==2.5.2
135snowballstemmer==1.2.1133snowballstemmer==2.0.0
136lxml==4.4.1134lxml==4.5.0
137repoze.sphinx.autointerface==0.8135repoze.sphinx.autointerface==0.8
138#requests==2.21.0136requests==2.23.0
139requests==2.22.0137certifi==2019.11.28
140certifi==2019.3.9138urllib3==1.25.8
141#urllib3==1.24.1139idna==2.9
142urllib3==1.25.3
143idna==2.8
144chardet==3.0.4140chardet==3.0.4
145sphinxcontrib-programoutput==0.14141sphinxcontrib-applehelp==1.0.2
146sphinxcontrib-websupport==1.1.0142sphinxcontrib-devhelp==1.0.2
143sphinxcontrib-htmlhelp==1.0.3
144sphinxcontrib-jsmath==1.0.1
145sphinxcontrib-programoutput==0.16
146sphinxcontrib-qthelp==1.0.3
147sphinxcontrib-serializinghtml==1.1.4
148sphinxcontrib-websupport==1.1.2
147sphinx-rtd-theme==0.4.3149sphinx-rtd-theme==0.4.3
148packaging==19.0150packaging==20.3
149typing==3.6.6151typing==3.7.4.1
150z3c.recipe.sphinxdoc==1.1.0152z3c.recipe.sphinxdoc==1.1.0
151153
152# ZTK buildout dependencies154# ZTK buildout dependencies
@@ -154,9 +156,9 @@ collective.recipe.cmd==0.11
154mr.developer==2.0.0156mr.developer==2.0.0
155z3c.checkversions==1.1157z3c.checkversions==1.1
156z3c.recipe.compattest==1.0158z3c.recipe.compattest==1.0
157zc.buildout==2.13.1159zc.buildout==2.13.3
158zc.recipe.egg==2.0.7160zc.recipe.egg==2.0.7
159zc.recipe.testrunner==2.0.0161zc.recipe.testrunner==2.1
160162
161# Launchpad163# Launchpad
162# ---------164# ---------
@@ -170,7 +172,6 @@ appdirs==1.4.3
170asn1crypto==0.23.0172asn1crypto==0.23.0
171attrs==19.1.0173attrs==19.1.0
172Automat==0.6.0174Automat==0.6.0
173Babel==2.5.1
174backports.functools-lru-cache==1.5175backports.functools-lru-cache==1.5
175backports.lzma==0.0.3176backports.lzma==0.0.3
176beautifulsoup4==4.7.1177beautifulsoup4==4.7.1
diff --git a/lib/lp/services/feeds/doc/feeds.txt b/lib/lp/services/feeds/doc/feeds.txt
index 02315cb..c0c1178 100644
--- a/lib/lp/services/feeds/doc/feeds.txt
+++ b/lib/lp/services/feeds/doc/feeds.txt
@@ -71,7 +71,9 @@ found.
71 >>> verifyObject(IThing, thing)71 >>> verifyObject(IThing, thing)
72 Traceback (most recent call last):72 Traceback (most recent call last):
73 ...73 ...
74 DoesNotImplement: ...74 MultipleInvalid: ...
75 Does not declaratively implement the interface
76 The lp.services.feeds.tests.helper.IThing.value attribute was not provided
75 >>> feed_view = getMultiAdapter((thing, request), name='thing-feed.atom')77 >>> feed_view = getMultiAdapter((thing, request), name='thing-feed.atom')
76 Traceback (most recent call last):78 Traceback (most recent call last):
77 ...79 ...
diff --git a/lib/lp/services/tests/test_timeout.py b/lib/lp/services/tests/test_timeout.py
index 33cdcdf..55db5bb 100644
--- a/lib/lp/services/tests/test_timeout.py
+++ b/lib/lp/services/tests/test_timeout.py
@@ -1,4 +1,4 @@
1# Copyright 2012-2019 Canonical Ltd. This software is licensed under the1# Copyright 2012-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4"""timeout.py tests.4"""timeout.py tests.
@@ -408,10 +408,10 @@ class TestTimeout(TestCase):
408408
409 def test_urlfetch_does_not_support_ftp_urls_by_default(self):409 def test_urlfetch_does_not_support_ftp_urls_by_default(self):
410 """urlfetch() does not support ftp urls by default."""410 """urlfetch() does not support ftp urls by default."""
411 url = 'ftp://localhost/'411 url = u'ftp://localhost/'
412 e = self.assertRaises(InvalidSchema, urlfetch, url)412 e = self.assertRaises(InvalidSchema, urlfetch, url)
413 self.assertEqual(413 self.assertEqual(
414 "No connection adapters were found for '%s'" % url, str(e))414 "No connection adapters were found for {!r}".format(url), str(e))
415415
416 def test_urlfetch_supports_ftp_urls_if_allow_ftp(self):416 def test_urlfetch_supports_ftp_urls_if_allow_ftp(self):
417 """urlfetch() supports ftp urls via a proxy if explicitly asked."""417 """urlfetch() supports ftp urls via a proxy if explicitly asked."""
@@ -444,10 +444,10 @@ class TestTimeout(TestCase):
444 """urlfetch() does not support file urls by default."""444 """urlfetch() does not support file urls by default."""
445 test_path = self.useFixture(TempDir()).join('file')445 test_path = self.useFixture(TempDir()).join('file')
446 write_file(test_path, b'')446 write_file(test_path, b'')
447 url = 'file://' + test_path447 url = u'file://' + test_path
448 e = self.assertRaises(InvalidSchema, urlfetch, url)448 e = self.assertRaises(InvalidSchema, urlfetch, url)
449 self.assertEqual(449 self.assertEqual(
450 "No connection adapters were found for '%s'" % url, str(e))450 "No connection adapters were found for {!r}".format(url), str(e))
451451
452 def test_urlfetch_supports_file_urls_if_allow_file(self):452 def test_urlfetch_supports_file_urls_if_allow_file(self):
453 """urlfetch() supports file urls if explicitly asked to do so."""453 """urlfetch() supports file urls if explicitly asked to do so."""

Subscribers

People subscribed via source and target branches

to status/vote changes: