Without this, when using Python 3.12 and flake8 5.0.4, the following
errors are flagged:
  tests/check_acl_log.py:97:25: E231 missing whitespace after ':'
  tests/check_acl_log.py:102:71: E231 missing whitespace after ':'

This was reported and discussed in a couple of contexts:
https://mail.openvswitch.org/pipermail/ovs-dev/2023-November/409325.html
https://mail.openvswitch.org/pipermail/ovs-dev/2023-November/409277.html

And it's fixed in recent flake8/pycodestyle versions:
https://github.com/PyCQA/flake8/issues/1845#issuecomment-1766073353

Unfortunately we have to remove the 'hacking' requirement because that
introduces a dependency on 'flake8<4.0.0 and >=3.6.0'.  On the other
hand the currently enabled hacking checks were only applicable to
Python 2 code.  OVN has stopped supporting Python 2 for a while now,
since 0c042c2d28d8 ("Require Python 3 and remove support for Python
2.").

Signed-off-by: Dumitru Ceara <[email protected]>
---
NOTE: this patch should be backported to all supported branches.

V3:
- Addressed Ilya's comments:
  - keep hacking checks on flake8 ignore list for the case when hacking
    is installed.

V2:
- Addressed Ilya's comments:
  - removed remaining hacking references
- updated commit log
---
 Documentation/intro/install/general.rst  | 5 +----
 Makefile.am                              | 6 ------
 utilities/containers/py-requirements.txt | 4 ++--
 3 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/Documentation/intro/install/general.rst 
b/Documentation/intro/install/general.rst
index 5895188462..4ace64f6ec 100644
--- a/Documentation/intro/install/general.rst
+++ b/Documentation/intro/install/general.rst
@@ -134,10 +134,7 @@ following to obtain better warnings:
 
 - clang, version 3.4 or later
 
-- flake8 along with the hacking flake8 plugin (for Python code). The automatic
-  flake8 check that runs against Python code has some warnings enabled that
-  come from the "hacking" flake8 plugin. If it's not installed, the warnings
-  just won't occur until it's run on a system with "hacking" installed.
+- flake8, version 6.1.0 or later
 
 You may find the ovs-dev script found in ``ovs/utilities/ovs-dev.py`` useful.
 
diff --git a/Makefile.am b/Makefile.am
index 06045760a0..b5c163f95e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -415,16 +415,10 @@ ALL_LOCAL += flake8-check
 #   F811 redefinition of unused <name> from line <N> (only from flake8 v2.0)
 # D*** -- warnings from flake8-docstrings plugin
 # H*** -- warnings from flake8 hacking plugin (custom style checks beyond PEP8)
-#   H231 Python 3.x incompatible 'except x,y:' construct
-#   H232 Python 3.x incompatible octal 077 should be written as 0o77
-#   H233 Python 3.x incompatible use of print operator
-#   H238 old style class declaration, use new style (inherit from `object`)
-FLAKE8_SELECT = H231,H232,H233,H238
 FLAKE8_IGNORE = 
E121,E123,E125,E126,E127,E128,E129,E131,E722,W503,W504,F811,D,H,I
 flake8-check: $(FLAKE8_PYFILES)
        $(FLAKE8_WERROR)$(AM_V_GEN) \
          src='$^' && \
-         flake8 $$src --select=$(FLAKE8_SELECT) $(FLAKE8_FLAGS) && \
          flake8 $$src --ignore=$(FLAKE8_IGNORE) $(FLAKE8_FLAGS) && \
          touch $@
 endif
diff --git a/utilities/containers/py-requirements.txt 
b/utilities/containers/py-requirements.txt
index 0d90765c97..a8e8f17da3 100644
--- a/utilities/containers/py-requirements.txt
+++ b/utilities/containers/py-requirements.txt
@@ -1,7 +1,7 @@
-flake8
-hacking>=3.0
+flake8>=6.1.0
 scapy
 sphinx
 setuptools
 pyelftools
 pyOpenSSL
+pycodestyle>=2.11.0
-- 
2.39.3

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to