ansible-core 2.15.3

Use docs and examples from the ansible-documentation project since those
aren't included anymore in the ansible repository.
Manpages aren't included anymore in the sdist on pypi so we have to
build them during the RPM build.
This also adds docutils as source and install it only during the RPM
build to be able to build the manpages. There's no python3.11-docutils
RPM package existing.

Resolves: #2232431

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
This commit is contained in:
Dimitri Savineau 2023-08-16 11:27:05 -04:00
parent 50314153bf
commit 789d29dee3
No known key found for this signature in database
GPG Key ID: E00798C446FD75DE
3 changed files with 36 additions and 14 deletions

3
.gitignore vendored
View File

@ -17,3 +17,6 @@ SOURCES/resolvelib-0.5.4.tar.gz
/resolvelib-1.0.1.tar.gz /resolvelib-1.0.1.tar.gz
/ansible-core-2.15.1.tar.gz /ansible-core-2.15.1.tar.gz
/ansible-core-2.15.2.tar.gz /ansible-core-2.15.2.tar.gz
/ansible-core-2.15.3.tar.gz
/ansible-documentation-2.15.3.tar.gz
/docutils-0.20.1.tar.gz

View File

@ -8,7 +8,7 @@
# Disable shebang munging for specific paths. These files are data files. # Disable shebang munging for specific paths. These files are data files.
# ansible-test munges the shebangs itself. # ansible-test munges the shebangs itself.
%global __brp_mangle_shebangs_exclude_from_file %{SOURCE1} %global __brp_mangle_shebangs_exclude_from_file %{SOURCE2}
# NOTE(pabelanger): Don't auto add pwsh as Requires for ansible-test. We do # NOTE(pabelanger): Don't auto add pwsh as Requires for ansible-test. We do
# not wish to package it. # not wish to package it.
@ -27,6 +27,7 @@
%define vendor_pip %{__python3} -m pip install --no-deps -v --no-build-isolation --no-binary :all: -t %{vendor_path} %define vendor_pip %{__python3} -m pip install --no-deps -v --no-build-isolation --no-binary :all: -t %{vendor_path}
# These control which bundled dep versions we pin against # These control which bundled dep versions we pin against
%global docutils_version 0.20.1
%global jinja2_version 3.1.2 %global jinja2_version 3.1.2
%global markupsafe_version 2.1.2 %global markupsafe_version 2.1.2
%global packaging_version 21.3 %global packaging_version 21.3
@ -36,21 +37,25 @@
Name: ansible-core Name: ansible-core
Summary: SSH-based configuration management, deployment, and task execution system Summary: SSH-based configuration management, deployment, and task execution system
Version: 2.15.2 Version: 2.15.3
Release: 1%{?dist} Release: 1%{?dist}
ExcludeArch: i686 ExcludeArch: i686
Group: Development/Libraries Group: Development/Libraries
License: GPLv3+ License: GPLv3+
Source0: https://files.pythonhosted.org/packages/source/a/ansible-core/ansible-core-%{version}.tar.gz Source0: https://files.pythonhosted.org/packages/source/a/ansible-core/ansible-core-%{version}.tar.gz
Source1: ansible-test-data-files.txt Source1: https://github.com/ansible/ansible-documentation/archive/v%{version}/ansible-documentation-%{version}.tar.gz
Source2: ansible-test-data-files.txt
# And bundled deps # And bundled deps
Source2: https://files.pythonhosted.org/packages/source/J/Jinja2/Jinja2-%{jinja2_version}.tar.gz Source3: https://files.pythonhosted.org/packages/source/J/Jinja2/Jinja2-%{jinja2_version}.tar.gz
Source3: https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-%{markupsafe_version}.tar.gz Source4: https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-%{markupsafe_version}.tar.gz
Source4: https://files.pythonhosted.org/packages/source/p/packaging/packaging-%{packaging_version}.tar.gz Source5: https://files.pythonhosted.org/packages/source/p/packaging/packaging-%{packaging_version}.tar.gz
Source5: https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-%{pyparsing_version}.tar.gz Source6: https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-%{pyparsing_version}.tar.gz
Source6: https://files.pythonhosted.org/packages/source/r/resolvelib/resolvelib-%{resolvelib_version}.tar.gz Source7: https://files.pythonhosted.org/packages/source/r/resolvelib/resolvelib-%{resolvelib_version}.tar.gz
# Deps to build manpages
Source8: https://sourceforge.net/projects/docutils/files/docutils/%{docutils_version}/docutils-%{docutils_version}.tar.gz
Patch0: remove-bundled-deps-from-requirements.patch Patch0: remove-bundled-deps-from-requirements.patch
@ -112,7 +117,7 @@ This package installs the ansible-test command for testing modules and plugins
developed for ansible. developed for ansible.
%prep %prep
%setup -q -b2 -b3 -b4 -b5 -b6 -n ansible-core-%{version} %setup -q -b1 -b3 -b4 -b5 -b6 -b7 -b8 -n ansible-core-%{version}
%patch0 -p1 %patch0 -p1
# Fix all Python shebangs recursively in ansible-test # Fix all Python shebangs recursively in ansible-test
@ -169,13 +174,20 @@ done
mkdir -p %{buildroot}%{_sysconfdir}/ansible/ mkdir -p %{buildroot}%{_sysconfdir}/ansible/
mkdir -p %{buildroot}%{_sysconfdir}/ansible/roles/ mkdir -p %{buildroot}%{_sysconfdir}/ansible/roles/
cp examples/hosts %{buildroot}%{_sysconfdir}/ansible/ cp ../ansible-documentation-%{version}/examples/hosts %{buildroot}%{_sysconfdir}/ansible/
cp examples/ansible.cfg %{buildroot}%{_sysconfdir}/ansible/ cp ../ansible-documentation-%{version}/examples/ansible.cfg %{buildroot}%{_sysconfdir}/ansible/
mkdir -p %{buildroot}/%{_mandir}/man1/ mkdir -p %{buildroot}/%{_mandir}/man1/
mkdir -p docs/man/man1
mkdir -p /tmp/_docutils
%{__python3} -m pip install ../docutils-%{docutils_version} -t /tmp/_docutils --no-build-isolation
PYTHONPATH=%{vendor_path}:/tmp/_docutils %{__python3} packaging/cli-doc/build.py man --output-dir docs/man/man1
rm -rf /tmp/_docutils
cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/ cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/
cp -pr docs/docsite/rst . cp -pr ../ansible-documentation-%{version}/docs/docsite/rst .
cp -p lib/ansible_core.egg-info/PKG-INFO . cp -p lib/ansible_core.egg-info/PKG-INFO .
strip --strip-unneeded %{vendor_path}/markupsafe/_speedups%{python3_ext_suffix} strip --strip-unneeded %{vendor_path}/markupsafe/_speedups%{python3_ext_suffix}
@ -185,7 +197,7 @@ strip --strip-unneeded %{vendor_path}/markupsafe/_speedups%{python3_ext_suffix}
%{_bindir}/ansible* %{_bindir}/ansible*
%exclude %{_bindir}/ansible-test %exclude %{_bindir}/ansible-test
%config(noreplace) %{_sysconfdir}/ansible/ %config(noreplace) %{_sysconfdir}/ansible/
%doc README.rst PKG-INFO COPYING %doc README.md PKG-INFO COPYING
%doc changelogs/CHANGELOG-v2.*.rst %doc changelogs/CHANGELOG-v2.*.rst
%doc %{_mandir}/man1/ansible* %doc %{_mandir}/man1/ansible*
%{_datadir}/ansible/ %{_datadir}/ansible/
@ -198,6 +210,11 @@ strip --strip-unneeded %{vendor_path}/markupsafe/_speedups%{python3_ext_suffix}
%{python3_sitelib}/ansible_test %{python3_sitelib}/ansible_test
%changelog %changelog
* Wed Aug 16 2023 Dimitri Savineau <dsavinea@redhat.com> - 2.15.3-1
- ansible-core 2.15.3 release (rhbz#2232431)
- Use docs and examples from ansible-documentation project.
- Build the manpages.
* Mon Aug 14 2023 Dimitri Savineau <dsavinea@redhat.com> - 2.15.2-1 * Mon Aug 14 2023 Dimitri Savineau <dsavinea@redhat.com> - 2.15.2-1
- ansible-core 2.15.2 release (rhbz#2231891) - ansible-core 2.15.2 release (rhbz#2231891)

View File

@ -1,4 +1,6 @@
SHA512 (ansible-core-2.15.2.tar.gz) = 75cfc9a5f104d15a83ea464e34b9b2d351fcddc23b7bc4e86a1975d2aef22a336c865a4bd25cee58ba64b67eebfc2553ca55ea581ffcfc4e5261af46fbdf7e55 SHA512 (ansible-core-2.15.3.tar.gz) = ba91faef7ace83adf8c6f98ee8eb0186c1fef03657e595857f2255b697e91bfa2df716e9b733d23567f78228281a57940c9a0243d94b54bc7a1d2c0845f19d26
SHA512 (ansible-documentation-2.15.3.tar.gz) = c6c034b639fed1e6fac4e0dd217a6746006e67499cc66e476f3a00bf2f2bdf530085d1d9a95bba6a4ecb180366645e3379a1de1ab11e978b7793a7b5fbbb18a6
SHA512 (docutils-0.20.1.tar.gz) = a0ddca315d03677003036d6a8052ac96fbd3fcc4508564938ea684d79bedb4d322d83449c7b26e55b19b0aadd6e46ca9ac409bb16279a20f06c70e9c15ef5eb0
SHA512 (Jinja2-3.1.2.tar.gz) = 5dfe122c1beef5305b34d25f22f96607bd3a6cba098b03091850ea36fefe62b645a7218d7584b35bea252393ac922c9bb3654a9e90f23bcfb273e811fcf2f2c1 SHA512 (Jinja2-3.1.2.tar.gz) = 5dfe122c1beef5305b34d25f22f96607bd3a6cba098b03091850ea36fefe62b645a7218d7584b35bea252393ac922c9bb3654a9e90f23bcfb273e811fcf2f2c1
SHA512 (MarkupSafe-2.1.2.tar.gz) = 84dbeddaf2df713b3cce94eb64876fea8f80c608e25130c18e4691be2b1dea56df8b772d26c0caca88231ef795125eb9678210c33bf20518c18e3047912ddb4b SHA512 (MarkupSafe-2.1.2.tar.gz) = 84dbeddaf2df713b3cce94eb64876fea8f80c608e25130c18e4691be2b1dea56df8b772d26c0caca88231ef795125eb9678210c33bf20518c18e3047912ddb4b
SHA512 (packaging-21.3.tar.gz) = 2e3aa276a4229ac7dc0654d586799473ced9761a83aa4159660d37ae1a2a8f30e987248dd0e260e2834106b589f259a57ce9936eef0dcc3c430a99ac6b663e05 SHA512 (packaging-21.3.tar.gz) = 2e3aa276a4229ac7dc0654d586799473ced9761a83aa4159660d37ae1a2a8f30e987248dd0e260e2834106b589f259a57ce9936eef0dcc3c430a99ac6b663e05