Merge lp:~jelmer/loggerhead/drop-python3 into lp:loggerhead
- drop-python3
- Merge into trunk-rich
Status: | Merged |
---|---|
Approved by: | Colin Watson |
Approved revision: | no longer in the source branch. |
Merge reported by: | Otto Co-Pilot |
Merged at revision: | 520 |
Proposed branch: | lp:~jelmer/loggerhead/drop-python3 |
Merge into: | lp:loggerhead |
Prerequisite: | lp:~jelmer/loggerhead/fix-tox |
Diff against target: |
390 lines (+55/-105) 17 files modified
.travis.yml (+0/-2) loggerhead.wsgi (+2/-4) loggerhead/__init__.py (+1/-1) loggerhead/changecache.py (+2/-8) loggerhead/controllers/filediff_ui.py (+1/-11) loggerhead/controllers/view_ui.py (+1/-1) loggerhead/highlight.py (+1/-4) loggerhead/history.py (+1/-1) loggerhead/load_test.py (+1/-4) loggerhead/lsprof.py (+1/-4) loggerhead/main.py (+1/-4) loggerhead/tests/test_load_test.py (+1/-4) loggerhead/tests/test_simple.py (+2/-8) loggerhead/util.py (+3/-12) requirements.txt (+10/-11) setup.py (+24/-20) tox.ini (+3/-6) |
To merge this branch: | bzr merge lp:~jelmer/loggerhead/drop-python3 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Colin Watson (community) | Approve | ||
Review via email: mp+411875@code.launchpad.net |
Commit message
Drop support for Python < 3 and Breezy < 3.1.
Description of the change
Drop support for Python < 3 and Breezy < 3.1.
Jelmer Vernooij (jelmer) wrote : | # |
> Same comment as in https:/
> tox/+merge/411874 - could you adjust this to keep Python 3.5? I'll need to
> merge these two together, since something (probably a Breezy release or
> similar) has broken the Python 2 tests.
>
> We'll need to upgrade Launchpad to Breezy >= 3.1, but that should be
> manageable now.
Done.
Otto Co-Pilot (otto-copilot) wrote : | # |
Voting criteria not met
https:/
Colin Watson (cjwatson) : | # |
Otto Co-Pilot (otto-copilot) wrote : | # |
Running landing tests failed
https:/
Colin Watson (cjwatson) wrote : | # |
ols-jenkaas is explicitly running "tox -e py27 -e py35". Dropping py27 will have to wait for the new year so that I can get somebody to update the job configuration.
However, there's also another problem that could be fixed before then:
14:40:30 O: py35 create: /workspace/
14:40:33 O: py35 installdeps: -rrequirements.txt
14:40:37 O: ERROR: invocation failed (exit code 1), logfile: /workspace/
14:40:37 O: ERROR: actionid: py35
14:40:37 O: msg: getenv
14:40:37 O: cmdargs: [local(
14:40:37 O: env: {'_': '/usr/bin/tox', 'LOGNAME': 'ubuntu', 'no_proxy': '0.0.0.
14:40:37 O:
14:40:37 O: Collecting https:/
14:40:37 O: Downloading https:/
14:40:37 O: Requirement already satisfied (use --upgrade to upgrade): setuptools in ./.tox/
14:40:37 O: Collecting Paste>=1.6 (from -r requirements.txt (line 2))
14:40:37 O: Downloading https:/
14:40:37 O: Collecting dulwich (from -r requirements.txt (line 3))
14:40:37 O: Downloading https:/
14:40:37 O: Complete output from command python setup.py egg_info:
14:40:37 O: Traceback (most recent call last):
14:40:37 O: File "<string>", line 1, in <module>
14:40:37 O: File "/tmp/pip-
14:40:37 O: 'Dulwich only supports Python 3.6 and later. '
14:40:37 O: Exception: ...
Jelmer Vernooij (jelmer) wrote : | # |
Updated for Python 3.5, hopefully.
Otto Co-Pilot (otto-copilot) wrote : | # |
Running landing tests failed
https:/
Colin Watson (cjwatson) wrote : | # |
Reproducible using tox in a xenial container: https:/
Some other things apparently need pinning as well. I think it makes sense to do this in requirements.txt rather than setup.py: https:/
Jelmer Vernooij (jelmer) wrote : | # |
Thanks! I can confirm that it works with those changes - I've imported them in the branch and retried with a clean xenial chroot (rather than python3.5 and whatever libraries were already present on my machine).
Can we try again? Thanks for your patience.
- 520. By Colin Watson
-
Drop support for Python < 3 and Breezy < 3.1.
Merged from https:/
/code.launchpad .net/~jelmer/ loggerhead/ drop-python3/ +merge/ 411875
Preview Diff
1 | === modified file '.travis.yml' | |||
2 | --- .travis.yml 2020-07-08 17:14:19 +0000 | |||
3 | +++ .travis.yml 2022-02-23 19:35:55 +0000 | |||
4 | @@ -9,8 +9,6 @@ | |||
5 | 9 | 9 | ||
6 | 10 | matrix: | 10 | matrix: |
7 | 11 | include: | 11 | include: |
8 | 12 | - python: 2.7 | ||
9 | 13 | env: TAL_VERSION=4.3 | ||
10 | 14 | - python: 3.5 | 12 | - python: 3.5 |
11 | 15 | env: TAL_VERSION=5.2 | 13 | env: TAL_VERSION=5.2 |
12 | 16 | - python: 3.6 | 14 | - python: 3.6 |
13 | 17 | 15 | ||
14 | === modified file 'loggerhead.wsgi' | |||
15 | --- loggerhead.wsgi 2020-06-04 20:28:15 +0000 | |||
16 | +++ loggerhead.wsgi 2022-02-23 19:35:55 +0000 | |||
17 | @@ -24,7 +24,6 @@ | |||
18 | 24 | from loggerhead.apps.error import ErrorHandlerApp | 24 | from loggerhead.apps.error import ErrorHandlerApp |
19 | 25 | from loggerhead.config import LoggerheadConfig | 25 | from loggerhead.config import LoggerheadConfig |
20 | 26 | from breezy import config as bzrconfig | 26 | from breezy import config as bzrconfig |
21 | 27 | from breezy.sixish import PY3 | ||
22 | 28 | from paste.deploy.config import PrefixMiddleware | 27 | from paste.deploy.config import PrefixMiddleware |
23 | 29 | from breezy.plugin import load_plugins | 28 | from breezy.plugin import load_plugins |
24 | 30 | 29 | ||
25 | @@ -46,9 +45,8 @@ | |||
26 | 46 | ' %(user)s with http_root_dir set to the base directory you want' | 45 | ' %(user)s with http_root_dir set to the base directory you want' |
27 | 47 | ' to serve bazaar repositories from' % | 46 | ' to serve bazaar repositories from' % |
28 | 48 | {'user': pwd.getpwuid(os.geteuid()).pw_name}) | 47 | {'user': pwd.getpwuid(os.geteuid()).pw_name}) |
32 | 49 | if not PY3: | 48 | prefix = prefix.encode('utf-8', 'ignore') |
33 | 50 | prefix = prefix.encode('utf-8', 'ignore') | 49 | root_dir = root_dir.encode('utf-8', 'ignore') |
31 | 51 | root_dir = root_dir.encode('utf-8', 'ignore') | ||
34 | 52 | app = BranchesFromTransportRoot(root_dir, config) | 50 | app = BranchesFromTransportRoot(root_dir, config) |
35 | 53 | app = PrefixMiddleware(app, prefix=prefix) | 51 | app = PrefixMiddleware(app, prefix=prefix) |
36 | 54 | app = HTTPExceptionHandler(app) | 52 | app = HTTPExceptionHandler(app) |
37 | 55 | 53 | ||
38 | === modified file 'loggerhead/__init__.py' | |||
39 | --- loggerhead/__init__.py 2018-10-20 16:33:25 +0000 | |||
40 | +++ loggerhead/__init__.py 2022-02-23 19:35:55 +0000 | |||
41 | @@ -24,7 +24,7 @@ | |||
42 | 24 | 24 | ||
43 | 25 | __version__ = '1.20.0' # Keep in sync with ../__init__.py. | 25 | __version__ = '1.20.0' # Keep in sync with ../__init__.py. |
44 | 26 | __revision__ = None | 26 | __revision__ = None |
46 | 27 | required_breezy = (3, 0) | 27 | required_breezy = (3, 1) |
47 | 28 | 28 | ||
48 | 29 | pkg_resources.get_distribution('Paste>=1.6') | 29 | pkg_resources.get_distribution('Paste>=1.6') |
49 | 30 | try: | 30 | try: |
50 | 31 | 31 | ||
51 | === modified file 'loggerhead/changecache.py' | |||
52 | --- loggerhead/changecache.py 2021-07-28 14:57:50 +0000 | |||
53 | +++ loggerhead/changecache.py 2022-02-23 19:35:55 +0000 | |||
54 | @@ -26,19 +26,13 @@ | |||
55 | 26 | cached a change, it's good forever. | 26 | cached a change, it's good forever. |
56 | 27 | """ | 27 | """ |
57 | 28 | 28 | ||
62 | 29 | try: | 29 | import pickle |
59 | 30 | import cPickle as pickle | ||
60 | 31 | except ImportError: # Python >= 3 | ||
61 | 32 | import pickle | ||
63 | 33 | import marshal | 30 | import marshal |
64 | 34 | import os | 31 | import os |
65 | 35 | import tempfile | 32 | import tempfile |
66 | 36 | import zlib | 33 | import zlib |
67 | 37 | 34 | ||
72 | 38 | try: | 35 | from sqlite3 import dbapi2 |
69 | 39 | from sqlite3 import dbapi2 | ||
70 | 40 | except ImportError: | ||
71 | 41 | from pysqlite2 import dbapi2 | ||
73 | 42 | 36 | ||
74 | 43 | # We take an optimistic approach to concurrency here: we might do work twice | 37 | # We take an optimistic approach to concurrency here: we might do work twice |
75 | 44 | # in the case of races, but not crash or corrupt data. | 38 | # in the case of races, but not crash or corrupt data. |
76 | 45 | 39 | ||
77 | === modified file 'loggerhead/controllers/filediff_ui.py' | |||
78 | --- loggerhead/controllers/filediff_ui.py 2020-01-19 20:09:08 +0000 | |||
79 | +++ loggerhead/controllers/filediff_ui.py 2022-02-23 19:35:55 +0000 | |||
80 | @@ -5,17 +5,7 @@ | |||
81 | 5 | errors, | 5 | errors, |
82 | 6 | urlutils, | 6 | urlutils, |
83 | 7 | ) | 7 | ) |
95 | 8 | try: | 8 | from breezy.tree import find_previous_path |
85 | 9 | from breezy.tree import find_previous_path | ||
86 | 10 | except ImportError: # breezy < 3.1 | ||
87 | 11 | def find_previous_path(from_tree, to_tree, path): | ||
88 | 12 | file_id = from_tree.path2id(path) | ||
89 | 13 | if file_id is None: | ||
90 | 14 | raise errors.NoSuchFile(path) | ||
91 | 15 | try: | ||
92 | 16 | return to_tree.id2path(file_id) | ||
93 | 17 | except errors.NoSuchId: | ||
94 | 18 | return None | ||
96 | 19 | 9 | ||
97 | 20 | from .. import util | 10 | from .. import util |
98 | 21 | from ..controllers import TemplatedBranchView | 11 | from ..controllers import TemplatedBranchView |
99 | 22 | 12 | ||
100 | === modified file 'loggerhead/controllers/view_ui.py' | |||
101 | --- loggerhead/controllers/view_ui.py 2020-07-09 08:50:19 +0000 | |||
102 | +++ loggerhead/controllers/view_ui.py 2022-02-23 19:35:55 +0000 | |||
103 | @@ -50,7 +50,7 @@ | |||
104 | 50 | template_name = 'view' | 50 | template_name = 'view' |
105 | 51 | 51 | ||
106 | 52 | def tree_for(self, path, revid): | 52 | def tree_for(self, path, revid): |
108 | 53 | if not isinstance(path, util.text_type): | 53 | if not isinstance(path, str): |
109 | 54 | raise TypeError(path) | 54 | raise TypeError(path) |
110 | 55 | if not isinstance(revid, bytes): | 55 | if not isinstance(revid, bytes): |
111 | 56 | raise TypeError(revid) | 56 | raise TypeError(revid) |
112 | 57 | 57 | ||
113 | === modified file 'loggerhead/highlight.py' | |||
114 | --- loggerhead/highlight.py 2020-05-06 19:06:44 +0000 | |||
115 | +++ loggerhead/highlight.py 2022-02-23 19:35:55 +0000 | |||
116 | @@ -17,10 +17,7 @@ | |||
117 | 17 | # | 17 | # |
118 | 18 | 18 | ||
119 | 19 | import breezy.osutils | 19 | import breezy.osutils |
124 | 20 | try: | 20 | from html import escape |
121 | 21 | from html import escape | ||
122 | 22 | except ImportError: | ||
123 | 23 | from cgi import escape | ||
125 | 24 | 21 | ||
126 | 25 | from pygments import highlight as _highlight_func | 22 | from pygments import highlight as _highlight_func |
127 | 26 | from pygments.lexers import guess_lexer, guess_lexer_for_filename, TextLexer | 23 | from pygments.lexers import guess_lexer, guess_lexer_for_filename, TextLexer |
128 | 27 | 24 | ||
129 | === modified file 'loggerhead/history.py' | |||
130 | --- loggerhead/history.py 2020-07-08 16:33:07 +0000 | |||
131 | +++ loggerhead/history.py 2022-02-23 19:35:55 +0000 | |||
132 | @@ -465,7 +465,7 @@ | |||
133 | 465 | # if a "revid" is actually a dotted revno, convert it to a revid | 465 | # if a "revid" is actually a dotted revno, convert it to a revid |
134 | 466 | if revid is None: | 466 | if revid is None: |
135 | 467 | return revid | 467 | return revid |
137 | 468 | if not isinstance(revid, (str, util.text_type)): | 468 | if not isinstance(revid, str): |
138 | 469 | raise TypeError(revid) | 469 | raise TypeError(revid) |
139 | 470 | if revid == 'head:': | 470 | if revid == 'head:': |
140 | 471 | return self.last_revid | 471 | return self.last_revid |
141 | 472 | 472 | ||
142 | === modified file 'loggerhead/load_test.py' | |||
143 | --- loggerhead/load_test.py 2022-02-23 19:35:55 +0000 | |||
144 | +++ loggerhead/load_test.py 2022-02-23 19:35:55 +0000 | |||
145 | @@ -65,10 +65,7 @@ | |||
146 | 65 | 65 | ||
147 | 66 | import threading | 66 | import threading |
148 | 67 | import time | 67 | import time |
153 | 68 | try: | 68 | from queue import Queue, Empty |
150 | 69 | from queue import Queue, Empty | ||
151 | 70 | except ImportError: # Python < 3 | ||
152 | 71 | from Queue import Queue, Empty | ||
154 | 72 | 69 | ||
155 | 73 | import json | 70 | import json |
156 | 74 | 71 | ||
157 | 75 | 72 | ||
158 | === modified file 'loggerhead/lsprof.py' | |||
159 | --- loggerhead/lsprof.py 2018-10-20 12:15:22 +0000 | |||
160 | +++ loggerhead/lsprof.py 2022-02-23 19:35:55 +0000 | |||
161 | @@ -6,10 +6,7 @@ | |||
162 | 6 | # instead of just the Stats object | 6 | # instead of just the Stats object |
163 | 7 | 7 | ||
164 | 8 | import sys | 8 | import sys |
169 | 9 | try: | 9 | from threading import get_ident |
166 | 10 | from threading import get_ident | ||
167 | 11 | except ImportError: # python < 3 | ||
168 | 12 | from thread import get_ident | ||
170 | 13 | import threading | 10 | import threading |
171 | 14 | from _lsprof import Profiler, profiler_entry | 11 | from _lsprof import Profiler, profiler_entry |
172 | 15 | 12 | ||
173 | 16 | 13 | ||
174 | === modified file 'loggerhead/main.py' | |||
175 | --- loggerhead/main.py 2020-01-19 20:09:08 +0000 | |||
176 | +++ loggerhead/main.py 2022-02-23 19:35:55 +0000 | |||
177 | @@ -22,10 +22,7 @@ | |||
178 | 22 | import sys | 22 | import sys |
179 | 23 | 23 | ||
180 | 24 | from breezy.plugin import load_plugins | 24 | from breezy.plugin import load_plugins |
185 | 25 | try: | 25 | from breezy.location import location_to_url |
182 | 26 | from breezy.location import location_to_url | ||
183 | 27 | except ImportError: # Breezy < 3.1 | ||
184 | 28 | from breezy.transport import location_to_url | ||
186 | 29 | 26 | ||
187 | 30 | from paste import httpserver | 27 | from paste import httpserver |
188 | 31 | from paste.httpexceptions import HTTPExceptionHandler, HTTPInternalServerError | 28 | from paste.httpexceptions import HTTPExceptionHandler, HTTPInternalServerError |
189 | 32 | 29 | ||
190 | === modified file 'loggerhead/tests/test_load_test.py' | |||
191 | --- loggerhead/tests/test_load_test.py 2018-10-20 12:15:22 +0000 | |||
192 | +++ loggerhead/tests/test_load_test.py 2022-02-23 19:35:55 +0000 | |||
193 | @@ -15,10 +15,7 @@ | |||
194 | 15 | import socket | 15 | import socket |
195 | 16 | import time | 16 | import time |
196 | 17 | import threading | 17 | import threading |
201 | 18 | try: | 18 | from queue import Empty |
198 | 19 | from queue import Empty | ||
199 | 20 | except ImportError: # Python < 3 | ||
200 | 21 | from Queue import Empty | ||
202 | 22 | 19 | ||
203 | 23 | from breezy import tests | 20 | from breezy import tests |
204 | 24 | from breezy.tests import http_server | 21 | from breezy.tests import http_server |
205 | 25 | 22 | ||
206 | === modified file 'loggerhead/tests/test_simple.py' | |||
207 | --- loggerhead/tests/test_simple.py 2020-07-08 17:14:19 +0000 | |||
208 | +++ loggerhead/tests/test_simple.py 2022-02-23 19:35:55 +0000 | |||
209 | @@ -17,20 +17,14 @@ | |||
210 | 17 | 17 | ||
211 | 18 | from __future__ import absolute_import | 18 | from __future__ import absolute_import |
212 | 19 | 19 | ||
217 | 20 | try: | 20 | from html import escape |
214 | 21 | from html import escape | ||
215 | 22 | except ImportError: | ||
216 | 23 | from cgi import escape | ||
218 | 24 | import json | 21 | import json |
219 | 25 | import logging | 22 | import logging |
220 | 26 | import re | 23 | import re |
221 | 27 | from io import BytesIO | 24 | from io import BytesIO |
222 | 28 | 25 | ||
223 | 29 | from breezy.tests import TestCaseWithTransport | 26 | from breezy.tests import TestCaseWithTransport |
228 | 30 | try: | 27 | from configobj import ConfigObj |
225 | 31 | from breezy.util.configobj.configobj import ConfigObj | ||
226 | 32 | except ImportError: | ||
227 | 33 | from configobj import ConfigObj | ||
229 | 34 | from breezy import config | 28 | from breezy import config |
230 | 35 | 29 | ||
231 | 36 | from ..apps.branch import BranchWSGIApp | 30 | from ..apps.branch import BranchWSGIApp |
232 | 37 | 31 | ||
233 | === modified file 'loggerhead/util.py' | |||
234 | --- loggerhead/util.py 2020-07-08 17:14:19 +0000 | |||
235 | +++ loggerhead/util.py 2022-02-23 19:35:55 +0000 | |||
236 | @@ -32,10 +32,7 @@ | |||
237 | 32 | import os | 32 | import os |
238 | 33 | import subprocess | 33 | import subprocess |
239 | 34 | 34 | ||
244 | 35 | try: | 35 | from xml.etree import ElementTree as ET |
241 | 36 | from xml.etree import ElementTree as ET | ||
242 | 37 | except ImportError: | ||
243 | 38 | from elementtree import ElementTree as ET | ||
245 | 39 | 36 | ||
246 | 40 | from breezy import urlutils | 37 | from breezy import urlutils |
247 | 41 | 38 | ||
248 | @@ -277,7 +274,7 @@ | |||
249 | 277 | except UnicodeDecodeError: | 274 | except UnicodeDecodeError: |
250 | 278 | s = s.decode('iso-8859-15') | 275 | s = s.decode('iso-8859-15') |
251 | 279 | return s | 276 | return s |
253 | 280 | elif isinstance(s, text_type): | 277 | elif isinstance(s, str): |
254 | 281 | return s | 278 | return s |
255 | 282 | else: | 279 | else: |
256 | 283 | return repr(s) | 280 | return repr(s) |
257 | @@ -288,7 +285,7 @@ | |||
258 | 288 | expand tabs and turn spaces into "non-breaking spaces", so browsers won't | 285 | expand tabs and turn spaces into "non-breaking spaces", so browsers won't |
259 | 289 | chop up the string. | 286 | chop up the string. |
260 | 290 | """ | 287 | """ |
262 | 291 | if not isinstance(s, text_type): | 288 | if not isinstance(s, str): |
263 | 292 | # this kinda sucks. file contents are just binary data, and no | 289 | # this kinda sucks. file contents are just binary data, and no |
264 | 293 | # encoding metadata is stored, so we need to guess. this is probably | 290 | # encoding metadata is stored, so we need to guess. this is probably |
265 | 294 | # okay for most code, but for people using things like KOI-8, this | 291 | # okay for most code, but for people using things like KOI-8, this |
266 | @@ -675,9 +672,3 @@ | |||
267 | 675 | elif isinstance(obj, datetime.datetime): | 672 | elif isinstance(obj, datetime.datetime): |
268 | 676 | return tuple(obj.utctimetuple()) | 673 | return tuple(obj.utctimetuple()) |
269 | 677 | raise TypeError(repr(obj) + " is not JSON serializable") | 674 | raise TypeError(repr(obj) + " is not JSON serializable") |
270 | 678 | |||
271 | 679 | |||
272 | 680 | if sys.version_info[0] > 2: | ||
273 | 681 | text_type = str | ||
274 | 682 | else: | ||
275 | 683 | text_type = unicode # noqa: F821 | ||
276 | 684 | 675 | ||
277 | === modified file 'requirements.txt' | |||
278 | --- requirements.txt 2021-07-28 12:28:09 +0000 | |||
279 | +++ requirements.txt 2022-02-23 19:35:55 +0000 | |||
280 | @@ -1,12 +1,11 @@ | |||
283 | 1 | setuptools < 45; python_version < "3" | 1 | setuptools |
282 | 2 | packaging < 21.0; python_version < "3.6" | ||
284 | 3 | Paste >= 1.6 | 2 | Paste >= 1.6 |
294 | 4 | dulwich < 0.20; python_version < "3" | 3 | dulwich; python_version > "3.5" |
295 | 5 | dulwich; python_version >= "3" | 4 | dulwich <= 0.20.25; python_version <= "3.5" |
296 | 6 | testtools < 2.5.0; python_version < "3" | 5 | testtools |
297 | 7 | testtools; python_version >= "3" | 6 | breezy >= 3.1; python_version > "3.5" |
298 | 8 | breezy < 3.2; python_version < "3.6" | 7 | breezy >= 3.1, < 3.2; python_version <= "3.5" |
299 | 9 | breezy ; python_version >= "3.6" | 8 | bleach; python_version > "3.5" |
300 | 10 | bleach | 9 | bleach < 4.0.0; python_version <= "3.5" |
301 | 11 | https://www.owlfish.com/software/simpleTAL/downloads/SimpleTAL-4.3.tar.gz; python_version < "3" | 10 | packaging < 21.0; python_version <= "3.5" |
302 | 12 | https://www.owlfish.com/software/simpleTAL/downloads/SimpleTAL-5.2.tar.gz; python_version >= "3" | 11 | https://www.owlfish.com/software/simpleTAL/downloads/SimpleTAL-5.2.tar.gz |
303 | 13 | 12 | ||
304 | === modified file 'setup.py' | |||
305 | --- setup.py 2020-07-08 17:14:19 +0000 | |||
306 | +++ setup.py 2022-02-23 19:35:55 +0000 | |||
307 | @@ -28,34 +28,38 @@ | |||
308 | 28 | 28 | ||
309 | 29 | 29 | ||
310 | 30 | setup( | 30 | setup( |
314 | 31 | name = "loggerhead", | 31 | name="loggerhead", |
315 | 32 | version = loggerhead.__version__, | 32 | version=loggerhead.__version__, |
316 | 33 | description = "Loggerhead is a web viewer for projects in bazaar", | 33 | description="Loggerhead is a web viewer for projects in bazaar", |
317 | 34 | long_description=long_description, | 34 | long_description=long_description, |
318 | 35 | long_description_content_type="text/x-rst", | 35 | long_description_content_type="text/x-rst", |
323 | 36 | license = "GNU GPL v2 or later", | 36 | license="GNU GPL v2 or later", |
324 | 37 | maintainer = "Michael Hudson", | 37 | maintainer="Michael Hudson", |
325 | 38 | maintainer_email = "michael.hudson@canonical.com", | 38 | maintainer_email="michael.hudson@canonical.com", |
326 | 39 | scripts = [ | 39 | scripts=[ |
327 | 40 | "loggerhead-serve", | 40 | "loggerhead-serve", |
328 | 41 | ], | 41 | ], |
341 | 42 | packages = ["loggerhead", | 42 | packages=["loggerhead", |
342 | 43 | "loggerhead/apps", | 43 | "loggerhead/apps", |
343 | 44 | "loggerhead/controllers", | 44 | "loggerhead/controllers", |
344 | 45 | "loggerhead/middleware", | 45 | "loggerhead/middleware", |
345 | 46 | "loggerhead/templates", | 46 | "loggerhead/templates", |
346 | 47 | "breezy.plugins.loggerhead"], | 47 | "breezy.plugins.loggerhead"], |
347 | 48 | package_dir={'breezy.plugins.loggerhead':'.'}, | 48 | package_dir={'breezy.plugins.loggerhead': '.'}, |
348 | 49 | package_data = {"loggerhead": ["templates/*.pt", | 49 | package_data={"loggerhead": ["templates/*.pt", |
349 | 50 | "static/css/*.css", | 50 | "static/css/*.css", |
350 | 51 | "static/javascript/*.js", | 51 | "static/javascript/*.js", |
351 | 52 | "static/images/*"]}, | 52 | "static/images/*"]}, |
352 | 53 | data_files = [ | 53 | data_files=[ |
353 | 54 | ('share/man/man1', ['loggerhead-serve.1']), | 54 | ('share/man/man1', ['loggerhead-serve.1']), |
354 | 55 | ('share/doc/loggerhead', ['apache-loggerhead.conf', | 55 | ('share/doc/loggerhead', ['apache-loggerhead.conf', |
355 | 56 | 'loggerheadd', | 56 | 'loggerheadd', |
356 | 57 | 'breezy.conf']), | 57 | 'breezy.conf']), |
357 | 58 | ], | 58 | ], |
359 | 59 | install_requires=['paste', 'bleach'], | 59 | install_requires=[ |
360 | 60 | 'paste', | ||
361 | 61 | 'bleach', | ||
362 | 62 | 'breezy>=3.1', | ||
363 | 63 | ], | ||
364 | 60 | testsuite='loggerhead.tests.test_suite', | 64 | testsuite='loggerhead.tests.test_suite', |
365 | 61 | ) | 65 | ) |
366 | 62 | 66 | ||
367 | === removed directory 'tox-scripts' | |||
368 | === removed file 'tox-scripts/py27-install' | |||
369 | === modified file 'tox.ini' | |||
370 | --- tox.ini 2022-02-23 19:35:55 +0000 | |||
371 | +++ tox.ini 2022-02-23 19:35:55 +0000 | |||
372 | @@ -1,15 +1,12 @@ | |||
373 | 1 | [tox] | 1 | [tox] |
375 | 2 | envlist = py27,py36,py37,py38,py39 | 2 | envlist = py35,py36,py37,py38,py39,py310 |
376 | 3 | skipsdist=True | 3 | skipsdist=True |
377 | 4 | 4 | ||
378 | 5 | [testenv] | 5 | [testenv] |
379 | 6 | deps = -rrequirements.txt | 6 | deps = -rrequirements.txt |
380 | 7 | commands = brz selftest -v breezy.plugins.loggerhead --strict | 7 | commands = brz selftest -v breezy.plugins.loggerhead --strict |
381 | 8 | setenv = | 8 | setenv = |
384 | 9 | py27,py35: VIRTUALENV_DOWNLOAD = 0 | 9 | py35: VIRTUALENV_DOWNLOAD = 0 |
385 | 10 | py27,py35: VIRTUALENV_PIP = 20.3.4 | 10 | py35: VIRTUALENV_PIP = 20.3.4 |
386 | 11 | BRZ_PLUGIN_PATH=-user:-site | 11 | BRZ_PLUGIN_PATH=-user:-site |
387 | 12 | BRZ_PLUGINS_AT = loggerhead@{toxinidir} | 12 | BRZ_PLUGINS_AT = loggerhead@{toxinidir} |
388 | 13 | |||
389 | 14 | [testenv:py27] | ||
390 | 15 | install_command = {toxinidir}/tox-scripts/py27-install {opts} {packages} |
Same comment as in https:/ /code.launchpad .net/~jelmer/ loggerhead/ fix-tox/ +merge/ 411874 - could you adjust this to keep Python 3.5? I'll need to merge these two together, since something (probably a Breezy release or similar) has broken the Python 2 tests.
We'll need to upgrade Launchpad to Breezy >= 3.1, but that should be manageable now.