diff --git a/.gitignore b/.gitignore index 9594499..0b409d2 100644 --- a/.gitignore +++ b/.gitignore @@ -67,23 +67,3 @@ /ansible-documentation-2.16.10.tar.gz /ansible-core-2.16.11.tar.gz /ansible-documentation-2.16.11.tar.gz -/ansible-core-2.16.12.tar.gz -/ansible-documentation-2.16.12.tar.gz -/ansible-core-2.18.0.tar.gz -/ansible-documentation-2.18.0.tar.gz -/ansible-core-2.18.1.tar.gz -/ansible-documentation-2.18.1.tar.gz -/ansible-core-2.18.3.tar.gz -/ansible-documentation-2.18.3.tar.gz -/ansible-core-2.18.4.tar.gz -/ansible-documentation-2.18.4.tar.gz -/ansible-core-2.18.6.tar.gz -/ansible-documentation-2.18.6.tar.gz -/ansible-core-2.18.7.tar.gz -/ansible-documentation-2.18.7.tar.gz -/ansible-core-2.18.9.tar.gz -/ansible-documentation-2.18.9.tar.gz -/ansible-core-2.18.11.tar.gz -/ansible-documentation-2.18.11.tar.gz -/ansible-core-2.20.1.tar.gz -/ansible-documentation-2.20.1.tar.gz diff --git a/.packit.yaml b/.packit.yaml deleted file mode 100644 index 118fa81..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# See the documentation for more information: -# https://packit.dev/docs/configuration/ - -upstream_project_url: https://github.com/ansible/ansible -upstream_tag_template: v{version} -issue_repository: https://pagure.io/ansible-packit-issues -create_sync_note: false -# TODO: Remove pending https://fedoraproject.org/wiki/Changes/Ansible13 -upstream_tag_include: "v2.18" -jobs: - - job: pull_from_upstream - trigger: release - dist_git_branches: - # Fast forward merge rawhide while it is held at v2.18. - rawhide: - fast_forward_merge_into: - - fedora-43 - - fedora-42 - - job: koji_build - trigger: commit - dist_git_branches: - - fedora-all - sidetag_group: "ansible" - dependents: - - ansible - # The update for the sidetag group is created in the ansible package. - # - job: bodhi_update - # trigger: commit - # dist_git_branches: - # - rawhide diff --git a/ansible-core.spec b/ansible-core.spec index 4df897f..a367017 100644 --- a/ansible-core.spec +++ b/ansible-core.spec @@ -12,62 +12,86 @@ # disable the python -s shbang flag as we want to be able to find non system modules %undefine _py3_shebang_s -Name: ansible-core -Version: 2.20.1 +Name: ansible-core +Summary: A radically simple IT automation system +Version: 2.16.11 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} -Summary: A radically simple IT automation system - +Release: 1%{?dist} # The main license is GPLv3+. Many of the files in lib/ansible/module_utils # are BSD licensed. There are various files scattered throughout the codebase # containing code under different licenses. -# The ssh-agent helper code is BSD-3-Clause. -License: GPL-3.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND PSF-2.0 AND MIT AND Apache-2.0 -URL: https://ansible.com +License: GPL-3.0-or-later AND BSD-2-Clause AND PSF-2.0 AND MIT AND Apache-2.0 -Source0: https://github.com/ansible/ansible/archive/v%{uversion}/%{name}-%{uversion}.tar.gz -Source1: https://github.com/ansible/ansible-documentation/archive/v%{uversion}/ansible-documentation-%{uversion}.tar.gz +Source0: https://github.com/ansible/ansible/archive/v%{uversion}/%{name}-%{uversion}.tar.gz +Source1: https://github.com/ansible/ansible-documentation/archive/v%{uversion}/ansible-documentation-%{uversion}.tar.gz -BuildArch: noarch +# ansible-core 2.16 does not support Python 3.13 and upstream does not plan to do so until 2.18 +# This downstream-only patch makes it possible to build 2.16 with Python 3.13 +Patch: python3.13.patch + +Url: https://ansible.com +BuildArch: noarch # Virtual provides for bundled libraries # Search for `_BUNDLED_METADATA` to find them +# lib/ansible/module_utils/urls.py +# SPDX-License-Identifier: BSD-2-Clause AND PSF-2.0 +Provides: bundled(python3dist(backports-ssl-match-hostname)) = 3.7.0.1 + # lib/ansible/module_utils/distro/* # SPDX-License-Identifier: Apache-2.0 -Provides: bundled(python3dist(distro)) = 1.9.0 +Provides: bundled(python3dist(distro)) = 1.6.0 # lib/ansible/module_utils/six/* # SPDX-License-Identifier: MIT -Provides: bundled(python3dist(six)) = 1.17.0 +Provides: bundled(python3dist(six)) = 1.16.0 -# lib/ansible/_internal/_wrapt.py -# SPDX-License-Identifier: BSD-2-Clause -Provides: bundled(python3dist(wrapt)) = 1.17.2 +# lib/ansible/module_utils/compat/selectors.py +# SPDX-License-Identifier: GPL-3.0-or-later +Provides: bundled(python3dist(selectors2)) = 1.1.1 -BuildRequires: make -BuildRequires: python%{python3_pkgversion}-devel +# lib/ansible/module_utils/compat/ipaddress.py +# SPDX-License-Identifier: PSF-2.0 +Provides: bundled(python3dist(ipaddress)) = 1.0.22 + +Conflicts: ansible <= 2.9.99 +# +# obsoletes/provides for ansible-base +# +Provides: ansible-base = %{version}-%{release} +Obsoletes: ansible-base < 2.10.6-1 + +BuildRequires: make +BuildRequires: python%{python3_pkgversion}-devel # This is only used in %%prep to relax the required setuptools version, # which is not necessary in RHEL 10+. # Not using it in RHEL avoids unwanted dependencies. %if %{undefined rhel} -BuildRequires: tomcli >= 0.3.0 +BuildRequires: tomcli >= 0.3.0 %endif # Needed to build manpages from source. -BuildRequires: python%{python3_pkgversion}-docutils +BuildRequires: python%{python3_pkgversion}-docutils %if %{with tests} -BuildRequires: git-core -BuildRequires: glibc-all-langpacks -BuildRequires: python%{python3_pkgversion}-systemd +BuildRequires: git-core +BuildRequires: glibc-all-langpacks +BuildRequires: python%{python3_pkgversion}-systemd + +%if v"0%{?python3_version}" >= v"3.13" +# Use crypt_r on Python 3.13+ +# https://github.com/ansible/ansible/issues/82758 +# Upstream has removed the dependency on crypt from ansible 2.17+ +BuildRequires: python%{python3_pkgversion}-crypt-r +%endif %endif %if %{with argcomplete} -Requires: python%{python3_pkgversion}-argcomplete +Requires: python%{python3_pkgversion}-argcomplete %endif %if 0%{?fedora} >= 39 -BuildRequires: python3-libdnf5 -Recommends: python3-libdnf5 +BuildRequires: python3-libdnf5 +Recommends: python3-libdnf5 %endif @@ -83,9 +107,9 @@ are transferred to managed machines automatically.} This is the base part of ansible (the engine). %package doc -Summary: Documentation for Ansible Core -Provides: ansible-base-doc = %{version}-%{release} -Obsoletes: ansible-base-doc < 2.10.6-1 +Summary: Documentation for Ansible Core +Provides: ansible-base-doc = %{version}-%{release} +Obsoletes: ansible-base-doc < 2.10.6-1 %description doc %_description @@ -234,8 +258,8 @@ install -Dpm 0644 licenses/* -t %{buildroot}%{_pkglicensedir} %files -f %{pyproject_files} %license COPYING -%license %{_pkglicensedir}/{Apache-License,MIT-license,PSF-license,simplified_bsd,BSD-3-Clause}.txt -%doc README.md changelogs/CHANGELOG-v2.2?.rst +%license %{_pkglicensedir}/{Apache-License,MIT-license,PSF-license,simplified_bsd}.txt +%doc README.md changelogs/CHANGELOG-v2.1?.rst %dir %{_sysconfdir}/ansible/ %config(noreplace) %{_sysconfdir}/ansible/* %{_bindir}/ansible* @@ -254,63 +278,6 @@ install -Dpm 0644 licenses/* -t %{buildroot}%{_pkglicensedir} %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 2.20.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Tue Dec 09 2025 Maxwell G - 2.20.1-1 -- Update to 2.20.1. Fixes rhbz#2382388. -- Update bundled() Provides -- Remove upstreamed patches -- Remove old Provides and Obsoletes for ansible-base and Ansible <= 2.9 - -* Mon Nov 17 2025 Packit - 2.18.11-1 -- Update to version 2.18.11 - -* Sat Sep 27 2025 Maxwell G - 2.18.9-1 -- Update to 2.18.9. - -* Fri Sep 19 2025 Python Maint - 2.18.7-4 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Fri Aug 15 2025 Python Maint - 2.18.7-3 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Wed Jul 23 2025 Fedora Release Engineering - 2.18.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jul 16 2025 Maxwell G - 2.18.7-1 -- Update to 2.18.7. Fixes rhbz#2380244. - -* Sat Jun 07 2025 Maxwell G - 2.18.6-2 -- Add initial support for Python 3.14 (rhbz#2366307) - -* Sat Jun 07 2025 Maxwell G - 2.18.6-1 -- Update to 2.18.6. Fixes rhbz#2354908. - -* Tue Jun 03 2025 Python Maint - 2.18.4-2 -- Rebuilt for Python 3.14 - -* Tue Mar 25 2025 Packit - 2.18.4-1 -- Update to version 2.18.4 -- Resolves: rhbz#2354908 - -* Mon Mar 17 2025 Packit - 2.18.3-1 -- Update to version 2.18.3 -- Resolves: rhbz#2342365 - -* Thu Jan 16 2025 Fedora Release Engineering - 2.18.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Dec 04 2024 Maxwell G - 2.18.1-1 -- Update to 2.18.1. Fixes rhbz#2330005. -- dnf5 - backport support for automatically installing python3-libdnf5 (rhbz#2322751). - -* Tue Nov 26 2024 Maxwell G - 2.18.0-1 -- Update to 2.18.0. Fixes rhbz#2282011. - -* Fri Oct 11 2024 Maxwell G - 2.16.12-1 -- Update to 2.16.12. - * Tue Sep 10 2024 Maxwell G - 2.16.11-1 - Update to 2.16.11. diff --git a/python3.13.patch b/python3.13.patch new file mode 100644 index 0000000..80fc84c --- /dev/null +++ b/python3.13.patch @@ -0,0 +1,48 @@ +From 54fc9d327d272c3d1d02a9c44d609a027b67105c Mon Sep 17 00:00:00 2001 +From: Karolina Surma +Date: Thu, 23 May 2024 12:38:22 +0200 +Subject: [PATCH] Make it possible to build with Python 3.13 + +--- + test/lib/ansible_test/_data/requirements/ansible-test.txt | 2 +- + test/lib/ansible_test/_internal/coverage_util.py | 2 +- + test/lib/ansible_test/_util/target/common/constants.py | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/test/lib/ansible_test/_data/requirements/ansible-test.txt b/test/lib/ansible_test/_data/requirements/ansible-test.txt +index 17662f0..2b725a9 100644 +--- a/test/lib/ansible_test/_data/requirements/ansible-test.txt ++++ b/test/lib/ansible_test/_data/requirements/ansible-test.txt +@@ -1,5 +1,5 @@ + # The test-constraints sanity test verifies this file, but changes must be made manually to keep it in up-to-date. + virtualenv == 16.7.12 ; python_version < '3' +-coverage == 7.3.2 ; python_version >= '3.8' and python_version <= '3.12' ++coverage == 7.3.2 ; python_version >= '3.8' and python_version <= '3.13' + coverage == 6.5.0 ; python_version >= '3.7' and python_version <= '3.7' + coverage == 4.5.4 ; python_version >= '2.6' and python_version <= '3.6' +diff --git a/test/lib/ansible_test/_internal/coverage_util.py b/test/lib/ansible_test/_internal/coverage_util.py +index 3017623..f437110 100644 +--- a/test/lib/ansible_test/_internal/coverage_util.py ++++ b/test/lib/ansible_test/_internal/coverage_util.py +@@ -69,7 +69,7 @@ class CoverageVersion: + + COVERAGE_VERSIONS = ( + # IMPORTANT: Keep this in sync with the ansible-test.txt requirements file. +- CoverageVersion('7.3.2', 7, (3, 8), (3, 12)), ++ CoverageVersion('7.3.2', 7, (3, 8), (3, 13)), + CoverageVersion('6.5.0', 7, (3, 7), (3, 7)), + CoverageVersion('4.5.4', 0, (2, 6), (3, 6)), + ) +diff --git a/test/lib/ansible_test/_util/target/common/constants.py b/test/lib/ansible_test/_util/target/common/constants.py +index 36a5a2c..db81f6b 100644 +--- a/test/lib/ansible_test/_util/target/common/constants.py ++++ b/test/lib/ansible_test/_util/target/common/constants.py +@@ -17,4 +17,5 @@ CONTROLLER_PYTHON_VERSIONS = ( + '3.10', + '3.11', + '3.12', ++ '3.13', + ) +-- +2.45.0 + diff --git a/sources b/sources index 47c7d63..244f0ec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (ansible-core-2.20.1.tar.gz) = fa0a4836e3548cd4e432e87b241beb6fb556765699c25b1f3b1c47111a1c44d5ba3244aeb8793408e72ab63564d6e848148becbfb550bd965e466752d7f78229 -SHA512 (ansible-documentation-2.20.1.tar.gz) = 0dc20cb62280c715e4b06788a5eb2c757c388d0da646a38fc3ab56e38d236ddb0fd7586a567d973e530ed3ed2310ff26542cdb0e1621e0049147dc747e20205b +SHA512 (ansible-core-2.16.11.tar.gz) = 838f9a0408c4cb06c80c22d978ce61afffe47e8cb046f218f121a3546b0d39aacf998e45598b8542493df7489f012054c55a9b1f16da428b0ef0c6912b0b84e6 +SHA512 (ansible-documentation-2.16.11.tar.gz) = 3260533c409637e683281aabc5f2a958528050e17ce94b5e41db380b5f83265b5ca55024e798929e30f6b0c12b380cb5fd417de6ef8103b5dd083b0c5e6d594b