diff --git a/pylint-2.7.2.tar.gz b/pylint-2.7.2.tar.gz deleted file mode 100644 index 41c535f..0000000 --- a/pylint-2.7.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e21d3b80b96740909d77206d741aa3ce0b06b41be375d92e1f3244a274c1f8a -size 709177 diff --git a/pylint-2.8.2.tar.gz b/pylint-2.8.2.tar.gz new file mode 100644 index 0000000..e26829e --- /dev/null +++ b/pylint-2.8.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:586d8fa9b1891f4b725f587ef267abe2a1bad89d6b184520c7f07a253dd6e217 +size 745627 diff --git a/pylint-pr4450-import-init.patch b/pylint-pr4450-import-init.patch new file mode 100644 index 0000000..01025c2 --- /dev/null +++ b/pylint-pr4450-import-init.patch @@ -0,0 +1,47 @@ +From 4ad9037c5e2fde8f598ad92b24d07cb7abac6c2b Mon Sep 17 00:00:00 2001 +From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> +Date: Fri, 7 May 2021 14:45:42 +0200 +Subject: [PATCH] Fix broken tests + +--- + tests/test_self.py | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git a/tests/test_self.py b/tests/test_self.py +index 55cfbbc82..7f26ddeb3 100644 +--- a/tests/test_self.py ++++ b/tests/test_self.py +@@ -1077,20 +1077,24 @@ def test_allow_import_of_files_found_in_modules_during_parallel_check(self, tmpd + code=0, + ) + +- def test_can_list_directories_without_dunder_init(self, tmpdir): ++ @staticmethod ++ def test_can_list_directories_without_dunder_init(tmpdir): + test_directory = tmpdir / "test_directory" + test_directory.mkdir() + spam_module = test_directory / "spam.py" + spam_module.write("'Empty'") + +- with tmpdir.as_cwd(): +- self._runtest( +- [ +- "--disable=missing-docstring, missing-final-newline", +- "test_directory", +- ], +- code=0, +- ) ++ subprocess.check_output( ++ [ ++ sys.executable, ++ "-m", ++ "pylint", ++ "--disable=missing-docstring, missing-final-newline", ++ "test_directory", ++ ], ++ cwd=str(tmpdir), ++ stderr=subprocess.PIPE, ++ ) + + def test_jobs_score(self): + path = join(HERE, "regrtest_data", "unused_variable.py") diff --git a/python-pylint.changes b/python-pylint.changes index ece0b41..85d9c66 100644 --- a/python-pylint.changes +++ b/python-pylint.changes @@ -1,3 +1,139 @@ +----------------------------------------------------------------- +Fri May 7 14:41:41 UTC 2021 - Ben Greiner + +- Update to 2.8.2 + * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking + pylint-django. + * scm_setuptools has been added to the packaging. + * Pylint's tags are now the standard form ``vX.Y.Z`` and not + ``pylint-X.Y.Z`` anymore. + * New warning message ``deprecated-class``. This message is + emitted if import or call deprecated class of the standard + library (like ``collections.Iterable`` that will be removed + Python 3.10). + * Add numversion back (temporarily) in __pkginfo__ because it + broke Pylama and revert the unnecessary pylint.version + beaking change. +- Release 2.8.0 + * New refactoring message ``consider-using-with``. This message + is emitted if resource-allocating functions or methods of the + standard library (like ``open()`` or + ``threading.Lock.acquire() ``) that can be used as a context + manager are called without a ``with`` block. + * Resolve false positives on unused variables in decorator + functions + * Add new extension ``ConfusingConsecutiveElifChecker``. This + optional checker emits a refactoring message (R5601 + ``confusing-consecutive-elif``) if if/elif statements with + different indentation levels follow directly one after the + other. + * New option ``--output=`` to output result to a file + rather than printing to stdout. + * Use a prescriptive message for ``unidiomatic-typecheck`` + * Apply ``const-naming-style`` to module constants annotated with + ``typing.Final`` + * The packaging is now done via setuptools exclusively. + ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are + not packaged anymore - reducing the size of the package by 75%. + * Debian packaging is now (officially) done in https://salsa. + debian.org/python-team/packages/pylint. + * The 'doc' extra-require has been removed. + * ``__pkginfo__`` now only contain ``__version__`` (also + accessible with ``pylint.__version__``), other + meta-information are still + accessible with ``from importlib import metadata;metadata. + metadata('pylint')``. + * COPYING has been renamed to LICENSE for standardization. + * Fix false-positive ``used-before-assignment`` in function + returns. + * Updated ``astroid`` to 2.5.3 + * Add ``consider-using-min-max-builtin`` check for if + statement which could be replaced by Python builtin min or + max + * Don't auto-enable postponed evaluation of type annotations + with Python 3.10 + * Update ``astroid`` to 2.5.4 + * Add new extension ``TypingChecker``. This optional checker + can detect the use of deprecated typing aliases + and can suggest the use of the alternative union syntax + where possible. + (For example, 'typing.Dict' can be replaced by 'dict', and + 'typing.Unions' by '|', etc.) + Make sure to check the config options if you plan on using it! + * Reactivates old counts in report mode. + * During detection of ``inconsistent-return-statements`` + consider that ``assert False`` is a return node. + * Run will not fail if score exactly equals ``config. + fail_under``. + * Functions that never returns may declare ``NoReturn`` as + type hints, so that + ``inconsistent-return-statements`` is not emitted. + * Improved protected access checks to allow access inside + class methods + * Fix issue with PEP 585 syntax and the use of ``collections. + abc. Set`` + * Fix issue that caused class variables annotated with + ``typing. ClassVar`` to be + identified as class constants. Now, class variables nnotated + with ``typing.Final`` are identified as such. + * Continuous integration with read the doc has been added. + * Don't show ``DuplicateBasesError`` for attribute access + * Fix crash when checking ``setup.cfg`` for pylint config when + there are non-ascii characters in there + * Allow code flanked in backticks to be skipped by spellchecker + * Allow Python tool directives (for black, flake8, zimports, + isort, mypy, bandit, pycharm) at beginning of comments to be + skipped by spellchecker + * Fix issue that caused emacs pylint to fail when used with tramp + * Improve check for invalid PEP 585 syntax inside functions + if postponed evaluation of type annotations is enabled + * Improve check for invalid PEP 585 syntax as default + function arguments +- Release 2.7.4 + * Fix a problem with disabled msgid not being ignored + * Fix issue with annotated class constants +- Release 2.7.3 + * Introduce logic for checking deprecated attributes in + DeprecationMixin. + * Reduce usage of blacklist/whitelist terminology. Notably, + ``extension-pkg-allow-list`` is an alternative to + ``extension-pkg-whitelist`` and the message + ``blacklisted-name`` is now emitted as + ``disallowed-name``. The previous names are accepted to + maintain backward compatibility. + * Move deprecated checker to ``DeprecatedMixin`` + * Bump ``astroid`` version to ``2.5.2`` + * Fix false positive for ``method-hidden`` when using private + attribute and method + * ``use-symbolic-message-instead`` now also works on legacy + messages like ``C0111`` (``missing-docstring``). + * Remove unwanted print to stdout from ``_emit_no_member`` + * Introduce a command-line option to specify pyreverse output + directory + * Fix issue with Enums and + ``class-attribute-naming-style=snake_case`` + * Add ``allowed-redefined-builtins`` option for fine tuning + ``redefined-builtin`` check. + * Fix issue when executing with ``python -m pylint`` + * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` + check. + * Fix false-positive ``no-member`` for typed annotations without + default value. + * Add ``--class-const-naming-style`` for Enum constants and + class variables annotated with ``typing.ClassVar`` + * Fix astroid.Inference error for undefined-variables with + ``len()``` + * Fix column index on FIXME warning messages + * Improve handling of assignment expressions, better edge case + handling + * Improve check if class is subscriptable PEP585 + * Fix documentation and filename handling of --import-graph + * Fix false-positive for ``unused-import`` on class keyword + arguments + * Fix regression with plugins on PYTHONPATH if latter is cwd +- Add pylint-pr4450-import-init.patch + gh#PyCQA/pylint#4450 fix broken tests + ------------------------------------------------------------------- Mon Mar 22 13:00:31 UTC 2021 - Ben Greiner diff --git a/python-pylint.spec b/python-pylint.spec index d8e47a9..f99cc22 100644 --- a/python-pylint.spec +++ b/python-pylint.spec @@ -20,22 +20,25 @@ %bcond_without tests %define skip_python2 1 Name: python-pylint -Version: 2.7.2 +Version: 2.8.2 Release: 0 Summary: Syntax and style checker for Python code License: GPL-2.0-or-later Group: Development/Languages/Python URL: https://github.com/pycqa/pylint Source: https://files.pythonhosted.org/packages/source/p/pylint/pylint-%{version}.tar.gz +# PATCH-FIX-UPSTREAM pylint-pr4450-import-init.patch -- gh#PyCQA/pylint#4450 fix broken tests +Patch1: https://github.com/PyCQA/pylint/pull/4450.patch#/pylint-pr4450-import-init.patch +BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-astroid >= 2.5.1 +Requires: python-astroid >= 2.5.6 Requires: python-isort >= 4.2.5 Requires: python-mccabe >= 0.6 Requires: python-toml >= 0.7.1 %if %{with tests} -BuildRequires: %{python_module astroid >= 2.5.1} +BuildRequires: %{python_module astroid >= 2.5.6} BuildRequires: %{python_module isort >= 4.2.5} BuildRequires: %{python_module mccabe >= 0.6} BuildRequires: %{python_module pytest-benchmark} @@ -66,7 +69,7 @@ customizable, and you can easily write a small plugin to add a personal feature. %prep -%setup -q -n pylint-%{version} +%autosetup -p1 -n pylint-%{version} sed -i '1{/^#!/ d}' pylint/__main__.py %build @@ -84,11 +87,14 @@ done %if %{with tests} %check export LC_ALL="en_US.UTF-8" -# need the local dir for imports from tests ... -export PYTHONPATH=$(pwd) -# ... but make sure that we import from installed package +# The test suite tampers with the PYTHONPATH, e.g. upstreams fix for +# https://github.com/PyCQA/pylint/issues/3636 +# so make sure that the macro set PYTHONPATH does not result in conflicting imports mv pylint pylint.tmp -%pytest --benchmark-disable +%pytest --benchmark-disable --ignore tests/test_epylint.py +# result of the mentioned tampering: other tests must not have pwd in PYTHONPATH, but test_epylint needs it +export PYTHONPATH=$PWD +%pytest --benchmark-disable tests/test_epylint.py mv pylint.tmp pylint %endif @@ -99,7 +105,7 @@ mv pylint.tmp pylint %python_uninstall_alternative pylint %files %{python_files} -%license COPYING +%license LICENSE %doc ChangeLog README.rst %doc examples/ %python_alternative %{_bindir}/pylint