Name:           pylint
Version:        3.0.3
Release:        1
Summary:        Analyzes Python code looking for bugs and signs of poor quality
License:        GPLv2+
URL:            http://www.pylint.org/
Source0:        https://github.com/pylint-dev/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildArch:      noarch

BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
BuildRequires:	python3-toml
BuildRequires:  python3-pip
BuildRequires:  python3-wheel
BuildRequires:	python3-editables
BuildRequires:	python3-hatch-vcs
BuildRequires:	python3-hatchling
# For tests
BuildRequires:  python3-astroid >= 2.15.5
BuildRequires:  python3-dill
BuildRequires:  python3-isort
BuildRequires:  python3-mccabe
BuildRequires:  python3-pytest
BuildRequires:  python3-pytest-runner
BuildRequires:	python3-tomlkit
BuildRequires:	python3-six

# For the main pylint package
Requires:       python3-%{name} = %{version}-%{release}

%description
Pylint is a Python source code analyzer which looks for programming
errors, helps enforcing a coding standard and sniffs for some code
smells (as defined in Martin Fowler's Refactoring book).
Pylint can be seen as another PyChecker since nearly all tests you
can do with PyChecker can also be done with Pylint. However, Pylint
offers some more features, like checking length of lines of code,
checking if variable names are well-formed according to your coding
standard, or checking if declared interfaces are truly implemented,
and much more.
Additionally, it is possible to write plugins to add your own checks.

%package -n python3-%{name}
Summary:        %{summary}
Requires:       python3-astroid >= 2.15.5
Requires:       python3-dill
Requires:       python3-setuptools
Requires:       python3-mccabe
Requires:       python3-isort
Requires:       python3-tomlkit
Obsoletes:      python3-pylint-gui
%{?python_provide:%python_provide python3-%{name}}

%description -n python3-%{name}
Pylint is a Python source code analyzer which looks for programming
errors, helps enforcing a coding standard and sniffs for some code
smells (as defined in Martin Fowler's Refactoring book).
Pylint can be seen as another PyChecker since nearly all tests you
can do with PyChecker can also be done with Pylint. However, Pylint
offers some more features, like checking length of lines of code,
checking if variable names are well-formed according to your coding
standard, or checking if declared interfaces are truly implemented,
and much more.
Additionally, it is possible to write plugins to add your own checks.

%prep
%autosetup -p1 -n pylint-%{version}

%build
%pyproject_build

%install
%pyproject_install
rm -rf %{buildroot}%{python3_sitelib}/pylint/test

# Add -%%{python3_version} to the binaries and manpages for backwards compatibility
for NAME in pylint pyreverse symilar; do
    mv %{buildroot}%{_bindir}/{$NAME,${NAME}-%{python3_version}}
    ln -s ${NAME}-%{python3_version} %{buildroot}%{_bindir}/${NAME}-3
    ln -s ${NAME}-%{python3_version} %{buildroot}%{_bindir}/${NAME}
done

%files
%doc CONTRIBUTORS.txt
%license LICENSE
%{_bindir}/pylint
%{_bindir}/pylint-config
%{_bindir}/pyreverse
%{_bindir}/symilar

%files -n python3-%{name}
%license LICENSE
%{python3_sitelib}/pylint*
# backwards compatible versioned executables and manpages:
%{_bindir}/*-3
%{_bindir}/*-%{python3_version}

%changelog
* Tue Sep 19 2023 xu_ping <707078654@qq.com> - 3.0.3-1
- update to 3.0.3

* Wed Aug 9 2023 shangjiwei <cyrus_shang@163.com> - 2.17.5-1
- update to 2.17.5

* Mon May 15 2023 Dongxing Wang <dxwangk@isoftstone.com> - 2.17.2-1
- update to 2.17.2

* Wed Apr 27 2022 caodongxia <caodongxia@h-partners.com> - 2.12.2-1
- update to 2.12.2

* Thu Oct 28 2021 xu_ping <xuping33@huawei.com> - 2.6.0-2
- add python3-six model to fix some testcase failed

* Mon Jul 19 2021 OpenStack_SIG <openstack@openeuler.org> - 2.6.0-1
- update to 2.6.0

* Wed Jun 24 2020 chengzihan <chengzihan2@huawei.com> - 2.4.4-0
- Package upgrade

* Fri Feb 28 2020 daiqianwen <daiqianwen@huawei.com> - 2.1.1-4
- modify spec

* Mon Feb 17 2020 daiqianwen <daiqianwen@huawei.com> - 2.1.1-3
- package init

