From 4f6358bd70c847cdd4dc518159c87eec5dfa45e0 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 15 Sep 2022 13:07:38 -0500 Subject: [PATCH 001/111] Update to 6.4.0. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e8c8a29..e6d33b5 100644 --- a/.gitignore +++ b/.gitignore @@ -125,3 +125,4 @@ /ansible-6.1.0.tar.gz /ansible-6.2.0.tar.gz /ansible-6.3.0.tar.gz +/ansible-6.4.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 5dc7a3e..5cfe3b8 100644 --- a/ansible.spec +++ b/ansible.spec @@ -8,7 +8,7 @@ # We manually specify this in order to workaround RHEL 8's deficient # python-rpm-generators and lack of dynamic BR support. # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.13.3 +%global ansible_core_version 2.13.4 %global ansible_core_next_version 2.14 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) @@ -25,7 +25,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.3.0 +Version: 6.4.0 Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. @@ -185,6 +185,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* Thu Sep 15 2022 Maxwell G - 6.4.0-1 +- Update to 6.4.0. + * Tue Aug 23 2022 Maxwell G - 6.3.0-1 - Update to 6.3.0. diff --git a/sources b/sources index 24eef83..37924c4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.3.0.tar.gz) = 3832159065d6400caade84de1ff5f31d64d7b5d9c3a61ae9bb2ad207e410166dac3537c68d0ec3df7c4b8aec61ee48cc4b690e3117a987efa9306c6cbee534e0 +SHA512 (ansible-6.4.0.tar.gz) = c22f673c0914a8ed2c64828edfceda22f77ae573c9302ae64efb338501f8e75f1ca54eeceb281720c24fc9b52569af369edb7d1d16f7421be89fe11cf5fc366c From 31ccbd4afe8a22a0ec62d87276224da5a6e09603 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 12 Oct 2022 21:17:48 -0500 Subject: [PATCH 002/111] Update to 6.5.0. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e6d33b5..06e706c 100644 --- a/.gitignore +++ b/.gitignore @@ -126,3 +126,4 @@ /ansible-6.2.0.tar.gz /ansible-6.3.0.tar.gz /ansible-6.4.0.tar.gz +/ansible-6.5.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 5cfe3b8..6e5e226 100644 --- a/ansible.spec +++ b/ansible.spec @@ -8,7 +8,7 @@ # We manually specify this in order to workaround RHEL 8's deficient # python-rpm-generators and lack of dynamic BR support. # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.13.4 +%global ansible_core_version 2.13.5 %global ansible_core_next_version 2.14 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) @@ -25,7 +25,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.4.0 +Version: 6.5.0 Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. @@ -185,6 +185,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* Thu Oct 13 2022 Maxwell G - 6.5.0-1 +- Update to 6.5.0. + * Thu Sep 15 2022 Maxwell G - 6.4.0-1 - Update to 6.4.0. diff --git a/sources b/sources index 37924c4..eb1e9d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.4.0.tar.gz) = c22f673c0914a8ed2c64828edfceda22f77ae573c9302ae64efb338501f8e75f1ca54eeceb281720c24fc9b52569af369edb7d1d16f7421be89fe11cf5fc366c +SHA512 (ansible-6.5.0.tar.gz) = ddb77304c6a9617186fa0252a0da91632ffc21f910e02fc68e340ed37de0806586a2543700e996db7fb0bb9240a2ee20b7a462f005de200028748b38fbb2e293 From 23d7aa9e3aa05bc7b83668697de413cf6adec132 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 12 Oct 2022 21:52:09 -0500 Subject: [PATCH 003/111] Use %py3_dist in %ansible_core_requires This ensures that ansible is built against the same Python as ansible-core. --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 6e5e226..0bcb7de 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ # https://github.com/ansible-community/community-topics/issues/84 %global ansible_core_version 2.13.5 %global ansible_core_next_version 2.14 -%global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) +%global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) %if 0%{?rhel} == 8 # RHEL 8's ansible-core package is built using Python 3.8, which is not the default version. From ff177857049f2df53f96eb66e52aaa47a89f594e Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 12 Oct 2022 21:53:04 -0500 Subject: [PATCH 004/111] Remove more unnecessary files - We don't use rm -rf, because it always returns 0, whether or not the path exists. --- ansible.spec | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/ansible.spec b/ansible.spec index 0bcb7de..c77eaed 100644 --- a/ansible.spec +++ b/ansible.spec @@ -94,21 +94,28 @@ echo "[START] Delete unnecessary files and directories" hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$" find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; -# Not needed for runtime and has -# /Users/kbreit/Documents/Programming/ansible_collections/cisco/meraki/venv/bin/python shebang -rm -r ansible_collections/cisco/meraki/scripts - # Not needed for runtime -rm -r ansible_collections/netbox/netbox/hacking -rm -r ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests +rm -rv ansible_collections/cisco/meraki/scripts +rm -rv ansible_collections/community/grafana/hacking +rm -rv ansible_collections/community/okd/ci/ +rm -rv ansible_collections/community/vmware/tools +rm -rv ansible_collections/cyberark/conjur/ci/ +rm -rv ansible_collections/cyberark/conjur/dev/ +rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/netbox/netbox/hacking/ +rm -rv ansible_collections/ovirt/ovirt/automation/ +rm -rv ansible_collections/sensu/sensu_go/docker/ +rm -v ansible_collections/ovirt/ovirt/build.sh +rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh +rm -v ansible_collections/community/dns/update-psl.sh # rpmlint W: pem-certificate find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete # rpmlint E: zero-length find -type f -name "*requirements.txt" -size 0 -print -delete -rm -f ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 -rm -f ansible_collections/community/docker/meta/ee-bindep.txt +rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 +rm -v ansible_collections/community/docker/meta/ee-bindep.txt echo "[END] Delete unnecessary files and directories" From 481b80c79a425b71256afd4d9a9e95c170baf396 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 27 Oct 2022 21:47:52 -0500 Subject: [PATCH 005/111] Update to 7.0.0~a2. --- .gitignore | 1 + ansible.spec | 16 +++++++++------- sources | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 06e706c..4fbd955 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,4 @@ /ansible-6.3.0.tar.gz /ansible-6.4.0.tar.gz /ansible-6.5.0.tar.gz +/ansible-7.0.0a2.tar.gz diff --git a/ansible.spec b/ansible.spec index c77eaed..fe29819 100644 --- a/ansible.spec +++ b/ansible.spec @@ -8,8 +8,8 @@ # We manually specify this in order to workaround RHEL 8's deficient # python-rpm-generators and lack of dynamic BR support. # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.13.5 -%global ansible_core_next_version 2.14 +%global ansible_core_version 2.14~rc1 +%global ansible_core_next_version 2.15 %global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) %if 0%{?rhel} == 8 @@ -21,11 +21,10 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Requires: %{ansible_core_requires} %endif -%global uversion %(tr -d '~' <<< %{version}) - Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.5.0 +Version: 7.0.0~a2 +%global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. @@ -181,7 +180,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} %files -f %{_builddir}/files.list %license COPYING -%doc README.rst PKG-INFO porting_guide_6.rst CHANGELOG-v6.rst +%doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX # when installing the ansible package from PyPi. @@ -189,9 +188,12 @@ hardlink -v %{buildroot}%{ansible_licensedir} # or via standalone distribution packages to datadir (/usr/share). # Both will have precedence over the collections installed in the python sitelib. %{python3_sitelib}/ansible_collections -%{python3_sitelib}/*egg-info +%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Fri Oct 28 2022 Maxwell G - 7.0.0~a2-1 +- Update to 7.0.0~a2. + * Thu Oct 13 2022 Maxwell G - 6.5.0-1 - Update to 6.5.0. diff --git a/sources b/sources index eb1e9d9..1b73f09 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.5.0.tar.gz) = ddb77304c6a9617186fa0252a0da91632ffc21f910e02fc68e340ed37de0806586a2543700e996db7fb0bb9240a2ee20b7a462f005de200028748b38fbb2e293 +SHA512 (ansible-7.0.0a2.tar.gz) = b8603a1279b495fb85752469b932bc97a415982fbf4fa31e2bf63ecf40bccf566fbadedf7312fd3d20a36bf07733bf20a75b187dc46e225602841501039e51cd From b20511418f55699aa30b7475925de0cab678e057 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 27 Oct 2022 21:49:53 -0500 Subject: [PATCH 006/111] Overhaul handling of shebangs - Don't mangle shebangs in roles' files and templates. This has the potential to cause issues with Ansible targets that have different filepaths than Fedora. - Consolidate all of the shebang modification --- ansible.rpmlintrc | 2 ++ ansible.spec | 25 ++++++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index bdf23ba..cb59ce4 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -2,3 +2,5 @@ addFilter("W: files-duplicate") addFilter("E: files-duplicated-waste") addFilter("W: name-repeated-in-summary") addFilter("W: cross-directory-hard-link") +# Roles' files and templates should not be mangled +addFilter(r"E: env-script-interpreter.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") diff --git a/ansible.spec b/ansible.spec index fe29819..4edd990 100644 --- a/ansible.spec +++ b/ansible.spec @@ -12,6 +12,12 @@ %global ansible_core_next_version 2.15 %global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) +# Roles' files and templates should not be mangled. +# These files are installed on remote systems which may or may not have the +# same file system layout as Fedora. +%global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ +%global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} + %if 0%{?rhel} == 8 # RHEL 8's ansible-core package is built using Python 3.8, which is not the default version. %define python3_pkgversion 39 @@ -80,11 +86,6 @@ to ansible-core. # Fix wrong-script-end-of-line-encoding in azure.azcollection find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; -find ansible_collections/community/mongodb/roles/*/{files,templates} -type f ! -executable -name '*.sh*' \ - -print -exec chmod a+x '{}' \; - -sed -i -e '1{\@^#!.*@d}' ansible_collections/cyberark/conjur/Jenkinsfile - # Remove unnecessary files and directories included in the Ansible collection release tarballs # Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 echo "[START] Delete unnecessary files and directories" @@ -115,9 +116,23 @@ find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete find -type f -name "*requirements.txt" -size 0 -print -delete rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 rm -v ansible_collections/community/docker/meta/ee-bindep.txt +rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder echo "[END] Delete unnecessary files and directories" +### +# Fix various shebang related issues to appease brp-managle-shebangs +### +find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ + -print -exec chmod a+x '{}' \; + +# ansible_collections/lowlydba/sqlserver thought it was a good idea to make +# *every* single file, in its repository executable, including .md, .yml, and +# .rst. :facepalm: +# +# TODO: File issue upstream +find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; + # Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues # from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. # Upstream, ansible-core has also removed shebangs from its modules. From 97d2539941ee57a3673e35f33ec1d181e1110e65 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 27 Oct 2022 21:52:04 -0500 Subject: [PATCH 007/111] Exclude more unnecessary files --- ansible.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 4edd990..68ab8cb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -102,12 +102,14 @@ rm -rv ansible_collections/community/vmware/tools rm -rv ansible_collections/cyberark/conjur/ci/ rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/inspur/sm/venv rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/ovirt/ovirt/automation/ rm -rv ansible_collections/sensu/sensu_go/docker/ -rm -v ansible_collections/ovirt/ovirt/build.sh -rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/community/dns/update-psl.sh +rm -v ansible_collections/cyberark/conjur/Jenkinsfile +rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh +rm -v ansible_collections/ovirt/ovirt/build.sh # rpmlint W: pem-certificate find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete From 97dd8c8d95aa88b3000b954664df880d63f431f4 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 27 Oct 2022 21:55:21 -0500 Subject: [PATCH 008/111] Move filelist %{buildsubdir} so it gets cleaned up --- ansible.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 68ab8cb..92dd227 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,6 +18,8 @@ %global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} +%global filelist %{_builddir}%{?buildsubdir:/%{buildsubdir}}/files.list + %if 0%{?rhel} == 8 # RHEL 8's ansible-core package is built using Python 3.8, which is not the default version. %define python3_pkgversion 39 @@ -195,7 +197,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} # TODO: Run tests %endif -%files -f %{_builddir}/files.list +%files -f %{filelist} %license COPYING %doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst %{_bindir}/ansible-community From 549dd469e9c9bd9c726f6e436656083feaf6ae69 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 8 Nov 2022 15:07:45 -0600 Subject: [PATCH 009/111] Update to 7.0.0~b1. --- .gitignore | 1 + ansible.spec | 8 +++++--- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 4fbd955..5ccd20e 100644 --- a/.gitignore +++ b/.gitignore @@ -128,3 +128,4 @@ /ansible-6.4.0.tar.gz /ansible-6.5.0.tar.gz /ansible-7.0.0a2.tar.gz +/ansible-7.0.0b1.tar.gz diff --git a/ansible.spec b/ansible.spec index 92dd227..9daeea3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -8,7 +8,7 @@ # We manually specify this in order to workaround RHEL 8's deficient # python-rpm-generators and lack of dynamic BR support. # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.14~rc1 +%global ansible_core_version 2.14 %global ansible_core_next_version 2.15 %global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) @@ -31,7 +31,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.0.0~a2 +Version: 7.0.0~b1 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -104,7 +104,6 @@ rm -rv ansible_collections/community/vmware/tools rm -rv ansible_collections/cyberark/conjur/ci/ rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ -rm -rv ansible_collections/inspur/sm/venv rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/ovirt/ovirt/automation/ rm -rv ansible_collections/sensu/sensu_go/docker/ @@ -210,6 +209,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Tue Nov 08 2022 Maxwell G - 7.0.0~b1-1 +- Update to 7.0.0~b1. + * Fri Oct 28 2022 Maxwell G - 7.0.0~a2-1 - Update to 7.0.0~a2. diff --git a/sources b/sources index 1b73f09..a800c6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.0.0a2.tar.gz) = b8603a1279b495fb85752469b932bc97a415982fbf4fa31e2bf63ecf40bccf566fbadedf7312fd3d20a36bf07733bf20a75b187dc46e225602841501039e51cd +SHA512 (ansible-7.0.0b1.tar.gz) = d47176af3623c0e5402e7d654dad644ba2bd9f552d00c128bbc6478b34bfcb7ef2a740708b0a7ef68a07ab66976f246846b3db58147a708453b23c1321154601 From e9de674184fd6d2c273dded046f1552f6283e116 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sun, 13 Nov 2022 21:52:44 -0600 Subject: [PATCH 010/111] fix "Move filelist %{buildsubdir} so it gets cleaned up" The previous implementation didn't actually work; %{buildsubdir} was undefined when %filelist was defined. Fixes: 97dd8c8d95aa88b3000b954664df880d63f431f4 --- ansible.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ansible.spec b/ansible.spec index 9daeea3..8da9381 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,8 +18,6 @@ %global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} -%global filelist %{_builddir}%{?buildsubdir:/%{buildsubdir}}/files.list - %if 0%{?rhel} == 8 # RHEL 8's ansible-core package is built using Python 3.8, which is not the default version. %define python3_pkgversion 39 @@ -157,6 +155,8 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ %install %py3_install +%global filelist %{_builddir}/%{buildsubdir}/files.list + # Install docs and licenses ( mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" @@ -169,13 +169,13 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" mv "${f}" "${dirname}" - tee -a %{_builddir}/files.list << EOF + tee -a %{filelist} << EOF %%license %%{ansible_licensedir}/${f} EOF done for f in $(find -mindepth 3 -iname 'LICENSES' -type d); do cp -rfp --parents ${f} %{buildroot}%{ansible_licensedir} - echo "%%license %%{ansible_licensedir}/${f}" >> %{_builddir}/files.list + echo "%%license %%{ansible_licensedir}/${f}" >> %{filelist} done # This does the same thing, but for READMEs. @@ -183,7 +183,7 @@ EOF dirname="$(dirname %{buildroot}%{ansible_docdir}/${f})" mkdir -p "${dirname}" mv "${f}" "${dirname}" - tee -a %{_builddir}/files.list << EOF + tee -a %{filelist} << EOF %%doc %%{ansible_docdir}/${f} EOF done @@ -196,7 +196,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} # TODO: Run tests %endif -%files -f %{filelist} +%files -f files.list %license COPYING %doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst %{_bindir}/ansible-community From 3479c26f994eef60a07f117baeecf2f4b2941b5d Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 17 Nov 2022 19:18:52 -0600 Subject: [PATCH 011/111] Remove outdated comments --- ansible.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 8da9381..935d70c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -19,7 +19,7 @@ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} %if 0%{?rhel} == 8 -# RHEL 8's ansible-core package is built using Python 3.8, which is not the default version. +# RHEL 8's ansible-core package is built using Python 3.9, which is not the default version. %define python3_pkgversion 39 BuildRequires: python%{python3_pkgversion}-rpm-macros @@ -164,7 +164,6 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ # This finds the license file for each collection, moves it to # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds # `%%license /path/to/license` to the %%files list. - # `-printf '%%P\n'` removes the trailing `./`. for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" From 1bf2be2a3d481ac480ff88c90d460d52207d098d Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 17 Nov 2022 19:20:28 -0600 Subject: [PATCH 012/111] Update to 7.0.0~rc1. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5ccd20e..af14be7 100644 --- a/.gitignore +++ b/.gitignore @@ -129,3 +129,4 @@ /ansible-6.5.0.tar.gz /ansible-7.0.0a2.tar.gz /ansible-7.0.0b1.tar.gz +/ansible-7.0.0rc1.tar.gz diff --git a/ansible.spec b/ansible.spec index 935d70c..e405c38 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.0.0~b1 +Version: 7.0.0~rc1 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -208,6 +208,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Fri Nov 18 2022 Maxwell G - 7.0.0~rc1-1 +- Update to 7.0.0~rc1. + * Tue Nov 08 2022 Maxwell G - 7.0.0~b1-1 - Update to 7.0.0~b1. diff --git a/sources b/sources index a800c6f..88a5d87 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.0.0b1.tar.gz) = d47176af3623c0e5402e7d654dad644ba2bd9f552d00c128bbc6478b34bfcb7ef2a740708b0a7ef68a07ab66976f246846b3db58147a708453b23c1321154601 +SHA512 (ansible-7.0.0rc1.tar.gz) = aa7c2c71159515f3ffde90bf934ddae13341fb6fc9952d63aca213a3fa6d254de09af602eb88cee19bffa2e15486d407a89f7e58d9488fe0e1e39009fbe57bcd From a4066fae5cd52fee8e46cb4f2f4d714e3ec8eaae Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 19 Nov 2022 15:37:45 -0600 Subject: [PATCH 013/111] Use find and xargs instead of 'find -exec' This takes up a fraction of the time, as it avoids spawning a bunch of sed processes --- ansible.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index e405c38..78d07b3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -137,7 +137,12 @@ find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec ch # Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues # from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. # Upstream, ansible-core has also removed shebangs from its modules. -find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' \; +# +# XXX: Print out the files before they're replaced +find -type f ! -executable -name '*.py' | tee non_exec +# xargs is noticably faster than find -exec, because it spawns one sed process +# instead of ~13 thousand! +xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' # This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. # It also ensures that dependencies remain consistent. From 40724bcc7b8b68733477110c819ff59f86ba9dee Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 23 Nov 2022 15:18:07 -0600 Subject: [PATCH 014/111] Update to 7.0.0. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index af14be7..c8564b6 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,4 @@ /ansible-7.0.0a2.tar.gz /ansible-7.0.0b1.tar.gz /ansible-7.0.0rc1.tar.gz +/ansible-7.0.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 78d07b3..6fd9c2c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.0.0~rc1 +Version: 7.0.0 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -213,6 +213,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Wed Nov 23 2022 Maxwell G - 7.0.0-1 +- Update to 7.0.0. + * Fri Nov 18 2022 Maxwell G - 7.0.0~rc1-1 - Update to 7.0.0~rc1. diff --git a/sources b/sources index 88a5d87..7f85f7e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.0.0rc1.tar.gz) = aa7c2c71159515f3ffde90bf934ddae13341fb6fc9952d63aca213a3fa6d254de09af602eb88cee19bffa2e15486d407a89f7e58d9488fe0e1e39009fbe57bcd +SHA512 (ansible-7.0.0.tar.gz) = bf50e307c0020e853d6121ab8959f0a85c8333dc4f411013a50eadb941ec5f38744cd39334771ea9d45d131b67dbb037a29d1163af07808f9c9cb047d19642d3 From 58137fda707d5fe8472f058f347db51d740a3875 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 23 Nov 2022 19:16:33 -0600 Subject: [PATCH 015/111] Add rpmlint filters --- ansible.rpmlintrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index cb59ce4..1e73c2d 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -4,3 +4,6 @@ addFilter("W: name-repeated-in-summary") addFilter("W: cross-directory-hard-link") # Roles' files and templates should not be mangled addFilter(r"E: env-script-interpreter.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") +addFilter("W: deprecated-grep \['egrep'\]") +addFilter("W: no-manual-page-for-binary ansible-community") +addFilter(r"E: zero-length /usr/lib/python3.\d+/site-packages/ansible_collections/community/zabbix/roles/zabbix_agent/vars/main.yml") From 89056a9cea7270175613bd919fb8a775d1d27527 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 8 Dec 2022 21:45:41 -0600 Subject: [PATCH 016/111] Update to 7.1.0. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c8564b6..a4f1b70 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,4 @@ /ansible-7.0.0b1.tar.gz /ansible-7.0.0rc1.tar.gz /ansible-7.0.0.tar.gz +/ansible-7.1.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 6fd9c2c..f493a91 100644 --- a/ansible.spec +++ b/ansible.spec @@ -8,7 +8,7 @@ # We manually specify this in order to workaround RHEL 8's deficient # python-rpm-generators and lack of dynamic BR support. # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.14 +%global ansible_core_version 2.14.1 %global ansible_core_next_version 2.15 %global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) @@ -29,7 +29,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.0.0 +Version: 7.1.0 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -213,6 +213,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Fri Dec 09 2022 Maxwell G - 7.1.0-1 +- Update to 7.1.0. + * Wed Nov 23 2022 Maxwell G - 7.0.0-1 - Update to 7.0.0. diff --git a/sources b/sources index 7f85f7e..193fa44 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.0.0.tar.gz) = bf50e307c0020e853d6121ab8959f0a85c8333dc4f411013a50eadb941ec5f38744cd39334771ea9d45d131b67dbb037a29d1163af07808f9c9cb047d19642d3 +SHA512 (ansible-7.1.0.tar.gz) = bd3c5f12021f4ae1805889790bbf29c748418580e08b4e5a19aeb1dc88510f7a2cabaf4e045d98361246a1f52f3d31cbebf5a1441a60fec3095b8a4628572557 From 93d8d9318f3c41bfb15f8c64fd8be5228eaff833 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 21:45:33 +0000 Subject: [PATCH 017/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index f493a91..ca4b659 100644 --- a/ansible.spec +++ b/ansible.spec @@ -31,7 +31,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 7.1.0 %global uversion %(tr -d '~' <<< %{version}) -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -213,6 +213,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 7.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Dec 09 2022 Maxwell G - 7.1.0-1 - Update to 7.1.0. From 2b8666fab0a0c1440197f61df440bc66f0a9ad90 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 31 Jan 2023 22:07:29 -0500 Subject: [PATCH 018/111] Update to 7.2.0. --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a4f1b70..f1b4819 100644 --- a/.gitignore +++ b/.gitignore @@ -132,3 +132,4 @@ /ansible-7.0.0rc1.tar.gz /ansible-7.0.0.tar.gz /ansible-7.1.0.tar.gz +/ansible-7.2.0.tar.gz diff --git a/ansible.spec b/ansible.spec index ca4b659..0e83429 100644 --- a/ansible.spec +++ b/ansible.spec @@ -8,7 +8,7 @@ # We manually specify this in order to workaround RHEL 8's deficient # python-rpm-generators and lack of dynamic BR support. # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.14.1 +%global ansible_core_version 2.14.2 %global ansible_core_next_version 2.15 %global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) @@ -29,9 +29,9 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.1.0 +Version: 7.2.0 %global uversion %(tr -d '~' <<< %{version}) -Release: 2%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -213,6 +213,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info %changelog +* Tue Jan 31 2023 David Moreau-Simard - 7.2.0-1 +- Update to 7.2.0. + * Wed Jan 18 2023 Fedora Release Engineering - 7.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 193fa44..97311bc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.1.0.tar.gz) = bd3c5f12021f4ae1805889790bbf29c748418580e08b4e5a19aeb1dc88510f7a2cabaf4e045d98361246a1f52f3d31cbebf5a1441a60fec3095b8a4628572557 +SHA512 (ansible-7.2.0.tar.gz) = 30d7f912cd6b2e41f1e5d880b014f00d332b4cc533512be8de885e95b63cf890ffb38a616de74c6b7fd9d6a961b7e2a1843bfe758fbcd9f3c962f1c856f20725 From c0762ab0921c54d16cc0e78598e8c4f9e940bb93 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 Feb 2023 15:54:28 -0600 Subject: [PATCH 019/111] Sync with epel8 --- ansible.spec | 239 +++++++++++++++++++++------------------------------ 1 file changed, 98 insertions(+), 141 deletions(-) diff --git a/ansible.spec b/ansible.spec index 5dc7a3e..a6c1e1c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -3,22 +3,18 @@ %bcond_with tests %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible +%global min_ansible_core 2.13.3 -# This should be updated after each release to match upstream's metadata -# We manually specify this in order to workaround RHEL 8's deficient -# python-rpm-generators and lack of dynamic BR support. -# https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.13.3 -%global ansible_core_next_version 2.14 -%global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) +# Roles' files and templates should not be mangled. +# These files are installed on remote systems which may or may not have the +# same filesystem layout as Fedora. +%global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ +%global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} %if 0%{?rhel} == 8 -# RHEL 8's ansible-core package is built using Python 3.8, which is not the default version. +# RHEL 8's ansible-core package is built using Python 3.9, which is not the default version. %define python3_pkgversion 39 BuildRequires: python%{python3_pkgversion}-rpm-macros - -# RHEL 8's RPM Python dependency generator ignores the version constraints, so we manually specify the dependency. -Requires: %{ansible_core_requires} %endif %global uversion %(tr -d '~' <<< %{version}) @@ -26,7 +22,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 6.3.0 -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -55,7 +51,7 @@ BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: %{ansible_core_requires} +BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core} %if %{with tests} # TODO build-requires @@ -78,14 +74,29 @@ to ansible-core. %prep %autosetup -p1 -n %{name}-%{uversion} +%if %{defined rhel} +# Relax ansible-core dependency to avoid FTI bugs +# +# This is necessary, because the EPEL ansible maintainers don't have control +# over ansible-core in RHEL, and it's difficult to time updates across +# repositories. I have tried to stick to upstream's version constraints, but +# that's apparently not working too well. This change gives us a grace period +# to properly release and test new ansible major versions after RHEL rebases +# ansible-core. The lower version constraints can stay in place. + +sed -i "s|'ansible-core ~= 2.13\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py +# Verify +set -o pipefail +grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=[' +%endif + + # Fix wrong-script-end-of-line-encoding in azure.azcollection find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; find ansible_collections/community/mongodb/roles/*/{files,templates} -type f ! -executable -name '*.sh*' \ -print -exec chmod a+x '{}' \; -sed -i -e '1{\@^#!.*@d}' ansible_collections/cyberark/conjur/Jenkinsfile - # Remove unnecessary files and directories included in the Ansible collection release tarballs # Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 echo "[START] Delete unnecessary files and directories" @@ -94,13 +105,23 @@ echo "[START] Delete unnecessary files and directories" hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$" find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; -# Not needed for runtime and has -# /Users/kbreit/Documents/Programming/ansible_collections/cisco/meraki/venv/bin/python shebang -rm -r ansible_collections/cisco/meraki/scripts - # Not needed for runtime -rm -r ansible_collections/netbox/netbox/hacking -rm -r ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests +rm -rv ansible_collections/cisco/meraki/scripts +rm -rv ansible_collections/community/grafana/hacking +rm -rv ansible_collections/community/okd/ci/ +rm -rv ansible_collections/community/vmware/tools +rm -rv ansible_collections/cyberark/conjur/ci/ +rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/netbox/netbox/hacking/ +rm -rv ansible_collections/ovirt/ovirt/automation/ +rm -rv ansible_collections/sensu/sensu_go/docker/ +rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder +rm -v ansible_collections/sensu/sensu_go/tools/windows-versions.py +rm -v ansible_collections/community/dns/update-docs-fragments.py +rm -v ansible_collections/community/dns/update-psl.sh +rm -v ansible_collections/community/routeros/update-docs.py +rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh +rm -v ansible_collections/ovirt/ovirt/build.sh # rpmlint W: pem-certificate find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete @@ -112,10 +133,22 @@ rm -f ansible_collections/community/docker/meta/ee-bindep.txt echo "[END] Delete unnecessary files and directories" +### +# Fix various shebang related issues to appease brp-managle-shebangs +### + +chmod a-x ansible_collections/community/digitalocean/scripts/inventory/digital_ocean.py +chmod a-x ansible_collections/ngine_io/cloudstack/scripts/inventory/cloudstack.py +# # Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues # from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. # Upstream, ansible-core has also removed shebangs from its modules. -find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' \; +# +# XXX: Print out the files before they're replaced +find -type f ! -executable -name '*.py' | tee non_exec +# xargs is noticably faster than find -exec, because it spawns one sed process +# instead of ~13 thousand! +xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' # This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. # It also ensures that dependencies remain consistent. @@ -125,14 +158,13 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ %endif %build -# disable the python -s shbang flag as we want to be able to find non system modules -%global py3_shbang_opts %{nil} -%py3_shebang_fix ansible_collections %py3_build %install %py3_install +%global filelist %{_builddir}/%{buildsubdir}/files.list + # Install docs and licenses ( mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" @@ -140,18 +172,17 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ # This finds the license file for each collection, moves it to # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds # `%%license /path/to/license` to the %%files list. - # `-printf '%%P\n'` removes the trailing `./`. for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" mv "${f}" "${dirname}" - tee -a %{_builddir}/files.list << EOF + tee -a %{filelist} << EOF %%license %%{ansible_licensedir}/${f} EOF done for f in $(find -mindepth 3 -iname 'LICENSES' -type d); do cp -rfp --parents ${f} %{buildroot}%{ansible_licensedir} - echo "%%license %%{ansible_licensedir}/${f}" >> %{_builddir}/files.list + echo "%%license %%{ansible_licensedir}/${f}" >> %{filelist} done # This does the same thing, but for READMEs. @@ -159,7 +190,7 @@ EOF dirname="$(dirname %{buildroot}%{ansible_docdir}/${f})" mkdir -p "${dirname}" mv "${f}" "${dirname}" - tee -a %{_builddir}/files.list << EOF + tee -a %{filelist} << EOF %%doc %%{ansible_docdir}/${f} EOF done @@ -172,7 +203,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} # TODO: Run tests %endif -%files -f %{_builddir}/files.list +%files -f files.list %license COPYING %doc README.rst PKG-INFO porting_guide_6.rst CHANGELOG-v6.rst %{_bindir}/ansible-community @@ -185,55 +216,24 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog -* Tue Aug 23 2022 Maxwell G - 6.3.0-1 +* Fri Nov 18 2022 Maxwell G - 6.3.0-2 +- Relax version constraint +- Package cleanup + +* Tue Nov 08 2022 Maxwell G - 6.3.0-1 - Update to 6.3.0. - -* Tue Aug 02 2022 Maxwell G - 6.2.0-1 -- Update to 6.2.0. - -* Wed Jul 20 2022 Fedora Release Engineering - 6.1.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jul 15 2022 Maxwell G - 6.1.0-2 -- Fix FTI (rhbz#2107532). - -* Thu Jul 14 2022 Maxwell G - 6.1.0-1 -- Update to 6.1.0. - -* Wed Jun 22 2022 Maxwell G - 6.0.0-1 -- Update to 6.0.0. - -* Wed Jun 22 2022 Maxwell G - 6.0.0~rc1-1 -- Update to 6.0.0~rc1. - Stop duplicating docs and licenses. - Don't remove tests in %%prep that are now handled by setup.py. - Hardlink duplicated files and fix rpmlint errors +- Fixes: rhbz#2141351 -* Thu Jun 16 2022 Python Maint - 5.9.0-2 -- Rebuilt for Python 3.11 +* Thu Jul 21 2022 Maxwell G - 5.4.0-3 +- Rebuild to fix bug in epel-rpm-macros' Python dependency generator -* Wed Jun 08 2022 Maxwell G - 5.9.0-1 -- Update to 5.9.0. - -* Thu May 19 2022 Maxwell G - 5.8.0-1 -- Update to 5.8.0. -- Remove fortinet.fortios patch. - -* Wed Apr 27 2022 Maxwell G - 5.7.0-1 -- Update to 5.7.0. -- Fix SyntaxError in fortinet.fortios collection. -- Fix rpmlint errors - -* Mon Apr 25 2022 Maxwell G - 5.6.0-2 +* Mon Apr 25 2022 Maxwell G - 5.4.0-2 - Ensure correct version of ansible-core is available at buildtime. - Implement support for epel8. -* Wed Apr 06 2022 Kevin Fenzi - 5.6.0-1 -- Update to 5.6.0. - -* Tue Mar 15 2022 David Moreau-Simard - 5.5.0-1 -- Update to latest upstream release - * Tue Feb 22 2022 David Moreau-Simard - 5.4.0-1 - Update to latest upstream release @@ -256,105 +256,68 @@ hardlink -v %{buildroot}%{ansible_licensedir} - Removed packaging macros (soon included in ansible-packaging, see rhbz#2038591) - Removed provides/obsoletes on ansible-python3 -* Mon Nov 01 2021 Kevin Fenzi - 2.9.27-2 -- Add patch for oracle linux Fixes rhbz#2018369 - -* Mon Oct 11 2021 Kevin Fenzi - 2.9.27-1 +* Tue Oct 26 2021 Kevin Fenzi - 2.9.27-1 - Update to 2.9.27. Fixes rhbz#2012918 -* Tue Sep 14 2021 Kevin Fenzi - 2.9.26-1 -- Update to 2.9.26. Fixes rhbz#2002394 - * Fri Aug 20 2021 Kevin Fenzi - 2.9.25-1 - Update to 2.9.25. Fixes rhbz#1994108 * Sun Jul 25 2021 Kevin Fenzi - 2.9.24-1 - Update to 2.9.24. Fixes rhbz#1983837 -* Wed Jul 21 2021 Fedora Release Engineering - 2.9.23-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jul 10 2021 Kevin Fenzi - 2.9.23-2 -- Fix FTBFS with sphinx 4.x. Fixes rhbz#1977303 - * Tue Jun 22 2021 Kevin Fenzi - 2.9.23-1 - Update to 2.9.23. Fixes rhbz#1974592 - Add patch for Rocky Linux. Fixes rhbz#1968728 -* Fri Jun 04 2021 Python Maint - 2.9.22-2 -- Rebuilt for Python 3.10 - * Mon May 24 2021 Kevin Fenzi - 2.9.22-1 -- Update to 2.9.22. Fixes rhbz#1964173 +- Update to 2.9.22. -* Mon May 03 2021 Kevin Fenzi - 2.9.21-1 -- Update to 2.9.21. Fixes rhbz#1956584 +* Tue May 04 2021 Kevin Fenzi - 2.9.21-1 +- Update to 2.9.21. * Sat Apr 24 2021 Kevin Fenzi - 2.9.20-1 - Update to 2.9.20. +- Split out ansible-test to a subpackage. + +* Fri Mar 12 2021 Orion Poplawski - 2.9.18-2 +- Add rpm macros and generators for collections * Sat Feb 20 2021 Kevin Fenzi - 2.9.18-1 - Update to 2.9.18. - Fixes: CVE-2021-20228 CVE-2021-20178 CVE-2021-20180 CVE-2021-20191 -* Tue Jan 26 2021 Fedora Release Engineering - 2.9.17-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sun Jan 24 2021 Kevin Fenzi - 2.9.17-2 +* Sun Jan 24 2021 Kevin Fenzi - 2.9.17-1 - Update to 2.9.17. -* Sat Jan 16 2021 Kevin Fenzi - 2.9.16-2 -- Conflict with ansible-base 2.10.x for now. -- Ajust generator so collections will install/work with either ansible or ansible-base. - -* Tue Dec 15 2020 Kevin Fenzi - 2.9.16-1 -- Update to 2.9.16. +* Thu Dec 17 2020 Kevin Fenzi - 2.9.16-1 +- Update to 2.9.16 * Tue Nov 03 2020 Kevin Fenzi - 2.9.15-1 -- Update to 2.9.15. +- Update to 2.9.15 -* Tue Oct 06 2020 Kevin Fenzi - 2.9.14-1 -- Update to 2.9.14. +* Wed Oct 07 2020 Kevin Fenzi - 2.9.14-1 +- Update to 2.9.14 -* Tue Sep 01 2020 Kevin Fenzi - 2.9.13-1 -- Update to 2.9.13. Fixes CVE-2020-14365 +* Thu Sep 03 2020 Kevin Fenzi - 2.9.13-1 +- Update to 2.9.13 * Tue Aug 11 2020 Kevin Fenzi - 2.9.12-1 -- Update to 2.9.12. - -* Sun Aug 09 2020 Igor Raits - 2.9.11-4 -- Add support for generating '>=' dependencies in RPM generator - -* Sat Aug 08 2020 Igor Raits - 2.9.11-3 -- Add very basic support for generating dependencies in RPM generator - -* Mon Jul 27 2020 Fedora Release Engineering - 2.9.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +- Update to 2.9.12 * Tue Jul 21 2020 Kevin Fenzi - 2.9.11-1 -- Update to 2.9.11. +- Update to 2.9.11 + +* Sat Jun 20 2020 Kevin Fenzi - 2.9.10-2 +- Add patch for rabbitmq bug: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/50381.patch * Thu Jun 18 2020 Kevin Fenzi - 2.9.10-1 - Update to 2.9.10. -* Fri May 29 2020 Charalampos Stratakis - 2.9.9-3 -- Fix Python 3.9 compatibility (#1808674) -- Pin Pytest to version 4 for now - -* Tue May 26 2020 Miro HronĨok - 2.9.9-2 -- Rebuilt for Python 3.9 - * Tue May 12 2020 Kevin Fenzi - 2.9.9-1 - Update to 2.9.9. Fixes bug #1834582 - Fixes gathering facts on f32+ bug #1832625 -* Sun Apr 19 2020 Igor Raits - 2.9.7-3 -- Own /usr/share/ansible/collections/ansible_collections - -* Sun Apr 19 2020 Igor Raits - 2.9.7-2 -- Add macros for packaging Ansible collections - -* Fri Apr 17 2020 Kevin Fenzi - 2.9.7-1 +* Sat Apr 18 2020 Kevin Fenzi - 2.9.7-1 - Update to 2.9.7. - fixes CVE-2020-1733 CVE-2020-1735 CVE-2020-1740 CVE-2020-1746 CVE-2020-1753 CVE-2020-10684 CVE-2020-10685 CVE-2020-10691 - Drop the -s from the shebang to allow ansible to use locally installed modules. @@ -364,13 +327,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} - fixes for CVE-2020-1737, CVE-2020-1739 * Thu Feb 13 2020 Kevin Fenzi - 2.9.5-1 -- Update to 2.9.5. Fixes bug #1802725 - -* Tue Jan 28 2020 Fedora Release Engineering - 2.9.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Jan 21 2020 Kevin Fenzi - 2.9.4-1 -- Update to 2.9.4 with one bugfix. +- Update to 2.9.5. * Thu Jan 16 2020 Kevin Fenzi - 2.9.3-1 - Update to 2.9.3. @@ -425,7 +382,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} - Fixes for various releases build/test issues. * Fri May 17 2019 Kevin Fenzi - 2.8.0-1 -- Update to 2.8.0 final. +- Update to 2.8.0 final. - Add datadirs for other packages to land ansible files in. * Fri May 10 2019 Kevin Fenzi - 2.8.0-0.4rc3 @@ -571,7 +528,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} - Conditionalize jmespath to work around amazon linux issues. Fixes bug #1494640 * Tue Sep 19 2017 Kevin Fenzi - 2.4.0.0-1 -- Update to 2.4.0. +- Update to 2.4.0. * Tue Aug 08 2017 Kevin Fenzi - 2.3.2.0-1 - Update to 2.3.2. Fixes bugs #1471017 #1461116 #1465586 @@ -724,7 +681,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} - Update to 1.9.1 * Wed Mar 25 2015 Kevin Fenzi 1.9.0.1-2 -- Drop upstreamed epel6 patches. +- Drop upstreamed epel6 patches. * Wed Mar 25 2015 Kevin Fenzi 1.9.0.1-1 - Update to 1.9.0.1 @@ -775,7 +732,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} - Update to 1.6.9 with more shell quoting fixes. * Tue Jul 22 2014 Kevin Fenzi 1.6.8-1 -- Update to 1.6.8 with fixes for shell quoting from previous release. +- Update to 1.6.8 with fixes for shell quoting from previous release. - Fixes bugs #1122060 #1122061 #1122062 * Mon Jul 21 2014 Kevin Fenzi 1.6.7-1 @@ -871,7 +828,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} * Thu Sep 12 2013 Kevin Fenzi 1.3.0-1 - Update to 1.3.0 - Drop node-fireball subpackage entirely. -- Obsolete/provide fireball subpackage. +- Obsolete/provide fireball subpackage. - Add Requires python-keyczar on main package for accelerated mode. * Wed Aug 21 2013 Kevin Fenzi 1.2.3-2 From 2d5e2eff8dc61dba5652a8a86b6b0b97d8c851a9 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 Feb 2023 16:08:15 -0600 Subject: [PATCH 020/111] Sync version constraint code from epel --- ansible.spec | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/ansible.spec b/ansible.spec index 0e83429..9085ab7 100644 --- a/ansible.spec +++ b/ansible.spec @@ -3,18 +3,11 @@ %bcond_with tests %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible - -# This should be updated after each release to match upstream's metadata -# We manually specify this in order to workaround RHEL 8's deficient -# python-rpm-generators and lack of dynamic BR support. -# https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.14.2 -%global ansible_core_next_version 2.15 -%global ansible_core_requires (%{py3_dist ansible-core} >= %{ansible_core_version} with %{py3_dist ansible-core} < %{ansible_core_next_version}) +%global min_ansible_core 2.14.2 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the -# same file system layout as Fedora. +# same filesystem layout as Fedora. %global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} @@ -22,9 +15,6 @@ # RHEL 8's ansible-core package is built using Python 3.9, which is not the default version. %define python3_pkgversion 39 BuildRequires: python%{python3_pkgversion}-rpm-macros - -# RHEL 8's RPM Python dependency generator ignores the version constraints, so we manually specify the dependency. -Requires: %{ansible_core_requires} %endif Name: ansible @@ -60,7 +50,7 @@ BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: %{ansible_core_requires} +BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core} %if %{with tests} # TODO build-requires @@ -83,6 +73,22 @@ to ansible-core. %prep %autosetup -p1 -n %{name}-%{uversion} +%if %{defined rhel} +# Relax ansible-core dependency to avoid FTI bugs +# +# This is necessary, because the EPEL ansible maintainers don't have control +# over ansible-core in RHEL, and it's difficult to time updates across +# repositories. I have tried to stick to upstream's version constraints, but +# that's apparently not working too well. This change gives us a grace period +# to properly release and test new ansible major versions after RHEL rebases +# ansible-core. The lower version constraints can stay in place. + +sed -i "s|'ansible-core ~= 2.13\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py +# Verify +set -o pipefail +grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=[' +%endif + # Fix wrong-script-end-of-line-encoding in azure.azcollection find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; From ac18b94e68ce6da59989934607018a17e794fd84 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 9 Feb 2023 19:50:27 -0600 Subject: [PATCH 021/111] Add back specfile comment about find(1) syntax This was accidentally removed at some point. --- ansible.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible.spec b/ansible.spec index 9085ab7..8f8e09e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -175,6 +175,7 @@ xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' # This finds the license file for each collection, moves it to # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds # `%%license /path/to/license` to the %%files list. + # `-printf '%%P\n'` removes the trailing `./`. for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" From fdb05b5cc142cc6437cd48279b80da9cbb18591f Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 17 Feb 2023 15:16:27 -0600 Subject: [PATCH 022/111] Build for 3.11 on RHEL 8 and 9 --- ansible.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 8f8e09e..b5ef4ed 100644 --- a/ansible.spec +++ b/ansible.spec @@ -11,9 +11,9 @@ %global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} -%if 0%{?rhel} == 8 +%if 0%{?rhel} >= 8 # RHEL 8's ansible-core package is built using Python 3.9, which is not the default version. -%define python3_pkgversion 39 +%define python3_pkgversion 3.11 BuildRequires: python%{python3_pkgversion}-rpm-macros %endif From de97f8a9a31dc7f370b262436cd5cdf8afbf1856 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 23 Feb 2023 20:36:08 -0600 Subject: [PATCH 023/111] Sync with epel9 --- ansible.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index b5ef4ed..6d0432f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -12,8 +12,9 @@ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} %if 0%{?rhel} >= 8 -# RHEL 8's ansible-core package is built using Python 3.9, which is not the default version. -%define python3_pkgversion 3.11 +# ansible-core package is built against Python 3.11 in RHEL 8 and RHEL 9 which +# is not the default version. +%global python3_pkgversion 3.11 BuildRequires: python%{python3_pkgversion}-rpm-macros %endif @@ -83,7 +84,7 @@ to ansible-core. # to properly release and test new ansible major versions after RHEL rebases # ansible-core. The lower version constraints can stay in place. -sed -i "s|'ansible-core ~= 2.13\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py +sed -i "s|'ansible-core ~= 2.14\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py # Verify set -o pipefail grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=[' From 38ecce6780e8529040b407a6663d051ed0cb123a Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 23 Feb 2023 20:39:19 -0600 Subject: [PATCH 024/111] Use more precise globs in %files --- ansible.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 6d0432f..62a6038 100644 --- a/ansible.spec +++ b/ansible.spec @@ -217,8 +217,8 @@ hardlink -v %{buildroot}%{ansible_licensedir} # This allows users to install individual collections manually with ansible-galaxy (~/.ansible/collections/ansible_collections) # or via standalone distribution packages to datadir (/usr/share). # Both will have precedence over the collections installed in the python sitelib. -%{python3_sitelib}/ansible_collections -%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info +%{python3_sitelib}/ansible_collections/ +%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog * Tue Jan 31 2023 David Moreau-Simard - 7.2.0-1 From e0f79820af4d0e8a152880f6aea206ca94e3671a Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 28 Feb 2023 18:32:15 -0600 Subject: [PATCH 025/111] Update to 7.3.0. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f1b4819..27d6671 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,4 @@ /ansible-7.0.0.tar.gz /ansible-7.1.0.tar.gz /ansible-7.2.0.tar.gz +/ansible-7.3.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 62a6038..3a56a0a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.2.0 +Version: 7.3.0 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -221,6 +221,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog +* Wed Mar 01 2023 Maxwell G - 7.3.0-1 +- Update to 7.3.0. + * Tue Jan 31 2023 David Moreau-Simard - 7.2.0-1 - Update to 7.2.0. diff --git a/sources b/sources index 97311bc..d11c5ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.2.0.tar.gz) = 30d7f912cd6b2e41f1e5d880b014f00d332b4cc533512be8de885e95b63cf890ffb38a616de74c6b7fd9d6a961b7e2a1843bfe758fbcd9f3c962f1c856f20725 +SHA512 (ansible-7.3.0.tar.gz) = 078bda71b6de438c083068902da1543b97f160265a6607fdbf9a386361b0932ba673cf46192c5a3521bc52724489ea9fc0900b0f742756ff4dbf5d2b7d4471bc From 36b9b120c4c0e0a35a2f392536086a5e93593dde Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 Feb 2023 16:16:35 -0600 Subject: [PATCH 026/111] Update to 7.1.0. Sync with rawhide. --- .gitignore | 2 ++ ansible.rpmlintrc | 5 +++++ ansible.spec | 44 +++++++++++++++++++++++++------------------- sources | 2 +- 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index e8c8a29..74c40c0 100644 --- a/.gitignore +++ b/.gitignore @@ -125,3 +125,5 @@ /ansible-6.1.0.tar.gz /ansible-6.2.0.tar.gz /ansible-6.3.0.tar.gz +/ansible-7.2.0.tar.gz +/ansible-7.1.0.tar.gz diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index bdf23ba..1e73c2d 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -2,3 +2,8 @@ addFilter("W: files-duplicate") addFilter("E: files-duplicated-waste") addFilter("W: name-repeated-in-summary") addFilter("W: cross-directory-hard-link") +# Roles' files and templates should not be mangled +addFilter(r"E: env-script-interpreter.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") +addFilter("W: deprecated-grep \['egrep'\]") +addFilter("W: no-manual-page-for-binary ansible-community") +addFilter(r"E: zero-length /usr/lib/python3.\d+/site-packages/ansible_collections/community/zabbix/roles/zabbix_agent/vars/main.yml") diff --git a/ansible.spec b/ansible.spec index a6c1e1c..757212d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -3,7 +3,7 @@ %bcond_with tests %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible -%global min_ansible_core 2.13.3 +%global min_ansible_core 2.14.1 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -17,12 +17,11 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros %endif -%global uversion %(tr -d '~' <<< %{version}) - Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.3.0 -Release: 2%{?dist} +Version: 7.1.0 +%global uversion %(tr -d '~' <<< %{version}) +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -84,19 +83,15 @@ to ansible-core. # to properly release and test new ansible major versions after RHEL rebases # ansible-core. The lower version constraints can stay in place. -sed -i "s|'ansible-core ~= 2.13\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py +sed -i "s|'ansible-core ~= 2.14\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py # Verify set -o pipefail grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=[' %endif - # Fix wrong-script-end-of-line-encoding in azure.azcollection find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; -find ansible_collections/community/mongodb/roles/*/{files,templates} -type f ! -executable -name '*.sh*' \ - -print -exec chmod a+x '{}' \; - # Remove unnecessary files and directories included in the Ansible collection release tarballs # Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 echo "[START] Delete unnecessary files and directories" @@ -111,15 +106,13 @@ rm -rv ansible_collections/community/grafana/hacking rm -rv ansible_collections/community/okd/ci/ rm -rv ansible_collections/community/vmware/tools rm -rv ansible_collections/cyberark/conjur/ci/ +rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/ovirt/ovirt/automation/ rm -rv ansible_collections/sensu/sensu_go/docker/ -rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder -rm -v ansible_collections/sensu/sensu_go/tools/windows-versions.py -rm -v ansible_collections/community/dns/update-docs-fragments.py rm -v ansible_collections/community/dns/update-psl.sh -rm -v ansible_collections/community/routeros/update-docs.py +rm -v ansible_collections/cyberark/conjur/Jenkinsfile rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh @@ -128,18 +121,25 @@ find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete # rpmlint E: zero-length find -type f -name "*requirements.txt" -size 0 -print -delete -rm -f ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 -rm -f ansible_collections/community/docker/meta/ee-bindep.txt +rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 +rm -v ansible_collections/community/docker/meta/ee-bindep.txt +rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder echo "[END] Delete unnecessary files and directories" ### # Fix various shebang related issues to appease brp-managle-shebangs ### +find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ + -print -exec chmod a+x '{}' \; -chmod a-x ansible_collections/community/digitalocean/scripts/inventory/digital_ocean.py -chmod a-x ansible_collections/ngine_io/cloudstack/scripts/inventory/cloudstack.py +# ansible_collections/lowlydba/sqlserver thought it was a good idea to make +# *every* single file, in its repository executable, including .md, .yml, and +# .rst. :facepalm: # +# TODO: File issue upstream +find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; + # Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues # from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. # Upstream, ansible-core has also removed shebangs from its modules. @@ -158,6 +158,9 @@ xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' %endif %build +# disable the python -s shbang flag as we want to be able to find non system modules +%global py3_shbang_opts %{nil} +%py3_shebang_fix ansible_collections %py3_build %install @@ -205,7 +208,7 @@ hardlink -v %{buildroot}%{ansible_licensedir} %files -f files.list %license COPYING -%doc README.rst PKG-INFO porting_guide_6.rst CHANGELOG-v6.rst +%doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX # when installing the ansible package from PyPi. @@ -216,6 +219,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* Thu Feb 02 2023 Maxwell G - 7.1.0-1 +- Update to 7.1.0. + * Fri Nov 18 2022 Maxwell G - 6.3.0-2 - Relax version constraint - Package cleanup diff --git a/sources b/sources index 24eef83..193fa44 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.3.0.tar.gz) = 3832159065d6400caade84de1ff5f31d64d7b5d9c3a61ae9bb2ad207e410166dac3537c68d0ec3df7c4b8aec61ee48cc4b690e3117a987efa9306c6cbee534e0 +SHA512 (ansible-7.1.0.tar.gz) = bd3c5f12021f4ae1805889790bbf29c748418580e08b4e5a19aeb1dc88510f7a2cabaf4e045d98361246a1f52f3d31cbebf5a1441a60fec3095b8a4628572557 From 50fd8298d0d92602bf867b77cc0e8d70fe4b5c3c Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 9 Feb 2023 19:54:13 -0600 Subject: [PATCH 027/111] Update to 7.2.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 757212d..6e73e86 100644 --- a/ansible.spec +++ b/ansible.spec @@ -3,7 +3,7 @@ %bcond_with tests %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible -%global min_ansible_core 2.14.1 +%global min_ansible_core 2.14.2 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -19,7 +19,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.1.0 +Version: 7.2.0 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -219,6 +219,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* Fri Feb 10 2023 Maxwell G - 7.2.0-1 +- Update to 7.2.0. + * Thu Feb 02 2023 Maxwell G - 7.1.0-1 - Update to 7.1.0. diff --git a/sources b/sources index 193fa44..97311bc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.1.0.tar.gz) = bd3c5f12021f4ae1805889790bbf29c748418580e08b4e5a19aeb1dc88510f7a2cabaf4e045d98361246a1f52f3d31cbebf5a1441a60fec3095b8a4628572557 +SHA512 (ansible-7.2.0.tar.gz) = 30d7f912cd6b2e41f1e5d880b014f00d332b4cc533512be8de885e95b63cf890ffb38a616de74c6b7fd9d6a961b7e2a1843bfe758fbcd9f3c962f1c856f20725 From 209b6b2efab39ebc1589d2cbbf62e83e669572f6 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 9 Feb 2023 19:50:27 -0600 Subject: [PATCH 028/111] Add back specfile comment about find(1) syntax This was accidentally removed at some point. --- ansible.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible.spec b/ansible.spec index 6e73e86..1c1a688 100644 --- a/ansible.spec +++ b/ansible.spec @@ -175,6 +175,7 @@ xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' # This finds the license file for each collection, moves it to # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds # `%%license /path/to/license` to the %%files list. + # `-printf '%%P\n'` removes the trailing `./`. for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" From b0cb3266b0597d204cb1033529ae598b20c2796c Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 17 Feb 2023 15:16:27 -0600 Subject: [PATCH 029/111] Build for 3.11 on RHEL 8 and 9 --- ansible.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 1c1a688..a1dd92a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -11,9 +11,10 @@ %global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$ %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from} -%if 0%{?rhel} == 8 -# RHEL 8's ansible-core package is built using Python 3.9, which is not the default version. -%define python3_pkgversion 39 +%if 0%{?rhel} >= 8 +# ansible-core package is built against Python 3.11 in RHEL 8 and RHEL 9 which +# is not the default version. +%global python3_pkgversion 3.11 BuildRequires: python%{python3_pkgversion}-rpm-macros %endif From ca7e15c45355db4f79e59b2046af343b6e2d2109 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 23 Feb 2023 20:38:10 -0600 Subject: [PATCH 030/111] Use more precise globs in %files --- ansible.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index a1dd92a..7e74c37 100644 --- a/ansible.spec +++ b/ansible.spec @@ -217,8 +217,8 @@ hardlink -v %{buildroot}%{ansible_licensedir} # This allows users to install individual collections manually with ansible-galaxy (~/.ansible/collections/ansible_collections) # or via standalone distribution packages to datadir (/usr/share). # Both will have precedence over the collections installed in the python sitelib. -%{python3_sitelib}/ansible_collections -%{python3_sitelib}/*egg-info +%{python3_sitelib}/ansible_collections/ +%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog * Fri Feb 10 2023 Maxwell G - 7.2.0-1 From cd327caae8ac0e5eca7d96502e87eed2094eae42 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 29 Mar 2023 11:53:47 -0500 Subject: [PATCH 031/111] Update to 7.4.0. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 27d6671..07f792b 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,4 @@ /ansible-7.1.0.tar.gz /ansible-7.2.0.tar.gz /ansible-7.3.0.tar.gz +/ansible-7.4.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 3a56a0a..5950311 100644 --- a/ansible.spec +++ b/ansible.spec @@ -3,7 +3,7 @@ %bcond_with tests %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible -%global min_ansible_core 2.14.2 +%global min_ansible_core 2.14.4 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -20,7 +20,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.3.0 +Version: 7.4.0 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -221,6 +221,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog +* Wed Mar 29 2023 Maxwell G - 7.4.0-1 +- Update to 7.4.0. + * Wed Mar 01 2023 Maxwell G - 7.3.0-1 - Update to 7.3.0. diff --git a/sources b/sources index d11c5ec..565725a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.3.0.tar.gz) = 078bda71b6de438c083068902da1543b97f160265a6607fdbf9a386361b0932ba673cf46192c5a3521bc52724489ea9fc0900b0f742756ff4dbf5d2b7d4471bc +SHA512 (ansible-7.4.0.tar.gz) = c77aebb54676b669305905c969fa5afac9e1262bfefa358de7fee0fb3ef89d0306c599acb2225cdb4209c53df16c307d438cc628299aec494c70cba166eb3cbb From 73db8d17ac40eb4b23b2b16007617f2f5d7f1e46 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 29 Mar 2023 11:49:57 -0500 Subject: [PATCH 032/111] Work around CentOS Stream 8 brokenness `BuildRequires: python3.11-rpm-macros` isn't necessary on RHEL 9 (python3.11-devel Provides python3.11-rpm-macros) and Stream 8 is missing the package entirely [1]. The Stream 8 version does contain some extra macros, so we'll add this back once the c8s compose issues are fixed. We need to set %python3_version manually until python-rpm-macros-3-45.el8 reaches the mirrors to unbreak %py3_shebang_fix. [1] https://bugzilla.redhat.com/show_bug.cgi?id=2137139#c18 --- ansible.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 7e74c37..3507d3b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,7 +15,9 @@ # ansible-core package is built against Python 3.11 in RHEL 8 and RHEL 9 which # is not the default version. %global python3_pkgversion 3.11 -BuildRequires: python%{python3_pkgversion}-rpm-macros +# We need to specify this manually until python-rpm-macros-3-45.el8 +# (see rhbz#2169780) reaches the mirrors. +%global python3_version 3.11 %endif Name: ansible From 5a1fc25e2b01f20cf7ab62d02917daba63d9fad7 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 20 Apr 2023 21:43:45 +0000 Subject: [PATCH 033/111] Revert "Work around CentOS Stream 8 brokenness" This reverts commit 73db8d17ac40eb4b23b2b16007617f2f5d7f1e46. The underlying issues have been fixed in CentOS Stream 8. --- ansible.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 3507d3b..7e74c37 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,9 +15,7 @@ # ansible-core package is built against Python 3.11 in RHEL 8 and RHEL 9 which # is not the default version. %global python3_pkgversion 3.11 -# We need to specify this manually until python-rpm-macros-3-45.el8 -# (see rhbz#2169780) reaches the mirrors. -%global python3_version 3.11 +BuildRequires: python%{python3_pkgversion}-rpm-macros %endif Name: ansible From 0ad6f9b8ebf9631d3337186d77c37a91639197cb Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 20 Apr 2023 16:48:45 -0500 Subject: [PATCH 034/111] Update to 8.0.0~a1. --- .gitignore | 1 + ansible.spec | 6 ++++-- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 07f792b..7d0de04 100644 --- a/.gitignore +++ b/.gitignore @@ -135,3 +135,4 @@ /ansible-7.2.0.tar.gz /ansible-7.3.0.tar.gz /ansible-7.4.0.tar.gz +/ansible-8.0.0a1.tar.gz diff --git a/ansible.spec b/ansible.spec index 5950311..a9c6e64 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.4.0 +Version: 8.0.0~a1 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -110,7 +110,6 @@ rm -rv ansible_collections/cyberark/conjur/ci/ rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ rm -rv ansible_collections/netbox/netbox/hacking/ -rm -rv ansible_collections/ovirt/ovirt/automation/ rm -rv ansible_collections/sensu/sensu_go/docker/ rm -v ansible_collections/community/dns/update-psl.sh rm -v ansible_collections/cyberark/conjur/Jenkinsfile @@ -221,6 +220,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog +* Thu Apr 20 2023 Maxwell G - 8.0.0~a1-1 +- Update to 8.0.0~a1. + * Wed Mar 29 2023 Maxwell G - 7.4.0-1 - Update to 7.4.0. diff --git a/sources b/sources index 565725a..98ab44c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.4.0.tar.gz) = c77aebb54676b669305905c969fa5afac9e1262bfefa358de7fee0fb3ef89d0306c599acb2225cdb4209c53df16c307d438cc628299aec494c70cba166eb3cbb +SHA512 (ansible-8.0.0a1.tar.gz) = 4c136ffdf2bec31fb1b80ba378494ec1c6a6024516701616afb6b2dd565b501b5fd389a227a4129dc14e98257f1f0a12f925268c75f972d203312ac346f556d0 From 1689b29d873d597e35cafd8f576012a0a6a67426 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 27 Apr 2023 09:50:16 -0500 Subject: [PATCH 035/111] Update to 8.0.0~a2. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7d0de04..bc67527 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,4 @@ /ansible-7.3.0.tar.gz /ansible-7.4.0.tar.gz /ansible-8.0.0a1.tar.gz +/ansible-8.0.0a2.tar.gz diff --git a/ansible.spec b/ansible.spec index a9c6e64..c6f63c6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~a1 +Version: 8.0.0~a2 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -220,6 +220,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog +* Thu Apr 27 2023 Maxwell G - 8.0.0~a2-1 +- Update to 8.0.0~a2. + * Thu Apr 20 2023 Maxwell G - 8.0.0~a1-1 - Update to 8.0.0~a1. diff --git a/sources b/sources index 98ab44c..93d7025 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0a1.tar.gz) = 4c136ffdf2bec31fb1b80ba378494ec1c6a6024516701616afb6b2dd565b501b5fd389a227a4129dc14e98257f1f0a12f925268c75f972d203312ac346f556d0 +SHA512 (ansible-8.0.0a2.tar.gz) = 8097feaf31b7787fd85992c2a86ea3324f06d0b9784d1f7753c930731b1338e201cdb174318507fefffa848a8894729cf473562018945909bd043a9e122c8ced From 935fbf09a0b90533e8e598206251ed9995ff8a67 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 3 May 2023 18:14:09 -0500 Subject: [PATCH 036/111] Update to 8.0.0~a3. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index bc67527..755066e 100644 --- a/.gitignore +++ b/.gitignore @@ -137,3 +137,4 @@ /ansible-7.4.0.tar.gz /ansible-8.0.0a1.tar.gz /ansible-8.0.0a2.tar.gz +/ansible-8.0.0a3.tar.gz diff --git a/ansible.spec b/ansible.spec index c6f63c6..d32cbfd 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~a2 +Version: 8.0.0~a3 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -220,6 +220,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog +* Wed May 03 2023 Maxwell G - 8.0.0~a3-1 +- Update to 8.0.0~a3. + * Thu Apr 27 2023 Maxwell G - 8.0.0~a2-1 - Update to 8.0.0~a2. diff --git a/sources b/sources index 93d7025..fcd6ded 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0a2.tar.gz) = 8097feaf31b7787fd85992c2a86ea3324f06d0b9784d1f7753c930731b1338e201cdb174318507fefffa848a8894729cf473562018945909bd043a9e122c8ced +SHA512 (ansible-8.0.0a3.tar.gz) = 8358caec95a2b8b7e6c45750e7e182b960b0b227030def02aae9ad1c19f263b8263ce1c545763efab8c46208e871f1f0a7ee0543d60a01d2fe0659f0730d52d1 From 81b557b379f99e3230476f824dc97ca812b01ca2 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 10 May 2023 04:07:38 +0000 Subject: [PATCH 037/111] modernize specfile for EPEL 9 and Fedora I'll maintain a separate specfile for EPEL 8. --- ansible.spec | 57 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/ansible.spec b/ansible.spec index d32cbfd..e0e208c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,9 +1,21 @@ +# Compatibility # +############################################################################# +# This specfile should remain compatible with EPEL 9 and stable Fedoras. # +# The EPEL 8 specfile is separately maintained, # +# but the ansible-prep.sh and ansible-install-license.sh scripts are shared # +# across branches. # +############################################################################# + # TODO: Re-enable docs and tests once possible -%bcond_with docs -%bcond_with tests +%bcond docs 0 +%bcond tests 0 + +# disable the python -s shbang flag as we want to be able to find non system modules +# NB: We cannot use https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_py3_shebang_S on RHEL 9. +%global py3_shebang_flags %(echo %{py3_shebang_flags} | sed 's|s||') + %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible -%global min_ansible_core 2.14.4 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -15,13 +27,12 @@ # ansible-core package is built against Python 3.11 in RHEL 8 and RHEL 9 which # is not the default version. %global python3_pkgversion 3.11 -BuildRequires: python%{python3_pkgversion}-rpm-macros %endif Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 8.0.0~a3 -%global uversion %(tr -d '~' <<< %{version}) +%global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. @@ -50,8 +61,6 @@ BuildRequires: dos2unix BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core} %if %{with tests} # TODO build-requires @@ -61,6 +70,7 @@ BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core} # TODO build-requires %endif + %description Ansible is a radically simple model-driven configuration management, multi-node deployment, and remote task execution system. Ansible works @@ -71,11 +81,11 @@ are transferred to managed machines automatically. This package provides a curated set of Ansible collections included in addition to ansible-core. + %prep %autosetup -p1 -n %{name}-%{uversion} -%if %{defined rhel} -# Relax ansible-core dependency to avoid FTI bugs +# Relax ansible-core dependency to avoid FTI bugs on EPEL # # This is necessary, because the EPEL ansible maintainers don't have control # over ansible-core in RHEL, and it's difficult to time updates across @@ -84,10 +94,12 @@ to ansible-core. # to properly release and test new ansible major versions after RHEL rebases # ansible-core. The lower version constraints can stay in place. -sed -i "s|'ansible-core ~= 2.14\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py +sed "s|'ansible-core ~=|ansible-core >=|" setup.py > setup.py.bak # Verify set -o pipefail -grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=[' +grep -B1 "'ansible-core >=" setup.py.bak | grep -F 'install_requires=[' +%if %{defined rhel} +mv setup.py.bak setup.py %endif # Fix wrong-script-end-of-line-encoding in azure.azcollection @@ -150,21 +162,21 @@ find -type f ! -executable -name '*.py' | tee non_exec # instead of ~13 thousand! xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' -# This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. -# It also ensures that dependencies remain consistent. -%if %{undefined el8} + %generate_buildrequires %pyproject_buildrequires -%endif + %build -# disable the python -s shbang flag as we want to be able to find non system modules -%global py3_shbang_opts %{nil} %py3_shebang_fix ansible_collections -%py3_build +%pyproject_wheel + %install -%py3_install +%pyproject_install +# This adds over a minute to the build due to the size of the ansible package. +# It's better to manually specify the paths in %%files... +# %%pyproject_save_files ansible_collections %global filelist %{_builddir}/%{buildsubdir}/files.list @@ -202,11 +214,13 @@ EOF hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections hardlink -v %{buildroot}%{ansible_licensedir} + %check -%if 0%{?with_tests} +%if %{with tests} # TODO: Run tests %endif + %files -f files.list %license COPYING %doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst @@ -217,7 +231,8 @@ hardlink -v %{buildroot}%{ansible_licensedir} # or via standalone distribution packages to datadir (/usr/share). # Both will have precedence over the collections installed in the python sitelib. %{python3_sitelib}/ansible_collections/ -%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ +%{python3_sitelib}/ansible-%{uversion}.dist-info/ + %changelog * Wed May 03 2023 Maxwell G - 8.0.0~a3-1 From 9e268c07b66c4e140eac4d34c0405ba1cefd1f23 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 10 May 2023 04:38:33 +0000 Subject: [PATCH 038/111] move specfile scripting into separate files This makes the specfile more readable and makes it easier to sync the more complex parts across branches. This also refactors the license install logic. --- .gitignore | 142 +----------------------------------- ansible-install-licenses.sh | 42 +++++++++++ ansible-prep.sh | 63 ++++++++++++++++ ansible.spec | 119 ++++++------------------------ 4 files changed, 129 insertions(+), 237 deletions(-) create mode 100755 ansible-install-licenses.sh create mode 100755 ansible-prep.sh diff --git a/.gitignore b/.gitignore index 755066e..a3dd11c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,140 +1,2 @@ -/ansible-1.5.3.tar.gz -/ansible-1.5.4.tar.gz -/ansible-1.5.5.tar.gz -/ansible-1.6.tar.gz -/ansible-1.6.1.tar.gz -/ansible-1.6.2.tar.gz -/ansible-1.6.3.tar.gz -/ansible-1.6.4.tar.gz -/ansible-1.6.5.tar.gz -/ansible-1.6.6.tar.gz -/ansible-1.6.7.tar.gz -/ansible-1.6.8.tar.gz -/ansible-1.6.9.tar.gz -/ansible-1.6.10.tar.gz -/ansible-1.7.tar.gz -/ansible-1.7.1.tar.gz -/ansible-1.7.2.tar.gz -/ansible-1.8.tar.gz -/ansible-1.8.1.tar.gz -/ansible-1.8.2.tar.gz -/ansible-1.8.3.tar.gz -/ansible-1.8.4.tar.gz -/ansible-1.9.0.tar.gz -/ansible-1.9.0.1.tar.gz -/ansible-1.9.1.tar.gz -/ansible-1.9.2.tar.gz -/ansible-1.9.3.tar.gz -/ansible-1.9.4.tar.gz -/ansible-2.0.0.1.tar.gz -/ansible-unittests.tar.xz -/ansible-2.0.0.2.tar.gz -/ansible-2.0.1.0.tar.gz -/ansible-unittests-2.0.1.0.tar.xz -/ansible-unittests-2.0.2.0.tar.xz -/ansible-2.0.2.0.tar.gz -/ansible-unittests-2.1.0.0.tar.xz -/ansible-2.1.0.0.tar.gz -/ansible-unittests-2.1.1.0.tar.xz -/ansible-2.1.1.0.tar.gz -/ansible-2.1.2.0.tar.gz -/ansible-unittests-2.1.2.0.tar.xz -/ansible-unittests-2.2.0.0.tar.xz -/ansible-2.2.0.0.tar.gz -/ansible-unittests-2.2.1.0.tar.xz -/ansible-2.2.1.0.tar.gz -/ansible-2.2.2.0-0.1.rc1.tar.gz -/ansible-unittests-2.2.2.0.tar.xz -/ansible-2.2.2.0.tar.gz -/ansible-2.3.0.0.tar.gz -/ansible-2.3.1.0.tar.gz -/ansible-2.3.2.0.tar.gz -/ansible-2.4.0.0.tar.gz -/ansible-2.4.1.0.tar.gz -/ansible-2.4.2.0.tar.gz -/ansible-2.4.3.0.tar.gz -/ansible-2.5.0.tar.gz -/ansible-2.5.1.tar.gz -/ansible-2.5.2.tar.gz -/ansible-2.5.3.tar.gz -/ansible-2.5.5.tar.gz -/ansible-2.6.0.tar.gz -/ansible-2.6.1.tar.gz -/ansible-2.6.2.tar.gz -/ansible-2.6.3.tar.gz -/ansible-2.6.4.tar.gz -/ansible-2.6.5.tar.gz -/ansible-2.7.0.tar.gz -/ansible-2.7.1.tar.gz -/ansible-2.7.2.tar.gz -/ansible-2.7.3.tar.gz -/ansible-2.7.4.tar.gz -/ansible-2.7.5.tar.gz -/ansible-2.7.6.tar.gz -/ansible-2.7.7.tar.gz -/ansible-2.7.8.tar.gz -/ansible-2.7.9.tar.gz -/ansible-2.7.10.tar.gz -/ansible-2.8.0b1.tar.gz -/ansible-2.8.0rc1.tar.gz -/ansible-2.8.0rc3.tar.gz -/ansible-2.8.0.tar.gz -/ansible-2.8.1.tar.gz -/ansible-2.8.2.tar.gz -/ansible-2.8.3.tar.gz -/ansible-2.8.4.tar.gz -/ansible-2.8.5.tar.gz -/ansible-2.8.6.tar.gz -/ansible-2.9.0.tar.gz -/ansible-2.9.1.tar.gz -/ansible-2.9.2.tar.gz -/ansible-2.9.3.tar.gz -/ansible-2.9.4.tar.gz -/ansible-2.9.5.tar.gz -/ansible-2.9.6.tar.gz -/ansible-2.9.7.tar.gz -/ansible-2.9.9.tar.gz -/ansible-2.9.10.tar.gz -/ansible-2.9.11.tar.gz -/ansible-2.9.12.tar.gz -/ansible-2.9.13.tar.gz -/ansible-2.9.14.tar.gz -/ansible-2.9.15.tar.gz -/ansible-2.9.16.tar.gz -/ansible-2.9.17.tar.gz -/ansible-2.9.18.tar.gz -/ansible-2.9.20.tar.gz -/ansible-2.9.21.tar.gz -/ansible-2.9.22.tar.gz -/ansible-2.9.23.tar.gz -/ansible-2.9.24.tar.gz -/ansible-2.9.25.tar.gz -/ansible-2.9.26.tar.gz -/ansible-2.9.27.tar.gz -/ansible-5.1.0.tar.gz -/ansible-5.2.0.tar.gz -/ansible-5.3.0.tar.gz -/ansible-5.4.0.tar.gz -/ansible-5.5.0.tar.gz -/ansible-5.6.0.tar.gz -/ansible-5.7.0.tar.gz -/ansible-5.8.0.tar.gz -/ansible-5.9.0.tar.gz -/ansible-6.0.0rc1.tar.gz -/ansible-6.0.0.tar.gz -/ansible-6.1.0.tar.gz -/ansible-6.2.0.tar.gz -/ansible-6.3.0.tar.gz -/ansible-6.4.0.tar.gz -/ansible-6.5.0.tar.gz -/ansible-7.0.0a2.tar.gz -/ansible-7.0.0b1.tar.gz -/ansible-7.0.0rc1.tar.gz -/ansible-7.0.0.tar.gz -/ansible-7.1.0.tar.gz -/ansible-7.2.0.tar.gz -/ansible-7.3.0.tar.gz -/ansible-7.4.0.tar.gz -/ansible-8.0.0a1.tar.gz -/ansible-8.0.0a2.tar.gz -/ansible-8.0.0a3.tar.gz +/ansible-*.tar.gz +/ansible-*/ diff --git a/ansible-install-licenses.sh b/ansible-install-licenses.sh new file mode 100755 index 0000000..06051ee --- /dev/null +++ b/ansible-install-licenses.sh @@ -0,0 +1,42 @@ +#!/usr/bin/bash -x + +set -euo pipefail + +ansible_licensedir="${1}" +ansible_docdir="${2}" + +# Install docs and licenses +mkdir -p "${ansible_licensedir}" "${ansible_docdir}" + +# This finds the license file for each collection and moves it to +# `${ansible_licensedir}` + +for f in $(find -mindepth 3 -iname 'LICENSES' -type d -printf '%P\n') +do + dirname="$(dirname "${ansible_licensedir}/${f}")" + mkdir -p "${dirname}" + mv "${f}" "${ansible_licensedir}/${f}" +done + +for f in $( + find . -mindepth 3 -type f \ + \( -iname '*LICENSE*' -o -iname '*COPYING*' \) \ + -not -name '*.py' -not -name '*.pyc' \ + -not -name '*.license' -not -name '*.yaml' -not -name '*.yml' \ + -not -name '*.json' \ + -printf '%P\n' \ + | grep -vE '/docs/[^/]+_module\.rst$' +) +do + dirname="$(dirname "${ansible_licensedir}/${f}")" + mkdir -p "${dirname}" + mv "${f}" "${dirname}" +done + +# This does the same thing, but for READMEs. +for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%P\n') +do + dirname="$(dirname "${ansible_docdir}/${f}")" + mkdir -p "${dirname}" + mv "${f}" "${dirname}" +done diff --git a/ansible-prep.sh b/ansible-prep.sh new file mode 100755 index 0000000..befc12f --- /dev/null +++ b/ansible-prep.sh @@ -0,0 +1,63 @@ +#!/usr/bin/bash -x + +set -euo pipefail + +# Fix wrong-script-end-of-line-encoding in azure.azcollection +find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; + +# Remove unnecessary files and directories included in the Ansible collection release tarballs +# Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 +echo "[START] Delete unnecessary files and directories" + +# Collection tarballs contain a lot of hidden files and directories +hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$" +find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; + +# Not needed for runtime +rm -rv ansible_collections/cisco/meraki/scripts +rm -rv ansible_collections/community/grafana/hacking +rm -rv ansible_collections/community/okd/ci/ +rm -rv ansible_collections/community/vmware/tools +rm -rv ansible_collections/cyberark/conjur/ci/ +rm -rv ansible_collections/cyberark/conjur/dev/ +rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/netbox/netbox/hacking/ +rm -rv ansible_collections/sensu/sensu_go/docker/ +rm -v ansible_collections/community/dns/update-psl.sh +rm -v ansible_collections/cyberark/conjur/Jenkinsfile +rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh +rm -v ansible_collections/ovirt/ovirt/build.sh + +# rpmlint W: pem-certificate +find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete + +# rpmlint E: zero-length +find -type f -name "*requirements.txt" -size 0 -print -delete +rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 +rm -v ansible_collections/community/docker/meta/ee-bindep.txt +rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder + +echo "[END] Delete unnecessary files and directories" + +### +# Fix various shebang related issues to appease brp-managle-shebangs +### +find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ + -print -exec chmod a+x '{}' \; + +# ansible_collections/lowlydba/sqlserver thought it was a good idea to make +# *every* single file, in its repository executable, including .md, .yml, and +# .rst. :facepalm: +# +# TODO: File issue upstream +find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; + +# Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues +# from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. +# Upstream, ansible-core has also removed shebangs from its modules. +# +# XXX: Print out the files before they're replaced +find -type f ! -executable -name '*.py' | tee non_exec +# xargs is noticably faster than find -exec, because it spawns one sed process +# instead of ~13 thousand! +xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' diff --git a/ansible.spec b/ansible.spec index e0e208c..fe796ed 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,9 +14,6 @@ # NB: We cannot use https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_py3_shebang_S on RHEL 9. %global py3_shebang_flags %(echo %{py3_shebang_flags} | sed 's|s||') -%global ansible_licensedir %{_defaultlicensedir}/ansible -%global ansible_docdir %{_defaultdocdir}/ansible - # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the # same filesystem layout as Fedora. @@ -54,6 +51,8 @@ Release: 1%{?dist} # PSF-license.txt License: GPL-3.0-or-later AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0 AND PSF-2.0 Source0: %{pypi_source %{name} %{uversion}} +Source1: ansible-prep.sh +Source2: ansible-install-licenses.sh Url: https://ansible.com BuildArch: noarch @@ -94,73 +93,25 @@ to ansible-core. # to properly release and test new ansible major versions after RHEL rebases # ansible-core. The lower version constraints can stay in place. -sed "s|'ansible-core ~=|ansible-core >=|" setup.py > setup.py.bak +sed "s|ansible-core ~=|ansible-core >=|" setup.py > setup.py.bak # Verify set -o pipefail -grep -B1 "'ansible-core >=" setup.py.bak | grep -F 'install_requires=[' +grep -B1 "ansible-core >=" setup.py.bak | grep -F 'install_requires=[' %if %{defined rhel} mv setup.py.bak setup.py %endif -# Fix wrong-script-end-of-line-encoding in azure.azcollection -find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; +# ansible-prep.sh +%{S:1} -# Remove unnecessary files and directories included in the Ansible collection release tarballs -# Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 -echo "[START] Delete unnecessary files and directories" - -# Collection tarballs contain a lot of hidden files and directories -hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$" -find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; - -# Not needed for runtime -rm -rv ansible_collections/cisco/meraki/scripts -rm -rv ansible_collections/community/grafana/hacking -rm -rv ansible_collections/community/okd/ci/ -rm -rv ansible_collections/community/vmware/tools -rm -rv ansible_collections/cyberark/conjur/ci/ -rm -rv ansible_collections/cyberark/conjur/dev/ -rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ -rm -rv ansible_collections/netbox/netbox/hacking/ -rm -rv ansible_collections/sensu/sensu_go/docker/ -rm -v ansible_collections/community/dns/update-psl.sh -rm -v ansible_collections/cyberark/conjur/Jenkinsfile -rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh -rm -v ansible_collections/ovirt/ovirt/build.sh - -# rpmlint W: pem-certificate -find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete - -# rpmlint E: zero-length -find -type f -name "*requirements.txt" -size 0 -print -delete -rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 -rm -v ansible_collections/community/docker/meta/ee-bindep.txt -rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder - -echo "[END] Delete unnecessary files and directories" - -### -# Fix various shebang related issues to appease brp-managle-shebangs -### -find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ - -print -exec chmod a+x '{}' \; - -# ansible_collections/lowlydba/sqlserver thought it was a good idea to make -# *every* single file, in its repository executable, including .md, .yml, and -# .rst. :facepalm: -# -# TODO: File issue upstream -find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; - -# Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues -# from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. -# Upstream, ansible-core has also removed shebangs from its modules. -# -# XXX: Print out the files before they're replaced -find -type f ! -executable -name '*.py' | tee non_exec -# xargs is noticably faster than find -exec, because it spawns one sed process -# instead of ~13 thousand! -xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' +( +mkdir licenses docs +cd ansible_collections +# ansible-license-install.sh +%{S:2} \ + "$(readlink -f ../licenses)" \ + "$(readlink -f ../docs)" \ +) %generate_buildrequires @@ -169,6 +120,7 @@ xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' %build %py3_shebang_fix ansible_collections + %pyproject_wheel @@ -178,41 +130,12 @@ xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' # It's better to manually specify the paths in %%files... # %%pyproject_save_files ansible_collections -%global filelist %{_builddir}/%{buildsubdir}/files.list +mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible +mv licenses %{buildroot}%{_licensedir}/ansible/ansible_collections +mv docs %{buildroot}%{_pkgdocdir}/ansible_collections -# Install docs and licenses -( - mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" - cd %{buildroot}%{python3_sitelib}/ansible_collections - # This finds the license file for each collection, moves it to - # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds - # `%%license /path/to/license` to the %%files list. - # `-printf '%%P\n'` removes the trailing `./`. - for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do - dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" - mkdir -p "${dirname}" - mv "${f}" "${dirname}" - tee -a %{filelist} << EOF -%%license %%{ansible_licensedir}/${f} -EOF - done - for f in $(find -mindepth 3 -iname 'LICENSES' -type d); do - cp -rfp --parents ${f} %{buildroot}%{ansible_licensedir} - echo "%%license %%{ansible_licensedir}/${f}" >> %{filelist} - done - - # This does the same thing, but for READMEs. - for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%%P\n'); do - dirname="$(dirname %{buildroot}%{ansible_docdir}/${f})" - mkdir -p "${dirname}" - mv "${f}" "${dirname}" - tee -a %{filelist} << EOF -%%doc %%{ansible_docdir}/${f} -EOF - done -) hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections -hardlink -v %{buildroot}%{ansible_licensedir} +hardlink -v %{buildroot}%{_licensedir}/ansible %check @@ -221,9 +144,11 @@ hardlink -v %{buildroot}%{ansible_licensedir} %endif -%files -f files.list +%files %license COPYING +%license %{_licensedir}/ansible/ansible_collections/ %doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst +%doc %{_pkgdocdir}/ansible_collections/ %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX # when installing the ansible package from PyPi. From 5abfdcb89d25a652ad6153f65bc662c6f28aa3fc Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 16 May 2023 04:15:27 +0000 Subject: [PATCH 039/111] add copyright headers Fedora specfiles are implicitly licensed under the MIT license as per the FPCA, but explicit is better than implicit. --- ansible-install-licenses.sh | 4 ++++ ansible-prep.sh | 4 ++++ ansible.spec | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/ansible-install-licenses.sh b/ansible-install-licenses.sh index 06051ee..f78c535 100755 --- a/ansible-install-licenses.sh +++ b/ansible-install-licenses.sh @@ -1,5 +1,9 @@ #!/usr/bin/bash -x +# SPDX-License-Identifier: MIT +# Copyright (C) Fedora Project Authors +# License Text: https://spdx.org/licenses/MIT.txt + set -euo pipefail ansible_licensedir="${1}" diff --git a/ansible-prep.sh b/ansible-prep.sh index befc12f..a0094c5 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -1,5 +1,9 @@ #!/usr/bin/bash -x +# SPDX-License-Identifier: MIT +# Copyright (C) Fedora Project Authors +# License Text: https://spdx.org/licenses/MIT.txt + set -euo pipefail # Fix wrong-script-end-of-line-encoding in azure.azcollection diff --git a/ansible.spec b/ansible.spec index fe796ed..2491ccb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) Fedora Project Authors +# License Text: https://spdx.org/licenses/MIT.html + # Compatibility # ############################################################################# # This specfile should remain compatible with EPEL 9 and stable Fedoras. # From b3fea492917b88c0ee8d5db45535e98ac85b6e4d Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 16 May 2023 11:29:18 -0500 Subject: [PATCH 040/111] Update to 8.0.0~b1. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 2491ccb..1e5de25 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~a3 +Version: 8.0.0~b1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -164,6 +164,9 @@ hardlink -v %{buildroot}%{_licensedir}/ansible %changelog +* Tue May 16 2023 Maxwell G - 8.0.0~b1-1 +- Update to 8.0.0~b1. + * Wed May 03 2023 Maxwell G - 8.0.0~a3-1 - Update to 8.0.0~a3. diff --git a/sources b/sources index fcd6ded..597065a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0a3.tar.gz) = 8358caec95a2b8b7e6c45750e7e182b960b0b227030def02aae9ad1c19f263b8263ce1c545763efab8c46208e871f1f0a7ee0543d60a01d2fe0659f0730d52d1 +SHA512 (ansible-8.0.0b1.tar.gz) = 100d660051a45d75407f87db44b12b8e434a592838f7c040398765ad2c8eb5173b828b1f31d07d6f0e0565f21a2d0cfc54a7dcd8a1ef720e34f4919617475417 From 030afe947d073ba0d8e29a322a22c9216df30d91 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 19 May 2023 05:55:03 +0000 Subject: [PATCH 041/111] update excluded files list for 8.0.0~b1 --- ansible-prep.sh | 19 +++++++++++++++---- ansible.rpmlintrc | 4 ++-- ansible.spec | 4 ++++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index a0094c5..95bc8ea 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -18,16 +18,25 @@ hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|ci find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; # Not needed for runtime -rm -rv ansible_collections/cisco/meraki/scripts -rm -rv ansible_collections/community/grafana/hacking +rm -rv ansible_collections/cisco/meraki/scripts/ +rm -rv ansible_collections/community/digitalocean/scripts/ +rm -rv ansible_collections/community/grafana/hacking/ rm -rv ansible_collections/community/okd/ci/ -rm -rv ansible_collections/community/vmware/tools +rm -rv ansible_collections/community/vmware/tools/ rm -rv ansible_collections/cyberark/conjur/ci/ rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/google/cloud/test-fixtures/ +rm -rv ansible_collections/google/cloud/scripts/ +rm -rv ansible_collections/grafana/grafana/tools/ rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/sensu/sensu_go/docker/ +rm -rv ansible_collections/sensu/sensu_go/tools/ + +rm -v ansible_collections/community/dns/update-docs-fragments.py rm -v ansible_collections/community/dns/update-psl.sh +rm -v ansible_collections/community/mysql/run_all_tests.py +rm -v ansible_collections/community/routeros/update-docs.py rm -v ansible_collections/cyberark/conjur/Jenkinsfile rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh @@ -56,12 +65,14 @@ find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' # TODO: File issue upstream find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; + # Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues # from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. # Upstream, ansible-core has also removed shebangs from its modules. # # XXX: Print out the files before they're replaced -find -type f ! -executable -name '*.py' | tee non_exec +find ansible_collections -type f ! -executable -name '*.py' | tee non_exec +echo ansible_collections/community/sap_libs/plugins/module_utils/swpm2_parameters_inifile_generate.py >> non_exec # xargs is noticably faster than find -exec, because it spawns one sed process # instead of ~13 thousand! xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index 1e73c2d..d5ffe46 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -4,6 +4,6 @@ addFilter("W: name-repeated-in-summary") addFilter("W: cross-directory-hard-link") # Roles' files and templates should not be mangled addFilter(r"E: env-script-interpreter.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") -addFilter("W: deprecated-grep \['egrep'\]") +addFilter(r"E: non-executable-script.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") addFilter("W: no-manual-page-for-binary ansible-community") -addFilter(r"E: zero-length /usr/lib/python3.\d+/site-packages/ansible_collections/community/zabbix/roles/zabbix_agent/vars/main.yml") +addFilter(r"E: zero-length") diff --git a/ansible.spec b/ansible.spec index 1e5de25..fa6c625 100644 --- a/ansible.spec +++ b/ansible.spec @@ -141,6 +141,10 @@ mv docs %{buildroot}%{_pkgdocdir}/ansible_collections hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections hardlink -v %{buildroot}%{_licensedir}/ansible +# XXX: One of the build steps is messing with the permission. +# XXX: The file is 0755 in the source tarball. +chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstack/scripts/inventory/cloudstack.py + %check %if %{with tests} From 2d214aeabb5830edde288ae0776298f3f32707af Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 23 May 2023 22:39:24 -0500 Subject: [PATCH 042/111] Update to 8.0.0~rc1. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index fa6c625..af009bb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~b1 +Version: 8.0.0~rc1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue May 23 2023 Maxwell G - 8.0.0~rc1-1 +- Update to 8.0.0~rc1. + * Tue May 16 2023 Maxwell G - 8.0.0~b1-1 - Update to 8.0.0~b1. diff --git a/sources b/sources index 597065a..89b25cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0b1.tar.gz) = 100d660051a45d75407f87db44b12b8e434a592838f7c040398765ad2c8eb5173b828b1f31d07d6f0e0565f21a2d0cfc54a7dcd8a1ef720e34f4919617475417 +SHA512 (ansible-8.0.0rc1.tar.gz) = 052efbdfe05de6088c2114f4000faa86cd8e63d60ebcb0a2d1bd2b486e17b1c9b4e0c1f8da8a2a1bae49b64bfbaaeed8db763a9a963744870cf351509d4ceda7 From 021c6e7683e1cfbb9f38ec7a8371cf3ecf132a45 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 24 May 2023 15:31:02 +0000 Subject: [PATCH 043/111] add tmt and gating tests --- .fmf/version | 1 + gating.yaml | 13 +++++++++++++ tests/smoke.fmf | 17 +++++++++++++++++ tests/smoke.sh | 7 +++++++ 4 files changed, 38 insertions(+) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 tests/smoke.fmf create mode 100755 tests/smoke.sh diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..1a03a59 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,13 @@ +# Copyright (C) 2023 Maxwell G +# SPDX-License-Identifier: MIT + +--- !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} +... diff --git a/tests/smoke.fmf b/tests/smoke.fmf new file mode 100644 index 0000000..a8f51cb --- /dev/null +++ b/tests/smoke.fmf @@ -0,0 +1,17 @@ +# Copyright (C) 2023 Maxwell G +# SPDX-License-Identifier: MIT + +summary: Run ansible-core smoke tests with ansible bundle installed +discover: + - name: Smoke tests with ansible + how: shell + tests: + - name: Run tests/smoke.sh + test: tests/smoke.sh + require: + - python3-dnf + - dnf-plugins-core + - ansible-core + - ansible +execute: + how: tmt diff --git a/tests/smoke.sh b/tests/smoke.sh new file mode 100755 index 0000000..903938a --- /dev/null +++ b/tests/smoke.sh @@ -0,0 +1,7 @@ +#!/usr/bin/bash -x +# Copyright (C) 2023 Maxwell G +# SPDX-License-Identifier: MIT + +set -euo pipefail + +curl -L https://src.fedoraproject.org/rpms/ansible-core/raw/rawhide/f/tests/smoke.sh | bash -x From 4c40dd8a0cd1931fe1b29e4041e172b4063dfeff Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 30 May 2023 17:13:27 -0500 Subject: [PATCH 044/111] Update to 8.0.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index af009bb..19a21d5 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~rc1 +Version: 8.0.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue May 30 2023 Maxwell G - 8.0.0-1 +- Update to 8.0.0. + * Tue May 23 2023 Maxwell G - 8.0.0~rc1-1 - Update to 8.0.0~rc1. diff --git a/sources b/sources index 89b25cc..03089ba 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0rc1.tar.gz) = 052efbdfe05de6088c2114f4000faa86cd8e63d60ebcb0a2d1bd2b486e17b1c9b4e0c1f8da8a2a1bae49b64bfbaaeed8db763a9a963744870cf351509d4ceda7 +SHA512 (ansible-8.0.0.tar.gz) = 637304599ec2074b473902d767a9e42d4df17c8485e5d64b6a1ea8a3b8ad347f021aeb88ca5cdbd2eefc30f2d8d2870e8934fa2c4d9c192c03a1482b31cc1fc5 From 1e8d0b7bf498be4c102a1e40a8f20496bdefa41d Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 31 May 2023 01:20:52 +0000 Subject: [PATCH 045/111] remove unused .coveragerc file --- .coveragerc | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 698302a..0000000 --- a/.coveragerc +++ /dev/null @@ -1,24 +0,0 @@ -# This configuration file is used for manual execution of coverage -# as well as for tests run through ansible-test. - -[run] -branch = True - -# Enable concurrency. This also enables parallel mode, which results in -# multiple coverage files being created. Concurrency allows us to collect -# results from multiple tests simultaneously, as well as supporting multiple -# test runs, such as from integration tests. -concurrency = multiprocessing -parallel = True - -# When running tests through ansible-test, this option is overridden by -# the COVERAGE_FILE environment variable. This option is present for -# convenience when running coverage manually from this directory. -data_file = test/results/coverage/coverage - -# Don't collect or report code coverage from files matching these patterns. -omit = - */python*/dist-packages/* - */python*/site-packages/* - */python*/distutils - */pytest From 32d4fd10aea1c849bd3e5a24b3ba8ceccad0fc9b Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 31 May 2023 01:20:52 +0000 Subject: [PATCH 046/111] remove unused .coveragerc file --- .coveragerc | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 698302a..0000000 --- a/.coveragerc +++ /dev/null @@ -1,24 +0,0 @@ -# This configuration file is used for manual execution of coverage -# as well as for tests run through ansible-test. - -[run] -branch = True - -# Enable concurrency. This also enables parallel mode, which results in -# multiple coverage files being created. Concurrency allows us to collect -# results from multiple tests simultaneously, as well as supporting multiple -# test runs, such as from integration tests. -concurrency = multiprocessing -parallel = True - -# When running tests through ansible-test, this option is overridden by -# the COVERAGE_FILE environment variable. This option is present for -# convenience when running coverage manually from this directory. -data_file = test/results/coverage/coverage - -# Don't collect or report code coverage from files matching these patterns. -omit = - */python*/dist-packages/* - */python*/site-packages/* - */python*/distutils - */pytest From 29861794cfb9ea29dca6f42c72223ac0e4baf951 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 15 May 2023 18:26:30 -0500 Subject: [PATCH 047/111] Update to 8.0.0~a3. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 74c40c0..90f39be 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,4 @@ /ansible-6.3.0.tar.gz /ansible-7.2.0.tar.gz /ansible-7.1.0.tar.gz +/ansible-8.0.0a3.tar.gz diff --git a/ansible.spec b/ansible.spec index 7e74c37..36353f7 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 7.2.0 +Version: 8.0.0~a3 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -221,6 +221,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ %changelog +* Wed May 03 2023 Maxwell G - 8.0.0~a3-1 +- Update to 8.0.0~a3. + * Fri Feb 10 2023 Maxwell G - 7.2.0-1 - Update to 7.2.0. diff --git a/sources b/sources index 97311bc..fcd6ded 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-7.2.0.tar.gz) = 30d7f912cd6b2e41f1e5d880b014f00d332b4cc533512be8de885e95b63cf890ffb38a616de74c6b7fd9d6a961b7e2a1843bfe758fbcd9f3c962f1c856f20725 +SHA512 (ansible-8.0.0a3.tar.gz) = 8358caec95a2b8b7e6c45750e7e182b960b0b227030def02aae9ad1c19f263b8263ce1c545763efab8c46208e871f1f0a7ee0543d60a01d2fe0659f0730d52d1 From 3c9e7d2bcdd80c17c0b14a9e9897e6eb88d3ad7f Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 10 May 2023 04:38:33 +0000 Subject: [PATCH 048/111] move specfile scripting into separate files This makes the specfile more readable and makes it easier to sync the more complex parts across branches. This also refactors the license install logic. --- .gitignore | 132 +---------------------------------- ansible-install-licenses.sh | 42 +++++++++++ ansible-prep.sh | 63 +++++++++++++++++ ansible.spec | 135 ++++++++---------------------------- 4 files changed, 136 insertions(+), 236 deletions(-) create mode 100755 ansible-install-licenses.sh create mode 100755 ansible-prep.sh diff --git a/.gitignore b/.gitignore index 90f39be..a3dd11c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,130 +1,2 @@ -/ansible-1.5.3.tar.gz -/ansible-1.5.4.tar.gz -/ansible-1.5.5.tar.gz -/ansible-1.6.tar.gz -/ansible-1.6.1.tar.gz -/ansible-1.6.2.tar.gz -/ansible-1.6.3.tar.gz -/ansible-1.6.4.tar.gz -/ansible-1.6.5.tar.gz -/ansible-1.6.6.tar.gz -/ansible-1.6.7.tar.gz -/ansible-1.6.8.tar.gz -/ansible-1.6.9.tar.gz -/ansible-1.6.10.tar.gz -/ansible-1.7.tar.gz -/ansible-1.7.1.tar.gz -/ansible-1.7.2.tar.gz -/ansible-1.8.tar.gz -/ansible-1.8.1.tar.gz -/ansible-1.8.2.tar.gz -/ansible-1.8.3.tar.gz -/ansible-1.8.4.tar.gz -/ansible-1.9.0.tar.gz -/ansible-1.9.0.1.tar.gz -/ansible-1.9.1.tar.gz -/ansible-1.9.2.tar.gz -/ansible-1.9.3.tar.gz -/ansible-1.9.4.tar.gz -/ansible-2.0.0.1.tar.gz -/ansible-unittests.tar.xz -/ansible-2.0.0.2.tar.gz -/ansible-2.0.1.0.tar.gz -/ansible-unittests-2.0.1.0.tar.xz -/ansible-unittests-2.0.2.0.tar.xz -/ansible-2.0.2.0.tar.gz -/ansible-unittests-2.1.0.0.tar.xz -/ansible-2.1.0.0.tar.gz -/ansible-unittests-2.1.1.0.tar.xz -/ansible-2.1.1.0.tar.gz -/ansible-2.1.2.0.tar.gz -/ansible-unittests-2.1.2.0.tar.xz -/ansible-unittests-2.2.0.0.tar.xz -/ansible-2.2.0.0.tar.gz -/ansible-unittests-2.2.1.0.tar.xz -/ansible-2.2.1.0.tar.gz -/ansible-2.2.2.0-0.1.rc1.tar.gz -/ansible-unittests-2.2.2.0.tar.xz -/ansible-2.2.2.0.tar.gz -/ansible-2.3.0.0.tar.gz -/ansible-2.3.1.0.tar.gz -/ansible-2.3.2.0.tar.gz -/ansible-2.4.0.0.tar.gz -/ansible-2.4.1.0.tar.gz -/ansible-2.4.2.0.tar.gz -/ansible-2.4.3.0.tar.gz -/ansible-2.5.0.tar.gz -/ansible-2.5.1.tar.gz -/ansible-2.5.2.tar.gz -/ansible-2.5.3.tar.gz -/ansible-2.5.5.tar.gz -/ansible-2.6.0.tar.gz -/ansible-2.6.1.tar.gz -/ansible-2.6.2.tar.gz -/ansible-2.6.3.tar.gz -/ansible-2.6.4.tar.gz -/ansible-2.6.5.tar.gz -/ansible-2.7.0.tar.gz -/ansible-2.7.1.tar.gz -/ansible-2.7.2.tar.gz -/ansible-2.7.3.tar.gz -/ansible-2.7.4.tar.gz -/ansible-2.7.5.tar.gz -/ansible-2.7.6.tar.gz -/ansible-2.7.7.tar.gz -/ansible-2.7.8.tar.gz -/ansible-2.7.9.tar.gz -/ansible-2.7.10.tar.gz -/ansible-2.8.0b1.tar.gz -/ansible-2.8.0rc1.tar.gz -/ansible-2.8.0rc3.tar.gz -/ansible-2.8.0.tar.gz -/ansible-2.8.1.tar.gz -/ansible-2.8.2.tar.gz -/ansible-2.8.3.tar.gz -/ansible-2.8.4.tar.gz -/ansible-2.8.5.tar.gz -/ansible-2.8.6.tar.gz -/ansible-2.9.0.tar.gz -/ansible-2.9.1.tar.gz -/ansible-2.9.2.tar.gz -/ansible-2.9.3.tar.gz -/ansible-2.9.4.tar.gz -/ansible-2.9.5.tar.gz -/ansible-2.9.6.tar.gz -/ansible-2.9.7.tar.gz -/ansible-2.9.9.tar.gz -/ansible-2.9.10.tar.gz -/ansible-2.9.11.tar.gz -/ansible-2.9.12.tar.gz -/ansible-2.9.13.tar.gz -/ansible-2.9.14.tar.gz -/ansible-2.9.15.tar.gz -/ansible-2.9.16.tar.gz -/ansible-2.9.17.tar.gz -/ansible-2.9.18.tar.gz -/ansible-2.9.20.tar.gz -/ansible-2.9.21.tar.gz -/ansible-2.9.22.tar.gz -/ansible-2.9.23.tar.gz -/ansible-2.9.24.tar.gz -/ansible-2.9.25.tar.gz -/ansible-2.9.26.tar.gz -/ansible-2.9.27.tar.gz -/ansible-5.1.0.tar.gz -/ansible-5.2.0.tar.gz -/ansible-5.3.0.tar.gz -/ansible-5.4.0.tar.gz -/ansible-5.5.0.tar.gz -/ansible-5.6.0.tar.gz -/ansible-5.7.0.tar.gz -/ansible-5.8.0.tar.gz -/ansible-5.9.0.tar.gz -/ansible-6.0.0rc1.tar.gz -/ansible-6.0.0.tar.gz -/ansible-6.1.0.tar.gz -/ansible-6.2.0.tar.gz -/ansible-6.3.0.tar.gz -/ansible-7.2.0.tar.gz -/ansible-7.1.0.tar.gz -/ansible-8.0.0a3.tar.gz +/ansible-*.tar.gz +/ansible-*/ diff --git a/ansible-install-licenses.sh b/ansible-install-licenses.sh new file mode 100755 index 0000000..06051ee --- /dev/null +++ b/ansible-install-licenses.sh @@ -0,0 +1,42 @@ +#!/usr/bin/bash -x + +set -euo pipefail + +ansible_licensedir="${1}" +ansible_docdir="${2}" + +# Install docs and licenses +mkdir -p "${ansible_licensedir}" "${ansible_docdir}" + +# This finds the license file for each collection and moves it to +# `${ansible_licensedir}` + +for f in $(find -mindepth 3 -iname 'LICENSES' -type d -printf '%P\n') +do + dirname="$(dirname "${ansible_licensedir}/${f}")" + mkdir -p "${dirname}" + mv "${f}" "${ansible_licensedir}/${f}" +done + +for f in $( + find . -mindepth 3 -type f \ + \( -iname '*LICENSE*' -o -iname '*COPYING*' \) \ + -not -name '*.py' -not -name '*.pyc' \ + -not -name '*.license' -not -name '*.yaml' -not -name '*.yml' \ + -not -name '*.json' \ + -printf '%P\n' \ + | grep -vE '/docs/[^/]+_module\.rst$' +) +do + dirname="$(dirname "${ansible_licensedir}/${f}")" + mkdir -p "${dirname}" + mv "${f}" "${dirname}" +done + +# This does the same thing, but for READMEs. +for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%P\n') +do + dirname="$(dirname "${ansible_docdir}/${f}")" + mkdir -p "${dirname}" + mv "${f}" "${dirname}" +done diff --git a/ansible-prep.sh b/ansible-prep.sh new file mode 100755 index 0000000..befc12f --- /dev/null +++ b/ansible-prep.sh @@ -0,0 +1,63 @@ +#!/usr/bin/bash -x + +set -euo pipefail + +# Fix wrong-script-end-of-line-encoding in azure.azcollection +find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; + +# Remove unnecessary files and directories included in the Ansible collection release tarballs +# Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 +echo "[START] Delete unnecessary files and directories" + +# Collection tarballs contain a lot of hidden files and directories +hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$" +find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; + +# Not needed for runtime +rm -rv ansible_collections/cisco/meraki/scripts +rm -rv ansible_collections/community/grafana/hacking +rm -rv ansible_collections/community/okd/ci/ +rm -rv ansible_collections/community/vmware/tools +rm -rv ansible_collections/cyberark/conjur/ci/ +rm -rv ansible_collections/cyberark/conjur/dev/ +rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/netbox/netbox/hacking/ +rm -rv ansible_collections/sensu/sensu_go/docker/ +rm -v ansible_collections/community/dns/update-psl.sh +rm -v ansible_collections/cyberark/conjur/Jenkinsfile +rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh +rm -v ansible_collections/ovirt/ovirt/build.sh + +# rpmlint W: pem-certificate +find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete + +# rpmlint E: zero-length +find -type f -name "*requirements.txt" -size 0 -print -delete +rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 +rm -v ansible_collections/community/docker/meta/ee-bindep.txt +rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder + +echo "[END] Delete unnecessary files and directories" + +### +# Fix various shebang related issues to appease brp-managle-shebangs +### +find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ + -print -exec chmod a+x '{}' \; + +# ansible_collections/lowlydba/sqlserver thought it was a good idea to make +# *every* single file, in its repository executable, including .md, .yml, and +# .rst. :facepalm: +# +# TODO: File issue upstream +find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; + +# Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues +# from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. +# Upstream, ansible-core has also removed shebangs from its modules. +# +# XXX: Print out the files before they're replaced +find -type f ! -executable -name '*.py' | tee non_exec +# xargs is noticably faster than find -exec, because it spawns one sed process +# instead of ~13 thousand! +xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' diff --git a/ansible.spec b/ansible.spec index 36353f7..47457f2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,9 +1,9 @@ # TODO: Re-enable docs and tests once possible %bcond_with docs %bcond_with tests -%global ansible_licensedir %{_defaultlicensedir}/ansible -%global ansible_docdir %{_defaultdocdir}/ansible -%global min_ansible_core 2.14.2 +%global min_ansible_core 2.15.0rc1 +# %%global rpm_min_ansible_core %{min_ansible_core} +%global rpm_min_ansible_core 2.15~rc1 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -43,6 +43,8 @@ Release: 1%{?dist} # PSF-license.txt License: GPL-3.0-or-later AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0 AND PSF-2.0 Source0: %{pypi_source %{name} %{uversion}} +Source1: ansible-prep.sh +Source2: ansible-install-licenses.sh Url: https://ansible.com BuildArch: noarch @@ -51,7 +53,7 @@ BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core} +BuildRequires: %{py3_dist ansible-core} >= %{rpm_min_ansible_core} %if %{with tests} # TODO build-requires @@ -74,7 +76,6 @@ to ansible-core. %prep %autosetup -p1 -n %{name}-%{uversion} -%if %{defined rhel} # Relax ansible-core dependency to avoid FTI bugs # # This is necessary, because the EPEL ansible maintainers don't have control @@ -84,79 +85,26 @@ to ansible-core. # to properly release and test new ansible major versions after RHEL rebases # ansible-core. The lower version constraints can stay in place. -sed -i "s|'ansible-core ~= 2.14\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py +sed "s|'ansible-core ~= %{min_ansible_core}.*',$|'ansible-core >= %{min_ansible_core}',|" \ + setup.py > setup.py.bak # Verify set -o pipefail -grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=[' +grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py.bak | grep -F 'install_requires=[' +%if %{defined rhel} +mv setup.py.bak setup.py %endif -# Fix wrong-script-end-of-line-encoding in azure.azcollection -find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; +# ansible-prep.sh +%{S:1} -# Remove unnecessary files and directories included in the Ansible collection release tarballs -# Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29 -echo "[START] Delete unnecessary files and directories" - -# Collection tarballs contain a lot of hidden files and directories -hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$" -find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; - -# Not needed for runtime -rm -rv ansible_collections/cisco/meraki/scripts -rm -rv ansible_collections/community/grafana/hacking -rm -rv ansible_collections/community/okd/ci/ -rm -rv ansible_collections/community/vmware/tools -rm -rv ansible_collections/cyberark/conjur/ci/ -rm -rv ansible_collections/cyberark/conjur/dev/ -rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ -rm -rv ansible_collections/netbox/netbox/hacking/ -rm -rv ansible_collections/ovirt/ovirt/automation/ -rm -rv ansible_collections/sensu/sensu_go/docker/ -rm -v ansible_collections/community/dns/update-psl.sh -rm -v ansible_collections/cyberark/conjur/Jenkinsfile -rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh -rm -v ansible_collections/ovirt/ovirt/build.sh - -# rpmlint W: pem-certificate -find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete - -# rpmlint E: zero-length -find -type f -name "*requirements.txt" -size 0 -print -delete -rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 -rm -v ansible_collections/community/docker/meta/ee-bindep.txt -rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder - -echo "[END] Delete unnecessary files and directories" - -### -# Fix various shebang related issues to appease brp-managle-shebangs -### -find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ - -print -exec chmod a+x '{}' \; - -# ansible_collections/lowlydba/sqlserver thought it was a good idea to make -# *every* single file, in its repository executable, including .md, .yml, and -# .rst. :facepalm: -# -# TODO: File issue upstream -find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; - -# Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues -# from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. -# Upstream, ansible-core has also removed shebangs from its modules. -# -# XXX: Print out the files before they're replaced -find -type f ! -executable -name '*.py' | tee non_exec -# xargs is noticably faster than find -exec, because it spawns one sed process -# instead of ~13 thousand! -xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' - -# This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. -# It also ensures that dependencies remain consistent. -%if %{undefined el8} -%generate_buildrequires -%pyproject_buildrequires -%endif +( +mkdir licenses docs +cd ansible_collections +# ansible-license-install.sh +%{S:2} \ + "$(readlink -f ../licenses)" \ + "$(readlink -f ../docs)" \ +) %build # disable the python -s shbang flag as we want to be able to find non system modules @@ -167,50 +115,25 @@ xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' %install %py3_install -%global filelist %{_builddir}/%{buildsubdir}/files.list -# Install docs and licenses -( - mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" - cd %{buildroot}%{python3_sitelib}/ansible_collections - # This finds the license file for each collection, moves it to - # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds - # `%%license /path/to/license` to the %%files list. - # `-printf '%%P\n'` removes the trailing `./`. - for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do - dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" - mkdir -p "${dirname}" - mv "${f}" "${dirname}" - tee -a %{filelist} << EOF -%%license %%{ansible_licensedir}/${f} -EOF - done - for f in $(find -mindepth 3 -iname 'LICENSES' -type d); do - cp -rfp --parents ${f} %{buildroot}%{ansible_licensedir} - echo "%%license %%{ansible_licensedir}/${f}" >> %{filelist} - done +mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible +mv licenses %{buildroot}%{_licensedir}/ansible/ansible_collections +mv docs %{buildroot}%{_pkgdocdir}/ansible_collections - # This does the same thing, but for READMEs. - for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%%P\n'); do - dirname="$(dirname %{buildroot}%{ansible_docdir}/${f})" - mkdir -p "${dirname}" - mv "${f}" "${dirname}" - tee -a %{filelist} << EOF -%%doc %%{ansible_docdir}/${f} -EOF - done -) hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections -hardlink -v %{buildroot}%{ansible_licensedir} +hardlink -v %{buildroot}%{_licensedir}/ansible %check %if 0%{?with_tests} # TODO: Run tests %endif -%files -f files.list + +%files %license COPYING +%license %{_licensedir}/ansible/ansible_collections/ %doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst +%doc %{_pkgdocdir}/ansible_collections/ %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX # when installing the ansible package from PyPi. From 448402a2c9050a4b8c6195fde90ff1259922a885 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 15 May 2023 23:54:11 +0000 Subject: [PATCH 049/111] build wheel instead of using %py3_install --- ansible.spec | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ansible.spec b/ansible.spec index 47457f2..256cc45 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,9 +1,9 @@ # TODO: Re-enable docs and tests once possible %bcond_with docs %bcond_with tests -%global min_ansible_core 2.15.0rc1 -# %%global rpm_min_ansible_core %{min_ansible_core} -%global rpm_min_ansible_core 2.15~rc1 +%global min_ansible_core 2.15.0rc2 +# %%global rpm_min_ansible_core %%{min_ansible_core} +%global rpm_min_ansible_core 2.15~rc2 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -52,7 +52,9 @@ BuildRequires: dos2unix BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-pip BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-wheel BuildRequires: %{py3_dist ansible-core} >= %{rpm_min_ansible_core} %if %{with tests} @@ -110,10 +112,14 @@ cd ansible_collections # disable the python -s shbang flag as we want to be able to find non system modules %global py3_shbang_opts %{nil} %py3_shebang_fix ansible_collections -%py3_build +%python3 -c 'from setuptools.build_meta import build_wheel; build_wheel("dist")' %install -%py3_install +%py3_install_wheel ansible-*-py3-none-any.whl + +DISTINFO=%{buildroot}%{python3_sitelib}/ansible-%{uversion}.dist-info +rm -rv "${DISTINFO}/RECORD" "${DISTINFO}/REQUESTED" +sed -i 's/pip/rpm/' "${DISTINFO}/INSTALLER" mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible @@ -141,7 +147,7 @@ hardlink -v %{buildroot}%{_licensedir}/ansible # or via standalone distribution packages to datadir (/usr/share). # Both will have precedence over the collections installed in the python sitelib. %{python3_sitelib}/ansible_collections/ -%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/ +%{python3_sitelib}/ansible-%{uversion}.dist-info/ %changelog * Wed May 03 2023 Maxwell G - 8.0.0~a3-1 From b1b5b4794ba7bf1fa46617d10a4b753ef16bab4d Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 16 May 2023 04:15:27 +0000 Subject: [PATCH 050/111] add copyright headers Fedora specfiles are implicitly licensed under the MIT license as per the FPCA, but explicit is better than implicit. --- ansible-install-licenses.sh | 4 ++++ ansible-prep.sh | 4 ++++ ansible.spec | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/ansible-install-licenses.sh b/ansible-install-licenses.sh index 06051ee..f78c535 100755 --- a/ansible-install-licenses.sh +++ b/ansible-install-licenses.sh @@ -1,5 +1,9 @@ #!/usr/bin/bash -x +# SPDX-License-Identifier: MIT +# Copyright (C) Fedora Project Authors +# License Text: https://spdx.org/licenses/MIT.txt + set -euo pipefail ansible_licensedir="${1}" diff --git a/ansible-prep.sh b/ansible-prep.sh index befc12f..a0094c5 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -1,5 +1,9 @@ #!/usr/bin/bash -x +# SPDX-License-Identifier: MIT +# Copyright (C) Fedora Project Authors +# License Text: https://spdx.org/licenses/MIT.txt + set -euo pipefail # Fix wrong-script-end-of-line-encoding in azure.azcollection diff --git a/ansible.spec b/ansible.spec index 256cc45..6608b99 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) Fedora Project Authors +# License Text: https://spdx.org/licenses/MIT.html + # TODO: Re-enable docs and tests once possible %bcond_with docs %bcond_with tests From 6230aa456e125abd0060647e54257e44c19a5409 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 16 May 2023 11:29:18 -0500 Subject: [PATCH 051/111] Update to 8.0.0~b1. --- ansible.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ansible.spec b/ansible.spec index 6608b99..c56c3c0 100644 --- a/ansible.spec +++ b/ansible.spec @@ -5,9 +5,9 @@ # TODO: Re-enable docs and tests once possible %bcond_with docs %bcond_with tests -%global min_ansible_core 2.15.0rc2 +%global min_ansible_core 2.15.0 # %%global rpm_min_ansible_core %%{min_ansible_core} -%global rpm_min_ansible_core 2.15~rc2 +%global rpm_min_ansible_core 2.15 # Roles' files and templates should not be mangled. # These files are installed on remote systems which may or may not have the @@ -24,7 +24,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~a3 +Version: 8.0.0~b1 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -154,6 +154,9 @@ hardlink -v %{buildroot}%{_licensedir}/ansible %{python3_sitelib}/ansible-%{uversion}.dist-info/ %changelog +* Tue May 16 2023 Maxwell G - 8.0.0~b1-1 +- Update to 8.0.0~b1. + * Wed May 03 2023 Maxwell G - 8.0.0~a3-1 - Update to 8.0.0~a3. diff --git a/sources b/sources index fcd6ded..597065a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0a3.tar.gz) = 8358caec95a2b8b7e6c45750e7e182b960b0b227030def02aae9ad1c19f263b8263ce1c545763efab8c46208e871f1f0a7ee0543d60a01d2fe0659f0730d52d1 +SHA512 (ansible-8.0.0b1.tar.gz) = 100d660051a45d75407f87db44b12b8e434a592838f7c040398765ad2c8eb5173b828b1f31d07d6f0e0565f21a2d0cfc54a7dcd8a1ef720e34f4919617475417 From f2d857bd8de2a84a4855846219350d7a4ff15ee3 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 19 May 2023 05:55:03 +0000 Subject: [PATCH 052/111] update excluded files list for 8.0.0~b1 --- ansible-prep.sh | 19 +++++++++++++++---- ansible.rpmlintrc | 4 ++-- ansible.spec | 5 +++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index a0094c5..95bc8ea 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -18,16 +18,25 @@ hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|ci find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; # Not needed for runtime -rm -rv ansible_collections/cisco/meraki/scripts -rm -rv ansible_collections/community/grafana/hacking +rm -rv ansible_collections/cisco/meraki/scripts/ +rm -rv ansible_collections/community/digitalocean/scripts/ +rm -rv ansible_collections/community/grafana/hacking/ rm -rv ansible_collections/community/okd/ci/ -rm -rv ansible_collections/community/vmware/tools +rm -rv ansible_collections/community/vmware/tools/ rm -rv ansible_collections/cyberark/conjur/ci/ rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ +rm -rv ansible_collections/google/cloud/test-fixtures/ +rm -rv ansible_collections/google/cloud/scripts/ +rm -rv ansible_collections/grafana/grafana/tools/ rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/sensu/sensu_go/docker/ +rm -rv ansible_collections/sensu/sensu_go/tools/ + +rm -v ansible_collections/community/dns/update-docs-fragments.py rm -v ansible_collections/community/dns/update-psl.sh +rm -v ansible_collections/community/mysql/run_all_tests.py +rm -v ansible_collections/community/routeros/update-docs.py rm -v ansible_collections/cyberark/conjur/Jenkinsfile rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh @@ -56,12 +65,14 @@ find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' # TODO: File issue upstream find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \; + # Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues # from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55. # Upstream, ansible-core has also removed shebangs from its modules. # # XXX: Print out the files before they're replaced -find -type f ! -executable -name '*.py' | tee non_exec +find ansible_collections -type f ! -executable -name '*.py' | tee non_exec +echo ansible_collections/community/sap_libs/plugins/module_utils/swpm2_parameters_inifile_generate.py >> non_exec # xargs is noticably faster than find -exec, because it spawns one sed process # instead of ~13 thousand! xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}' diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index 1e73c2d..d5ffe46 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -4,6 +4,6 @@ addFilter("W: name-repeated-in-summary") addFilter("W: cross-directory-hard-link") # Roles' files and templates should not be mangled addFilter(r"E: env-script-interpreter.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") -addFilter("W: deprecated-grep \['egrep'\]") +addFilter(r"E: non-executable-script.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/") addFilter("W: no-manual-page-for-binary ansible-community") -addFilter(r"E: zero-length /usr/lib/python3.\d+/site-packages/ansible_collections/community/zabbix/roles/zabbix_agent/vars/main.yml") +addFilter(r"E: zero-length") diff --git a/ansible.spec b/ansible.spec index c56c3c0..7a2015b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -133,6 +133,11 @@ mv docs %{buildroot}%{_pkgdocdir}/ansible_collections hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections hardlink -v %{buildroot}%{_licensedir}/ansible +# XXX: One of the build steps is messing with the permission. +# XXX: The file is 0755 in the source tarball. +chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstack/scripts/inventory/cloudstack.py + + %check %if 0%{?with_tests} # TODO: Run tests From 2fee4eb3b41f2d3eebae7d4ec7ed241dfbe9b7a6 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 23 May 2023 22:39:24 -0500 Subject: [PATCH 053/111] Update to 8.0.0~rc1. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 7a2015b..59e23ee 100644 --- a/ansible.spec +++ b/ansible.spec @@ -24,7 +24,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~b1 +Version: 8.0.0~rc1 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -159,6 +159,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %{python3_sitelib}/ansible-%{uversion}.dist-info/ %changelog +* Tue May 23 2023 Maxwell G - 8.0.0~rc1-1 +- Update to 8.0.0~rc1. + * Tue May 16 2023 Maxwell G - 8.0.0~b1-1 - Update to 8.0.0~b1. diff --git a/sources b/sources index 597065a..89b25cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0b1.tar.gz) = 100d660051a45d75407f87db44b12b8e434a592838f7c040398765ad2c8eb5173b828b1f31d07d6f0e0565f21a2d0cfc54a7dcd8a1ef720e34f4919617475417 +SHA512 (ansible-8.0.0rc1.tar.gz) = 052efbdfe05de6088c2114f4000faa86cd8e63d60ebcb0a2d1bd2b486e17b1c9b4e0c1f8da8a2a1bae49b64bfbaaeed8db763a9a963744870cf351509d4ceda7 From 505dacb8d1aa1c45aebe1e5d910ac38b5920f0ab Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 24 May 2023 15:31:02 +0000 Subject: [PATCH 054/111] add tmt and gating tests --- .fmf/version | 1 + gating.yaml | 13 +++++++++++++ tests/smoke.fmf | 17 +++++++++++++++++ tests/smoke.sh | 7 +++++++ 4 files changed, 38 insertions(+) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 tests/smoke.fmf create mode 100755 tests/smoke.sh diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..1a03a59 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,13 @@ +# Copyright (C) 2023 Maxwell G +# SPDX-License-Identifier: MIT + +--- !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} +... diff --git a/tests/smoke.fmf b/tests/smoke.fmf new file mode 100644 index 0000000..a8f51cb --- /dev/null +++ b/tests/smoke.fmf @@ -0,0 +1,17 @@ +# Copyright (C) 2023 Maxwell G +# SPDX-License-Identifier: MIT + +summary: Run ansible-core smoke tests with ansible bundle installed +discover: + - name: Smoke tests with ansible + how: shell + tests: + - name: Run tests/smoke.sh + test: tests/smoke.sh + require: + - python3-dnf + - dnf-plugins-core + - ansible-core + - ansible +execute: + how: tmt diff --git a/tests/smoke.sh b/tests/smoke.sh new file mode 100755 index 0000000..903938a --- /dev/null +++ b/tests/smoke.sh @@ -0,0 +1,7 @@ +#!/usr/bin/bash -x +# Copyright (C) 2023 Maxwell G +# SPDX-License-Identifier: MIT + +set -euo pipefail + +curl -L https://src.fedoraproject.org/rpms/ansible-core/raw/rawhide/f/tests/smoke.sh | bash -x From 66edc5714eda7b34114b312b38ce52acfaa7bc8a Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 30 May 2023 17:13:27 -0500 Subject: [PATCH 055/111] Update to 8.0.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 59e23ee..75e1ec1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -24,7 +24,7 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0~rc1 +Version: 8.0.0 %global uversion %(tr -d '~' <<< %{version}) Release: 1%{?dist} @@ -159,6 +159,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %{python3_sitelib}/ansible-%{uversion}.dist-info/ %changelog +* Tue May 30 2023 Maxwell G - 8.0.0-1 +- Update to 8.0.0. + * Tue May 23 2023 Maxwell G - 8.0.0~rc1-1 - Update to 8.0.0~rc1. diff --git a/sources b/sources index 89b25cc..03089ba 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0rc1.tar.gz) = 052efbdfe05de6088c2114f4000faa86cd8e63d60ebcb0a2d1bd2b486e17b1c9b4e0c1f8da8a2a1bae49b64bfbaaeed8db763a9a963744870cf351509d4ceda7 +SHA512 (ansible-8.0.0.tar.gz) = 637304599ec2074b473902d767a9e42d4df17c8485e5d64b6a1ea8a3b8ad347f021aeb88ca5cdbd2eefc30f2d8d2870e8934fa2c4d9c192c03a1482b31cc1fc5 From 8ae37334e1bc6c69cb964c60ace0d941e3a2f3ed Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 16 Jun 2023 15:06:17 +0200 Subject: [PATCH 056/111] Rebuilt for Python 3.12 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 19a21d5..6f46e71 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 8.0.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Jun 16 2023 Python Maint - 8.0.0-2 +- Rebuilt for Python 3.12 + * Tue May 30 2023 Maxwell G - 8.0.0-1 - Update to 8.0.0. From fb34c87373d3a656363dada207abef1e1261aeb5 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 22 Jun 2023 15:51:53 -0500 Subject: [PATCH 057/111] Update to 8.1.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 6f46e71..80909a6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.0.0 +Version: 8.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Jun 22 2023 Maxwell G - 8.1.0-1 +- Update to 8.1.0. + * Fri Jun 16 2023 Python Maint - 8.0.0-2 - Rebuilt for Python 3.12 diff --git a/sources b/sources index 03089ba..47daf0f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.0.0.tar.gz) = 637304599ec2074b473902d767a9e42d4df17c8485e5d64b6a1ea8a3b8ad347f021aeb88ca5cdbd2eefc30f2d8d2870e8934fa2c4d9c192c03a1482b31cc1fc5 +SHA512 (ansible-8.1.0.tar.gz) = b0b08d326b01069446c6ba117512433d413e505225a6ad30844ab4e0e4a187b5bf2f2bc67b0dd8f2dca5de58933c826cbb043c14b6bd064082e45ca7792de153 From 0321735d7fc291639db0b22572e0d5bd812b7d97 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 3 Jul 2023 11:31:37 -0500 Subject: [PATCH 058/111] Rebuilt for Python 3.12 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 80909a6..0d64d65 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 8.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Mon Jul 03 2023 Maxwell G - 8.1.0-2 +- Rebuilt for Python 3.12 + * Thu Jun 22 2023 Maxwell G - 8.1.0-1 - Update to 8.1.0. From 08bc5068fe73380dded84e7c32fa17c6cd5cace5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:18:06 +0000 Subject: [PATCH 059/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 0d64d65..14ade13 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 8.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 3%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 8.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Mon Jul 03 2023 Maxwell G - 8.1.0-2 - Rebuilt for Python 3.12 From 46761eba565f2007c842bfc073061c5af324be8b Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 17 Aug 2023 18:31:01 -0500 Subject: [PATCH 060/111] Update to 8.3.0. --- ansible-prep.sh | 3 ++- ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index 95bc8ea..95a9f31 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -26,9 +26,10 @@ rm -rv ansible_collections/community/vmware/tools/ rm -rv ansible_collections/cyberark/conjur/ci/ rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ -rm -rv ansible_collections/google/cloud/test-fixtures/ rm -rv ansible_collections/google/cloud/scripts/ +rm -rv ansible_collections/google/cloud/test-fixtures/ rm -rv ansible_collections/grafana/grafana/tools/ +rm -rv ansible_collections/hetzner/hcloud/scripts/ rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/sensu/sensu_go/docker/ rm -rv ansible_collections/sensu/sensu_go/tools/ diff --git a/ansible.spec b/ansible.spec index 14ade13..e2f010f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.1.0 +Version: 8.3.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 3%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Aug 17 2023 Maxwell G - 8.3.0-1 +- Update to 8.3.0. + * Wed Jul 19 2023 Fedora Release Engineering - 8.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 47daf0f..d63a761 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.1.0.tar.gz) = b0b08d326b01069446c6ba117512433d413e505225a6ad30844ab4e0e4a187b5bf2f2bc67b0dd8f2dca5de58933c826cbb043c14b6bd064082e45ca7792de153 +SHA512 (ansible-8.3.0.tar.gz) = 8c051a33d4d95a002518556be84d7f50d825c8d80e291f812593171fc00dd6ad778dcb7261af06895add1978aadeb1ed920cbca08353dcb9b5075d3932222f08 From 27ce5922798ce38e2521a597236f4148ba60f579 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 12 Sep 2023 14:57:40 -0500 Subject: [PATCH 061/111] Update to 8.4.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index e2f010f..7dee632 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.3.0 +Version: 8.4.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Sep 12 2023 Maxwell G - 8.4.0-1 +- Update to 8.4.0. + * Thu Aug 17 2023 Maxwell G - 8.3.0-1 - Update to 8.3.0. diff --git a/sources b/sources index d63a761..3a0720d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.3.0.tar.gz) = 8c051a33d4d95a002518556be84d7f50d825c8d80e291f812593171fc00dd6ad778dcb7261af06895add1978aadeb1ed920cbca08353dcb9b5075d3932222f08 +SHA512 (ansible-8.4.0.tar.gz) = f364685d734df04c51d48b81ae2e587bd02438817d7b7055cec2199a585564cdfad45f40dbfd8051d5b0855f303b8504463e3d1506ed9238e24f871f424587bc From b9879dbfe8ec95f29b184a54dcadc44ee45bf3f1 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 28 Sep 2023 17:38:06 -0500 Subject: [PATCH 062/111] Update to 9.0.0~a1. Account for upstream's migration from setup.py to setup.cfg. --- ansible.spec | 11 +++++++---- sources | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ansible.spec b/ansible.spec index 7dee632..476bb81 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 8.4.0 +Version: 9.0.0~a1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -97,12 +97,12 @@ to ansible-core. # to properly release and test new ansible major versions after RHEL rebases # ansible-core. The lower version constraints can stay in place. -sed "s|ansible-core ~=|ansible-core >=|" setup.py > setup.py.bak +sed "s|ansible-core ~=|ansible-core >=|" setup.cfg > setup.cfg.bak # Verify set -o pipefail -grep -B1 "ansible-core >=" setup.py.bak | grep -F 'install_requires=[' +grep -B1 "ansible-core >=" setup.cfg.bak | grep -F 'install_requires =' %if %{defined rhel} -mv setup.py.bak setup.py +mv setup.cfg.bak setup.cfg %endif # ansible-prep.sh @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Sep 28 2023 Maxwell G - 9.0.0~a1-1 +- Update to 9.0.0~a1. + * Tue Sep 12 2023 Maxwell G - 8.4.0-1 - Update to 8.4.0. diff --git a/sources b/sources index 3a0720d..1fad3d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-8.4.0.tar.gz) = f364685d734df04c51d48b81ae2e587bd02438817d7b7055cec2199a585564cdfad45f40dbfd8051d5b0855f303b8504463e3d1506ed9238e24f871f424587bc +SHA512 (ansible-9.0.0a1.tar.gz) = d31bbc74bb9e8da8c60ae5ce010c6e2b0a325128e0720e3942dd1eac689a27deac2bb31d462305470c4ee672baff79111203bd89d8b06bf93dc78642dd3148a3 From 2c7d8baf8e866488bf95b68def2247625947e0f3 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 11 Oct 2023 23:34:45 -0500 Subject: [PATCH 063/111] Update to 9.0.0~a2. --- ansible-prep.sh | 2 -- ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index 95a9f31..aafa902 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -23,8 +23,6 @@ rm -rv ansible_collections/community/digitalocean/scripts/ rm -rv ansible_collections/community/grafana/hacking/ rm -rv ansible_collections/community/okd/ci/ rm -rv ansible_collections/community/vmware/tools/ -rm -rv ansible_collections/cyberark/conjur/ci/ -rm -rv ansible_collections/cyberark/conjur/dev/ rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/ rm -rv ansible_collections/google/cloud/scripts/ rm -rv ansible_collections/google/cloud/test-fixtures/ diff --git a/ansible.spec b/ansible.spec index 476bb81..a0ba24f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.0.0~a1 +Version: 9.0.0~a2 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Oct 12 2023 Maxwell G - 9.0.0~a2-1 +- Update to 9.0.0~a2. + * Thu Sep 28 2023 Maxwell G - 9.0.0~a1-1 - Update to 9.0.0~a1. diff --git a/sources b/sources index 1fad3d0..a328716 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.0.0a1.tar.gz) = d31bbc74bb9e8da8c60ae5ce010c6e2b0a325128e0720e3942dd1eac689a27deac2bb31d462305470c4ee672baff79111203bd89d8b06bf93dc78642dd3148a3 +SHA512 (ansible-9.0.0a2.tar.gz) = 5b268a8aaef17143c3c995b2628a4951f7db235495b700a53ff25ccdce88fe365f63402f7dd16aab23dd36386a7a1a36a95d62e36ae72fe79cd747f5c0d602b2 From d7639d3f6019b390d935c50e1174948d65bf2429 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 18 Oct 2023 22:59:54 -0500 Subject: [PATCH 064/111] Update to 9.0.0~a3. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index a0ba24f..ae8b106 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.0.0~a2 +Version: 9.0.0~a3 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Oct 19 2023 Maxwell G - 9.0.0~a3-1 +- Update to 9.0.0~a3. + * Thu Oct 12 2023 Maxwell G - 9.0.0~a2-1 - Update to 9.0.0~a2. diff --git a/sources b/sources index a328716..1dec8f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.0.0a2.tar.gz) = 5b268a8aaef17143c3c995b2628a4951f7db235495b700a53ff25ccdce88fe365f63402f7dd16aab23dd36386a7a1a36a95d62e36ae72fe79cd747f5c0d602b2 +SHA512 (ansible-9.0.0a3.tar.gz) = 6067a71fa8f8bd6f19d2f8ef628a5c21506d0fce98a2f1f0418ff0a7038bdcc82f8ae957fa1f84d8617c769f70024e126ebbeb14f067cb9f7f57bcb1c25899c1 From a4ef45479324d4410384a641a55e67ad72024083 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 21 Nov 2023 11:00:46 -0600 Subject: [PATCH 065/111] Update to 9.0.1. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index ae8b106..e539cd4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.0.0~a3 +Version: 9.0.1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Nov 21 2023 Maxwell G - 9.0.1-1 +- Update to 9.0.1. + * Thu Oct 19 2023 Maxwell G - 9.0.0~a3-1 - Update to 9.0.0~a3. diff --git a/sources b/sources index 1dec8f0..deff042 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.0.0a3.tar.gz) = 6067a71fa8f8bd6f19d2f8ef628a5c21506d0fce98a2f1f0418ff0a7038bdcc82f8ae957fa1f84d8617c769f70024e126ebbeb14f067cb9f7f57bcb1c25899c1 +SHA512 (ansible-9.0.1.tar.gz) = 8ae5f6a3e5039129d3a918a538b6b16644a2b489894cbd8a455cbb71ba73b0b0eeb326b7d72b238698af4f7f19cd4ac3fed8e8d55518f817eeae8651776ae503 From 2e72b453644d61c7379ed9aed429f62f6c56dd5c Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 6 Dec 2023 04:51:43 +0000 Subject: [PATCH 066/111] Update to 9.1.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index e539cd4..3e99ee5 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.0.1 +Version: 9.1.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Wed Dec 06 2023 Maxwell G - 9.1.0-1 +- Update to 9.1.0. + * Tue Nov 21 2023 Maxwell G - 9.0.1-1 - Update to 9.0.1. diff --git a/sources b/sources index deff042..9f661b1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.0.1.tar.gz) = 8ae5f6a3e5039129d3a918a538b6b16644a2b489894cbd8a455cbb71ba73b0b0eeb326b7d72b238698af4f7f19cd4ac3fed8e8d55518f817eeae8651776ae503 +SHA512 (ansible-9.1.0.tar.gz) = ec6d86b3d05e66053001720b6b7d7bd1dba8bd50917c913e1f08a63b0c94f76a5d69732c78e793d038622a0b8c652860290a89cee1dfb22491a81763923ef843 From b3c98a11685e7fa0e28537cb67316e8399097920 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 12:58:39 +0000 Subject: [PATCH 067/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 3e99ee5..bf7db02 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 9.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 9.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Dec 06 2023 Maxwell G - 9.1.0-1 - Update to 9.1.0. From f6be2d66d0ffbfacdbabeb45f897b78c9753e04f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 23:04:00 +0000 Subject: [PATCH 068/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index bf7db02..da6c018 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 9.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 3%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 9.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 9.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 9fc79dd8929800c01ab7542c4a9bd820c4945f20 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 1 Feb 2024 05:16:56 +0000 Subject: [PATCH 069/111] Update to 9.2.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index da6c018..54db59e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.1.0 +Version: 9.2.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 3%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Feb 01 2024 Maxwell G - 9.2.0-1 +- Update to 9.2.0. + * Mon Jan 22 2024 Fedora Release Engineering - 9.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index 9f661b1..067b304 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.1.0.tar.gz) = ec6d86b3d05e66053001720b6b7d7bd1dba8bd50917c913e1f08a63b0c94f76a5d69732c78e793d038622a0b8c652860290a89cee1dfb22491a81763923ef843 +SHA512 (ansible-9.2.0.tar.gz) = 6d867774b987863287c8d321d82bfc8688be2950eed2d6a429d26701809ce1a9e66e09fc78dbfdd1e5786828a517ab7b08cda1a131ac8eb9f73bd39c246fa4fe From 03969f68948b8df2668c45086130ab3d4e159844 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 2 Mar 2024 01:25:53 +0000 Subject: [PATCH 070/111] Update to 9.3.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 54db59e..63ee9c8 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.2.0 +Version: 9.3.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -168,6 +168,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sat Mar 02 2024 Maxwell G - 9.3.0-1 +- Update to 9.3.0. + * Thu Feb 01 2024 Maxwell G - 9.2.0-1 - Update to 9.2.0. diff --git a/sources b/sources index 067b304..bc7d0f5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.2.0.tar.gz) = 6d867774b987863287c8d321d82bfc8688be2950eed2d6a429d26701809ce1a9e66e09fc78dbfdd1e5786828a517ab7b08cda1a131ac8eb9f73bd39c246fa4fe +SHA512 (ansible-9.3.0.tar.gz) = 71eff05455aee0a013b69790145a73325ac7037fc509545a7cdca358aa54c1731f7dc6fb0169f602d668e9da9e41a0879ff48ba1243d372e02dae9382ac46c5c From 3eea4a5b63e07dd4d25805f1b3d38779dde5177e Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 2 Mar 2024 02:14:57 +0000 Subject: [PATCH 071/111] Backport "podman pod info" patch to containers.podman --- ansible.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 63ee9c8..f72ba1d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -57,6 +57,10 @@ License: GPL-3.0-or-later AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Claus Source0: %{pypi_source %{name} %{uversion}} Source1: ansible-prep.sh Source2: ansible-install-licenses.sh + +# podman pod info: handle return being list in Podman 5 #713 from containers.podman +Patch0: https://github.com/containers/ansible-podman-collections/pull/713.patch#/podman-pod-info-5.patch + Url: https://ansible.com BuildArch: noarch @@ -86,7 +90,11 @@ to ansible-core. %prep -%autosetup -p1 -n %{name}-%{uversion} +%autosetup -N -n %{name}-%{uversion} + +cd ansible_collections/containers/podman +%patch -P0 -p1 +cd - # Relax ansible-core dependency to avoid FTI bugs on EPEL # @@ -170,6 +178,7 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog * Sat Mar 02 2024 Maxwell G - 9.3.0-1 - Update to 9.3.0. +- Backport "podman pod info" patch to containers.podman * Thu Feb 01 2024 Maxwell G - 9.2.0-1 - Update to 9.2.0. From cd408233d6ba7369eaf26e7b621b6e88711a907e Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 2 Mar 2024 02:28:00 +0000 Subject: [PATCH 072/111] commit patch --- podman-pod-info-5.patch | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 podman-pod-info-5.patch diff --git a/podman-pod-info-5.patch b/podman-pod-info-5.patch new file mode 100644 index 0000000..23310dd --- /dev/null +++ b/podman-pod-info-5.patch @@ -0,0 +1,44 @@ +From bba2d99318ca6dbd567dadaf4be8db8a05e74b9b Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 15 Feb 2024 17:25:22 -0800 +Subject: [PATCH] podman pod info: handle return being list in Podman 5 + +Fixes #712 + +Podman 5 changed the output of `podman pod info` (when run on a +single pod) from being a dict to being a list of dicts: + +https://github.com/containers/podman/pull/21514 + +this should handle both ways. Unfortunately not sure how to add +a test for this as I can't see a unit test that mocks the output +of the command, only the integration test that gets real live +output, and I'm not sure how to get that test run with Podman 5. + +Signed-off-by: Adam Williamson +--- + plugins/module_utils/podman/podman_pod_lib.py | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/plugins/module_utils/podman/podman_pod_lib.py b/plugins/module_utils/podman/podman_pod_lib.py +index 4106136e..0ed30dbd 100644 +--- a/plugins/module_utils/podman/podman_pod_lib.py ++++ b/plugins/module_utils/podman/podman_pod_lib.py +@@ -658,7 +658,16 @@ def get_info(self): + # pylint: disable=unused-variable + rc, out, err = self.module.run_command( + [self.module_params['executable'], b'pod', b'inspect', self.name]) +- return json.loads(out) if rc == 0 else {} ++ if rc == 0: ++ info = json.loads(out) ++ # from podman 5 onwards, this is a list of dicts, ++ # before it was just a single dict when querying ++ # a single pod ++ if isinstance(info, list): ++ return info[0] ++ else: ++ return info ++ return {} + + def get_ps(self): + """Inspect pod process and gather info about it.""" From 73c3761906156ef4f48970688f5b8114bb0b04a9 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 29 Mar 2024 01:10:10 +0000 Subject: [PATCH 073/111] Update to 9.4.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index f72ba1d..6a8e24a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.3.0 +Version: 9.4.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -176,6 +176,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Mar 29 2024 Maxwell G - 9.4.0-1 +- Update to 9.4.0. + * Sat Mar 02 2024 Maxwell G - 9.3.0-1 - Update to 9.3.0. - Backport "podman pod info" patch to containers.podman diff --git a/sources b/sources index bc7d0f5..8cf32dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.3.0.tar.gz) = 71eff05455aee0a013b69790145a73325ac7037fc509545a7cdca358aa54c1731f7dc6fb0169f602d668e9da9e41a0879ff48ba1243d372e02dae9382ac46c5c +SHA512 (ansible-9.4.0.tar.gz) = 4c75235a866f3f95cda8dd3b6c9d22b916ad117d54a86a30585f71c9015cd98db764afa225af5b2f6fa884af558ee488785e26c9e8b9e8be105062f069f065b2 From cc8d986d8518de9178d061caeded399c52796047 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 May 2024 01:32:18 +0000 Subject: [PATCH 074/111] Update to 9.5.1. --- ansible-prep.sh | 1 + ansible.spec | 12 ++++------- podman-pod-info-5.patch | 44 ----------------------------------------- sources | 2 +- 4 files changed, 6 insertions(+), 53 deletions(-) delete mode 100644 podman-pod-info-5.patch diff --git a/ansible-prep.sh b/ansible-prep.sh index aafa902..b15caf2 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -56,6 +56,7 @@ echo "[END] Delete unnecessary files and directories" ### find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ -print -exec chmod a+x '{}' \; +chmod a+x ansible_collections/infinidat/infinibox/scripts/syslog_server.py # ansible_collections/lowlydba/sqlserver thought it was a good idea to make # *every* single file, in its repository executable, including .md, .yml, and diff --git a/ansible.spec b/ansible.spec index 6a8e24a..3489e69 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.4.0 +Version: 9.5.1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -58,9 +58,6 @@ Source0: %{pypi_source %{name} %{uversion}} Source1: ansible-prep.sh Source2: ansible-install-licenses.sh -# podman pod info: handle return being list in Podman 5 #713 from containers.podman -Patch0: https://github.com/containers/ansible-podman-collections/pull/713.patch#/podman-pod-info-5.patch - Url: https://ansible.com BuildArch: noarch @@ -92,10 +89,6 @@ to ansible-core. %prep %autosetup -N -n %{name}-%{uversion} -cd ansible_collections/containers/podman -%patch -P0 -p1 -cd - - # Relax ansible-core dependency to avoid FTI bugs on EPEL # # This is necessary, because the EPEL ansible maintainers don't have control @@ -176,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu May 02 2024 Maxwell G - 9.5.1-1 +- Update to 9.5.1. + * Fri Mar 29 2024 Maxwell G - 9.4.0-1 - Update to 9.4.0. diff --git a/podman-pod-info-5.patch b/podman-pod-info-5.patch deleted file mode 100644 index 23310dd..0000000 --- a/podman-pod-info-5.patch +++ /dev/null @@ -1,44 +0,0 @@ -From bba2d99318ca6dbd567dadaf4be8db8a05e74b9b Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Thu, 15 Feb 2024 17:25:22 -0800 -Subject: [PATCH] podman pod info: handle return being list in Podman 5 - -Fixes #712 - -Podman 5 changed the output of `podman pod info` (when run on a -single pod) from being a dict to being a list of dicts: - -https://github.com/containers/podman/pull/21514 - -this should handle both ways. Unfortunately not sure how to add -a test for this as I can't see a unit test that mocks the output -of the command, only the integration test that gets real live -output, and I'm not sure how to get that test run with Podman 5. - -Signed-off-by: Adam Williamson ---- - plugins/module_utils/podman/podman_pod_lib.py | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/plugins/module_utils/podman/podman_pod_lib.py b/plugins/module_utils/podman/podman_pod_lib.py -index 4106136e..0ed30dbd 100644 ---- a/plugins/module_utils/podman/podman_pod_lib.py -+++ b/plugins/module_utils/podman/podman_pod_lib.py -@@ -658,7 +658,16 @@ def get_info(self): - # pylint: disable=unused-variable - rc, out, err = self.module.run_command( - [self.module_params['executable'], b'pod', b'inspect', self.name]) -- return json.loads(out) if rc == 0 else {} -+ if rc == 0: -+ info = json.loads(out) -+ # from podman 5 onwards, this is a list of dicts, -+ # before it was just a single dict when querying -+ # a single pod -+ if isinstance(info, list): -+ return info[0] -+ else: -+ return info -+ return {} - - def get_ps(self): - """Inspect pod process and gather info about it.""" diff --git a/sources b/sources index 8cf32dc..31ffd6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.4.0.tar.gz) = 4c75235a866f3f95cda8dd3b6c9d22b916ad117d54a86a30585f71c9015cd98db764afa225af5b2f6fa884af558ee488785e26c9e8b9e8be105062f069f065b2 +SHA512 (ansible-9.5.1.tar.gz) = 8a95f0e41987a1ab423ebd6be8483681c30f31dfd24056d729c4e0cc870775d3a59f9790bcd0bf578538ba24752b9dc6401fe467f4f8b12acdd50878555bc8c1 From 3b956072fa4f6d6dc0d990b18f016af0c0c01509 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 May 2024 02:11:14 +0000 Subject: [PATCH 075/111] Update to 10.0.0~a2. --- ansible-prep.sh | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index b15caf2..b29b0bb 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -18,6 +18,7 @@ hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|ci find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; # Not needed for runtime +rm -rv ansible_collections/*/*/venv || : rm -rv ansible_collections/cisco/meraki/scripts/ rm -rv ansible_collections/community/digitalocean/scripts/ rm -rv ansible_collections/community/grafana/hacking/ diff --git a/ansible.spec b/ansible.spec index 3489e69..25f6b8f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.5.1 +Version: 10.0.0~a2 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -156,7 +156,7 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %files %license COPYING %license %{_licensedir}/ansible/ansible_collections/ -%doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst +%doc README.rst PKG-INFO porting_guide_*.rst CHANGELOG-v*.rst %doc %{_pkgdocdir}/ansible_collections/ %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu May 02 2024 Maxwell G - 10.0.0~a2-1 +- Update to 10.0.0~a2. + * Thu May 02 2024 Maxwell G - 9.5.1-1 - Update to 9.5.1. diff --git a/sources b/sources index 31ffd6f..cff8ef1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.5.1.tar.gz) = 8a95f0e41987a1ab423ebd6be8483681c30f31dfd24056d729c4e0cc870775d3a59f9790bcd0bf578538ba24752b9dc6401fe467f4f8b12acdd50878555bc8c1 +SHA512 (ansible-10.0.0a2.tar.gz) = 6426235ded4d163a5baac82fe17a068a1f93afbbc77cc07b9059b699740b89beb293fc157f219f0975530e72268292d7a4ec6230bdefa44769da3dce4738573b From 6a44275fd9ff52f330e785ba45260720832f65ad Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 May 2024 02:56:12 +0000 Subject: [PATCH 076/111] Revert "Update to 10.0.0~a2." This reverts commit 3b956072fa4f6d6dc0d990b18f016af0c0c01509. The update has some major breaking changes that need to be more carefully handled. --- ansible-prep.sh | 1 - ansible.spec | 7 ++----- sources | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index b29b0bb..b15caf2 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -18,7 +18,6 @@ hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|ci find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \; # Not needed for runtime -rm -rv ansible_collections/*/*/venv || : rm -rv ansible_collections/cisco/meraki/scripts/ rm -rv ansible_collections/community/digitalocean/scripts/ rm -rv ansible_collections/community/grafana/hacking/ diff --git a/ansible.spec b/ansible.spec index 25f6b8f..3489e69 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 10.0.0~a2 +Version: 9.5.1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -156,7 +156,7 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %files %license COPYING %license %{_licensedir}/ansible/ansible_collections/ -%doc README.rst PKG-INFO porting_guide_*.rst CHANGELOG-v*.rst +%doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst %doc %{_pkgdocdir}/ansible_collections/ %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX @@ -169,9 +169,6 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog -* Thu May 02 2024 Maxwell G - 10.0.0~a2-1 -- Update to 10.0.0~a2. - * Thu May 02 2024 Maxwell G - 9.5.1-1 - Update to 9.5.1. diff --git a/sources b/sources index cff8ef1..31ffd6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-10.0.0a2.tar.gz) = 6426235ded4d163a5baac82fe17a068a1f93afbbc77cc07b9059b699740b89beb293fc157f219f0975530e72268292d7a4ec6230bdefa44769da3dce4738573b +SHA512 (ansible-9.5.1.tar.gz) = 8a95f0e41987a1ab423ebd6be8483681c30f31dfd24056d729c4e0cc870775d3a59f9790bcd0bf578538ba24752b9dc6401fe467f4f8b12acdd50878555bc8c1 From fba9f24c2acf765a5bc3f12bc9a3e3c9b26c4734 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 4 Jun 2024 14:21:49 -0500 Subject: [PATCH 077/111] Update to 9.6.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 3489e69..2d22338 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.5.1 +Version: 9.6.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Jun 04 2024 Maxwell G - 9.6.0-1 +- Update to 9.6.0. + * Thu May 02 2024 Maxwell G - 9.5.1-1 - Update to 9.5.1. diff --git a/sources b/sources index 31ffd6f..13f439f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.5.1.tar.gz) = 8a95f0e41987a1ab423ebd6be8483681c30f31dfd24056d729c4e0cc870775d3a59f9790bcd0bf578538ba24752b9dc6401fe467f4f8b12acdd50878555bc8c1 +SHA512 (ansible-9.6.0.tar.gz) = 36306cc167d463d934b33fec65470b005963e306acbf29249214f38aa155e926db2cee6abe99612b1b7b66f87cd37bb29e0489618476bcb2562183f380758cf7 From f89fa3bf85f513bf2fc03ab5cc49996e7a4584bb Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 4 Jun 2024 14:31:00 -0500 Subject: [PATCH 078/111] ansible-prep: remove additional unnecessary directories --- ansible-prep.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ansible-prep.sh b/ansible-prep.sh index b15caf2..817b8f4 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -40,6 +40,11 @@ rm -v ansible_collections/cyberark/conjur/Jenkinsfile rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh +# Remove venv directories that collections accidentially included in Galaxy artifacts +find -depth -type d -name venv | tee venv_dirs +xargs -a venv_dirs rm -r +rm venv_dirs + # rpmlint W: pem-certificate find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete From 706a563eb74e2cb508cfc1d23d0ec2adb7d33c10 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sun, 9 Jun 2024 12:17:34 +0200 Subject: [PATCH 079/111] Rebuilt for Python 3.13 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 2d22338..ee0a5b1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 9.6.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sun Jun 09 2024 Python Maint - 9.6.0-2 +- Rebuilt for Python 3.13 + * Tue Jun 04 2024 Maxwell G - 9.6.0-1 - Update to 9.6.0. From e8ad1282527f28b0bf46395c9b5d1b4a1d9b99c6 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 8 Jun 2024 10:34:38 -0500 Subject: [PATCH 080/111] Update to 9.6.1. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index ee0a5b1..51bac34 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.6.0 +Version: 9.6.1 %global uversion %{version_no_tilde %{quote:%nil}} Release: 2%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sun Jun 09 2024 Maxwell G - 9.6.1-1 +- Update to 8.6.1. + * Sun Jun 09 2024 Python Maint - 9.6.0-2 - Rebuilt for Python 3.13 diff --git a/sources b/sources index 13f439f..4bccccb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.6.0.tar.gz) = 36306cc167d463d934b33fec65470b005963e306acbf29249214f38aa155e926db2cee6abe99612b1b7b66f87cd37bb29e0489618476bcb2562183f380758cf7 +SHA512 (ansible-9.6.1.tar.gz) = 7a7030d5f8b169639a7049e73368b4bbd6d81e9f33958f7338ea465d379f4465d249129ba63b8303585bd4a7128c5d56a15e3c77bddd6554292d467add8eb9ee From b5e6ba8f9eea897e2e401918954b3a011791deeb Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 8 Jun 2024 23:58:18 -0500 Subject: [PATCH 081/111] Revert "ansible-prep: remove additional unnecessary directories" This reverts commit f89fa3bf85f513bf2fc03ab5cc49996e7a4584bb. --- ansible-prep.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index 817b8f4..b15caf2 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -40,11 +40,6 @@ rm -v ansible_collections/cyberark/conjur/Jenkinsfile rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh -# Remove venv directories that collections accidentially included in Galaxy artifacts -find -depth -type d -name venv | tee venv_dirs -xargs -a venv_dirs rm -r -rm venv_dirs - # rpmlint W: pem-certificate find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete From a6d0aee32b68780f9e1b281a38cf2178177e9d68 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sun, 23 Jun 2024 17:53:35 -0500 Subject: [PATCH 082/111] Update to 9.7.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 51bac34..8dce2ca 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.6.1 +Version: 9.7.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sun Jun 23 2024 Maxwell G - 9.7.0-1 +- Update to 9.7.0. + * Sun Jun 09 2024 Maxwell G - 9.6.1-1 - Update to 8.6.1. diff --git a/sources b/sources index 4bccccb..df407ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.6.1.tar.gz) = 7a7030d5f8b169639a7049e73368b4bbd6d81e9f33958f7338ea465d379f4465d249129ba63b8303585bd4a7128c5d56a15e3c77bddd6554292d467add8eb9ee +SHA512 (ansible-9.7.0.tar.gz) = f1d1b183a7d78abd974d54103a7d1b8becf64ea97f9c2d5a6f68b238c13d76e75314d2abbd184f0d18058a8b5269906dbddd998faf8ed5169039457153cea7e4 From 9c28385cde8fd3a8e133c7819d169512e7c7a8fc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 17:00:45 +0000 Subject: [PATCH 083/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 8dce2ca..48a9a09 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 9.7.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 9.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sun Jun 23 2024 Maxwell G - 9.7.0-1 - Update to 9.7.0. From 42be9da7165649b332a6446c5196bbaf03544a84 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 19 Jul 2024 14:03:56 -0500 Subject: [PATCH 084/111] Update to 9.8.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 48a9a09..f7547a2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.7.0 +Version: 9.8.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Jul 19 2024 Maxwell G - 9.8.0-1 +- Update to 9.8.0. + * Wed Jul 17 2024 Fedora Release Engineering - 9.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index df407ab..e1cdd3e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.7.0.tar.gz) = f1d1b183a7d78abd974d54103a7d1b8becf64ea97f9c2d5a6f68b238c13d76e75314d2abbd184f0d18058a8b5269906dbddd998faf8ed5169039457153cea7e4 +SHA512 (ansible-9.8.0.tar.gz) = d5b224c901beddc6a552efe234542468ffa48e7ccf2fcd23284735b21631b87ef596b814ab444c1d6af0e124a6992c9542ca16d9f4623c681224bf8483799e4b From 14070d64b6796d7921e453f6112d5e3e03e21204 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 13 Aug 2024 11:41:56 -0500 Subject: [PATCH 085/111] Update to 9.9.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index f7547a2..041a805 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.8.0 +Version: 9.9.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Aug 13 2024 Maxwell G - 9.9.0-1 +- Update to 9.9.0. + * Fri Jul 19 2024 Maxwell G - 9.8.0-1 - Update to 9.8.0. diff --git a/sources b/sources index e1cdd3e..6d8a68e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.8.0.tar.gz) = d5b224c901beddc6a552efe234542468ffa48e7ccf2fcd23284735b21631b87ef596b814ab444c1d6af0e124a6992c9542ca16d9f4623c681224bf8483799e4b +SHA512 (ansible-9.9.0.tar.gz) = 4c5fc4dd5a648fc243ade98784cbfdc380e47f113e20e38e2ea92a995233e9e9d0b5823f1acdf941abf60a7d5e1f5eace482a938cacae2c2952a650217b63197 From 8dcd9160183ccc550e54416719453ed3f3bb112b Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 10 Sep 2024 12:30:40 -0500 Subject: [PATCH 086/111] Update to 9.10.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 041a805..7c3c182 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.9.0 +Version: 9.10.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Sep 10 2024 Maxwell G - 9.10.0-1 +- Update to 9.10.0. + * Tue Aug 13 2024 Maxwell G - 9.9.0-1 - Update to 9.9.0. diff --git a/sources b/sources index 6d8a68e..2da8944 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.9.0.tar.gz) = 4c5fc4dd5a648fc243ade98784cbfdc380e47f113e20e38e2ea92a995233e9e9d0b5823f1acdf941abf60a7d5e1f5eace482a938cacae2c2952a650217b63197 +SHA512 (ansible-9.10.0.tar.gz) = 95a1000c698537b0573401d7680bdf0a591b0ae3aa10fac3833d02a898cdb59ad570109d1f10526b8ba9601f426dfbac0b2160e5ea71a20a6eb952a1b18fedc9 From 18a1a42a59214ecfb8901b9d706a69fa8e829809 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 10 Oct 2024 20:02:55 -0500 Subject: [PATCH 087/111] Update to 9.11.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 7c3c182..b2efb55 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.10.0 +Version: 9.11.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Oct 11 2024 Maxwell G - 9.11.0-1 +- Update to 9.11.0. + * Tue Sep 10 2024 Maxwell G - 9.10.0-1 - Update to 9.10.0. diff --git a/sources b/sources index 2da8944..f8ae85f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.10.0.tar.gz) = 95a1000c698537b0573401d7680bdf0a591b0ae3aa10fac3833d02a898cdb59ad570109d1f10526b8ba9601f426dfbac0b2160e5ea71a20a6eb952a1b18fedc9 +SHA512 (ansible-9.11.0.tar.gz) = 4b92ad6391bfb0555b8ae5c381f112e2fc11733abf73ff3d99a1276a7ca301b3a3c9f4be8df0723f771eab1d3ed874b74e37e367feadbe9dab49891729e5f00a From 8845afc54098bb594249f5d7e9632b69d06fc3d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Jul 2024 15:19:43 +0200 Subject: [PATCH 088/111] Tell hardlink to not create reflinks hardlink will by default use reflinks in preference to hardlinks when the filesystem supports it (XFS, btrfs). But for rpm, hardlinks are what we want. rpm supports hardlinks natively and will use a single copy in the payload and during installation. It doesn't know about reflinks. This should fix build reproduciblity, by not making the build depend on file system type. In a test rebuild on tmpfs, I got the following difference wrt. to the koji build: ansible-9.7.0-1.fc41.noarch modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/amazon/aws/requirements.txt modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/amazon/aws/tox.ini modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/hostname.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/arista/eos/pyproject.toml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/asa/codecov.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/asa/pyproject.toml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/dnac/meta/runtime.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/dnac/playbooks/files/test.template modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/ios/codecov.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/ios/plugins/doc_fragments/ios.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/ios/pyproject.toml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/ios/test-requirements.txt modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/ios/tox.ini modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/iosxr/codecov.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/iosxr/plugins/doc_fragments/iosxr.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/iosxr/plugins/module_utils/network/iosxr/rm_templates/hostname.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/iosxr/pyproject.toml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/iosxr/tox.ini modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/ise/meta/runtime.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/meraki/playbooks/files/test.template modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/nxos/codecov.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/nxos/pyproject.toml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/nxos/test-requirements.txt modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/cisco/nxos/tox.ini modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/aws/requirements.txt modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/aws/tox.ini modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/crypto/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/crypto/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/crypto/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/crypto/meta/execution-environment.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/dns/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/dns/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/dns/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/dns/meta/execution-environment.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/dns/plugins/plugin_utils/unsafe.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/docker/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/docker/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/docker/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/docker/meta/execution-environment.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/docker/plugins/plugin_utils/unsafe.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/general/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/general/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/general/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/general/plugins/plugin_utils/unsafe.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/hrobot/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/hrobot/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/hrobot/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/hrobot/plugins/plugin_utils/unsafe.py modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/library_inventory_filtering_v1/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/library_inventory_filtering_v1/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/library_inventory_filtering_v1/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/routeros/CHANGELOG.md.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/routeros/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/routeros/changelogs/changelog.yaml.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/routeros/meta/execution-environment.yml modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/sops/CHANGELOG.rst.license modified-....N...... /usr/lib/python3.13/site-packages/ansible_collections/community/sops/changelogs/changelog.yaml.license rpmdiff reports 'N' for inode, i.e. the hardlink count being different. --- ansible.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index b2efb55..3b18ae6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -139,8 +139,8 @@ mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible mv licenses %{buildroot}%{_licensedir}/ansible/ansible_collections mv docs %{buildroot}%{_pkgdocdir}/ansible_collections -hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections -hardlink -v %{buildroot}%{_licensedir}/ansible +hardlink --reflink=never -v %{buildroot}%{python3_sitelib}/ansible_collections +hardlink --reflink=never -v %{buildroot}%{_licensedir}/ansible # XXX: One of the build steps is messing with the permission. # XXX: The file is 0755 in the source tarball. From 3aa96e9369971ebed72df42b65b3bb3f5e1157c6 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 25 Nov 2024 23:10:21 -0600 Subject: [PATCH 089/111] Update to 11.0.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 3b18ae6..aa83c99 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 9.11.0 +Version: 11.0.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -156,7 +156,7 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %files %license COPYING %license %{_licensedir}/ansible/ansible_collections/ -%doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst +%doc README.rst PKG-INFO porting_guide_*.rst CHANGELOG-v*.rst %doc %{_pkgdocdir}/ansible_collections/ %{_bindir}/ansible-community # Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Nov 26 2024 Maxwell G - 11.0.0-1 +- Update to 11.0.0. + * Fri Oct 11 2024 Maxwell G - 9.11.0-1 - Update to 9.11.0. diff --git a/sources b/sources index f8ae85f..f3a69aa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-9.11.0.tar.gz) = 4b92ad6391bfb0555b8ae5c381f112e2fc11733abf73ff3d99a1276a7ca301b3a3c9f4be8df0723f771eab1d3ed874b74e37e367feadbe9dab49891729e5f00a +SHA512 (ansible-11.0.0.tar.gz) = 9687703af0f4093ba4dadb530d9a257fac038a09ed6fead430247198b9f03257790602194fd01ba74db1ba20695fb2d6a37836602e6721a8c42e69e27314f3c1 From 3527e7f9507313d7ad0b30243e65263c9c7571ce Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 17 Dec 2024 22:16:17 -0600 Subject: [PATCH 090/111] Update to 11.1.0. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index aa83c99..f0a3b89 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.0.0 +Version: 11.1.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Wed Dec 18 2024 Maxwell G - 11.1.0-1 +- Update to 11.1.0. + * Tue Nov 26 2024 Maxwell G - 11.0.0-1 - Update to 11.0.0. diff --git a/sources b/sources index f3a69aa..8f8390e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.0.0.tar.gz) = 9687703af0f4093ba4dadb530d9a257fac038a09ed6fead430247198b9f03257790602194fd01ba74db1ba20695fb2d6a37836602e6721a8c42e69e27314f3c1 +SHA512 (ansible-11.1.0.tar.gz) = d78f7c6f7a0a1563b270408268dc84dc1796fe7ec8355da3eb9489ffda44328a9836b05d3067516452790fe1cdf2c2ad67b285a5a97444d6403aaf79491d42c0 From f4bc470894f661693daa3778167cfa53011d5eda Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 11:03:40 +0000 Subject: [PATCH 091/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index f0a3b89..c6afd81 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 11.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 11.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Dec 18 2024 Maxwell G - 11.1.0-1 - Update to 11.1.0. From 36554cbe7ee3d6fd5e1db1d1e047cda2165afe45 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sun, 16 Mar 2025 20:51:45 -0500 Subject: [PATCH 092/111] packit: add configuration --- .packit.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .packit.yaml diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..a12f63e --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,23 @@ +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +upstream_project_url: https://github.com/ansible-community/ansible-build-data +issue_repository: https://pagure.io/ansible-packit-issues +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - rawhide + - job: koji_build + trigger: commit + dist_git_branches: + - rawhide + sidetag_group: "ansible" + dependencies: + - ansible-core + - job: bodhi_update + trigger: commit + dist_git_branches: + - rawhide + dependencies: + - ansible-core From ae4659d82ec8ee64ee3bdf84b109044aa350a519 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 17 Mar 2025 01:55:35 +0000 Subject: [PATCH 093/111] Update to 11.3.0 upstream release Upstream tag: 11.3.0 Upstream commit: b1f85dfd Commit authored by Packit automation (https://packit.dev/) --- README.packit | 3 +++ ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 README.packit diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..f5cc99f --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 1.2.0.post1.dev13+g55ed4527. diff --git a/ansible.spec b/ansible.spec index c6afd81..76b8fd9 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.1.0 +Version: 11.3.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Mon Mar 17 2025 Packit - 11.3.0-1 +- Update to version 11.3.0 + * Thu Jan 16 2025 Fedora Release Engineering - 11.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 8f8390e..a12ee83 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.1.0.tar.gz) = d78f7c6f7a0a1563b270408268dc84dc1796fe7ec8355da3eb9489ffda44328a9836b05d3067516452790fe1cdf2c2ad67b285a5a97444d6403aaf79491d42c0 +SHA512 (ansible-11.3.0.tar.gz) = 2daccab6e5fedd1007b4fd9bf3a63840cf1d3371b779603c382ab1da8786f9c8a6369c81aad6de173f60c60572b9423b167028a154effc1d78760f92381ef469 From b79d47f109620bdc39359c54abaf6f41967d72c3 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sun, 16 Mar 2025 21:27:55 -0500 Subject: [PATCH 094/111] packit: remove sync note --- .packit.yaml | 1 + README.packit | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 README.packit diff --git a/.packit.yaml b/.packit.yaml index a12f63e..af3c9c8 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -3,6 +3,7 @@ upstream_project_url: https://github.com/ansible-community/ansible-build-data issue_repository: https://pagure.io/ansible-packit-issues +create_sync_note: false jobs: - job: pull_from_upstream trigger: release diff --git a/README.packit b/README.packit deleted file mode 100644 index f5cc99f..0000000 --- a/README.packit +++ /dev/null @@ -1,3 +0,0 @@ -This repository is maintained by packit. -https://packit.dev/ -The file was generated using packit 1.2.0.post1.dev13+g55ed4527. From dc2bab8df83ae41cdc43830ca22ce3421684f59e Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 25 Mar 2025 19:56:21 +0000 Subject: [PATCH 095/111] Update to 11.4.0 upstream release - Resolves: rhbz#2354912 Upstream tag: 11.4.0 Upstream commit: 8fc9de8a Commit authored by Packit automation (https://packit.dev/) --- ansible.spec | 6 +++++- sources | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 76b8fd9..f039bbd 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.3.0 +Version: 11.4.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,10 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Mar 25 2025 Packit - 11.4.0-1 +- Update to version 11.4.0 +- Resolves: rhbz#2354912 + * Mon Mar 17 2025 Packit - 11.3.0-1 - Update to version 11.3.0 diff --git a/sources b/sources index a12ee83..b049143 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.3.0.tar.gz) = 2daccab6e5fedd1007b4fd9bf3a63840cf1d3371b779603c382ab1da8786f9c8a6369c81aad6de173f60c60572b9423b167028a154effc1d78760f92381ef469 +SHA512 (ansible-11.4.0.tar.gz) = 8caf2c7a5c37e4ba3be6342d3c48655dc1a0f5e18a8727a7f2174b2cb53780e01d833aed6ab3342805396160026c9aab14d33d5448b5c03cba37207db50882ce From 4cf3fd7e86bfc7eb15ce1a7d65a9e9da4fedbc78 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 26 Mar 2025 07:36:52 -0500 Subject: [PATCH 096/111] ansible-prep: remove old files --- ansible-prep.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index b15caf2..103eed2 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -36,7 +36,6 @@ rm -v ansible_collections/community/dns/update-docs-fragments.py rm -v ansible_collections/community/dns/update-psl.sh rm -v ansible_collections/community/mysql/run_all_tests.py rm -v ansible_collections/community/routeros/update-docs.py -rm -v ansible_collections/cyberark/conjur/Jenkinsfile rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh From e7b510f10912ed85ca0fac95eb2a0ca7ae6a7c67 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 7 Jun 2025 01:54:06 -0500 Subject: [PATCH 097/111] Update to 11.6.0. --- ansible-prep.sh | 3 --- ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index 103eed2..3b2c655 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -32,10 +32,7 @@ rm -rv ansible_collections/netbox/netbox/hacking/ rm -rv ansible_collections/sensu/sensu_go/docker/ rm -rv ansible_collections/sensu/sensu_go/tools/ -rm -v ansible_collections/community/dns/update-docs-fragments.py -rm -v ansible_collections/community/dns/update-psl.sh rm -v ansible_collections/community/mysql/run_all_tests.py -rm -v ansible_collections/community/routeros/update-docs.py rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh rm -v ansible_collections/ovirt/ovirt/build.sh diff --git a/ansible.spec b/ansible.spec index f039bbd..b5ee2f0 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.4.0 +Version: 11.6.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sat Jun 07 2025 Maxwell G - 11.6.0-1 +- Update to 11.6.0. + * Tue Mar 25 2025 Packit - 11.4.0-1 - Update to version 11.4.0 - Resolves: rhbz#2354912 diff --git a/sources b/sources index b049143..51ec94f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.4.0.tar.gz) = 8caf2c7a5c37e4ba3be6342d3c48655dc1a0f5e18a8727a7f2174b2cb53780e01d833aed6ab3342805396160026c9aab14d33d5448b5c03cba37207db50882ce +SHA512 (ansible-11.6.0.tar.gz) = 2c3d87b75dfc5f81683e019df6e001c633505c4312cb4bbd90e3678f2fdd634fd7a31305b0f22be616ccae7510d61e8d1a319c407f7a315cc331e56a37fd8d15 From f9a83db4cf5503700207506c9a1846179dc81c08 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sat, 7 Jun 2025 23:28:29 +0200 Subject: [PATCH 098/111] Rebuilt for Python 3.14 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index b5ee2f0..08a4b54 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 11.6.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sat Jun 07 2025 Python Maint - 11.6.0-2 +- Rebuilt for Python 3.14 + * Sat Jun 07 2025 Maxwell G - 11.6.0-1 - Update to 11.6.0. From 5a428675a80b8181a8a6a7adde6dbb87fac4a8eb Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 16 Jul 2025 14:07:49 -0500 Subject: [PATCH 099/111] Update to 11.8.0. --- ansible.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 08a4b54..e2c337b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.6.0 +Version: 11.8.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Wed Jul 16 2025 Maxwell G - 11.8.0-1 +- Update to 11.8.0. + * Sat Jun 07 2025 Python Maint - 11.6.0-2 - Rebuilt for Python 3.14 diff --git a/sources b/sources index 51ec94f..260495c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.6.0.tar.gz) = 2c3d87b75dfc5f81683e019df6e001c633505c4312cb4bbd90e3678f2fdd634fd7a31305b0f22be616ccae7510d61e8d1a319c407f7a315cc331e56a37fd8d15 +SHA512 (ansible-11.8.0.tar.gz) = 6b9deb0471c393b8680f6b9ab8f1ff4e9b702d80ae36455628cbbcdb31054d82276895d2109594d6a03df0d597bb47318cae88a25fdb15af06197f71317a5846 From 80f1c8155504cda8d5e709c0eaac711ffdd2b07e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 16:59:41 +0000 Subject: [PATCH 100/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index e2c337b..a397dae 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 11.8.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 11.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Wed Jul 16 2025 Maxwell G - 11.8.0-1 - Update to 11.8.0. From ebd6903521de27c3b4fcab682962c4603c6bb581 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 12:38:13 +0200 Subject: [PATCH 101/111] Rebuilt for Python 3.14.0rc2 bytecode --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index a397dae..36af08b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 11.8.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 2%{?dist} +Release: 3%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Aug 15 2025 Python Maint - 11.8.0-3 +- Rebuilt for Python 3.14.0rc2 bytecode + * Wed Jul 23 2025 Fedora Release Engineering - 11.8.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 78b689b64f32a4e67c27e3eea64617113c89be57 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:06:50 +0200 Subject: [PATCH 102/111] Rebuilt for Python 3.14.0rc3 bytecode --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 36af08b..b0ba9da 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 11.8.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 3%{?dist} +Release: 4%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Fri Sep 19 2025 Python Maint - 11.8.0-4 +- Rebuilt for Python 3.14.0rc3 bytecode + * Fri Aug 15 2025 Python Maint - 11.8.0-3 - Rebuilt for Python 3.14.0rc2 bytecode From ae9ed89dc4adf74e6f312f032b6055fada3f365a Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 27 Sep 2025 02:16:35 -0500 Subject: [PATCH 103/111] Update to 11.10.0. --- ansible-prep.sh | 1 - ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index 3b2c655..38d4c44 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -52,7 +52,6 @@ echo "[END] Delete unnecessary files and directories" ### find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \ -print -exec chmod a+x '{}' \; -chmod a+x ansible_collections/infinidat/infinibox/scripts/syslog_server.py # ansible_collections/lowlydba/sqlserver thought it was a good idea to make # *every* single file, in its repository executable, including .md, .yml, and diff --git a/ansible.spec b/ansible.spec index b0ba9da..6124820 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,9 +32,9 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.8.0 +Version: 11.10.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 4%{?dist} +Release: 1%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Sat Sep 27 2025 Maxwell G - 11.10.0-1 +- Update to 11.10.0. + * Fri Sep 19 2025 Python Maint - 11.8.0-4 - Rebuilt for Python 3.14.0rc3 bytecode diff --git a/sources b/sources index 260495c..78e96d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.8.0.tar.gz) = 6b9deb0471c393b8680f6b9ab8f1ff4e9b702d80ae36455628cbbcdb31054d82276895d2109594d6a03df0d597bb47318cae88a25fdb15af06197f71317a5846 +SHA512 (ansible-11.10.0.tar.gz) = cae4aefa6f8bf6e1f3f0856ff1159f8ca70902aa8de3c211c2656cf634bbd0034dc74f207e5b9d213007aed2582409535e765841845bcb073bbe3b22f82e7c98 From 0d4e415b590d92755df74e3017b8c2a06f8467a7 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 17 Nov 2025 14:50:45 +0000 Subject: [PATCH 104/111] Update to 11.12.0 upstream release Upstream tag: 11.12.0 Upstream commit: ce86e4df Commit authored by Packit automation (https://packit.dev/) --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 6124820..59c4b02 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.10.0 +Version: 11.12.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Mon Nov 17 2025 Packit - 11.12.0-1 +- Update to version 11.12.0 + * Sat Sep 27 2025 Maxwell G - 11.10.0-1 - Update to 11.10.0. diff --git a/sources b/sources index 78e96d5..3c1204a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.10.0.tar.gz) = cae4aefa6f8bf6e1f3f0856ff1159f8ca70902aa8de3c211c2656cf634bbd0034dc74f207e5b9d213007aed2582409535e765841845bcb073bbe3b22f82e7c98 +SHA512 (ansible-11.12.0.tar.gz) = 1bc3ab2f2235d825e3e1ab72b24fc242378947e58607c6062cf4f646c10576499dd3e2152cecca8d0a7fa52c80f69ba76022fa26e3e48bc1885c45a719ef3485 From fb25488b1158deb22333cb118832e03130146e6c Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 17 Nov 2025 08:45:28 -0600 Subject: [PATCH 105/111] packit: limit rawhide to Ansible 11 for now Until https://fedoraproject.org/wiki/Changes/Ansible13 is finalized. --- .packit.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.packit.yaml b/.packit.yaml index af3c9c8..e24cc5c 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -4,6 +4,7 @@ upstream_project_url: https://github.com/ansible-community/ansible-build-data issue_repository: https://pagure.io/ansible-packit-issues create_sync_note: false +upstream_tag_include: "11" jobs: - job: pull_from_upstream trigger: release From d3e4d724a97bfd74d9f1698d0c8b7eb47e47a1c0 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 17 Nov 2025 08:49:00 -0600 Subject: [PATCH 106/111] packit: add f43 and f42 --- .packit.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.packit.yaml b/.packit.yaml index e24cc5c..882c281 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -9,7 +9,10 @@ jobs: - job: pull_from_upstream trigger: release dist_git_branches: - - rawhide + rawhide: + fast_forward_merge_into: + - fedora-43 + - fedora-42 - job: koji_build trigger: commit dist_git_branches: @@ -21,5 +24,7 @@ jobs: trigger: commit dist_git_branches: - rawhide + - fedora-43 + - fedora-42 dependencies: - ansible-core From 9af08281c8acbf45a9c4ac0db5d5be458d08b8e3 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 17 Nov 2025 21:56:53 -0600 Subject: [PATCH 107/111] packit: add sidetag_group --- .packit.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.packit.yaml b/.packit.yaml index 882c281..f351d98 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -28,3 +28,4 @@ jobs: - fedora-42 dependencies: - ansible-core + sidetag_group: "ansible" From bab3b123d81f03b7274e97e5a4b78beb9dae99dd Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Mon, 17 Nov 2025 22:08:34 -0600 Subject: [PATCH 108/111] packit: update koji_build branches --- .packit.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.packit.yaml b/.packit.yaml index f351d98..de2f925 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -17,6 +17,8 @@ jobs: trigger: commit dist_git_branches: - rawhide + - fedora-43 + - fedora-42 sidetag_group: "ansible" dependencies: - ansible-core From 8ccfa15caffd7b5dbf930109b592f6c616d09c47 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 9 Dec 2025 12:44:11 -0600 Subject: [PATCH 109/111] Update to 13.1.0. Fixes rhbz#2354912. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 59c4b02..62e1ca1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 11.12.0 +Version: 13.1.0 %global uversion %{version_no_tilde %{quote:%nil}} Release: 1%{?dist} @@ -169,6 +169,9 @@ chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstac %changelog +* Tue Dec 09 2025 Maxwell G - 13.1.0-1 +- Update to 13.1.0. Fixes rhbz#2354912. + * Mon Nov 17 2025 Packit - 11.12.0-1 - Update to version 11.12.0 diff --git a/sources b/sources index 3c1204a..079d378 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-11.12.0.tar.gz) = 1bc3ab2f2235d825e3e1ab72b24fc242378947e58607c6062cf4f646c10576499dd3e2152cecca8d0a7fa52c80f69ba76022fa26e3e48bc1885c45a719ef3485 +SHA512 (ansible-13.1.0.tar.gz) = 2e7abd85b44d48ea756c65906811c9fa5519ce5d9ecaca71c718446a52dfc3dff97597d048f071ca820ea606ee2de670e8a0746717f95e2ce636db06273b3544 From f5d5058b899dd1f95fa1f2c87bc13e1d2a935721 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 11 Dec 2025 18:08:45 -0600 Subject: [PATCH 110/111] Update file pruning and hardlinking logic - Update ansible-prep.sh and remove references to collections removed from Ansible. - Don't hardlink anymore. This is handled by a brp. [skip changelog] --- ansible-prep.sh | 4 ---- ansible.spec | 8 -------- 2 files changed, 12 deletions(-) diff --git a/ansible-prep.sh b/ansible-prep.sh index 38d4c44..6db71a7 100755 --- a/ansible-prep.sh +++ b/ansible-prep.sh @@ -19,7 +19,6 @@ find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern} # Not needed for runtime rm -rv ansible_collections/cisco/meraki/scripts/ -rm -rv ansible_collections/community/digitalocean/scripts/ rm -rv ansible_collections/community/grafana/hacking/ rm -rv ansible_collections/community/okd/ci/ rm -rv ansible_collections/community/vmware/tools/ @@ -29,8 +28,6 @@ rm -rv ansible_collections/google/cloud/test-fixtures/ rm -rv ansible_collections/grafana/grafana/tools/ rm -rv ansible_collections/hetzner/hcloud/scripts/ rm -rv ansible_collections/netbox/netbox/hacking/ -rm -rv ansible_collections/sensu/sensu_go/docker/ -rm -rv ansible_collections/sensu/sensu_go/tools/ rm -v ansible_collections/community/mysql/run_all_tests.py rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh @@ -43,7 +40,6 @@ find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete find -type f -name "*requirements.txt" -size 0 -print -delete rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1 rm -v ansible_collections/community/docker/meta/ee-bindep.txt -rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder echo "[END] Delete unnecessary files and directories" diff --git a/ansible.spec b/ansible.spec index 62e1ca1..7ba6d7c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -63,7 +63,6 @@ BuildArch: noarch BuildRequires: dos2unix BuildRequires: findutils -BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel %if %{with tests} @@ -139,13 +138,6 @@ mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible mv licenses %{buildroot}%{_licensedir}/ansible/ansible_collections mv docs %{buildroot}%{_pkgdocdir}/ansible_collections -hardlink --reflink=never -v %{buildroot}%{python3_sitelib}/ansible_collections -hardlink --reflink=never -v %{buildroot}%{_licensedir}/ansible - -# XXX: One of the build steps is messing with the permission. -# XXX: The file is 0755 in the source tarball. -chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstack/scripts/inventory/cloudstack.py - %check %if %{with tests} From 3fe81f9f484bb57172d40f738ddfcb2425517a31 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:41:14 +0000 Subject: [PATCH 111/111] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 7ba6d7c..5db073a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,7 +34,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 13.1.0 %global uversion %{version_no_tilde %{quote:%nil}} -Release: 1%{?dist} +Release: 2%{?dist} # In addition to GPL-3.0-or-later, the following licenses apply. # License text that solely exists in file headers were not considered. @@ -161,6 +161,9 @@ mv docs %{buildroot}%{_pkgdocdir}/ansible_collections %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 13.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Tue Dec 09 2025 Maxwell G - 13.1.0-1 - Update to 13.1.0. Fixes rhbz#2354912.