diff --git a/.gitignore b/.gitignore index 68c86d0..0e206ad 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,7 @@ /ansible-b104478f171a4030c0cd96ef4d99db65bf04dceb.tar.gz /ansible-a1683d3dab164afdfe1bedc8dab296564b7a47e5.tar.gz /ansible-fbaea4c269b0a3c8112101754cee808d82bebbee.tar.gz +/ansible-e9f633ec720fbd4367d2f694574dec101e22d3b9.tar.gz +/jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz +/markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz +/resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28.tar.gz diff --git a/ansible-core.spec b/ansible-core.spec index 9666671..a96162b 100644 --- a/ansible-core.spec +++ b/ansible-core.spec @@ -7,8 +7,8 @@ # ansible-test munges the shebangs itself. %global __brp_mangle_shebangs_exclude_from_file %{SOURCE1} -%global commitId fbaea4c269b0a3c8112101754cee808d82bebbee -%global python38_sitelib /usr/lib/python3.8/site-packages/ +%global commitId e9f633ec720fbd4367d2f694574dec101e22d3b9 +%global python39_sitelib /usr/lib/python3.9/site-packages/ # NOTE(pabelanger): Don't auto add pwsh as Requires for ansible-test. We do # not wish to package it. @@ -23,18 +23,21 @@ %define py2_shbang_opts %{nil} %define py3_shbang_opts %{nil} -%define vendor_path %{buildroot}%{python38_sitelib}/ansible/_vendor/ -%define vendor_pip /usr/bin/python3.8 -m pip install --no-deps -v --no-use-pep517 --no-binary :all: -t %{vendor_path} +%define vendor_path %{buildroot}%{python39_sitelib}/ansible/_vendor/ +%define vendor_pip /usr/bin/python3.9 -m pip install --no-deps -v --no-use-pep517 --no-binary :all: -t %{vendor_path} # These control which bundled dep versions we pin against +%global jinja2_version 3.1.2 +%global markupsafe_version 2.1.0 %global packaging_version 20.4 %global pyparsing_version 2.4.7 +%global resolvelib_version 0.5.4 %global straightplugin_version 1.4.1 Name: ansible-core Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.12.7 +Version: 2.13.1 Release: 1%{?dist} ExcludeArch: i686 @@ -44,11 +47,14 @@ Source0: ansible-%{commitId}.tar.gz Source1: ansible-test-data-files.txt # And bundled deps -Source2: packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz -Source3: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz +Source2: jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz +Source3: markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz +Source4: packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz +Source5: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz +Source6: resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28.tar.gz # Deps to build man pages -Source5: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz +Source7: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz URL: http://ansible.com @@ -62,33 +68,32 @@ Conflicts: ansible-base # Bundled provides that are sprinkled throughout the codebase. Provides: bundled(python-backports-ssl_match_hostname) = 3.7.0.1 -Provides: bundled(python-distro) = 1.5.0 +Provides: bundled(python-distro) = 1.6.0 Provides: bundled(python-selectors2) = 1.1.1 -Provides: bundled(python-six) = 1.13.0 +Provides: bundled(python-six) = 1.16.0 # Things we explicitly bundle via src rpm, and put in ansible._vendor +Provides: bundled(python-jinja2) = %{jinja2_version} +Provides: bundled(python-markupsafe) = %{markupsafe_version} Provides: bundled(python-packaging) = %{packaging_version} Provides: bundled(python-pyparsing) = %{pyparsing_version} +Provides: bundled(python-resolvelib) = %{resolvelib_version} Provides: bundled(python-straightplugin) = %{straightplugin_version} BuildRequires: python3-docutils -BuildRequires: python38-devel -BuildRequires: python38-jinja2 -BuildRequires: python38-pip -BuildRequires: python38-pyyaml -BuildRequires: python38-resolvelib -BuildRequires: python38-rpm-macros -BuildRequires: python38-setuptools -BuildRequires: python38-wheel -BuildRequires: make git-core +BuildRequires: python39-devel +BuildRequires: python39-pip +BuildRequires: python39-pyyaml +BuildRequires: python39-rpm-macros +BuildRequires: python39-setuptools +BuildRequires: python39-wheel +BuildRequires: make git-core gcc Requires: git-core -Requires: python38 -Requires: python38-jinja2 -Requires: python38-PyYAML -Requires: python38-cryptography -Requires: python38-resolvelib -Requires: python38-six +Requires: python39 +Requires: python39-PyYAML >= 5.1 +Requires: python39-cryptography +Requires: python39-six Requires: sshpass %description @@ -113,27 +118,33 @@ This package installs the ansible-test command for testing modules and plugins developed for ansible. %prep -%setup -q -T -b 2 -n packaging-ded06cedf6e20680eea0363fac894cb4a09e7831 -%setup -q -T -b 3 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605 -%setup -q -T -b 5 -n straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed +%setup -q -T -b 2 -n jinja2-b08cd4bc64bb980df86ed2876978ae5735572280 +%setup -q -T -b 3 -n markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f +%setup -q -T -b 4 -n packaging-ded06cedf6e20680eea0363fac894cb4a09e7831 +%setup -q -T -b 5 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605 +%setup -q -T -b 6 -n resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28 +%setup -q -T -b 7 -n straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed %setup -q -n ansible-%{commitId} # Fix all Python shebangs recursively in ansible-test # -p preserves timestamps # -n prevents creating ~backup files # -i specifies the interpreter for the shebang -pathfix3.8.py -pni "%{__python3} %{py3_shbang_opts}" test/lib/ansible_test +pathfix3.9.py -pni "%{__python3} %{py3_shbang_opts}" test/lib/ansible_test %build -/usr/bin/python3.8 setup.py build +/usr/bin/python3.9 setup.py build %install -/usr/bin/python3.8 setup.py install --root %{buildroot} +/usr/bin/python3.9 setup.py install --root %{buildroot} # Handle bundled deps: %{vendor_pip} \ + ../jinja2-b08cd4bc64bb980df86ed2876978ae5735572280/ \ + ../markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f/ \ + ../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ \ ../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/ \ - ../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ + ../resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28 # Create system directories that Ansible defines as default locations in # ansible/config/base.yml @@ -178,12 +189,12 @@ mkdir -p %{buildroot}/%{_mandir}/man1/ ## Build man pages mkdir /tmp/_vendor -/usr/bin/python3.8 -m pip install ../straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed -t /tmp/_vendor --no-build-isolation +/usr/bin/python3.9 -m pip install ../straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed -t /tmp/_vendor --no-build-isolation # Remove plugins not needed, they bring in more dependencies find hacking/build_library/build_ansible/command_plugins ! -name 'generate_man.py' -type f -exec rm -f {} + -PYTHON=python3.8 PYTHONPATH=%{vendor_path}:/tmp/_vendor make docs +PYTHON=python3.9 PYTHONPATH=%{vendor_path}:/tmp/_vendor make docs cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/ cp -pr docs/docsite/rst . @@ -198,14 +209,20 @@ cp -p lib/ansible_core.egg-info/PKG-INFO . %doc changelogs/CHANGELOG-v2.*.rst %doc %{_mandir}/man1/ansible* %{_datadir}/ansible/ -%{python38_sitelib}/ansible* -%exclude %{python38_sitelib}/ansible_test +%{python39_sitelib}/ansible* +%exclude %{python39_sitelib}/ansible_test +%exclude %{python39_sitelib}/ansible/_vendor/markupsafe/_speedups.c %files -n ansible-test %{_bindir}/ansible-test -%{python38_sitelib}/ansible_test +%{python39_sitelib}/ansible_test %changelog +* Mon Jul 04 2022 Dimitri Savineau - 2.13.1-1 +- ansible-core 2.13.1 release (rhbz#2103699) +- add bundled version of jinja2, markupsafe and resolvelib +- rebuild with python 3.9 + * Mon Jun 20 2022 Dimitri Savineau - 2.12.7-1 - ansible-core 2.12.7 release (rhbz#2099323) diff --git a/sources b/sources index caa2de4..cc30b61 100644 --- a/sources +++ b/sources @@ -1,4 +1,7 @@ -SHA512 (ansible-fbaea4c269b0a3c8112101754cee808d82bebbee.tar.gz) = e1d99360f40c7a5279f9e91193e56f04ba45dcc63e3f5c8a2d55f0c902e007e6dfc1b850b7ff76db2fbb0ea561c0242f3cde486e5fe7dd0f20165c3a56fd93b1 +SHA512 (ansible-e9f633ec720fbd4367d2f694574dec101e22d3b9.tar.gz) = 25dc5b2eb17f35a5f1d6c564fdd39c97cd2fcc77a01ce23aa82c77f8aa296924c42ec59a4e5ccc22d3e7820dce143e88b44d71ab6d8322fa61648ba7ac5b4e7b +SHA512 (jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz) = d596089beabdb4af4953fc2d0b786621f628232d2412b47b0baaa6e031b4bf693083a0e976b3df867451694c77817685c8ec5ffe80be6fb38709b4ae0819c984 +SHA512 (markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz) = 5f454607c2d4eb0eab46305696636341a6725cc03ebde170c592f49a79b84fd51d1be82e0c22023772fda1dee09d2ae4f5867d189e2f0bdc1a0246962367fd08 SHA512 (packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz) = ceacb927289775fe901b2169053e3265db1531c8c22dc42329d28c24b64d021a791cf523044420e3a821fbbc251039796f951b21745a4870a8ec53e2eeac76a7 SHA512 (pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz) = ad95ec904f35dce422e31c6fc5922ca5970757229463e9fc4d1cbb0e798b6b7c1c6f44dcb8aaccec47f106506e78e7482ffc40b21f2122ba9d83e4e27bd57118 +SHA512 (resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28.tar.gz) = 881846301756d66f4f21c4cae88610f4baf2dfb765121468e172c3086153a668749dc7d5d0ffbb174652721a94ad72239c551386ccdaaa3e287ccfe7bb821c32 SHA512 (straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz) = 7a3ba87f0de4cd7c7c8dda564d737b1656f8f3a9fa33895a252dec49ed53cbaf7e140d7fa65a68efa959487f4477b079cf9ae8cd251df3b8977053cde8aab7a5