Compare commits

..

5 commits

Author SHA1 Message Date
Maxwell G
eccc9b7634 Update to 2.12.10. 2022-10-19 23:58:10 -05:00
Maxwell G
894aee8b6d
Update to 2.12.9. 2022-09-12 20:28:13 -05:00
Maxwell G
d1dc5916d7
Update to 2.12.8. 2022-08-16 19:13:50 -05:00
Maxwell G
ee9859f1e6
Commit patchfile 2022-06-23 20:05:37 -05:00
Maxwell G
86cadce1c5
Update to 2.12.7.
Backport packaging fixes from rawhide
2022-06-23 19:13:18 -05:00
15 changed files with 320 additions and 623 deletions

View file

@ -1 +0,0 @@
1

78
.gitignore vendored
View file

@ -13,77 +13,7 @@
/ansible-core-2.12.4.tar.gz
/ansible-core-2.12.5.tar.gz
/ansible-core-2.12.6.tar.gz
/ansible-core-2.13.0.tar.gz
/ansible-core-2.13.1.tar.gz
/ansible-core-2.13.2.tar.gz
/ansible-core-2.13.3.tar.gz
/ansible-core-2.13.4.tar.gz
/ansible-core-2.13.5.tar.gz
/ansible-core-2.14.0rc1.tar.gz
/ansible-core-2.14.0rc2.tar.gz
/ansible-core-2.14.0.tar.gz
/ansible-core-2.14.1.tar.gz
/ansible-core-2.14.2.tar.gz
/ansible-core-2.14.3.tar.gz
/ansible-core-2.14.4.tar.gz
/ansible-core-2.15.0b3.tar.gz
/ansible-core-2.15.0rc1.tar.gz
/ansible-core-2.15.0rc2.tar.gz
/ansible-core-2.15.0.tar.gz
/ansible-core-2.15.1.tar.gz
/ansible-core-2.15.2.tar.gz
/ansible-documentation-2.15.2.tar.gz
/ansible-core-2.15.3.tar.gz
/ansible-documentation-2.15.3.tar.gz
/ansible-core-2.15.4.tar.gz
/ansible-documentation-2.15.4.tar.gz
/ansible-core-2.16.0b1.tar.gz
/ansible-documentation-2.16.0b1.tar.gz
/ansible-core-2.16.0b2.tar.gz
/ansible-documentation-2.16.0b2.tar.gz
/ansible-core-2.16.0rc1.tar.gz
/ansible-documentation-2.16.0rc1.tar.gz
/ansible-core-2.16.0.tar.gz
/ansible-documentation-2.16.0.tar.gz
/ansible-core-2.16.1.tar.gz
/ansible-documentation-2.16.1.tar.gz
/ansible-core-2.16.2.tar.gz
/ansible-documentation-2.16.2.tar.gz
/ansible-core-2.16.3.tar.gz
/ansible-documentation-2.16.3.tar.gz
/ansible-core-2.16.4.tar.gz
/ansible-documentation-2.16.4.tar.gz
/ansible-core-2.16.5.tar.gz
/ansible-documentation-2.16.5.tar.gz
/ansible-core-2.16.6.tar.gz
/ansible-documentation-2.16.6.tar.gz
/ansible-core-2.16.7.tar.gz
/ansible-documentation-2.16.7.tar.gz
/ansible-core-2.16.8.tar.gz
/ansible-documentation-2.16.8.tar.gz
/ansible-core-2.16.9.tar.gz
/ansible-documentation-2.16.9.tar.gz
/ansible-core-2.16.10.tar.gz
/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
/ansible-core-2.12.7.tar.gz
/ansible-core-2.12.8.tar.gz
/ansible-core-2.12.9.tar.gz
/ansible-core-2.12.10.tar.gz

View file

@ -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

17
2.10.3-test-patch.patch Normal file
View file

