diff --git a/pylint-2.4.4.tar.gz b/pylint-2.4.4.tar.gz deleted file mode 100644 index 5f11482..0000000 --- a/pylint-2.4.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:398084b9ed3350125ae2611c19a5da376a76877228e010cce33e8560d2cbafa0 -size 654517 diff --git a/pylint-2.5.2.tar.gz b/pylint-2.5.2.tar.gz new file mode 100644 index 0000000..53bb111 --- /dev/null +++ b/pylint-2.5.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b95e31850f3af163c2283ed40432f053acbc8fc6eba6a069cb518d9dbf71848c +size 683111 diff --git a/python-pylint.changes b/python-pylint.changes index 1ea413a..1b675d8 100644 --- a/python-pylint.changes +++ b/python-pylint.changes @@ -1,3 +1,183 @@ +------------------------------------------------------------------- +Mon May 18 17:38:20 UTC 2020 - Benjamin Greiner + +- Update to 2.5.2 + * ``pylint.Run`` accepts ``do_exit`` as a deprecated parameter + Close gh#PyCQA/pylint#3590 +- Changelog from 2.5.1 + * Fix a crash in `method-hidden` lookup for unknown base classes + Close gh#PyCQA/pylint#3527 + * Revert pylint.Run's `exit` parameter to ``do_exit`` + This has been inadvertently changed several releases ago to ``do_exit``. + Close gh#PyCQA/pylint#3533 + * ``no-value-for-parameter`` variadic detection has improved for assign statements + Close gh#PyCQA/pylint#3563 + * Allow package files to be properly discovered with multiple jobs + Close gh#PyCQA/pylint#3524 + * Allow linting directories without `__init__.py` which was a regression in 2.5. + Close gh#PyCQA/pylint#3528 +- Changelog from 2.5.0 + * Fix a false negative for ``undefined-variable`` when using class attribute in comprehension. + Close gh#PyCQA/pylint#3494 + * Fix a false positive for ``undefined-variable`` when using class attribute in decorator or as type hint. + Close gh#PyCQA/pylint#511, gh#PyCQA/pylint#1976 + * Remove HTML quoting of messages in JSON output. + Close gh#PyCQA/pylint#2769 + * Adjust the `invalid-name` rule to work with non-ASCII identifiers and add the `non-ascii-name` rule. + Close gh#PyCQA/pylint#2725 + * Positional-only arguments are taken in account for ``useless-super-delegation`` + * ``unidiomatic-typecheck`` is no longer emitted for ``in`` and ``not in`` operators + Close gh#PyCQA/pylint#3337 + * Positional-only argument annotations are taken in account for ``unused-import`` + Close gh#PyCQA/pylint#3462 + * Add a command to list available extensions. + * Allow used variables to be properly consumed when different checks are enabled / disabled + Close gh#PyCQA/pylint#3445 + * Fix dangerous-default-value rule to account for keyword argument defaults + Close gh#PyCQA/pylint#3373 + * Fix a false positive of ``self-assigning-variable`` on tuple unpacking. + Close gh#PyCQA/pylint#3433 + * ``no-self-use`` is no longer emitted for typing stubs. + Close gh#PyCQA/pylint#3439 + * Fix a false positive for ``undefined-variable`` when ``__class__`` is used + Close gh#PyCQA/pylint#3090 + * Emit ``invalid-name`` for variables defined in loops at module level. + Close gh#PyCQA/pylint#2695 + * Add a check for cases where the second argument to `isinstance` is not a type. + Close gh#PyCQA/pylint#3308 + * Add 'notes-rgx' option, to be used for fixme check. + Close gh#PyCQA/pylint#2874 + * ``function-redefined`` exempts function redefined on a condition. + Close gh#PyCQA/pylint#2410 + * ``typing.overload`` functions are exempted from docstring checks + Close gh#PyCQA/pylint#3350 + * Emit ``invalid-overridden-method`` for improper async def overrides. + Close gh#PyCQA/pylint#3355 + * Do not allow ``python -m pylint ...`` to import user code + ``python -m pylint ...`` adds the current working directory as the first element + of ``sys.path``. This opens up a potential security hole where ``pylint`` will import + user level code as long as that code resides in modules having the same name as stdlib + or pylint's own modules. + Close gh#PyCQA/pylint#3386 + * Add `dummy-variables-rgx` option for `_redeclared-assigned-name` check. + Close gh#PyCQA/pylint#3341 + * Fixed graph creation for relative paths + * Add a check for asserts on string literals. + Close gh#PyCQA/pylint#3284 + * `not in` is considered iterating context for some of the Python 3 porting checkers. + * A new check `inconsistent-quotes` was added. + * Add a check for non string assignment to __name__ attribute. + Close gh#PyCQA/pylint#583 + * `__pow__`, `__imatmul__`, `__trunc__`, `__floor__`, and `__ceil__` are recognized as special method names. + Close gh#PyCQA/pylint#3281 + * Added errors for protocol functions when invalid return types are detected. + E0304 (invalid-bool-returned): __bool__ did not return a bool + E0305 (invalid-index-returned): __index__ did not return an integer + E0306 (invalid-repr-returned): __repr__ did not return a string + E0307 (invalid-str-returned): __str__ did not return a string + E0308 (invalid-bytes-returned): __bytes__ did not return a string + E0309 (invalid-hash-returned): __hash__ did not return an integer + E0310 (invalid-length-hint-returned): __length_hint__ did not return a non-negative integer + E0311 (invalid-format-returned): __format__ did not return a string + E0312 (invalid-getnewargs-returned): __getnewargs__ did not return a tuple + E0313 (invalid-getnewargs-ex-returned): __getnewargs_ex__ did not return a tuple of the form (tuple, dict) + Close gh#PyCQA/pylint#560 + * ``missing-*-docstring`` can look for ``__doc__`` assignments. + Close gh#PyCQA/pylint#3301 + * ``undefined-variable`` can now find undefined loop iterables + Close gh#PyCQA/pylint#498 + * ``safe_infer`` can infer a value as long as all the paths share the same type. + Close gh#PyCQA/pylint#2503 + * Add a --fail-under flag, also configurable in a .pylintrc file. If + the final score is more than the specified score, it's considered a success + and pylint exits with exitcode 0. Otherwise, it's considered a failure and + pylint exits with its current exitcode based on the messages issued. + Close gh#PyCQA/pylint#2242 + * Don't emit ``line-too-long`` for multilines when `disable=line-too-long` comment stands at their end + Close gh#PyCQA/pylint#2957 + * Fixed an ``AttributeError`` caused by improper handling of ``dataclasses`` inference in ``pyreverse`` + Close gh#PyCQA/pylint#3256 + * Do not exempt bare except from ``undefined-variable`` and similar checks + If a node was wrapped in a ``TryExcept``, ``pylint`` was taking a hint + from the except handler when deciding to emit or not a message. + We were treating bare except as a fully fledged ignore but only + the corresponding exceptions should be handled that way (e.g. ``NameError`` or ``ImportError``) + Close gh#PyCQA/pylint#3235 + * No longer emit ``assignment-from-no-return`` when a function only raises an exception + Close gh#PyCQA/pylint#3218 + * Allow import aliases to exempt ``import-error`` when used in type annotations. + Close gh#PyCQA/pylint#3178 + * ``Ellipsis` is exempted from ``multiple-statements`` for function overloads. + Close gh#PyCQA/pylint#3224 + * No longer emit ``invalid-name`` for non-constants found at module level. + Pylint was taking the following statement from PEP-8 too far, considering + all module level variables as constants, which is not what the statement is saying: + `Constants are usually defined on a module level and written in + all capital letters with underscores separating words.` + Close gh#PyCQA/pylint#3111, gh#PyCQA/pylint#3132 + * Allow ``implicit-str-concat-in-sequence`` to be emitted for string juxtaposition + Close gh#PyCQA/pylint#3030 + * ``implicit-str-concat-in-sequence`` was renamed ``implicit-str-concat`` + * The ``json`` reporter no longer bypasses ``redirect_stdout``. Close #3227 + * Move ``NoFileError``, ``OutputLine``, ``FunctionalTestReporter``, + ``FunctionalTestFile``, ``LintModuleTest`` and related methods from + ``test_functional.py`` to ``pylint.testutils`` to help testing for 3rd + party pylint plugins. + * Can read config from a setup.cfg or pyproject.toml file. + Close gh#PyCQA/pylint#617 + * Fix exception-escape false positive with generators + Close gh#PyCQA/pylint#3128 + * ``inspect.getargvalues`` is no longer marked as deprecated. + * A new check ``f-string-without-interpolation`` was added + Close gh#PyCQA/pylint#3190 + * Flag mutable ``collections.*`` utilities as dangerous defaults + Close gh#PyCQA/pylint#3183 + * ``docparams`` extension supports multiple types in raises sections. + Multiple types can also be separated by commas in all valid sections. + Closes gh#PyCQA/pylint#2729 + * Allow parallel linting when run under Prospector + * Fixed false positives of ``method-hidden`` when a subclass defines the method that is being hidden. + Closes gh#PyCQA/pylint#414 + * Python 3 porting mode is 30-50% faster on most codebases + * Python 3 porting mode no longer swallows syntax errors + Closes gh#PyCQA/pylint#2956 + * Pass the actual PyLinter object to sub processes to allow using custom + PyLinter classes. + PyLinter object (and all its members except reporter) needs to support + pickling so the PyLinter object can be passed to worker processes. + * Clean up setup.py + Make pytest-runner a requirement only if running tests, similar to McCabe. + Clean up the setup.py file, resolving a number of warnings around it. + * Handle SyntaxError in files passed via ``--from-stdin`` option + Pylint no longer outputs a traceback, if a file, read from stdin, + contains a syntaxerror. + * Fix uppercase style to disallow 3+ uppercase followed by lowercase. + * Fixed ``undefined-variable`` and ``unused-import`` false positives + when using a metaclass via an attribute. + Close gh#PyCQA/pylint#1603 + * Emit ``unused-argument`` for functions that partially uses their argument list before raising an exception. + Close gh#PyCQA/pylint#3246 + * Fixed ``broad_try_clause`` extension to check try/finally statements and to + check for nested statements (e.g., inside of an ``if`` statement). + * Recognize classes explicitly inheriting from ``abc.ABC`` or having an + ``abc.ABCMeta`` metaclass as abstract. This makes them not trigger W0223. + Closes gh#PyCQA/pylint#3098 + * Fix overzealous `arguments-differ` when overridden function uses variadics + No message is emitted if the overriding function provides positional or + keyword variadics in its signature that can feasibly accept and pass on + all parameters given by the overridden function. + Close gh#PyCQA/pylint#1482, gh#PyCQA/pylint#1553 + * Multiple types of string formatting are allowed in logging functions. + The `logging-fstring-interpolation` message has been brought back to allow + multiple types of string formatting to be used. + Close gh#PyCQA/pylint#3361 +- needs python-toml now +- remove python2 compatibility requirements +- remove PYTHONDONTWRITEBYTECODE=1 -- its included in %pytest macro +- two tests need special treatment: + * test_functional[undefined_variable] gh#PyCQA/pylint#3635 + * test_do_not_import_files_from_local_directory gh#PyCQA/pylint#3636 + ------------------------------------------------------------------- Wed Mar 18 19:37:36 UTC 2020 - Dirk Mueller diff --git a/python-pylint.spec b/python-pylint.spec index fae9f83..b1581ce 100644 --- a/python-pylint.spec +++ b/python-pylint.spec @@ -17,39 +17,38 @@ %{?!python_module:%define python_module() python3-%{**}} +%bcond_without tests %define skip_python2 1 -%define modname pylint Name: python-pylint -Version: 2.4.4 +Version: 2.5.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://github.com/PyCQA/%{modname}/archive/%{modname}-%{version}.tar.gz -BuildRequires: %{python_module astroid >= 2.3.0} -BuildRequires: %{python_module editdistance} -BuildRequires: %{python_module isort >= 4.2.5} -BuildRequires: %{python_module mccabe >= 0.6} -BuildRequires: %{python_module pytest-runner} -BuildRequires: %{python_module pytest} -BuildRequires: %{python_module six} -BuildRequires: %{python_module typed-ast} +Source: https://files.pythonhosted.org/packages/source/p/pylint/pylint-%{version}.tar.gz +BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-astroid >= 2.3.0 +Requires: python-astroid >= 2.4.0 Requires: python-editdistance Requires: python-isort >= 4.2.5 Requires: python-mccabe >= 0.6 -Requires: python-six -Requires: python-typed-ast +Requires: python-toml >= 0.7.1 +%if %{with tests} +BuildRequires: %{python_module astroid >= 2.4.0} +BuildRequires: %{python_module editdistance} +BuildRequires: %{python_module isort >= 4.2.5} +BuildRequires: %{python_module mccabe >= 0.6} +BuildRequires: %{python_module pytest-benchmark} +BuildRequires: %{python_module pytest-runner} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module toml >= 0.7.1} +%endif Requires(post): update-alternatives Requires(postun): update-alternatives BuildArch: noarch -# test is checking that "tkinter.tix" is deprecated -%if 0%{?suse_version} >= 1500 -BuildRequires: python3-tk -%endif %python_subpackages %description @@ -69,7 +68,9 @@ customizable, and you can easily write a small plugin to add a personal feature. %prep -%setup -q -n pylint-pylint-%{version} +%setup -q -n pylint-%{version} +# fix test: ignore unexpected message gh#PyCQA/pylint#3635 +sed -i 's/import matplotlib.pyplot as plt/& # pylint: disable=no-name-in-module/' tests/functional/u/undefined_variable.py %build export LC_ALL="en_US.UTF-8" @@ -90,11 +91,14 @@ done %postun %python_uninstall_alternative pylint +%if %{with tests} %check -# test_by_module_statement_value - fails due to %%pytest macro way of execution -export PYTHONDONTWRITEBYTECODE=1 export LC_ALL="en_US.UTF-8" -%pytest -k "not test_by_module_statement_value" +%pytest -k "not test_do_not_import_files_from_local_directory" +# workaround for gh#PyCQA/pylint#3636 +export PYTHONPATH="/" +%pytest -k "test_do_not_import_files_from_local_directory" +%endif %files %{python_files} %license COPYING