summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Röhling <roehling@debian.org>2024-04-23 15:59:14 +0200
committerTimo Röhling <roehling@debian.org>2024-04-23 15:59:14 +0200
commit48a040bb397156a900ffbd8ce2427c7f8e62de36 (patch)
tree7f7258dca0b0378f21fd021314e8716911db33e4
parent6b5424df013ec98cd06f8d3484cb1eb80731826d (diff)
Fix FTBFS with flake8 >= 7
Closes: #1058300
-rw-r--r--debian/control2
-rw-r--r--debian/patches/flake8-5.x-support.patch51
-rw-r--r--debian/patches/flake8-7.x-pytest-greater-7.x.patch89
-rw-r--r--debian/patches/series2
4 files changed, 91 insertions, 53 deletions
diff --git a/debian/control b/debian/control
index aea8951..564774b 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,7 @@ Maintainer: Debian Python Team <team+python@tracker.debian.org>
Uploaders: Sergio Durigan Junior <sergiodj@debian.org>
Build-Depends: debhelper-compat (= 13),
dh-python,
- python3-flake8 (>= 5.0.4),
+ python3-flake8 (>= 7.0.0),
python3-pytest <!nocheck>,
python3-py <!nocheck>,
python3-setuptools,
diff --git a/debian/patches/flake8-5.x-support.patch b/debian/patches/flake8-5.x-support.patch
deleted file mode 100644
index fd743dd..0000000
--- a/debian/patches/flake8-5.x-support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 976e6180201f7808a3007c8c5903a1637b18c0c8 Mon Sep 17 00:00:00 2001
-From: Dominic Oram <dominic.oram@diamond.ac.uk>
-Date: Fri, 5 Aug 2022 17:55:24 +0100
-Subject: [PATCH] Update to work for flake8==5.0.0
-Origin: https://github.com/tholo/pytest-flake8/pull/88
-
----
- pytest_flake8.py | 21 +++++++++++++--------
- 1 file changed, 13 insertions(+), 8 deletions(-)
-
-diff --git a/pytest_flake8.py b/pytest_flake8.py
-index 2555f8a..c693789 100644
---- a/pytest_flake8.py
-+++ b/pytest_flake8.py
-@@ -212,23 +212,28 @@ def check_file(path, flake8ignore, maxlength, maxdoclenght, maxcomplexity,
- args += ['--show-source']
- if statistics:
- args += ['--statistics']
-+ args += [str(path)]
- app = application.Application()
- prelim_opts, remaining_args = app.parse_preliminary_options(args)
-- config_finder = config.ConfigFileFinder(
-- app.program,
-- prelim_opts.append_config,
-- config_file=prelim_opts.config,
-- ignore_config_files=prelim_opts.isolated,
-+ cfg, cfg_dir = config.load_config(
-+ config=prelim_opts.config,
-+ extra=prelim_opts.append_config,
-+ isolated=prelim_opts.isolated,
-+ )
-+ app.find_plugins(
-+ cfg,
-+ cfg_dir,
-+ enable_extensions=prelim_opts.enable_extensions,
-+ require_plugins=prelim_opts.require_plugins,
- )
-- app.find_plugins(config_finder)
- app.register_plugin_options()
-- app.parse_configuration_and_cli(config_finder, remaining_args)
-+ app.parse_configuration_and_cli(cfg, cfg_dir, remaining_args)
- if flake8ignore:
- app.options.ignore = flake8ignore
- app.make_formatter() # fix this
- app.make_guide()
- app.make_file_checker_manager()
-- app.run_checks([str(path)])
-+ app.run_checks()
- app.formatter.start()
- app.report_errors()
- app.formatter.stop()
diff --git a/debian/patches/flake8-7.x-pytest-greater-7.x.patch b/debian/patches/flake8-7.x-pytest-greater-7.x.patch
new file mode 100644
index 0000000..86dbae2
--- /dev/null
+++ b/debian/patches/flake8-7.x-pytest-greater-7.x.patch
@@ -0,0 +1,89 @@
+Description: Patch to work with flake8 7.x series
+ Upstream is known to be broken with new flake8 versions:
+ https://github.com/tholo/pytest-flake8/pull/96. Patch is part of the
+ discussion in the PR but upstream does not seem very responsive.
+Author: clalancette@intrinsic.ai
+Reviewed-by: jrivero@osrfoundation.org
+Bug: https://github.com/tholo/pytest-flake8/pull/96#issuecomment-2032433686
+Origin: https://github.com/clalancette/pytest-flake8/commits/modern-flake8/
+Last-Update: 2024-04-02
+
+diff --git a/pytest_flake8.py b/pytest_flake8.py
+index 2555f8a..254b8b5 100644
+--- a/pytest_flake8.py
++++ b/pytest_flake8.py
+@@ -6,7 +6,7 @@
+ from io import BytesIO, TextIOWrapper
+
+ from flake8.main import application
+-from flake8.options import config
++from flake8.options.parse_args import parse_args
+
+ import pytest
+
+@@ -213,22 +213,14 @@ def check_file(path, flake8ignore, maxlength, maxdoclenght, maxcomplexity,
+ if statistics:
+ args += ['--statistics']
+ app = application.Application()
+- prelim_opts, remaining_args = app.parse_preliminary_options(args)
+- config_finder = config.ConfigFileFinder(
+- app.program,
+- prelim_opts.append_config,
+- config_file=prelim_opts.config,
+- ignore_config_files=prelim_opts.isolated,
+- )
+- app.find_plugins(config_finder)
+- app.register_plugin_options()
+- app.parse_configuration_and_cli(config_finder, remaining_args)
++ app.plugins, app.options = parse_args(args)
+ if flake8ignore:
+ app.options.ignore = flake8ignore
+ app.make_formatter() # fix this
+ app.make_guide()
+- app.make_file_checker_manager()
+- app.run_checks([str(path)])
++ app.make_file_checker_manager([])
++ app.options.filenames = [str(path)]
++ app.run_checks()
+ app.formatter.start()
+ app.report_errors()
+ app.formatter.stop()
+diff --git a/test_flake8.py b/test_flake8.py
+index 0bc2461..e70860f 100644
+--- a/test_flake8.py
++++ b/test_flake8.py
+@@ -2,7 +2,6 @@
+ """Unit tests for flake8 pytest plugin."""
+ from __future__ import print_function
+
+-import py
+ import pytest
+
+ pytest_plugins = "pytester",
+@@ -44,8 +43,8 @@ def test_default_flake8_ignores(self, testdir):
+
+ [flake8]
+ ignore = E203
+- *.py E300
+- tests/*.py ALL E203 # something
++ E300
++ ALL E203
+ """)
+ testdir.tmpdir.ensure("xy.py")
+ testdir.tmpdir.ensure("tests/hello.py")
+@@ -164,13 +163,13 @@ def test_unicode_error(testdir):
+ x = testdir.tmpdir.join("x.py")
+ import codecs
+ f = codecs.open(str(x), "w", encoding="utf8")
+- f.write(py.builtin._totext("""
++ f.write("""
+ # coding=utf8
+
+ accent_map = {
+ u'\\xc0': 'a', # À -> a non-ascii comment crashes it
+ }
+-""", "utf8"))
++""")
+ f.close()
+ # result = testdir.runpytest("--flake8", x, "-s")
+ # result.stdout.fnmatch_lines("*non-ascii comment*")
diff --git a/debian/patches/series b/debian/patches/series
index f977d3c..3617b63 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1 @@
-flake8-5.x-support.patch
+flake8-7.x-pytest-greater-7.x.patch