@ -0,0 +1,17 @@
diff --color -Nur ansible-base-2.10.3.orig/test/units/modules/test_async_wrapper.py ansible-base-2.10.3/test/units/modules/test_async_wrapper.py
--- ansible-base-2.10.3.orig/test/units/modules/test_async_wrapper.py 2020-11-02 14:26:08.000000000 -0800
+++ ansible-base-2.10.3/test/units/modules/test_async_wrapper.py 2020-11-03 13:07:42.556005427 -0800
@@ -22,11 +22,11 @@
def test_run_module(self, monkeypatch):
def mock_get_interpreter(module_path):
- return ['/usr/bin/python']
+ return ['/usr/bin/python3']
module_result = {'rc': 0}
module_lines = [
- '#!/usr/bin/python',
+ '#!/usr/bin/python3',
'import sys',
'sys.stderr.write("stderr stuff")',
"print('%s')" % json.dumps(module_result)

View file

@ -1 +0,0 @@
addFilter("E: zero-length")

View file

@ -1,136 +1,172 @@
# SPDX-License-Identifier: MIT
# Copyright (C) Fedora Project Authors
# License Text: https://spdx.org/licenses/MIT.html
#
# If we should enable docs building
# Currently we cannot until we get a stack of needed packages added and a few bugs fixed
#
%bcond_with docs
# several test dependencies are unwanted in RHEL
%bcond tests %{undefined rhel}
# controls whether to generate shell completions
# may be useful for bootstrapping purposes
%bcond argcomplete 1
# disable the python -s shbang flag as we want to be able to find non system modules
%undefine _py3_shebang_s
#
# If we should enable tests by default
#
%bcond_without tests
Name: ansible-core
Version: 2.20.1
%global uversion %{version_no_tilde %{quote:%nil}}
Release: 2%{?dist}
Summary: A radically simple IT automation system
Version: 2.12.10
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
# SPDX-License-Identifier: GPL-3.0-or-later AND BSD-2-Clause AND PSF-2.0 AND MIT AND Apache-2.0
License: GPLv3+ and BSD and Python and MIT and ASL 2.0
Source: %{pypi_source}
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
Patch: https://github.com/ansible/ansible/pull/76670.patch#/fix-tests-failing-on-pytest-7.patch
# A 2.10.3 async test uses /usr/bin/python, which we do not have by default.
# Patch the test to use /usr/bin/python3 as we have for our build.
Patch: 2.10.3-test-patch.patch
# These patch removes the requirement on python3-mock which is deprecated in Fedora.
# This is based off of work upstream.
Patch: replace-mock.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
# Fedora-License-Identifier: BSD and Python
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
# Fedora-License-Identifier: ASL 2.0
Provides: bundled(python3dist(distro)) = 1.6.0
# lib/ansible/module_utils/six/*
# SPDX-License-Identifier: MIT
Provides: bundled(python3dist(six)) = 1.17.0
# Fedora-License-Identifier: MIT
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
# Fedora-License-Identifier: GPLv3+
Provides: bundled(python3dist(selectors2)) = 1.1.1
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
%endif
# Needed to build manpages from source.
BuildRequires: python%{python3_pkgversion}-docutils
%if %{with tests}
#
# For tests
#
# These two exist on both fedora and rhel8
#
BuildRequires: make
BuildRequires: git-core
BuildRequires: python3-packaging
BuildRequires: python3-pexpect
BuildRequires: python3-systemd
BuildRequires: python3-pytz
BuildRequires: glibc-all-langpacks
BuildRequires: python%{python3_pkgversion}-systemd
BuildRequires: python3-resolvelib
#
# These only exist on Fedora. RHEL8 will just skip tests that need them.
#
%if 0%{?fedora}
BuildRequires: python3-paramiko
BuildRequires: python3-winrm
BuildRequires: python3-coverage
BuildRequires: python3-passlib
%endif
%endif
%if %{with docs}
BuildRequires: make
BuildRequires: python3-sphinx
BuildRequires: python3-sphinx-theme-alabaster
BuildRequires: python3-sphinx-notfound-page
BuildRequires: asciidoc
BuildRequires: python3-straight-plugin
BuildRequires: python3-rstcheck
BuildRequires: python3-pygments
BuildRequires: antsibull
%endif
%if %{with argcomplete}
#
# main buildrequires to build
#
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pytest
BuildRequires: python3-pytest-xdist
BuildRequires: python3-pytest-mock
BuildRequires: python3-jinja2
BuildRequires: python3-pyyaml
BuildRequires: python3-cryptography
BuildRequires: python3-pyvmomi
BuildRequires: python%{python3_pkgversion}-argcomplete
# RHEL8 doesn't have python3-paramiko or python3-winrm (yet), but Fedora does
Recommends: python3-paramiko
Recommends: python3-winrm
Requires: python%{python3_pkgversion}-argcomplete
%endif
%if 0%{?fedora} >= 39
BuildRequires: python3-libdnf5
Recommends: python3-libdnf5
%endif
# Require packaging macros if rpm-build exists
# This makes the transition seamless for other packages
Requires: (ansible-packaging if rpm-build)
%global _description %{expand:
%description
Ansible is a radically simple model-driven configuration management,
multi-node deployment, and remote task execution system. Ansible works
over SSH and does not require any software or daemons to be installed
on remote nodes. Extension modules can be written in any language and
are transferred to managed machines automatically.}
%description %_description
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
%package -n ansible-core-doc
Summary: Documentation for Ansible Base
Provides: ansible-base-doc = 2.10.7
Obsoletes: ansible-base-doc < 2.10.6-1%{?dist}
%description doc %_description
%description -n ansible-core-doc
Ansible is a radically simple model-driven configuration management,
multi-node deployment, and remote task execution system. Ansible works
over SSH and does not require any software or daemons to be installed
on remote nodes. Extension modules can be written in any language and
are transferred to managed machines automatically.
This package installs extensive documentation for ansible-core
%prep
%autosetup -p1 -n ansible-%{uversion} -a1
# Relax setuptools constraint on Fedora
# Future RHELs have new enough setuptools
%if %{undefined rhel}
tomcli-set pyproject.toml lists replace \
'build-system.requires' 'setuptools >=.*' 'setuptools'
%endif
sed -i -s 's|/usr/bin/env python|%{python3}|' \
bin/ansible-test \
test/lib/ansible_test/_util/target/cli/ansible_test_cli_stub.py
# TODO: Investigate why hostname is the only module that still has a shebang
# and file an upstream issue if needed.
sed -i -e '1{\@^#!.*@d}' lib/ansible/modules/hostname.py
sed '/^mock$/d' test/lib/ansible_test/_data/requirements/units.txt > _requirements.txt
%generate_buildrequires
%pyproject_buildrequires %{?with_tests:_requirements.txt test/units/requirements.txt}
%if %{with argcomplete}
# Shell completions
echo 'python%{python3_pkgversion}-argcomplete'
%endif
%autosetup -p1
# Remove shebangs. They are unnecessary and conflict with the Fedora Packaging Guidelines
find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' \;
%build
%pyproject_wheel
sed -i -s 's|/usr/bin/env python|/usr/bin/python3|' test/lib/ansible_test/_util/target/cli/ansible_test_cli_stub.py
# Build manpages
mkdir -p docs/man/man1
%{python3} packaging/cli-doc/build.py man --output-dir docs/man/man1
# disable the python -s shbang flag as we want to be able to find non system modules
%global py3_shbang_opts %(echo %{py3_shbang_opts} | sed 's/-s//')
%py3_build
%if %{with docs}
make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs
%else
# we still need things to build these minimal docs too.
# make PYTHON=/usr/bin/python3 -Cdocs/docsite config cli keywords modules plugins testing
%endif
%if %{with argcomplete}
# Build shell completions
(
cd bin
for shell in bash fish; do
@ -152,27 +188,12 @@ mkdir -p docs/man/man1
done
done
)
%endif
%install
%pyproject_install
%pyproject_save_files ansible ansible_test
%py3_install
# These files are executable when they shouldn't be.
# Only the actual "binaries" in %%{_bindir} need to be executable
# and have shebangs.
while read -r file; do
sed -i -e '1{\@^#!.*@d}' "${file}"
done < <(find \
%{buildroot}%{python3_sitelib}/ansible/cli/*.py \
%{buildroot}%{python3_sitelib}/ansible/cli/scripts/ansible_connection_cli_stub.py \
-type f ! -executable)
%if %{with argcomplete}
install -Dpm 0644 bash_completions/* -t %{buildroot}%{bash_completions_dir}
install -Dpm 0644 fish_completions/* -t %{buildroot}%{fish_completions_dir}
%endif
install -Dpm 0644 bash_completions/* -t %{buildroot}%{_datadir}/bash-completion/completions
install -Dpm 0644 fish_completions/* -t %{buildroot}%{_datadir}/fish/vendor_completions.d
# Create system directories that Ansible defines as default locations in
# ansible/config/base.yml
@ -209,291 +230,59 @@ mkdir -p %{buildroot}%{_datadir}/ansible/plugins/
for location in $DATADIR_LOCATIONS ; do
mkdir %{buildroot}"$location"
done
mkdir -p %{buildroot}%{_sysconfdir}/ansible/
mkdir -p %{buildroot}%{_sysconfdir}/ansible/roles/
mkdir -p %{buildroot}/etc/ansible/
mkdir -p %{buildroot}/etc/ansible/roles/
cp ansible-documentation-%{uversion}/examples/hosts %{buildroot}/etc/ansible/
cp ansible-documentation-%{uversion}/examples/ansible.cfg %{buildroot}/etc/ansible/
cp examples/hosts %{buildroot}/etc/ansible/
cp examples/ansible.cfg %{buildroot}/etc/ansible/
mkdir -p %{buildroot}/%{_mandir}/man1
cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/
# We install licenses in this manner so we don't miss new licenses:
# 1. Copy all files in licenses to %%{_pkglicensedir}.
# 2. List the files explicitly in %%files.
# 3. The build will fail with unpackaged file errors if license
# files aren't accounted for.
%global _pkglicensedir %{_licensedir}/ansible-core
install -Dpm 0644 licenses/* -t %{buildroot}%{_pkglicensedir}
# no need to ship zero length files
find %{buildroot}/%{python3_sitelib} -name .git_keep -exec rm -f {} \;
find %{buildroot}/%{python3_sitelib} -name .travis.yml -exec rm -f {} \;
%check
%if %{with tests}
%{python3} bin/ansible-test \
units --local --python-interpreter %{python3} -vv
ln -s /usr/bin/pytest-3 bin/pytest
make PYTHON=/usr/bin/python3 tests-py3
%endif
%files -f %{pyproject_files}
%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
%doc README.rst PKG-INFO changelogs/CHANGELOG-v2.12.rst
%dir %{_sysconfdir}/ansible/
%config(noreplace) %{_sysconfdir}/ansible/*
%{_bindir}/ansible*
%{_datadir}/ansible/
%if %{with argcomplete}
%{bash_completions_dir}/ansible*
%{fish_completions_dir}/ansible*.fish
%endif
%{_datadir}/bash-completion/completions/ansible*
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/ansible*.fish
%{_mandir}/man1/ansible*
%{python3_sitelib}/ansible
%{python3_sitelib}/ansible_test
%{python3_sitelib}/*egg-info
%files doc
%doc ansible-documentation-%{uversion}/docs/docsite/rst
%files -n ansible-core-doc
%doc docs/docsite/rst
%if %{with docs}
%doc ansible-documentation-%{uversion}/docs/docsite/_build/html
%doc docs/docsite/_build/html
%endif
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.20.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Oct 20 2022 Maxwell G <gotmax@e.email> - 2.12.10-1
- Update to 2.12.10.
* Tue Dec 09 2025 Maxwell G <maxwell@gtmx.me> - 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
* Tue Sep 13 2022 Maxwell G <gotmax@e.email> - 2.12.9-1
- Update to 2.12.9.
* Mon Nov 17 2025 Packit <hello@packit.dev> - 2.18.11-1
- Update to version 2.18.11
* Wed Aug 17 2022 Maxwell G <gotmax@e.email> - 2.12.8-1
- Update to 2.12.8.
* Sat Sep 27 2025 Maxwell G <maxwell@gtmx.me> - 2.18.9-1
- Update to 2.18.9.
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 2.18.7-4
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 2.18.7-3
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 16 2025 Maxwell G <maxwell@gtmx.me> - 2.18.7-1
- Update to 2.18.7. Fixes rhbz#2380244.
* Sat Jun 07 2025 Maxwell G <maxwell@gtmx.me> - 2.18.6-2
- Add initial support for Python 3.14 (rhbz#2366307)
* Sat Jun 07 2025 Maxwell G <maxwell@gtmx.me> - 2.18.6-1
- Update to 2.18.6. Fixes rhbz#2354908.
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 2.18.4-2
- Rebuilt for Python 3.14
* Tue Mar 25 2025 Packit <hello@packit.dev> - 2.18.4-1
- Update to version 2.18.4
- Resolves: rhbz#2354908
* Mon Mar 17 2025 Packit <hello@packit.dev> - 2.18.3-1
- Update to version 2.18.3
- Resolves: rhbz#2342365
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Dec 04 2024 Maxwell G <maxwell@gtmx.me> - 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 <maxwell@gtmx.me> - 2.18.0-1
- Update to 2.18.0. Fixes rhbz#2282011.
* Fri Oct 11 2024 Maxwell G <maxwell@gtmx.me> - 2.16.12-1
- Update to 2.16.12.
* Tue Sep 10 2024 Maxwell G <maxwell@gtmx.me> - 2.16.11-1
- Update to 2.16.11.
* Tue Aug 13 2024 Maxwell G <maxwell@gtmx.me> - 2.16.10-1
- Update to 2.16.10.
* Fri Jul 19 2024 Maxwell G <maxwell@gtmx.me> - 2.16.9-1
- Update to 2.16.9.
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.16.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jun 23 2024 Maxwell G <maxwell@gtmx.me> - 2.16.8-1
- Update to 2.16.8.
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 2.16.7-2
- Rebuilt for Python 3.13
* Tue Jun 04 2024 Maxwell G <maxwell@gtmx.me> - 2.16.7-1
- Update to 2.16.7.
* Thu May 23 2024 Miro Hrončok <mhroncok@redhat.com> - 2.16.6-2
- Fix build with Python 3.13
* Tue Apr 16 2024 Maxwell G <maxwell@gtmx.me> - 2.16.6-1
- Update to 2.16.6. Fixes rhbz#2261507.
* Fri Mar 29 2024 Maxwell G <maxwell@gtmx.me> - 2.16.5-1
- Update to 2.16.5. Fixes rhbz#2261507.
* Fri Mar 29 2024 Maxwell G <maxwell@gtmx.me> - 2.16.5-1
- Update to 2.16.5.
* Sat Mar 02 2024 Maxwell G <maxwell@gtmx.me> - 2.16.4-1
- Update to 2.16.4. Fixes rhbz#2261507.
* Thu Feb 01 2024 Maxwell G <maxwell@gtmx.me> - 2.16.3-1
- Update to 2.16.3. Fixes rhbz#2261507.
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.16.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.16.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 18 2024 Maxwell G <maxwell@gtmx.me> - 2.16.2-2
- Mitigate CVE-2024-0690.
* Mon Dec 11 2023 Maxwell G <maxwell@gtmx.me> - 2.16.2-1
- Update to 2.16.2. Fixes rhbz#2254093.
* Wed Dec 06 2023 Maxwell G <maxwell@gtmx.me> - 2.16.1-1
- Update to 2.16.1. Fixes rhbz#2252860.
* Fri Nov 10 2023 Maxwell G <maxwell@gtmx.me> - 2.16.0-1
- Update to 2.16.0. Fixes rhbz#2248187.
* Thu Oct 19 2023 Maxwell G <maxwell@gtmx.me> - 2.16.0~rc1-1
- Update to 2.16.0~rc1.
* Tue Oct 03 2023 Maxwell G <maxwell@gtmx.me> - 2.16.0~b2-1
- Update to 2.16.0~b2.
* Mon Oct 02 2023 Miro Hrončok <mhroncok@redhat.com> - 2.16.0~b1-2
- Do not use tomcli in Fedora ELN, avoid pulling unwanted dependencies
* Wed Sep 27 2023 Maxwell G <maxwell@gtmx.me> - 2.16.0~b1-1
- Update to 2.16.0~b1.
* Tue Sep 26 2023 Kevin Fenzi <kevin@scrye.com> - 2.15.4-2
- Add patch to fix readfp with python-3.12. Fixes rhbz#2239728
* Mon Sep 11 2023 Maxwell G <maxwell@gtmx.me> - 2.15.4-1
- Update to 2.15.4. Fixes rhbz#2238445.
* Thu Aug 17 2023 Maxwell G <maxwell@gtmx.me> - 2.15.3-1
- Update to 2.15.3. Fixes rhbz#2231963.
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 18 2023 Maxwell G <maxwell@gtmx.me> - 2.15.2-1
- Update to 2.15.2. Fixes rhbz#2223469.
- Use the docs sources from https://github.com/ansible/ansible-documentation.
* Mon Jul 03 2023 Maxwell G <maxwell@gtmx.me> - 2.15.1-2
- Rebuilt for Python 3.12
* Thu Jun 22 2023 Maxwell G <maxwell@gtmx.me> - 2.15.1-1
- Update to 2.15.1. Fixes rhbz#2204492.
- Add Recommends on python3-libdnf5 for Fedora 39
* Sat Jun 17 2023 Maxwell G <maxwell@gtmx.me> - 2.15.0-5
- Add patch to avoid importlib.abc.TraversableResources DeprecationWarning
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 2.15.0-4
- Rebuilt for Python 3.12
* Tue Jun 13 2023 Maxwell G <maxwell@gtmx.me> - 2.15.0-3
- Add support for Python 3.12. Fixes rhbz#2196539.
- Remove conditional Requires on ansible-packaging.
* Tue May 23 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 2.15.0-2
- Disable tests in RHEL builds
* Tue May 16 2023 Maxwell G <maxwell@gtmx.me> - 2.15.0-1
- Update to 2.15.0.
- Don't remove dotfiles and empty files. ansible-core actually needs these.
* Wed May 03 2023 Maxwell G <maxwell@gtmx.me> - 2.15.0~rc2-1
- Update to 2.15.0~rc2.
* Thu Apr 27 2023 Maxwell G <maxwell@gtmx.me> - 2.15.0~rc1-1
- Update to 2.15.0~rc1.
* Mon Apr 24 2023 Maxwell G <maxwell@gtmx.me> - 2.15.0~b3-1
- Update to 2.15.0~b3.
- Account for the removed Makefile
* Mon Apr 24 2023 Maxwell G <maxwell@gtmx.me> - 2.14.4-2
- Add gating
* Wed Mar 29 2023 Maxwell G <maxwell@gtmx.me> - 2.14.4-1
- Update to 2.14.4. Fixes rhbz#2173765.
* Wed Mar 01 2023 Maxwell G <maxwell@gtmx.me> - 2.14.3-1
- Update to 2.14.3.
* Tue Jan 31 2023 David Moreau-Simard <moi@dmsimard.com> - 2.14.2-1
- Update to 2.14.2. Fixes rhbz#2165629.
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.14.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Dec 09 2022 Maxwell G <gotmax@e.email> - 2.14.1-1
- Update to 2.14.1.
* Mon Nov 07 2022 Maxwell G <gotmax@e.email> - 2.14.0-1
- Update to 2.14.0.
* Wed Nov 02 2022 Maxwell G <gotmax@e.email> - 2.14.0~rc2-1
- Update to 2.14.0~rc2.
* Fri Oct 28 2022 Maxwell G <gotmax@e.email> - 2.14.0~rc1-1
- Update to 2.14.0~rc1.
* Wed Oct 12 2022 Maxwell G <gotmax@e.email> - 2.13.5-1
- Update to 2.13.5.
* Tue Sep 13 2022 Maxwell G <gotmax@e.email> - 2.13.4-1
- Update to 2.13.4.
* Wed Aug 31 2022 Maxwell G <gotmax@e.email> - 2.13.3-2
- Remove weak deps on paramiko and winrm
* Mon Aug 15 2022 Maxwell G <gotmax@e.email> - 2.13.3-1
- Update to 2.13.3.
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jul 19 2022 Maxwell G <gotmax@e.email> - 2.13.2-1
- Update to 2.13.2. Fixes rhbz#2108195.
* Thu Jul 07 2022 Miro Hrončok <mhroncok@redhat.com> - 2.13.1-2
- Don't put -- into Python shebangs
* Wed Jun 22 2022 Maxwell G <gotmax@e.email> - 2.13.1-1
- Update to 2.13.1 (rhbz#2096312).
* Thu Jun 16 2022 Maxwell G <gotmax@e.email> - 2.13.0-1
- Update to 2.13.0.
- Re-enable tests that work with newer pytest
- Patch out python3-mock
- Manually build manpages to workaround upstream issue.
- Remove unneeded BRs and switch to pyproject-rpm-macros.
- Make ansible-base* Obsoletes/Provides compliant with Packaging Guidelines
- Remove python3-jmespath dependency. json_query is part of community.general.
- Correct licensing
- Generate shell completions
* Thu Jun 16 2022 Python Maint <python-maint@redhat.com> - 2.12.6-2
- Rebuilt for Python 3.11
* Thu Jun 23 2022 Maxwell G <gotmax@e.email> - 2.12.7-1
- Update to 2.12.7.
- Backport packaging fixes from rawhide
* Tue May 24 2022 Maxwell G <gotmax@e.email> - 2.12.6-1
- Update to 2.12.6.

View file

@ -0,0 +1,108 @@
From 52a56f3c0594cf76b3061260711536c23385ee75 Mon Sep 17 00:00:00 2001
From: Jordan Borean <jborean93@gmail.com>
Date: Fri, 7 Jan 2022 09:53:18 +1000
Subject: [PATCH 1/2] Fix pytest 7 failures with leaky fixture
---
changelogs/fragments/ansible-test-pytest7.yml | 2 ++
test/units/galaxy/test_role_install.py | 17 +++++++++--------
2 files changed, 11 insertions(+), 8 deletions(-)
create mode 100644 changelogs/fragments/ansible-test-pytest7.yml
diff --git a/changelogs/fragments/ansible-test-pytest7.yml b/changelogs/fragments/ansible-test-pytest7.yml
new file mode 100644
index 00000000000000..305dddb181b4e7
--- /dev/null
+++ b/changelogs/fragments/ansible-test-pytest7.yml
@@ -0,0 +1,2 @@
+bugfixes:
+- ansible-test - Fix tests that were broken with ``pytest 7`` - https://github.com/ansible/ansible/issues/76577
diff --git a/test/units/galaxy/test_role_install.py b/test/units/galaxy/test_role_install.py
index cf990b55a6d902..687fcac1e53fb9 100644
--- a/test/units/galaxy/test_role_install.py
+++ b/test/units/galaxy/test_role_install.py
@@ -8,6 +8,7 @@
import os
+import functools
import pytest
import tempfile
@@ -59,9 +60,9 @@ def mock_NamedTemporaryFile(mocker, **args):
return mock_ntf
-@pytest.fixture(autouse=True)
-def init_test(monkeypatch):
- monkeypatch.setattr(tempfile, 'NamedTemporaryFile', mock_NamedTemporaryFile)
+@pytest.fixture
+def init_mock_temp_file(mocker, monkeypatch):
+ monkeypatch.setattr(tempfile, 'NamedTemporaryFile', functools.partial(mock_NamedTemporaryFile, mocker))
@pytest.fixture(autouse=True)
@@ -74,7 +75,7 @@ def mock_role_download_api(mocker, monkeypatch):
return mock_role_api
-def test_role_download_github(mocker, galaxy_server, mock_role_download_api, monkeypatch):
+def test_role_download_github(init_mock_temp_file, mocker, galaxy_server, mock_role_download_api, monkeypatch):
mock_api = mocker.MagicMock()
mock_api.side_effect = [
StringIO(u'{"available_versions":{"v1":"v1/"}}'),
@@ -89,7 +90,7 @@ def test_role_download_github(mocker, galaxy_server, mock_role_download_api, mon
assert mock_role_download_api.mock_calls[0][1][0] == 'https://github.com/test_owner/test_role/archive/0.0.1.tar.gz'
-def test_role_download_github_default_version(mocker, galaxy_server, mock_role_download_api, monkeypatch):
+def test_role_download_github_default_version(init_mock_temp_file, mocker, galaxy_server, mock_role_download_api, monkeypatch):
mock_api = mocker.MagicMock()
mock_api.side_effect = [
StringIO(u'{"available_versions":{"v1":"v1/"}}'),
@@ -104,7 +105,7 @@ def test_role_download_github_default_version(mocker, galaxy_server, mock_role_d
assert mock_role_download_api.mock_calls[0][1][0] == 'https://github.com/test_owner/test_role/archive/0.0.2.tar.gz'
-def test_role_download_github_no_download_url_for_version(mocker, galaxy_server, mock_role_download_api, monkeypatch):
+def test_role_download_github_no_download_url_for_version(init_mock_temp_file, mocker, galaxy_server, mock_role_download_api, monkeypatch):
mock_api = mocker.MagicMock()
mock_api.side_effect = [
StringIO(u'{"available_versions":{"v1":"v1/"}}'),
@@ -119,7 +120,7 @@ def test_role_download_github_no_download_url_for_version(mocker, galaxy_server,
assert mock_role_download_api.mock_calls[0][1][0] == 'https://github.com/test_owner/test_role/archive/0.0.1.tar.gz'
-def test_role_download_url(mocker, galaxy_server, mock_role_download_api, monkeypatch):
+def test_role_download_url(init_mock_temp_file, mocker, galaxy_server, mock_role_download_api, monkeypatch):
mock_api = mocker.MagicMock()
mock_api.side_effect = [
StringIO(u'{"available_versions":{"v1":"v1/"}}'),
@@ -135,7 +136,7 @@ def test_role_download_url(mocker, galaxy_server, mock_role_download_api, monkey
assert mock_role_download_api.mock_calls[0][1][0] == 'http://localhost:8080/test_owner/test_role/0.0.1.tar.gz'
-def test_role_download_url_default_version(mocker, galaxy_server, mock_role_download_api, monkeypatch):
+def test_role_download_url_default_version(init_mock_temp_file, mocker, galaxy_server, mock_role_download_api, monkeypatch):
mock_api = mocker.MagicMock()
mock_api.side_effect = [
StringIO(u'{"available_versions":{"v1":"v1/"}}'),
From 47c1f8f5bf3e27103a9320d42b8b1c602b5c27f0 Mon Sep 17 00:00:00 2001
From: Matt Davis <nitzmahone@users.noreply.github.com>
Date: Fri, 7 Jan 2022 15:35:54 -0800
Subject: [PATCH 2/2] zap changelog
---
changelogs/fragments/ansible-test-pytest7.yml | 2 --
1 file changed, 2 deletions(-)
delete mode 100644 changelogs/fragments/ansible-test-pytest7.yml
diff --git a/changelogs/fragments/ansible-test-pytest7.yml b/changelogs/fragments/ansible-test-pytest7.yml
deleted file mode 100644
index 305dddb181b4e7..00000000000000
--- a/changelogs/fragments/ansible-test-pytest7.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-bugfixes:
-- ansible-test - Fix tests that were broken with ``pytest 7`` - https://github.com/ansible/ansible/issues/76577

View file

@ -1,10 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
...

36
replace-mock.patch Normal file
View file

@ -0,0 +1,36 @@
diff -Naur a/test/units/executor/test_task_executor.py b/test/units/executor/test_task_executor.py
--- a/test/units/executor/test_task_executor.py 2022-06-20 08:45:43.256268500 -0500
+++ b/test/units/executor/test_task_executor.py 2022-06-23 15:15:00.923335000 -0500
@@ -19,7 +19,7 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
-import mock
+from unittest import mock
from units.compat import unittest
from units.compat.mock import patch, MagicMock
diff -Naur a/test/units/module_utils/urls/test_fetch_url.py b/test/units/module_utils/urls/test_fetch_url.py
--- a/test/units/module_utils/urls/test_fetch_url.py 2022-06-20 08:45:43.277268600 -0500
+++ b/test/units/module_utils/urls/test_fetch_url.py 2022-06-23 15:15:37.487225940 -0500
@@ -13,7 +13,7 @@
from ansible.module_utils.urls import fetch_url, urllib_error, ConnectionError, NoSSLError, httplib
import pytest
-from mock import MagicMock
+from unittest.mock import MagicMock
class AnsibleModuleExit(Exception):
diff -Naur a/test/units/module_utils/urls/test_Request.py b/test/units/module_utils/urls/test_Request.py
--- a/test/units/module_utils/urls/test_Request.py 2022-06-20 08:45:43.277268600 -0500
+++ b/test/units/module_utils/urls/test_Request.py 2022-06-23 15:15:37.487225940 -0500
@@ -13,7 +13,7 @@
from ansible.module_utils.urls import SSLValidationHandler, HTTPSClientAuthHandler, RedirectHandlerFactory
import pytest
-from mock import call
+from unittest.mock import call
if HAS_SSLCONTEXT:

View file

@ -1,2 +1 @@
SHA512 (ansible-core-2.20.1.tar.gz) = fa0a4836e3548cd4e432e87b241beb6fb556765699c25b1f3b1c47111a1c44d5ba3244aeb8793408e72ab63564d6e848148becbfb550bd965e466752d7f78229
SHA512 (ansible-documentation-2.20.1.tar.gz) = 0dc20cb62280c715e4b06788a5eb2c757c388d0da646a38fc3ab56e38d236ddb0fd7586a567d973e530ed3ed2310ff26542cdb0e1621e0049147dc747e20205b
SHA512 (ansible-core-2.12.10.tar.gz) = 8b4eb0e923f976680e81ffbe942c4ddc7ddaaaffe83d14c20f78f7c6ab4f548f21920cdfa57b48de2bc24683028e744a92ac4ca45fecc459ea2b042de8c40737

View file

@ -1,54 +0,0 @@
#!/usr/bin/bash
set -xeuo pipefail
export NO_COLOR=1
TMP=$(mktemp -d)
trap "rm -rf $TMP" EXIT
testcase() {
set +x
echo
echo
echo "$1"
echo
echo
set -x
}
fix_log() {
tr '\n' ' ' <log | sponge log
}
cd $TMP
version="0.2.1"
git clone https://git.sr.ht/~gotmax23/ansible-collection-epel --branch="v${version}" --depth=1
cd ansible-collection-epel
mkdir abc
ansible-galaxy collection build .
run="unbuffer ansible-galaxy collection install gotmax23-epel-${version}.tar.gz"
warning="The installed collection will not be picked up in an Ansible run"
testcase "Control: Check plain collection install"
${run} |& tee log
fix_log
(! grep "${warning}" log)
testcase "Check special collection install"
${run} -p abc |& tee log
fix_log
grep "${warning}" log
testcase "Check special collection install with option"
ANSIBLE_GALAXY_COLLECTIONS_PATH_WARNING=1 ${run} -p abc |& tee log
fix_log
grep "${warning}" log
testcase "Check special collection install without option"
ANSIBLE_GALAXY_COLLECTIONS_PATH_WARNING=0 ${run} -p abc |& tee log
fix_log
(! grep "${warning}" log)

View file

@ -1,16 +0,0 @@
summary: A set of Fedora specific ansible integration tests
discover:
- name: Generic ansible integration tests
how: shell
tests:
- name: Run tests/collections_path_warnings.sh
summary: Ensure GALAXY_COLLECTIONS_PATH_WARNINGS works properly
test: tests/collections_path_warnings.sh
require:
- ansible-core
- git-core
- python3-distlib
- /usr/bin/sponge
- /usr/bin/unbuffer
execute:
how: tmt

View file

@ -1,40 +0,0 @@
#!/usr/bin/bash -x
set -euo pipefail
ansible --version
cat <<EOF >inventory
[all]
localhost ansible_connection=local
EOF
export ANSIBLE_INVENTORY=inventory
chroot="fedora-rawhide-x86_64"
ansible localhost -bm setup |& tee out
if ! grep Fedora out; then
chroot="epel-9-x86_64"
fi
ansible localhost -b \
-m package \
-a name=filesystem \
|& tee out
grep -F 'localhost | SUCCESS' out
(! grep -F 'localhost | CHANGED' out)
ansible localhost -b \
-m community.general.copr \
-a "name=gotmax23/community.general.copr_integration_tests chroot=${chroot}" \
|& tee out
grep -F 'localhost | CHANGED' out
ansible localhost -b \
-m package \
-a name=copr-module-integration-dummy-package \
|& tee out
grep -F 'localhost | CHANGED' out
rpm -ql copr-module-integration-dummy-package

View file

@ -1,15 +0,0 @@
summary: Run smoke tests with the ansible bundle installed
discover:
- name: Smoke tests with ansible
how: shell
tests:
- name: Run tests/smoke.sh
test: tests/smoke.sh
require:
- python3
- python3-dnf
- dnf-plugins-core
- ansible-core
- ansible
execute:
how: tmt

View file

@ -1,15 +0,0 @@
summary: Run smoke tests with the standalone ansible-collection-community-general installed
discover:
- name: Smoke tests with community.general
how: shell
tests:
- name: Run tests/smoke.sh
test: tests/smoke.sh
require:
- python3
- python3-dnf
- dnf-plugins-core
- ansible-core
- ansible-collection-community-general
execute:
how: tmt