Blame packages/a/ansible-lint/ansible-lint.spec

261301
#
261301
# spec file for package ansible-lint
261301
#
4c50fb
# Copyright (c) 2022 SUSE LLC
261301
# Copyright 2018 by Lars Vogdt
261301
#
261301
# All modifications and additions to the file contributed by third parties
261301
# remain the property of their copyright owners, unless otherwise agreed
261301
# upon. The license for this file, and modifications and additions to the
261301
# file, is the same license as for the pristine package itself (unless the
261301
# license for the pristine package is not an Open Source License, in which
261301
# case the license is the MIT License). An "Open Source License" is a
261301
# license that conforms to the Open Source Definition (Version 1.9)
261301
# published by the Open Source Initiative.
261301
4c50fb
# Please submit bugfixes or comments via https://bugs.opensuse.org/
261301
#
261301
caa335
%if 0%{?suse_version} < 1550
caa335
# Leap15, SLES15
caa335
%define ansible_python python310
caa335
%define ansible_python_executable python3.10
caa335
%define ansible_python_sitelib %python310_sitelib
caa335
%else
caa335
# Tumbleweed
caa335
%define ansible_python python3
caa335
%define ansible_python_executable python3
caa335
%define ansible_python_sitelib %python3_sitelib
caa335
%endif
261301
261301
%global lib_name ansiblelint
261301
%{?python_enable_dependency_generator}
4c50fb
Name:           ansible-lint
Bernhard M. Wiedemann 399b1f
Version:        6.12.2
Bernhard M. Wiedemann 526049
Release:        0%{?dist}
4c50fb
Summary:        Best practices checker for Ansible
4c50fb
License:        MIT
4c50fb
URL:            https://github.com/ansible-community/ansible-lint
Bernhard M. Wiedemann 526049
Source0:        https://github.com/ansible-community/ansible-lint/archive/v%{version}/ansible-lint-%{version}.tar.gz#/ansible-lint-%{version}.tar.gz
4c50fb
BuildArch:      noarch
4c50fb
BuildRequires:  python-rpm-macros
caa335
BuildRequires:  %{ansible_python}-base >= 3.8
caa335
BuildRequires:  %{ansible_python}-pip
caa335
BuildRequires:  %{ansible_python}-wheel
8cc174
BuildRequires:  fdupes
8cc174
8cc174
# https://github.com/ansible/ansible-lint/blob/main/setup.cfg#L98
261301
# SECTION tests
caa335
BuildRequires:  %{ansible_python}-flaky >= 3.7.0
caa335
BuildRequires:  %{ansible_python}-pytest
caa335
BuildRequires:  %{ansible_python}-pytest-cov
caa335
BuildRequires:  %{ansible_python}-pytest-xdist >= 2.1.0
caa335
BuildRequires:  %{ansible_python}-psutil
caa335
BuildRequires:  %{ansible_python}-black >= 22.8.0
caa335
BuildRequires:  %{ansible_python}-mypy
caa335
BuildRequires:  %{ansible_python}-pylint
caa335
BuildRequires:  %{ansible_python}-flake8
8cc174
# /SECTION
8cc174
8cc174
# Add runtime requirements (unless required for tests)
8cc174
# to make sure this only builds if they are present
b1d5c5
# https://github.com/ansible/ansible-lint/blob/main/setup.cfg#L64
8cc174
BuildRequires:  ansible-core >= 2.12
caa335
BuildRequires:  %{ansible_python}-ansible-compat >= 2.2.5
caa335
BuildRequires:  %{ansible_python}-enrich >= 1.2.6
caa335
BuildRequires:  %{ansible_python}-filelock >= 3.8.0
caa335
BuildRequires:  %{ansible_python}-jsonschema >= 4.17.0
caa335
BuildRequires:  %{ansible_python}-packaging >= 21.3
caa335
BuildRequires:  %{ansible_python}-PyYAML >= 5.4.1
caa335
BuildRequires:  %{ansible_python}-rich >= 12.0.0
caa335
BuildRequires:  (%{ansible_python}-ruamel.yaml >= 0.17.21 and %{ansible_python}-ruamel.yaml < 0.18)
caa335
BuildRequires:  %{ansible_python}-six
caa335
BuildRequires:  %{ansible_python}-subprocess-tee
caa335
BuildRequires:  %{ansible_python}-tenacity
caa335
BuildRequires:  %{ansible_python}-wcmatch >= 8.3.2
caa335
BuildRequires:  %{ansible_python}-yamllint >= 1.26.3
8cc174
8cc174
# https://github.com/ansible/ansible-lint/blob/main/setup.cfg#L69
Bernhard M. Wiedemann 526049
Requires:       ansible-core >= 2.12
caa335
Requires:       %{ansible_python}-ansible-compat >= 2.2.5
caa335
Requires:       %{ansible_python}-black >= 22.8.0
caa335
Requires:       %{ansible_python}-bracex
caa335
Requires:       %{ansible_python}-enrich >= 1.2.6
caa335
Requires:       %{ansible_python}-filelock
caa335
Requires:       %{ansible_python}-jsonschema >= 4.17.0
caa335
Requires:       %{ansible_python}-packaging >= 21.3
caa335
Requires:       %{ansible_python}-PyYAML  >= 5.4.1
caa335
Requires:       %{ansible_python}-rich >= 12.0.0
caa335
Requires:       (%{ansible_python}-ruamel.yaml >= 0.17.21 and %{ansible_python}-ruamel.yaml < 0.18)
caa335
Requires:       %{ansible_python}-six
caa335
Requires:       %{ansible_python}-subprocess-tee
caa335
Requires:       %{ansible_python}-tenacity
caa335
Requires:       %{ansible_python}-wcmatch >= 8.3.2
caa335
Requires:       %{ansible_python}-yamllint >= 1.26.3
261301
261301
%description
261301
Checks playbooks for practices and behavior that could potentially be improved.
261301
261301
%prep
Bernhard M. Wiedemann 526049
%setup -n %{name}-%{version}
84386d
sed -i '/^dynamic/d' pyproject.toml
84386d
sed -i '/^description/a version = "%{version}"' pyproject.toml
261301
sed -i '1{/\/usr\/bin\/env python/d;}' src/ansiblelint/__main__.py
261301
261301
%build
84386d
%{ansible_python_executable} -mpip wheel --no-deps --disable-pip-version-check --use-pep517 --no-build-isolation --progress-bar off --verbose --wheel-dir ./build/ .
84386d
mkdir -p ./dist
84386d
cp ./build/ansible_lint-*-none-any.whl ./dist/
261301
261301
%install
84386d
84386d
%{ansible_python_executable} -mpip install --root %{buildroot} --disable-pip-version-check --no-compile --no-deps --progress-bar off --ignore-installed --no-index --verbose --find-links build/ansible_lint-*.whl ansible_lint==%{version}
caa335
find %{buildroot}/%{ansible_python_sitelib} -name '*.pyc' -delete
caa335
%{ansible_python_executable} -m compileall %{buildroot}/%{ansible_python_sitelib}
caa335
%{ansible_python_executable} -O -m compileall %{buildroot}/%{ansible_python_sitelib}
84386d
cp -vr src/ansiblelint/schemas %{buildroot}/%{ansible_python_sitelib}/%{lib_name}/
84386d
cp -vr src/ansiblelint/data %{buildroot}/%{ansible_python_sitelib}/%{lib_name}/
261301
caa335
%fdupes -s %{buildroot}/%{ansible_python_sitelib}
261301
261301
%files
Bernhard M. Wiedemann 526049
%doc README.md
Bernhard M. Wiedemann 526049
%license COPYING
261301
%{_bindir}/ansible-lint
caa335
%{ansible_python_sitelib}/%{lib_name}/
caa335
%{ansible_python_sitelib}/ansible_lint-%{version}.dist-info/
261301
261301
%changelog