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

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 36a43ac0c6c53be4db8204d528b4193e9d548426
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:ztk-20210121
Merge into: launchpad:master
Diff against target: 228 lines (+46/-40)
3 files modified
lib/lp/code/model/gitref.py (+5/-0)
requirements/launchpad.txt (+3/-5)
requirements/ztk-versions.cfg (+38/-35)
Reviewer Review Type Date Requested Status
Cristian Gonzalez (community) Approve
Review via email: mp+397226@code.launchpad.net

Commit message

Upgrade to ZTK 9cb420f598 (2021-01-21)

Description of the change

This is mainly straightforward, as we'd already taken most of the substantial changes that affect us individually, but we do need a couple of new workarounds:

 * We have to pin bcrypt to 3.1.7; ztk-versions.cfg now prefers 3.2.0 on Python 3, but that drops support for Python 3.5 and hence Python 3 on xenial. This may become more of an issue in future, but for now it's tolerable.

 * zope.interface 5.1.0 caused new failures in two tests related to GitRefDatabaseBackedMixin, I think because of some bare except statements being narrowed to catch only AttributeError. Fixed by explicitly defining __conform__ so that it doesn't fall through to __getattr__ and try to fetch rows from the database while adapting to ITraversable.

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

To post a comment you must log in.
Revision history for this message
Cristian Gonzalez (cristiangsp) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/lib/lp/code/model/gitref.py b/lib/lp/code/model/gitref.py
2index 6d5559e..14ef25b 100644
3--- a/lib/lp/code/model/gitref.py
4+++ b/lib/lp/code/model/gitref.py
5@@ -688,6 +688,11 @@ class GitRefDatabaseBackedMixin(GitRefMixin):
6 def __hash__(self):
7 return hash(self.repository) ^ hash(self.path) ^ hash(self.commit_sha1)
8
9+ # zope.interface tries to use this during adaptation (e.g. to
10+ # ITraversable), and we don't want that to attempt a database lookup via
11+ # __getattr__.
12+ __conform__ = None
13+
14
15 @implementer(IGitRef)
16 class GitRefDefault(GitRefDatabaseBackedMixin):
17diff --git a/requirements/launchpad.txt b/requirements/launchpad.txt
18index 287664c..1317a65 100644
19--- a/requirements/launchpad.txt
20+++ b/requirements/launchpad.txt
21@@ -14,6 +14,9 @@ attrs==19.1.0
22 Automat==0.6.0
23 backports.functools-lru-cache==1.5
24 backports.lzma==0.0.3
25+# ztk-versions.cfg uses 3.2.0 on Python 3, but that drops support for Python
26+# 3.5. Pin to 3.1.7 until we no longer care about xenial.
27+bcrypt==3.1.7
28 beautifulsoup4==4.7.1
29 billiard==3.5.0.5
30 bleach==3.1.0
31@@ -85,7 +88,6 @@ mistune==0.8.3
32 mock==1.0.1
33 mocker==1.1.1
34 monotonic==1.5
35-multipart==0.1.1; python_version < "3"
36 multipart==0.2.4; python_version >= "3"
37 netaddr==0.7.19
38 oauth==1.0
39@@ -141,7 +143,6 @@ setuptools-scm==3.4.3
40 simplejson==3.8.2
41 SimpleTAL==4.3; python_version < "3"
42 SimpleTAL==5.2; python_version >= "3"
43-six==1.15.0
44 soupmatchers==0.4
45 soupsieve==1.9
46 statsd==3.3.0
47@@ -181,13 +182,10 @@ zope.app.publication==4.3.1
48 zope.app.publisher==4.2.0
49 zope.app.server==4.0.0
50 zope.app.wsgi==4.3.0
51-zope.publisher==6.0.0
52-zope.sendmail==5.1
53 zope.server==4.0.2
54 # lp:~launchpad-committers/zope.session:launchpad
55 zope.session==4.3.0+lp1
56 zope.testbrowser==5.5.1
57-zope.testing==4.8
58 # lp:~launchpad-committers/zope.testrunner:launchpad
59 zope.testrunner==5.2+lp1
60 zope.vocabularyregistry==1.1.1
61diff --git a/requirements/ztk-versions.cfg b/requirements/ztk-versions.cfg
62index 37a3cfd..f484e39 100644
63--- a/requirements/ztk-versions.cfg
64+++ b/requirements/ztk-versions.cfg
65@@ -9,7 +9,7 @@ zope.browserpage = 4.4.0
66 zope.browserresource = 4.4
67 zope.cachedescriptors = 4.3.1
68 zope.catalog = 4.2.1
69-zope.component = 4.6.1
70+zope.component = 4.6.2
71 zope.componentvocabulary = 2.2.0
72 zope.configuration = 4.4.0
73 zope.container = 4.4.0
74@@ -23,15 +23,15 @@ zope.deprecation = 4.4.0
75 zope.dottedname = 4.3
76 zope.dublincore = 4.2.0
77 zope.error = 4.5.0
78-zope.event = 4.4
79-zope.exceptions = 4.3
80+zope.event = 4.5.0
81+zope.exceptions = 4.4
82 zope.filerepresentation = 5.0.0
83 zope.formlib = 4.7.1
84 zope.hookable = 5.0.1
85 zope.i18n = 4.7.0
86 zope.i18nmessageid = 5.0.1
87 zope.index = 5.0.0
88-zope.interface = 5.0.2
89+zope.interface = 5.1.0
90 zope.intid = 4.3.0
91 zope.keyreference = 4.2.0
92 zope.lifecycleevent = 4.3
93@@ -47,35 +47,36 @@ zope.principalregistry = 4.2.0
94 zope.processlifetime = 2.3.0
95 zope.proxy = 4.3.5
96 zope.ptresource = 4.2.0
97-zope.publisher = 5.2.0
98+zope.publisher = 6.0.0
99 zope.ramcache = 2.3
100 zope.schema = 6.0.0
101 zope.security = 5.1.1
102 zope.securitypolicy = 4.3.1
103-zope.sendmail = 5.0
104+zope.sendmail = 5.1
105 zope.session = 4.3.0
106-zope.site = 4.3.0
107+zope.site = 4.4.0
108 zope.size = 4.3
109 zope.structuredtext = 4.3
110 zope.tal = 4.4
111-zope.tales = 5.0.2
112-zope.testing = 4.7
113-zope.testrunner = 5.1
114+zope.tales = 5.1
115+zope.testing = 4.9
116+zope.testrunner = 5.2
117 zope.traversing = 4.4.1
118 zope.viewlet = 4.2.1
119
120 # Direct dependencies
121-BTrees = 4.7.1
122+BTrees = 4.7.2
123+multipart = 0.2.3
124 persistent = 4.6.4
125 python-gettext = 4.0
126-pytz = 2019.3
127-setuptools = 46.1.3
128-six = 1.14.0
129+pytz = 2020.1
130+setuptools = 50.3.0
131+six = 1.15.0
132 transaction = 3.0.0
133
134 # zope.password needs these
135-bcrypt = 3.1.7
136-cffi = 1.14.0
137+bcrypt = 3.2.0
138+cffi = 1.14.3
139 pycparser = 2.20
140
141 # Python2-only
142@@ -85,15 +86,15 @@ RestrictedPython = 3.6.0
143
144 # Testing dependencies
145 ZConfig = 3.5.0
146-ZODB = 5.5.1
147+ZODB = 5.6.0
148 argparse = 1.4.0
149 colorama = 0.4.3
150 extras = 1.0.0
151 fixtures = 3.0.0
152 linecache2 = 1.0.0
153 manuel = 1.10.1
154-pbr = 5.4.4
155-pyparsing = 2.4.6
156+pbr = 5.5.0
157+pyparsing = 2.4.7
158 python-mimeparse = 1.6.0
159 python-subunit = 1.4.0
160 testtools = 2.4.0
161@@ -105,25 +106,25 @@ zodbpickle = 2.0.0
162
163
164 # Testing tools
165-coverage = 5.0.4
166+coverage = 5.3
167 nose = 1.3.7
168
169 # Documentation dependencies
170-Sphinx = 2.4.4
171+Sphinx = 3.2.1
172 docutils = 0.16
173 imagesize = 1.2.0
174 alabaster = 0.7.12
175 babel = 2.8.0
176-Jinja2 = 2.11.1
177+Jinja2 = 2.11.2
178 MarkupSafe = 1.1.1
179-Pygments = 2.6.1
180+Pygments = 2.7.1
181 snowballstemmer = 2.0.0
182-lxml = 4.5.0
183+lxml = 4.5.2
184 repoze.sphinx.autointerface = 0.8
185-requests = 2.23.0
186-certifi = 2019.11.28
187-urllib3 = 1.25.8
188-idna = 2.9
189+requests = 2.24.0
190+certifi = 2020.6.20
191+urllib3 = 1.25.10
192+idna = 2.10
193 chardet = 3.0.4
194 sphinxcontrib-applehelp = 1.0.2
195 sphinxcontrib-devhelp = 1.0.2
196@@ -132,17 +133,17 @@ sphinxcontrib-jsmath = 1.0.1
197 sphinxcontrib-programoutput = 0.16
198 sphinxcontrib-qthelp = 1.0.3
199 sphinxcontrib-serializinghtml = 1.1.4
200-sphinxcontrib-websupport = 1.2.1
201-sphinx-rtd-theme = 0.4.3
202-packaging = 20.3
203-typing = 3.7.4.1
204+sphinxcontrib-websupport = 1.2.4
205+sphinx-rtd-theme = 0.5.0
206+packaging = 20.4
207+typing = 3.7.4.3
208 z3c.recipe.sphinxdoc = 1.1.0
209
210 # ZTK buildout dependencies
211 collective.recipe.cmd = 0.11
212-mr.developer = 2.0.0
213-z3c.checkversions = 1.1
214-z3c.recipe.compattest = 1.0
215+mr.developer = 2.0.1
216+z3c.checkversions = 1.2
217+z3c.recipe.compattest = 1.1.0
218 zc.buildout = 2.13.3
219 zc.recipe.egg = 2.0.7
220 zc.recipe.testrunner = 2.1
221@@ -150,5 +151,7 @@ zc.recipe.testrunner = 2.1
222 [versions:python27]
223 Pygments = 2.5.2
224 Sphinx = 1.8.5
225+bcrypt = 3.1.7
226+multipart = 0.1.1
227 setuptools = 44.0.0
228 sphinxcontrib-websupport = 1.1.2

Subscribers

People subscribed via source and target branches

to status/vote changes: