From 88ed9f12192e8462526dacdd28d85aa749c34458 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 19 Oct 2019 13:20:08 -0700 Subject: [PATCH 001/177] Update to 2.8.6. Rework spec file to drop old conditionals. --- .gitignore | 1 + ansible.spec | 362 +++++++++------------------------------------------ sources | 2 +- 3 files changed, 62 insertions(+), 303 deletions(-) diff --git a/.gitignore b/.gitignore index db2c392..3fddea4 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,4 @@ /ansible-2.8.3.tar.gz /ansible-2.8.4.tar.gz /ansible-2.8.5.tar.gz +/ansible-2.8.6.tar.gz diff --git a/ansible.spec b/ansible.spec index 00b41c3..46967da 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,206 +1,62 @@ -# RHEL 6 didn't have a __python2 macro. -# Amazon Linux 2015.9 is based on RHEL6, with /usr/bin/python2 -> python2.6, while -# /usr/bin/python -> python2.7. Explicitly use python2.6. -%if 0%{?rhel} == 6 || 0%{?rhel} == 5 -%global __python2 /usr/bin/python2.6 -%endif +# Note to maintainers: master, all fedora branches and epel8 can be merged. +# epel7 and epel6 should be updated seperately. +# (epel6 because it is still on 2.6 forever due to python support, +# epel7 due to it using python2). -# RHEL 6 and 7 do not have BuildRequires to build docs -# Fedora 27 and older have too old a jinja2 to build docs -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +# in Fedora and EPEL8 build with docs and tests by default %global with_docs 1 -%else -%global with_docs 0 -%endif - -# Build Fedora and RHEL larger than 7 with python3 -%if 0%{?fedora} || 0%{?rhel} >= 8 -%global with_python3 1 -%else -%global with_python3 0 -%endif - -# Fedora 29+ and RHEL larger than 7 no python2, python3 default -%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8 -%global with_python2 0 -%else -%global with_python2 1 -%endif +%global with_tests 1 Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.5 +Version: 2.8.6 Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz - -# Patch to utilize a newer jinja2 package on epel6 -# Non-upstreamable as it creates a dependency on a specific version of jinja. -# This is desirable for us as we have packages for that version but not for -# upstream as they don't know what their customers are running. -Patch100: ansible-newer-jinja.patch +Url: http://ansible.com +BuildArch: noarch # Python 3.8 compatibility in docs # https://bugzilla.redhat.com/show_bug.cgi?id=1712531 # rebased from https://github.com/ansible/ansible/pull/56806 Patch101: 56806.patch -Url: http://ansible.com -BuildArch: noarch - -# This is needed to update the old ansible-fireball package that is no -# longer needed. Note that you should also remove ansible-node-fireball manually -# Where you still have it installed. +%if 0%{?with_tests} # -Provides: ansible-fireball = %{version}-%{release} -Obsoletes: ansible-fireball < 1.2.4 - -%if 0%{?with_python2} -%if 0%{?rhel} && 0%{?rhel} <= 5 -# On RHEL6 use the python26 stack -BuildRequires: python26-devel -Requires: python26-PyYAML -Requires: python26-paramiko -Requires: python26-jinja2 -%endif - -BuildRequires: python2-devel -BuildRequires: python-setuptools - -# For building docs/tests -BuildRequires: git-core - # For tests -# We don't run tests on epel6, so don't bother pulling these in there. -%if (0%{?fedora} || 0%{?rhel} > 6) -BuildRequires: PyYAML -BuildRequires: python2-cryptography -BuildRequires: python2-crypto -BuildRequires: python-paramiko -BuildRequires: python-six -BuildRequires: python-nose -BuildRequires: python-coverage -BuildRequires: python-requests -BuildRequires: python-mock -BuildRequires: python-boto3 -BuildRequires: python-botocore -BuildRequires: python-passlib -%if 0%{?fedora} -# Fedora only docs building -BuildRequires: python3-sphinx-theme-alabaster -%endif -# rhel7 does not have python-pytest but has pytest -%if 0%{?rhel} == 7 -BuildRequires: pytest -BuildRequires: python2-sphinx-theme-alabaster -%else -BuildRequires: python-pytest -BuildRequires: python-pytest-xdist -BuildRequires: python-pytest-mock -BuildRequires: python-packaging -BuildRequires: python2-pexpect -BuildRequires: python2-winrm -%endif -%endif - -%if (0%{?rhel} && 0%{?rhel} <= 6) -# Ansible will work with the jinja2 shipped with RHEL6 but users can gain -# additional jinja features by using the newer version -Requires: python-jinja2-26 -BuildRequires: python-jinja2-26 - -# Distros with python < 2.7.0 -BuildRequires: python-unittest2 - -%else -Requires: python-jinja2 -BuildRequires: python-jinja2 -%endif - -Requires: PyYAML -Requires: python2-cryptography -Requires: python-paramiko -Requires: python-httplib2 -Requires: python-setuptools -Requires: python-six -Requires: sshpass - -%if (0%{?fedora} || 0%{?rhel} > 6) -# needed for json_query filter -# but avoid on rhel6 due to amazon linux conflicts -Requires: python2-jmespath -%endif - -%if 0%{?rhel} == 6 -# RHEL 6 needs a newer version of the pycrypto library for the ansible-vault -# command. Note: If other pieces of ansible also grow to need pycrypto you may -# need to add: Requires: python-crypto or patch the other pieces of ansible to -# make use of this forward compat package (see the patch for ansible-vault -# above to see what needs to be done.) -Requires: python-crypto2.6 -# The python-2.6 stdlib json module has a bug that affects the ansible -# to_nice_json filter -Requires: python-simplejson - -# For testing -BuildRequires: python-crypto2.6 -BuildRequires: python-simplejson -%endif - - -%description -Ansible is a radically simple model-driven configuration management, -multi-node deployment, and remote task execution system. Ansible works -over SSH and does not require any software or daemons to be installed -on remote nodes. Extension modules can be written in any language and -are transferred to managed machines automatically. - -%endif -# python2 - - -%if 0%{?with_python3} -# Note, ansible is not intended to be used as a library so avoiding the -# python3-ansible and python2-ansible package names so we don't confuse users. - -# Also note, similarly to dnf in its transition period, the python2 and python3 -# versions of ansible should behave identically but python3-only bugs may be present. -# So upstream would like us to ship both py2 and py3 ansible (at least in -# rawhide) for people to beat on and find bugs. - -# However, for future ELs and Fedora 29+, we want Python 3 only -%if 0%{?with_python2} -%package -n ansible-python3 -Summary: SSH-based configuration management, deployment, and task execution system -%else -Provides: ansible-python3 = %{version}-%{release} -Obsoletes: ansible-python3 < %{version}-%{release} -%endif - -BuildRequires: python3-devel -BuildRequires: python3-setuptools - -# For tests -BuildRequires: python3-PyYAML -BuildRequires: python3-paramiko -BuildRequires: python3-cryptography -BuildRequires: python3-crypto -BuildRequires: python3-pbkdf2 +# +# These two exist on both fedora and rhel8 +# BuildRequires: python3-packaging BuildRequires: python3-pexpect +# +# These only exist on Fedora. RHEL8 will just skip tests that need them. +# +%if 0%{?fedora} +BuildRequires: python3-paramiko BuildRequires: python3-winrm + +BuildRequires: python3-crypto +BuildRequires: python3-pbkdf2 BuildRequires: python3-httmock BuildRequires: python3-gitlab - +BuildRequires: python3-boto3 +BuildRequires: python3-botocore +BuildRequires: python3-coverage +BuildRequires: python3-passlib +%endif +%endif # For Docs/tests BuildRequires: git-core -%if %with_docs +%if 0%{?with_docs} BuildRequires: python3-sphinx BuildRequires: python3-sphinx-theme-alabaster BuildRequires: python3-sphinx-notfound-page BuildRequires: asciidoc %endif +BuildRequires: python3-devel +BuildRequires: python3-setuptools # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #BuildRequires: python-keyczar @@ -210,16 +66,14 @@ BuildRequires: python3-pytest BuildRequires: python3-pytest-xdist BuildRequires: python3-pytest-mock BuildRequires: python3-requests -BuildRequires: python3-coverage BuildRequires: python3-mock -BuildRequires: python3-boto3 -BuildRequires: python3-botocore -BuildRequires: python3-passlib BuildRequires: python3-jinja2 +BuildRequires: python3-PyYAML +BuildRequires: python3-cryptography -Requires: python3-PyYAML -Requires: python3-paramiko -Requires: python3-cryptography +# RHEL8 doesn't have python3-paramiko or python3-winrm (yet), but Fedora does +Recommends: python3-paramiko +Recommends: python3-winrm # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #Requires: python3-keyczar @@ -230,23 +84,13 @@ Requires: sshpass # needed for json_query filter Requires: python3-jmespath - -%if 0%{?with_python2} -%description -n ansible-python3 -%else %description -%endif - Ansible is a radically simple model-driven configuration management, multi-node deployment, and remote task execution system. Ansible works over SSH and does not require any software or daemons to be installed on remote nodes. Extension modules can be written in any language and are transferred to managed machines automatically. -This package installs versions of ansible that execute on Python3. -%endif -# python3 - %package -n ansible-doc Summary: Documentation for Ansible @@ -261,84 +105,24 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%setup -q -n %{name}-%{version} - -%if 0%{?rhel} == 6 -%patch100 -p1 -%endif - -%patch101 -p1 - -%if 0%{?with_python3} -rm -rf %{py3dir} -cp -a . %{py3dir} -%endif -# with_python3 +%autosetup -p1 -n %{name}-%{version} %build -%if 0%{?with_python2} -%{__python2} setup.py build -%endif - -%if 0%{?with_python3} -pushd %{py3dir} %py3_build -%if %with_docs - # Fedora 26 does not have pathfix, so build docs with python2 - %if (0%{?fedora} == 26) - make PYTHON=/usr/bin/python2 webdocs - %else +sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' docs/bin/*.py + +ls -l /usr/bin/python* + +%if 0%{?with_docs} pathfix.py -i %{__python3} -p docs/bin test/runner make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs - %endif -%endif - -popd -%endif -# with_python3 - -%if ! %with_docs && ( 0%{?fedora} || 0%{?rhel} >= 7) - # Generate the rst docs from the source if they weren't generated earlier as - # part of the html docs build - make -Cdocs/docsite config cli keywords modules plugins testing +%else +make PYTHON=/usr/bin/python3 -Cdocs/docsite config cli keywords modules plugins testing %endif %install -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py install --root=$RPM_BUILD_ROOT -popd - -for i in $RPM_BUILD_ROOT/%{_bindir}/ansible* ; do - if [ $(basename $i) = "ansible-connection" -o $(basename $i) = "ansible" ] ; then - %if 0%{?with_python2} - mv $i $i-%{python3_version} - %else - # for backwards compatibility - ln -s $(basename $i) $i-%{python3_version} - %endif - ln -s %{_bindir}/$(basename $i)-%{python3_version} $i-3 - %if 0%{?with_python2} - else - # The ansible commands are themselves symlinks to /usr/bin/ansible. - # Need to change them to point to the python3 version - ln -s %{_bindir}/ansible-3 $i-%{python3_version} - ln -s %{_bindir}/$(basename $i)-%{python3_version} $i-3 - %endif - fi -done -%endif -# with_python3 - -%if 0%{?with_python2} -%{__python2} setup.py install --root=$RPM_BUILD_ROOT -for i in $RPM_BUILD_ROOT/%{_bindir}/{ansible,ansible-console,ansible-doc,ansible-galaxy,ansible-playbook,ansible-pull,ansible-vault} ; do - mv $i $i-%{python2_version} - ln -s %{_bindir}/$(basename $i)-%{python2_version} $i - ln -s %{_bindir}/$(basename $i)-%{python2_version} $i-2 -done -%endif +%py3_install # Create system directories that Ansible defines as default locations in # ansible/config/base.yml @@ -383,25 +167,13 @@ mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . -%if %with_docs - pushd %{py3dir} +%if 0%{?with_docs} cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html - popd %endif %check -# RHEL <= 6 doesn't have a new enough python-mock to run the tests -# Currently RHEL <= 7 doesn't have pytest-xdist or a new enough pytest -# Fedora 25 doesn't have a new enough pytest -%if 0%{?with_python2} && 0%{?fedora} >= 26 -ln -s /usr/bin/pytest bin/pytest -make PYTHON=/usr/bin/python2 tests -%endif -# New enough Fedora with python2 - -%if 0%{?with_python3} -pushd %{py3dir} +%if 0%{?with_tests} ln -s /usr/bin/pytest-3 bin/pytest pathfix.py -i %{__python3} -p test/runner pathfix.py -i %{__python3} -p bin/ansible-test @@ -413,46 +185,32 @@ rm -f test/units/modules/source_control/test_gitlab_user.py rm -f test/units/modules/source_control/test_gitlab_runner.py %endif make PYTHON=/usr/bin/python3 tests-py3 - -popd %endif -# python3 - %files -%if 0%{?with_python2} -%{python2_sitelib}/ansible* -%endif +%license COPYING +%doc README.rst PKG-INFO changelogs/CHANGELOG-v2.8.rst +%doc %{_mandir}/man1/ansible* +%config(noreplace) %{_sysconfdir}/ansible/ %{_bindir}/ansible* -%if 0%{?with_python3} && 0%{?with_python2} -%exclude %{_bindir}/ansible*-3* -%endif -# python3 and 2 -%config(noreplace) %{_sysconfdir}/ansible/ %{_datadir}/ansible/ -%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.8.rst -%doc %{_mandir}/man1/ansible* - -%if 0%{?with_python3} -%if 0%{?with_python2} -%files -n ansible-python3 -%config(noreplace) %{_sysconfdir}/ansible/ -%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.8.rst -%doc %{_mandir}/man1/ansible* -%{_bindir}/ansible*-3* -%endif -# python2 -%{python3_sitelib}/ansible* -%endif -# python3 +%{python3_sitelib}/ansible +%{python3_sitelib}/*egg-info %files -n ansible-doc %doc rst -%if %with_docs +%if 0%{?with_docs} %doc html %endif %changelog +* Thu Oct 17 2019 Kevin Fenzi - 2.8.6-1 +- Update to 2.8.6. +- Rework spec file to drop old conditionals. + +* Thu Oct 10 2019 Kevin Fenzi - 2.8.5-2 +- Make python3-paramiko and python3-winrm Recommended so they install on Fedora and not RHEL8 + * Fri Sep 13 2019 Kevin Fenzi - 2.8.5-1 - Update to 2.8.5. diff --git a/sources b/sources index 9528a50..90d4c47 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.5.tar.gz) = 6555b9a3d3d8298410e54f7116d92fc1978bef185a5136cfb809c1942b08b96c562af9e0d6d1a25eee5a4024d309b6713ce27836857b428a7c362e26efb53777 +SHA512 (ansible-2.8.6.tar.gz) = 8e29644b4651e72bd3fbd4ca91c2a36b76e5dde9bb445d3c6e0061c315eb66e1bc507729b70d82998c1cbb25f3ef0e20d281ab8354a047193e60bf4831938418 From 385af9b086e110ba2c1d009f610bcfddcb4483d4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 8 Nov 2019 13:25:01 -0800 Subject: [PATCH 002/177] Update to 2.9.0. --- .gitignore | 1 + 56806.patch | 50 --------------------------------------- ansible-newer-jinja.patch | 14 ----------- ansible.spec | 38 +++++++++++++++++++---------- sources | 2 +- 5 files changed, 27 insertions(+), 78 deletions(-) delete mode 100644 56806.patch delete mode 100644 ansible-newer-jinja.patch diff --git a/.gitignore b/.gitignore index 3fddea4..ff36be9 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,4 @@ /ansible-2.8.4.tar.gz /ansible-2.8.5.tar.gz /ansible-2.8.6.tar.gz +/ansible-2.9.0.tar.gz diff --git a/56806.patch b/56806.patch deleted file mode 100644 index db06d26..0000000 --- a/56806.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 702e044b90fd0a0524fa4574648fe7dae4d4f2fe Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Wed, 22 May 2019 21:31:22 +0200 -Subject: [PATCH] Don't change dictionary keys during iteration - -With Python 3.8.0a4+, we get the following RuntimeError in Fedora: - -PYTHONPATH=../../lib ../bin/dump_keywords.py --template-dir=../templates --output-dir=rst/reference_appendices/ -d ./keyword_desc.yml -Traceback (most recent call last): - File "../bin/dump_keywords.py", line 49, in - for a in oblist[name]: -RuntimeError: dictionary keys changed during iteration - -And: - - def populate(self): - super(Interfaces, self).populate() - self.facts['all_ipv4_addresses'] = list() - self.facts['all_ipv6_addresses'] = list() - - data = self.responses[0] - interfaces = self.parse_interfaces(data) - -> for key in interfaces.keys(): -E RuntimeError: dictionary keys changed during iteration - -In TestDellos9Facts.test_dellos9_facts_gather_subset_default -and TestDellos9Facts.test_dellos9_facts_gather_subset_interfaces. - -Python change: https://github.com/python/cpython/pull/12596 - -Downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=1712531 ---- - docs/bin/dump_keywords.py | 2 +- - lib/ansible/modules/network/dellos9/dellos9_facts.py | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/docs/bin/dump_keywords.py b/docs/bin/dump_keywords.py -index 30056a6fc8cc..e25171126576 100755 ---- a/docs/bin/dump_keywords.py -+++ b/docs/bin/dump_keywords.py -@@ -46,7 +46,7 @@ - oblist[name] = dict((x, aobj.__dict__['_attributes'][x]) for x in aobj.__dict__['_attributes'] if 'private' not in x or not x.private) - - # pick up docs if they exist -- for a in oblist[name]: -+ for a in list(oblist[name]): - if a in docs: - oblist[name][a] = docs[a] - else: diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch deleted file mode 100644 index c393067..0000000 --- a/ansible-newer-jinja.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nur ansible-2.4.1.0.orig/requirements.txt ansible-2.4.1.0/requirements.txt ---- ansible-2.4.1.0.orig/requirements.txt 2017-10-25 16:05:04.000000000 -0700 -+++ ansible-2.4.1.0/requirements.txt 2017-10-30 14:41:31.202896847 -0700 -@@ -3,8 +3,8 @@ - # packages. Thus, this should be the loosest set possible (only required - # packages, not optional ones, and with the widest range of versions that could - # be suitable) --jinja2 -+jinja2 >= 2.6 - PyYAML - paramiko --cryptography -+pycrypto >= 2.6 - setuptools diff --git a/ansible.spec b/ansible.spec index 46967da..fe21749 100644 --- a/ansible.spec +++ b/ansible.spec @@ -5,11 +5,19 @@ # in Fedora and EPEL8 build with docs and tests by default %global with_docs 1 + +# Disable tests on f29/f30 and epel8 for now. +# epel8 is missing 2 required packages. +# fedora29 and fedora30 have too old pytest +%if 0%{?fedora} < 31 || 0%{?rhel} >= 8 +%global with_tests 0 +%else %global with_tests 1 +%endif Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.6 +Version: 2.9.0 Release: 1%{?dist} License: GPLv3+ @@ -17,10 +25,11 @@ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz Url: http://ansible.com BuildArch: noarch -# Python 3.8 compatibility in docs -# https://bugzilla.redhat.com/show_bug.cgi?id=1712531 -# rebased from https://github.com/ansible/ansible/pull/56806 -Patch101: 56806.patch +# We used to have a ansible-python3 package that a number of other things +# started depending on, so we should now provide/obsolete it until they +# can all adjust to just needing ansible. +Provides: ansible-python3 = %{version}-%{release} +Obsoletes: ansible-python3 < %{version}-%{release} %if 0%{?with_tests} # @@ -54,6 +63,7 @@ BuildRequires: python3-sphinx BuildRequires: python3-sphinx-theme-alabaster BuildRequires: python3-sphinx-notfound-page BuildRequires: asciidoc +BuildRequires: python3-straight-plugin %endif BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -108,14 +118,13 @@ This package installs extensive documentation for ansible %autosetup -p1 -n %{name}-%{version} %build + +# Fix some files shebangs +sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' test/lib/ansible_test/_data/*.py test/lib/ansible_test/_data/*/*.py test/lib/ansible_test/_data/*/*/*.py docs/bin/find-plugin-refs.py + %py3_build -sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' docs/bin/*.py - -ls -l /usr/bin/python* - %if 0%{?with_docs} - pathfix.py -i %{__python3} -p docs/bin test/runner make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs %else make PYTHON=/usr/bin/python3 -Cdocs/docsite config cli keywords modules plugins testing @@ -175,8 +184,7 @@ cp -pr docs/docsite/rst . %check %if 0%{?with_tests} ln -s /usr/bin/pytest-3 bin/pytest -pathfix.py -i %{__python3} -p test/runner -pathfix.py -i %{__python3} -p bin/ansible-test +pathfix.py -i %{__python3} -p test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py # This test needs a module not packaged in Fedora so disable it. rm -f test/units/modules/cloud/cloudstack/test_cs_traffic_type.py %if 0%{?fedora} < 30 @@ -189,12 +197,13 @@ make PYTHON=/usr/bin/python3 tests-py3 %files %license COPYING -%doc README.rst PKG-INFO changelogs/CHANGELOG-v2.8.rst +%doc README.rst PKG-INFO changelogs/CHANGELOG-v2.9.rst %doc %{_mandir}/man1/ansible* %config(noreplace) %{_sysconfdir}/ansible/ %{_bindir}/ansible* %{_datadir}/ansible/ %{python3_sitelib}/ansible +%{python3_sitelib}/ansible_test %{python3_sitelib}/*egg-info %files -n ansible-doc @@ -204,6 +213,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Thu Oct 31 2019 Kevin Fenzi - 2.9.0-1 +- Update to 2.9.0. + * Thu Oct 17 2019 Kevin Fenzi - 2.8.6-1 - Update to 2.8.6. - Rework spec file to drop old conditionals. diff --git a/sources b/sources index 90d4c47..88bb11d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.6.tar.gz) = 8e29644b4651e72bd3fbd4ca91c2a36b76e5dde9bb445d3c6e0061c315eb66e1bc507729b70d82998c1cbb25f3ef0e20d281ab8354a047193e60bf4831938418 +SHA512 (ansible-2.9.0.tar.gz) = 47e0738bbf9918254d7b33ddc0a8f89a101995ccc3cb846be9ff10bdbc7687fb8a5390d8b976b3ce17fa1325ab63a592161b026d5d943a01f8a5803fca67312a From 8b64ada50bfc1b918f5ed21f1b5ec64c92592a70 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 8 Nov 2019 16:54:46 -0800 Subject: [PATCH 003/177] Supress pwsh requires added by rpm. --- ansible.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index fe21749..3898fda 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -122,6 +122,11 @@ This package installs extensive documentation for ansible # Fix some files shebangs sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' test/lib/ansible_test/_data/*.py test/lib/ansible_test/_data/*/*.py test/lib/ansible_test/_data/*/*/*.py docs/bin/find-plugin-refs.py +# These we have to supress or the package will depend on /usr/bin/pwsh and not be installable. +sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/ps_argspec.ps1 +sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/sanity/pslint/pslint.ps1 +sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/requirements/sanity.ps1 + %py3_build %if 0%{?with_docs} @@ -213,6 +218,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Fri Nov 08 2019 Kevin Fenzi - 2.9.0-2 +- Supress pwsh requires added by rpm. + * Thu Oct 31 2019 Kevin Fenzi - 2.9.0-1 - Update to 2.9.0. From 2ffc66d64fd0b857fed2d09a48ab577ab5fac27d Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 13 Nov 2019 18:21:30 -0800 Subject: [PATCH 004/177] Update to 2.9.1. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ff36be9..b8f2202 100644 --- a/.gitignore +++ b/.gitignore @@ -86,3 +86,4 @@ /ansible-2.8.5.tar.gz /ansible-2.8.6.tar.gz /ansible-2.9.0.tar.gz +/ansible-2.9.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 3898fda..6391ed3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,8 +17,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.0 -Release: 2%{?dist} +Version: 2.9.1 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -218,6 +218,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Wed Nov 13 2019 Kevin Fenzi - 2.9.1-1 +- Update to 2.9.1. + * Fri Nov 08 2019 Kevin Fenzi - 2.9.0-2 - Supress pwsh requires added by rpm. diff --git a/sources b/sources index 88bb11d..777d217 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.0.tar.gz) = 47e0738bbf9918254d7b33ddc0a8f89a101995ccc3cb846be9ff10bdbc7687fb8a5390d8b976b3ce17fa1325ab63a592161b026d5d943a01f8a5803fca67312a +SHA512 (ansible-2.9.1.tar.gz) = fdb25017b96475a6c182bba2f32050f0eaa6f22d17f166b98ce0f0cb40fd12dbbc5ede9912624fa4c5d4a8de472b28c2eb2b569700537c7d4b4c568d7e38f21b From bc604ab062bf03654688b6769c06142bebf2982e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 8 Dec 2019 12:35:00 -0800 Subject: [PATCH 005/177] Update to 2.9.2. --- .gitignore | 1 + ansible.spec | 11 +++++++++-- sources | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b8f2202..c96ba6b 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,4 @@ /ansible-2.8.6.tar.gz /ansible-2.9.0.tar.gz /ansible-2.9.1.tar.gz +/ansible-2.9.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 6391ed3..bd64996 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.1 +Version: 2.9.2 Release: 1%{?dist} License: GPLv3+ @@ -78,7 +78,7 @@ BuildRequires: python3-pytest-mock BuildRequires: python3-requests BuildRequires: python3-mock BuildRequires: python3-jinja2 -BuildRequires: python3-PyYAML +BuildRequires: python3-pyyaml BuildRequires: python3-cryptography # RHEL8 doesn't have python3-paramiko or python3-winrm (yet), but Fedora does @@ -90,6 +90,7 @@ Recommends: python3-winrm Requires: python3-setuptools Requires: python3-six Requires: python3-jinja2 +Requires: python3-pyyaml Requires: sshpass # needed for json_query filter Requires: python3-jmespath @@ -218,6 +219,12 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Sun Dec 08 2019 Kevin Fenzi - 2.9.2-1 +- Update to 2.9.2. + +* Thu Nov 14 2019 Kevin Fenzi - 2.9.1-2 +- Add Requires for python3-pyyaml + * Wed Nov 13 2019 Kevin Fenzi - 2.9.1-1 - Update to 2.9.1. diff --git a/sources b/sources index 777d217..1389343 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.1.tar.gz) = fdb25017b96475a6c182bba2f32050f0eaa6f22d17f166b98ce0f0cb40fd12dbbc5ede9912624fa4c5d4a8de472b28c2eb2b569700537c7d4b4c568d7e38f21b +SHA512 (ansible-2.9.2.tar.gz) = 522dd84af9493ceafd95ff0fc806a671f3d1f10d0ca074ef41875eb966d39e64b834e0b98a35d81d9d9d96efef8069db604c8080ce8cbb1ce2e8b13bf5c30a6a From f3a4fa45682987547374300bdcfba9fbb942b323 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 19 Jan 2020 19:05:29 -0800 Subject: [PATCH 006/177] Update to 2.9.3. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c96ba6b..1541067 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,4 @@ /ansible-2.9.0.tar.gz /ansible-2.9.1.tar.gz /ansible-2.9.2.tar.gz +/ansible-2.9.3.tar.gz diff --git a/ansible.spec b/ansible.spec index bd64996..981e76c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.2 +Version: 2.9.3 Release: 1%{?dist} License: GPLv3+ @@ -219,6 +219,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Thu Jan 16 2020 Kevin Fenzi - 2.9.3-1 +- Update to 2.9.3. + * Sun Dec 08 2019 Kevin Fenzi - 2.9.2-1 - Update to 2.9.2. diff --git a/sources b/sources index 1389343..792f218 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.2.tar.gz) = 522dd84af9493ceafd95ff0fc806a671f3d1f10d0ca074ef41875eb966d39e64b834e0b98a35d81d9d9d96efef8069db604c8080ce8cbb1ce2e8b13bf5c30a6a +SHA512 (ansible-2.9.3.tar.gz) = 02cfa2c7c43506dc602e92aed66c920243222b82bc4852f1a4d786cd3ff26fe17eda18d35ac7301cd9bf26366df9b18776e2a27e8d54fc92c3128f52ec7f58e8 From 15659973b4cda756f25d324fd19c3f8e568cffa4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 21 Jan 2020 17:17:18 -0800 Subject: [PATCH 007/177] Update to 2.9.4 with one bugfix. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1541067..4c56856 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,4 @@ /ansible-2.9.1.tar.gz /ansible-2.9.2.tar.gz /ansible-2.9.3.tar.gz +/ansible-2.9.4.tar.gz diff --git a/ansible.spec b/ansible.spec index 981e76c..fd866dc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.3 +Version: 2.9.4 Release: 1%{?dist} License: GPLv3+ @@ -219,6 +219,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Tue Jan 21 2020 Kevin Fenzi - 2.9.4-1 +- Update to 2.9.4 with one bugfix. + * Thu Jan 16 2020 Kevin Fenzi - 2.9.3-1 - Update to 2.9.3. diff --git a/sources b/sources index 792f218..e46e155 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.3.tar.gz) = 02cfa2c7c43506dc602e92aed66c920243222b82bc4852f1a4d786cd3ff26fe17eda18d35ac7301cd9bf26366df9b18776e2a27e8d54fc92c3128f52ec7f58e8 +SHA512 (ansible-2.9.4.tar.gz) = 21020548100fc31b59d4ee1b461f2a14359f2f18752d431cd041eb987c8c8b308f1aa1687461a9b3f5a086485b77b3a38c8f006b942cc24cb2157b45e6582822 From 795f49748e835f8052ca7abbc5b5813097aa70c0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 11:36:31 +0000 Subject: [PATCH 008/177] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_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 fd866dc..4638239 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.4 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -219,6 +219,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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. From 04f609682192fbb27134574de604afeb4338998d Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 13 Feb 2020 13:50:40 -0800 Subject: [PATCH 009/177] Update to 2.9.5. Fixes bug #1802725 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4c56856..ebe3868 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,4 @@ /ansible-2.9.2.tar.gz /ansible-2.9.3.tar.gz /ansible-2.9.4.tar.gz +/ansible-2.9.5.tar.gz diff --git a/ansible.spec b/ansible.spec index 4638239..ae68a19 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,8 +17,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.4 -Release: 2%{?dist} +Version: 2.9.5 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -219,6 +219,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 diff --git a/sources b/sources index e46e155..d10d82b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.4.tar.gz) = 21020548100fc31b59d4ee1b461f2a14359f2f18752d431cd041eb987c8c8b308f1aa1687461a9b3f5a086485b77b3a38c8f006b942cc24cb2157b45e6582822 +SHA512 (ansible-2.9.5.tar.gz) = cd2ce807b3136e2c02856339ea910b0a5cae8ca946da804ed7d3ec5725d3eff0fe5b4bd8527b2a17d6f3109e16859d52045b50f2ffd21169b30768e65b813407 From caaa9540787bb2353e9eb0e288cc886193356b9b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 6 Mar 2020 15:04:11 -0800 Subject: [PATCH 010/177] Update to 2.9.6. Fixes bug #1810373 fixes for CVE-2020-1737, CVE-2020-1739 --- .gitignore | 1 + 67829.patch | 109 ++++++++++ 67935.patch | 191 ++++++++++++++++++ ...ild_requirement_from_path_no_version.patch | 78 +++++++ ansible.spec | 19 +- sources | 2 +- 6 files changed, 393 insertions(+), 7 deletions(-) create mode 100644 67829.patch create mode 100644 67935.patch create mode 100644 ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch diff --git a/.gitignore b/.gitignore index ebe3868..755267d 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,4 @@ /ansible-2.9.3.tar.gz /ansible-2.9.4.tar.gz /ansible-2.9.5.tar.gz +/ansible-2.9.6.tar.gz diff --git a/67829.patch b/67829.patch new file mode 100644 index 0000000..87bb60f --- /dev/null +++ b/67829.patch @@ -0,0 +1,109 @@ +From b36f6897b4b959bc6306214f82a213a466d2cda6 Mon Sep 17 00:00:00 2001 +From: s-hertel +Date: Thu, 27 Feb 2020 15:21:37 -0500 +Subject: [PATCH 1/2] subversion module - provide password securely with svn + command line option --password-from-stdin when possible, and provide a + warning otherwise + +--- + changelogs/fragments/subversion_password.yaml | 9 ++++++++ + .../modules/source_control/subversion.py | 21 ++++++++++++++++--- + 2 files changed, 27 insertions(+), 3 deletions(-) + create mode 100644 changelogs/fragments/subversion_password.yaml + +diff --git a/changelogs/fragments/subversion_password.yaml b/changelogs/fragments/subversion_password.yaml +new file mode 100644 +index 0000000000000..42e09fb1a0752 +--- /dev/null ++++ b/changelogs/fragments/subversion_password.yaml +@@ -0,0 +1,9 @@ ++bugfixes: ++- > ++ **security issue** - The ``subversion`` module provided the password ++ via the svn command line option ``--password`` and can be retrieved ++ from the host's /proc//cmdline file. Update the module to use ++ the secure ``--password-from-stdin`` option instead, and add a warning ++ in the module and in the documentation if svn version is too old to ++ support it. ++ (CVE-2020-1739) +diff --git a/lib/ansible/modules/source_control/subversion.py b/lib/ansible/modules/source_control/subversion.py +index c7625f620263c..bcd6cdec7c6f1 100644 +--- a/lib/ansible/modules/source_control/subversion.py ++++ b/lib/ansible/modules/source_control/subversion.py +@@ -56,7 +56,9 @@ + - C(--username) parameter passed to svn. + password: + description: +- - C(--password) parameter passed to svn. ++ - C(--password) parameter passed to svn when svn is less than version 1.10.0. This is not secure and ++ the password will be leaked to argv. ++ - C(--password-from-stdin) parameter when svn is greater or equal to version 1.10.0. + executable: + description: + - Path to svn executable to use. If not supplied, +@@ -111,6 +113,8 @@ + import os + import re + ++from distutils.version import LooseVersion ++ + from ansible.module_utils.basic import AnsibleModule + + +@@ -124,6 +128,10 @@ def __init__(self, module, dest, repo, revision, username, password, svn_path): + self.password = password + self.svn_path = svn_path + ++ def has_option_password_from_stdin(self): ++ rc, version, err = self.module.run_command([self.svn_path, '--version', '--quiet'], check_rc=True) ++ return LooseVersion(version) >= LooseVersion('1.10.0') ++ + def _exec(self, args, check_rc=True): + '''Execute a subversion command, and return output. If check_rc is False, returns the return code instead of the output.''' + bits = [ +@@ -132,12 +140,19 @@ def _exec(self, args, check_rc=True): + '--trust-server-cert', + '--no-auth-cache', + ] ++ stdin_data = None + if self.username: + bits.extend(["--username", self.username]) + if self.password: +- bits.extend(["--password", self.password]) ++ if self.has_option_password_from_stdin(): ++ bits.extend(["--password-from-stdin"]) ++ stdin_data = self.password ++ else: ++ self.module.warn("The authentication provided will be used on the svn command line and is not secure. " ++ "To securely pass credentials, upgrade svn to version 1.10.0 or greater.") ++ bits.extend(["--password", self.password]) + bits.extend(args) +- rc, out, err = self.module.run_command(bits, check_rc) ++ rc, out, err = self.module.run_command(bits, check_rc, data=stdin_data) + + if check_rc: + return out.splitlines() + +From 001892f3cdd5a43d13fed10ec419be1360815104 Mon Sep 17 00:00:00 2001 +From: Sloane Hertel +Date: Mon, 2 Mar 2020 15:23:44 -0500 +Subject: [PATCH 2/2] Update lib/ansible/modules/source_control/subversion.py + +Co-Authored-By: Sam Doran +--- + lib/ansible/modules/source_control/subversion.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/ansible/modules/source_control/subversion.py b/lib/ansible/modules/source_control/subversion.py +index bcd6cdec7c6f1..1e60529a062e3 100644 +--- a/lib/ansible/modules/source_control/subversion.py ++++ b/lib/ansible/modules/source_control/subversion.py +@@ -145,7 +145,7 @@ def _exec(self, args, check_rc=True): + bits.extend(["--username", self.username]) + if self.password: + if self.has_option_password_from_stdin(): +- bits.extend(["--password-from-stdin"]) ++ bits.append("--password-from-stdin") + stdin_data = self.password + else: + self.module.warn("The authentication provided will be used on the svn command line and is not secure. " diff --git a/67935.patch b/67935.patch new file mode 100644 index 0000000..f44ec26 --- /dev/null +++ b/67935.patch @@ -0,0 +1,191 @@ +From aaf549d7870b8687209a3282841b59207735b676 Mon Sep 17 00:00:00 2001 +From: Sam Doran +Date: Fri, 28 Feb 2020 17:56:21 -0500 +Subject: [PATCH] win_unzip - normalize and compare paths to prevent path + traversal (#67799) + +* Actually inspect the paths and prevent escape +* Add integration tests +* Generate zip files for use in integration test +* Adjust error message + +(cherry picked from commit d30c57ab22db24f6901166fcc3155667bdd3443f) +--- + .../win-unzip-check-extraction-path.yml | 4 ++ + lib/ansible/modules/windows/win_unzip.ps1 | 9 +++ + .../files/create_crafty_zip_files.py | 65 +++++++++++++++++++ + .../targets/win_unzip/tasks/main.yml | 57 +++++++++++++++- + 4 files changed, 134 insertions(+), 1 deletion(-) + create mode 100644 changelogs/fragments/win-unzip-check-extraction-path.yml + create mode 100644 test/integration/targets/win_unzip/files/create_crafty_zip_files.py + +diff --git a/changelogs/fragments/win-unzip-check-extraction-path.yml b/changelogs/fragments/win-unzip-check-extraction-path.yml +new file mode 100644 +index 0000000000000..1a6b6133d66b9 +--- /dev/null ++++ b/changelogs/fragments/win-unzip-check-extraction-path.yml +@@ -0,0 +1,4 @@ ++bugfixes: ++ - > ++ **security issue** win_unzip - normalize paths in archive to ensure extracted ++ files do not escape from the target directory (CVE-2020-1737) +diff --git a/lib/ansible/modules/windows/win_unzip.ps1 b/lib/ansible/modules/windows/win_unzip.ps1 +index 234c774c3a6cb..b49e808845d73 100644 +--- a/lib/ansible/modules/windows/win_unzip.ps1 ++++ b/lib/ansible/modules/windows/win_unzip.ps1 +@@ -40,6 +40,15 @@ Function Extract-Zip($src, $dest) { + $entry_target_path = [System.IO.Path]::Combine($dest, $archive_name) + $entry_dir = [System.IO.Path]::GetDirectoryName($entry_target_path) + ++ # Normalize paths for further evaluation ++ $full_target_path = [System.IO.Path]::GetFullPath($entry_target_path) ++ $full_dest_path = [System.IO.Path]::GetFullPath($dest + [System.IO.Path]::DirectorySeparatorChar) ++ ++ # Ensure file in the archive does not escape the extraction path ++ if (-not $full_target_path.StartsWith($full_dest_path)) { ++ Fail-Json -obj $result -message "Error unzipping '$src' to '$dest'! Filename contains relative paths which would extract outside the destination: $entry_target_path" ++ } ++ + if (-not (Test-Path -LiteralPath $entry_dir)) { + New-Item -Path $entry_dir -ItemType Directory -WhatIf:$check_mode | Out-Null + $result.changed = $true +diff --git a/test/integration/targets/win_unzip/files/create_crafty_zip_files.py b/test/integration/targets/win_unzip/files/create_crafty_zip_files.py +new file mode 100644 +index 0000000000000..8845b486294c3 +--- /dev/null ++++ b/test/integration/targets/win_unzip/files/create_crafty_zip_files.py +@@ -0,0 +1,65 @@ ++#!/usr/bin/env python ++# -*- coding: utf-8 -*- ++ ++# Copyright (c) 2020 Ansible Project ++# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ++ ++from __future__ import absolute_import, division, print_function ++__metaclass__ = type ++ ++import os ++import shutil ++import sys ++import zipfile ++ ++# Each key is a zip file and the vaule is the list of files that will be created ++# and placed in the archive ++zip_files = { ++ 'hat1': [r'hat/..\rabbit.txt'], ++ 'hat2': [r'hat/..\..\rabbit.txt'], ++ 'handcuffs': [r'..\..\houidini.txt'], ++ 'prison': [r'..\houidini.txt'], ++} ++ ++# Accept an argument of where to create the files, defaulting to ++# the current working directory. ++try: ++ output_dir = sys.argv[1] ++except IndexError: ++ output_dir = os.getcwd() ++ ++if not os.path.isdir(output_dir): ++ os.mkdir(output_dir) ++ ++os.chdir(output_dir) ++ ++for name, files in zip_files.items(): ++ # Create the files to go in the zip archive ++ for entry in files: ++ dirname = os.path.dirname(entry) ++ if dirname: ++ if os.path.isdir(dirname): ++ shutil.rmtree(dirname) ++ os.mkdir(dirname) ++ ++ with open(entry, 'w') as e: ++ e.write('escape!\n') ++ ++ # Create the zip archive with the files ++ filename = '%s.zip' % name ++ if os.path.isfile(filename): ++ os.unlink(filename) ++ ++ with zipfile.ZipFile(filename, 'w') as zf: ++ for entry in files: ++ zf.write(entry) ++ ++ # Cleanup ++ if dirname: ++ shutil.rmtree(dirname) ++ ++ for entry in files: ++ try: ++ os.unlink(entry) ++ except OSError: ++ pass +diff --git a/test/integration/targets/win_unzip/tasks/main.yml b/test/integration/targets/win_unzip/tasks/main.yml +index 2dab84be563b0..a9b8f1ca22998 100644 +--- a/test/integration/targets/win_unzip/tasks/main.yml ++++ b/test/integration/targets/win_unzip/tasks/main.yml +@@ -1,4 +1,3 @@ +---- + - name: create test directory + win_file: + path: '{{ win_unzip_dir }}\output' +@@ -114,3 +113,59 @@ + - unzip_delete is changed + - unzip_delete.removed + - not unzip_delete_actual.stat.exists ++ ++# Path traversal tests (CVE-2020-1737) ++- name: Create zip files ++ script: create_crafty_zip_files.py {{ output_dir }} ++ delegate_to: localhost ++ ++- name: Copy zip files to Windows host ++ win_copy: ++ src: "{{ output_dir }}/{{ item }}.zip" ++ dest: "{{ win_unzip_dir }}/" ++ loop: ++ - hat1 ++ - hat2 ++ - handcuffs ++ - prison ++ ++- name: Perform first trick ++ win_unzip: ++ src: '{{ win_unzip_dir }}\hat1.zip' ++ dest: '{{ win_unzip_dir }}\output' ++ register: hat_trick1 ++ ++- name: Check for file ++ win_stat: ++ path: '{{ win_unzip_dir }}\output\rabbit.txt' ++ register: rabbit ++ ++- name: Perform next tricks (which should all fail) ++ win_unzip: ++ src: '{{ win_unzip_dir }}\{{ item }}.zip' ++ dest: '{{ win_unzip_dir }}\output' ++ ignore_errors: yes ++ register: escape ++ loop: ++ - hat2 ++ - handcuffs ++ - prison ++ ++- name: Search for files ++ win_find: ++ recurse: yes ++ paths: ++ - '{{ win_unzip_dir }}' ++ patterns: ++ - '*houdini.txt' ++ - '*rabbit.txt' ++ register: files ++ ++- name: Check results ++ assert: ++ that: ++ - rabbit.stat.exists ++ - hat_trick1 is success ++ - escape.results | map(attribute='failed') | unique | list == [True] ++ - files.matched == 1 ++ - files.files[0]['filename'] == 'rabbit.txt' diff --git a/ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch b/ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch new file mode 100644 index 0000000..9cbed83 --- /dev/null +++ b/ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch @@ -0,0 +1,78 @@ +diff -Nur ansible-2.9.6.orig/test/units/galaxy/test_collection_install.py ansible-2.9.6/test/units/galaxy/test_collection_install.py +--- ansible-2.9.6.orig/test/units/galaxy/test_collection_install.py 2020-03-04 21:40:01.000000000 -0800 ++++ ansible-2.9.6/test/units/galaxy/test_collection_install.py 2020-03-06 13:35:48.489822740 -0800 +@@ -204,40 +204,40 @@ + collection.CollectionRequirement.from_path(collection_artifact[0], True) + + +-def test_build_requirement_from_path_no_version(collection_artifact, monkeypatch): +- manifest_path = os.path.join(collection_artifact[0], b'MANIFEST.json') +- manifest_value = json.dumps({ +- 'collection_info': { +- 'namespace': 'namespace', +- 'name': 'name', +- 'version': '', +- 'dependencies': {} +- } +- }) +- with open(manifest_path, 'wb') as manifest_obj: +- manifest_obj.write(to_bytes(manifest_value)) +- +- mock_display = MagicMock() +- monkeypatch.setattr(Display, 'display', mock_display) +- +- actual = collection.CollectionRequirement.from_path(collection_artifact[0], True) +- +- # While the folder name suggests a different collection, we treat MANIFEST.json as the source of truth. +- assert actual.namespace == u'namespace' +- assert actual.name == u'name' +- assert actual.b_path == collection_artifact[0] +- assert actual.api is None +- assert actual.skip is True +- assert actual.versions == set(['*']) +- assert actual.latest_version == u'*' +- assert actual.dependencies == {} +- +- assert mock_display.call_count == 1 +- +- actual_warn = ' '.join(mock_display.mock_calls[0][1][0].split('\n')) +- expected_warn = "Collection at '%s' does not have a valid version set, falling back to '*'. Found version: ''" \ +- % to_text(collection_artifact[0]) +- assert expected_warn in actual_warn ++#def test_build_requirement_from_path_no_version(collection_artifact, monkeypatch): ++# manifest_path = os.path.join(collection_artifact[0], b'MANIFEST.json') ++# manifest_value = json.dumps({ ++# 'collection_info': { ++# 'namespace': 'namespace', ++# 'name': 'name', ++# 'version': '', ++# 'dependencies': {} ++# } ++# }) ++# with open(manifest_path, 'wb') as manifest_obj: ++# manifest_obj.write(to_bytes(manifest_value)) ++# ++# mock_display = MagicMock() ++# monkeypatch.setattr(Display, 'display', mock_display) ++# ++# actual = collection.CollectionRequirement.from_path(collection_artifact[0], True) ++# ++# # While the folder name suggests a different collection, we treat MANIFEST.json as the source of truth. ++# assert actual.namespace == u'namespace' ++# assert actual.name == u'name' ++# assert actual.b_path == collection_artifact[0] ++# assert actual.api is None ++# assert actual.skip is True ++# assert actual.versions == set(['*']) ++# assert actual.latest_version == u'*' ++# assert actual.dependencies == {} ++# ++# assert mock_display.call_count == 1 ++# ++# actual_warn = ' '.join(mock_display.mock_calls[0][1][0].split('\n')) ++# expected_warn = "Collection at '%s' does not have a valid version set, falling back to '*'. Found version: ''" \ ++# % to_text(collection_artifact[0]) ++# assert expected_warn in actual_warn + + + def test_build_requirement_from_tar(collection_artifact): diff --git a/ansible.spec b/ansible.spec index ae68a19..2069d65 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.5 +Version: 2.9.6 Release: 1%{?dist} License: GPLv3+ @@ -25,6 +25,14 @@ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz Url: http://ansible.com BuildArch: noarch +# fix for CVE-2020-1737, https://github.com/ansible/ansible/pull/67935 +Patch0: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/67935.patch + +# fix for CVE-2020-1739, https://github.com/ansible/ansible/pull/67829 +Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/67829.patch + +# Disable failing test +Patch2: ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch # We used to have a ansible-python3 package that a number of other things # started depending on, so we should now provide/obsolete it until they # can all adjust to just needing ansible. @@ -193,11 +201,6 @@ ln -s /usr/bin/pytest-3 bin/pytest pathfix.py -i %{__python3} -p test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py # This test needs a module not packaged in Fedora so disable it. rm -f test/units/modules/cloud/cloudstack/test_cs_traffic_type.py -%if 0%{?fedora} < 30 -# In fedora 29 and eariler, python-gitlab is too old to run these tests -rm -f test/units/modules/source_control/test_gitlab_user.py -rm -f test/units/modules/source_control/test_gitlab_runner.py -%endif make PYTHON=/usr/bin/python3 tests-py3 %endif @@ -219,6 +222,10 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Fri Mar 06 2020 Kevin Fenzi - 2.9.6-1 +- Update to 2.9.6. Fixes bug #1810373 +- 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 diff --git a/sources b/sources index d10d82b..8d89c0b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.5.tar.gz) = cd2ce807b3136e2c02856339ea910b0a5cae8ca946da804ed7d3ec5725d3eff0fe5b4bd8527b2a17d6f3109e16859d52045b50f2ffd21169b30768e65b813407 +SHA512 (ansible-2.9.6.tar.gz) = 7111fd72b4e029b2f661bfb849b4323b69ea796f8a069ad3120e8de390effa670180c69ca0fd5e0a1c2e444db6d574a52d530a2b0343c76cd81ba963b3c3a7cb From fb103893f45137759c638614c7964d28ee705d90 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 17 Apr 2020 19:47:06 -0700 Subject: [PATCH 011/177] 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. --- 67829.patch | 109 ----------------------------- 67935.patch | 191 --------------------------------------------------- ansible.spec | 16 +++-- 3 files changed, 9 insertions(+), 307 deletions(-) delete mode 100644 67829.patch delete mode 100644 67935.patch diff --git a/67829.patch b/67829.patch deleted file mode 100644 index 87bb60f..0000000 --- a/67829.patch +++ /dev/null @@ -1,109 +0,0 @@ -From b36f6897b4b959bc6306214f82a213a466d2cda6 Mon Sep 17 00:00:00 2001 -From: s-hertel -Date: Thu, 27 Feb 2020 15:21:37 -0500 -Subject: [PATCH 1/2] subversion module - provide password securely with svn - command line option --password-from-stdin when possible, and provide a - warning otherwise - ---- - changelogs/fragments/subversion_password.yaml | 9 ++++++++ - .../modules/source_control/subversion.py | 21 ++++++++++++++++--- - 2 files changed, 27 insertions(+), 3 deletions(-) - create mode 100644 changelogs/fragments/subversion_password.yaml - -diff --git a/changelogs/fragments/subversion_password.yaml b/changelogs/fragments/subversion_password.yaml -new file mode 100644 -index 0000000000000..42e09fb1a0752 ---- /dev/null -+++ b/changelogs/fragments/subversion_password.yaml -@@ -0,0 +1,9 @@ -+bugfixes: -+- > -+ **security issue** - The ``subversion`` module provided the password -+ via the svn command line option ``--password`` and can be retrieved -+ from the host's /proc//cmdline file. Update the module to use -+ the secure ``--password-from-stdin`` option instead, and add a warning -+ in the module and in the documentation if svn version is too old to -+ support it. -+ (CVE-2020-1739) -diff --git a/lib/ansible/modules/source_control/subversion.py b/lib/ansible/modules/source_control/subversion.py -index c7625f620263c..bcd6cdec7c6f1 100644 ---- a/lib/ansible/modules/source_control/subversion.py -+++ b/lib/ansible/modules/source_control/subversion.py -@@ -56,7 +56,9 @@ - - C(--username) parameter passed to svn. - password: - description: -- - C(--password) parameter passed to svn. -+ - C(--password) parameter passed to svn when svn is less than version 1.10.0. This is not secure and -+ the password will be leaked to argv. -+ - C(--password-from-stdin) parameter when svn is greater or equal to version 1.10.0. - executable: - description: - - Path to svn executable to use. If not supplied, -@@ -111,6 +113,8 @@ - import os - import re - -+from distutils.version import LooseVersion -+ - from ansible.module_utils.basic import AnsibleModule - - -@@ -124,6 +128,10 @@ def __init__(self, module, dest, repo, revision, username, password, svn_path): - self.password = password - self.svn_path = svn_path - -+ def has_option_password_from_stdin(self): -+ rc, version, err = self.module.run_command([self.svn_path, '--version', '--quiet'], check_rc=True) -+ return LooseVersion(version) >= LooseVersion('1.10.0') -+ - def _exec(self, args, check_rc=True): - '''Execute a subversion command, and return output. If check_rc is False, returns the return code instead of the output.''' - bits = [ -@@ -132,12 +140,19 @@ def _exec(self, args, check_rc=True): - '--trust-server-cert', - '--no-auth-cache', - ] -+ stdin_data = None - if self.username: - bits.extend(["--username", self.username]) - if self.password: -- bits.extend(["--password", self.password]) -+ if self.has_option_password_from_stdin(): -+ bits.extend(["--password-from-stdin"]) -+ stdin_data = self.password -+ else: -+ self.module.warn("The authentication provided will be used on the svn command line and is not secure. " -+ "To securely pass credentials, upgrade svn to version 1.10.0 or greater.") -+ bits.extend(["--password", self.password]) - bits.extend(args) -- rc, out, err = self.module.run_command(bits, check_rc) -+ rc, out, err = self.module.run_command(bits, check_rc, data=stdin_data) - - if check_rc: - return out.splitlines() - -From 001892f3cdd5a43d13fed10ec419be1360815104 Mon Sep 17 00:00:00 2001 -From: Sloane Hertel -Date: Mon, 2 Mar 2020 15:23:44 -0500 -Subject: [PATCH 2/2] Update lib/ansible/modules/source_control/subversion.py - -Co-Authored-By: Sam Doran ---- - lib/ansible/modules/source_control/subversion.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/ansible/modules/source_control/subversion.py b/lib/ansible/modules/source_control/subversion.py -index bcd6cdec7c6f1..1e60529a062e3 100644 ---- a/lib/ansible/modules/source_control/subversion.py -+++ b/lib/ansible/modules/source_control/subversion.py -@@ -145,7 +145,7 @@ def _exec(self, args, check_rc=True): - bits.extend(["--username", self.username]) - if self.password: - if self.has_option_password_from_stdin(): -- bits.extend(["--password-from-stdin"]) -+ bits.append("--password-from-stdin") - stdin_data = self.password - else: - self.module.warn("The authentication provided will be used on the svn command line and is not secure. " diff --git a/67935.patch b/67935.patch deleted file mode 100644 index f44ec26..0000000 --- a/67935.patch +++ /dev/null @@ -1,191 +0,0 @@ -From aaf549d7870b8687209a3282841b59207735b676 Mon Sep 17 00:00:00 2001 -From: Sam Doran -Date: Fri, 28 Feb 2020 17:56:21 -0500 -Subject: [PATCH] win_unzip - normalize and compare paths to prevent path - traversal (#67799) - -* Actually inspect the paths and prevent escape -* Add integration tests -* Generate zip files for use in integration test -* Adjust error message - -(cherry picked from commit d30c57ab22db24f6901166fcc3155667bdd3443f) ---- - .../win-unzip-check-extraction-path.yml | 4 ++ - lib/ansible/modules/windows/win_unzip.ps1 | 9 +++ - .../files/create_crafty_zip_files.py | 65 +++++++++++++++++++ - .../targets/win_unzip/tasks/main.yml | 57 +++++++++++++++- - 4 files changed, 134 insertions(+), 1 deletion(-) - create mode 100644 changelogs/fragments/win-unzip-check-extraction-path.yml - create mode 100644 test/integration/targets/win_unzip/files/create_crafty_zip_files.py - -diff --git a/changelogs/fragments/win-unzip-check-extraction-path.yml b/changelogs/fragments/win-unzip-check-extraction-path.yml -new file mode 100644 -index 0000000000000..1a6b6133d66b9 ---- /dev/null -+++ b/changelogs/fragments/win-unzip-check-extraction-path.yml -@@ -0,0 +1,4 @@ -+bugfixes: -+ - > -+ **security issue** win_unzip - normalize paths in archive to ensure extracted -+ files do not escape from the target directory (CVE-2020-1737) -diff --git a/lib/ansible/modules/windows/win_unzip.ps1 b/lib/ansible/modules/windows/win_unzip.ps1 -index 234c774c3a6cb..b49e808845d73 100644 ---- a/lib/ansible/modules/windows/win_unzip.ps1 -+++ b/lib/ansible/modules/windows/win_unzip.ps1 -@@ -40,6 +40,15 @@ Function Extract-Zip($src, $dest) { - $entry_target_path = [System.IO.Path]::Combine($dest, $archive_name) - $entry_dir = [System.IO.Path]::GetDirectoryName($entry_target_path) - -+ # Normalize paths for further evaluation -+ $full_target_path = [System.IO.Path]::GetFullPath($entry_target_path) -+ $full_dest_path = [System.IO.Path]::GetFullPath($dest + [System.IO.Path]::DirectorySeparatorChar) -+ -+ # Ensure file in the archive does not escape the extraction path -+ if (-not $full_target_path.StartsWith($full_dest_path)) { -+ Fail-Json -obj $result -message "Error unzipping '$src' to '$dest'! Filename contains relative paths which would extract outside the destination: $entry_target_path" -+ } -+ - if (-not (Test-Path -LiteralPath $entry_dir)) { - New-Item -Path $entry_dir -ItemType Directory -WhatIf:$check_mode | Out-Null - $result.changed = $true -diff --git a/test/integration/targets/win_unzip/files/create_crafty_zip_files.py b/test/integration/targets/win_unzip/files/create_crafty_zip_files.py -new file mode 100644 -index 0000000000000..8845b486294c3 ---- /dev/null -+++ b/test/integration/targets/win_unzip/files/create_crafty_zip_files.py -@@ -0,0 +1,65 @@ -+#!/usr/bin/env python -+# -*- coding: utf-8 -*- -+ -+# Copyright (c) 2020 Ansible Project -+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -+ -+from __future__ import absolute_import, division, print_function -+__metaclass__ = type -+ -+import os -+import shutil -+import sys -+import zipfile -+ -+# Each key is a zip file and the vaule is the list of files that will be created -+# and placed in the archive -+zip_files = { -+ 'hat1': [r'hat/..\rabbit.txt'], -+ 'hat2': [r'hat/..\..\rabbit.txt'], -+ 'handcuffs': [r'..\..\houidini.txt'], -+ 'prison': [r'..\houidini.txt'], -+} -+ -+# Accept an argument of where to create the files, defaulting to -+# the current working directory. -+try: -+ output_dir = sys.argv[1] -+except IndexError: -+ output_dir = os.getcwd() -+ -+if not os.path.isdir(output_dir): -+ os.mkdir(output_dir) -+ -+os.chdir(output_dir) -+ -+for name, files in zip_files.items(): -+ # Create the files to go in the zip archive -+ for entry in files: -+ dirname = os.path.dirname(entry) -+ if dirname: -+ if os.path.isdir(dirname): -+ shutil.rmtree(dirname) -+ os.mkdir(dirname) -+ -+ with open(entry, 'w') as e: -+ e.write('escape!\n') -+ -+ # Create the zip archive with the files -+ filename = '%s.zip' % name -+ if os.path.isfile(filename): -+ os.unlink(filename) -+ -+ with zipfile.ZipFile(filename, 'w') as zf: -+ for entry in files: -+ zf.write(entry) -+ -+ # Cleanup -+ if dirname: -+ shutil.rmtree(dirname) -+ -+ for entry in files: -+ try: -+ os.unlink(entry) -+ except OSError: -+ pass -diff --git a/test/integration/targets/win_unzip/tasks/main.yml b/test/integration/targets/win_unzip/tasks/main.yml -index 2dab84be563b0..a9b8f1ca22998 100644 ---- a/test/integration/targets/win_unzip/tasks/main.yml -+++ b/test/integration/targets/win_unzip/tasks/main.yml -@@ -1,4 +1,3 @@ ----- - - name: create test directory - win_file: - path: '{{ win_unzip_dir }}\output' -@@ -114,3 +113,59 @@ - - unzip_delete is changed - - unzip_delete.removed - - not unzip_delete_actual.stat.exists -+ -+# Path traversal tests (CVE-2020-1737) -+- name: Create zip files -+ script: create_crafty_zip_files.py {{ output_dir }} -+ delegate_to: localhost -+ -+- name: Copy zip files to Windows host -+ win_copy: -+ src: "{{ output_dir }}/{{ item }}.zip" -+ dest: "{{ win_unzip_dir }}/" -+ loop: -+ - hat1 -+ - hat2 -+ - handcuffs -+ - prison -+ -+- name: Perform first trick -+ win_unzip: -+ src: '{{ win_unzip_dir }}\hat1.zip' -+ dest: '{{ win_unzip_dir }}\output' -+ register: hat_trick1 -+ -+- name: Check for file -+ win_stat: -+ path: '{{ win_unzip_dir }}\output\rabbit.txt' -+ register: rabbit -+ -+- name: Perform next tricks (which should all fail) -+ win_unzip: -+ src: '{{ win_unzip_dir }}\{{ item }}.zip' -+ dest: '{{ win_unzip_dir }}\output' -+ ignore_errors: yes -+ register: escape -+ loop: -+ - hat2 -+ - handcuffs -+ - prison -+ -+- name: Search for files -+ win_find: -+ recurse: yes -+ paths: -+ - '{{ win_unzip_dir }}' -+ patterns: -+ - '*houdini.txt' -+ - '*rabbit.txt' -+ register: files -+ -+- name: Check results -+ assert: -+ that: -+ - rabbit.stat.exists -+ - hat_trick1 is success -+ - escape.results | map(attribute='failed') | unique | list == [True] -+ - files.matched == 1 -+ - files.files[0]['filename'] == 'rabbit.txt' diff --git a/ansible.spec b/ansible.spec index 2069d65..afef83d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.6 +Version: 2.9.7 Release: 1%{?dist} License: GPLv3+ @@ -25,14 +25,9 @@ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz Url: http://ansible.com BuildArch: noarch -# fix for CVE-2020-1737, https://github.com/ansible/ansible/pull/67935 -Patch0: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/67935.patch - -# fix for CVE-2020-1739, https://github.com/ansible/ansible/pull/67829 -Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/67829.patch - # Disable failing test Patch2: ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch + # We used to have a ansible-python3 package that a number of other things # started depending on, so we should now provide/obsolete it until they # can all adjust to just needing ansible. @@ -136,6 +131,8 @@ sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/sanity/validate-mo sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/sanity/pslint/pslint.ps1 sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/requirements/sanity.ps1 +# disable the python -s shbang flag as we want to be able to find non system modules +%global py3_shbang_opts %(echo %{py3_shbang_opts} | sed 's/-s//') %py3_build %if 0%{?with_docs} @@ -222,6 +219,11 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Fri Apr 17 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. + * Fri Mar 06 2020 Kevin Fenzi - 2.9.6-1 - Update to 2.9.6. Fixes bug #1810373 - fixes for CVE-2020-1737, CVE-2020-1739 From 8b36136ff89dd7dd10cf951115ad214984e1fc3e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 17 Apr 2020 19:48:09 -0700 Subject: [PATCH 012/177] also upload sources Signed-off-by: Kevin Fenzi --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 755267d..ce79bbc 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,4 @@ /ansible-2.9.4.tar.gz /ansible-2.9.5.tar.gz /ansible-2.9.6.tar.gz +/ansible-2.9.7.tar.gz diff --git a/sources b/sources index 8d89c0b..40a73a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.6.tar.gz) = 7111fd72b4e029b2f661bfb849b4323b69ea796f8a069ad3120e8de390effa670180c69ca0fd5e0a1c2e444db6d574a52d530a2b0343c76cd81ba963b3c3a7cb +SHA512 (ansible-2.9.7.tar.gz) = ce029441bcafdc5b44c9fda69f183d4defea84ead5628164caf87306cb97efec68c11b2cce728e90f28290640c320549486a6b4e823710f638d1d2e7c35675a4 From db3f8ce6dcb8907cf9e5e06ee399a18c6696887a Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 19 Apr 2020 11:48:20 +0200 Subject: [PATCH 013/177] Add macros for packaging Ansible collections Signed-off-by: Igor Raits --- ansible-generator | 27 +++++++++++++++++++++++++++ ansible.attr | 3 +++ ansible.spec | 16 +++++++++++++++- macros.ansible | 7 +++++++ 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100755 ansible-generator create mode 100644 ansible.attr create mode 100644 macros.ansible diff --git a/ansible-generator b/ansible-generator new file mode 100755 index 0000000..c65c5e4 --- /dev/null +++ b/ansible-generator @@ -0,0 +1,27 @@ +#!/usr/bin/python3 + +import argparse +import json +import sys + +def main(): + parser = argparse.ArgumentParser() + group = parser.add_mutually_exclusive_group(required=True) + group.add_argument("-P", "--provides", action="store_const", const="provides", dest="action") + group.add_argument("-R", "--requires", action="store_const", const="requires", dest="action") + args = parser.parse_args() + + files = sys.stdin.read().splitlines() + + for f in files: + with open(f, "r") as fobj: + info = json.load(fobj)['collection_info'] + if args.action == "provides": + print(f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}") + if args.action == "requires": + print("(ansible >= 2.9.0 with ansible < 2.10.0)") + if info['dependencies']: + raise NotImplementedError('Generation of dependencies is not supported yet') + +if __name__ == "__main__": + main() diff --git a/ansible.attr b/ansible.attr new file mode 100644 index 0000000..997dafa --- /dev/null +++ b/ansible.attr @@ -0,0 +1,3 @@ +%__ansible_provides %{_rpmconfigdir}/ansible-generator --provides +%__ansible_requires %{_rpmconfigdir}/ansible-generator --requires +%__ansible_path ^%{_datadir}/ansible/collections/ansible_collections/[^/]+/[^/]+/MANIFEST.json$ diff --git a/ansible.spec b/ansible.spec index afef83d..f298686 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,10 +18,13 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.7 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +Source1: ansible.attr +Source2: ansible-generator +Source3: macros.ansible Url: http://ansible.com BuildArch: noarch @@ -120,6 +123,7 @@ This package installs extensive documentation for ansible %prep %autosetup -p1 -n %{name}-%{version} +cp -a %{S:1} %{S:2} %{S:3} . %build @@ -191,6 +195,10 @@ cp -pr docs/docsite/rst . cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html %endif +install -Dpm0644 -t %{buildroot}%{_fileattrsdir} ansible.attr +install -Dpm0644 -t %{buildroot}%{_rpmmacrodir} macros.ansible +install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} ansible-generator + %check %if 0%{?with_tests} @@ -211,6 +219,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible %{python3_sitelib}/ansible_test %{python3_sitelib}/*egg-info +%{_fileattrsdir}/ansible.attr +%{_rpmmacrodir}/macros.ansible +%{_rpmconfigdir}/ansible-generator %files -n ansible-doc %doc rst @@ -219,6 +230,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 - 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 diff --git a/macros.ansible b/macros.ansible new file mode 100644 index 0000000..c8c91fb --- /dev/null +++ b/macros.ansible @@ -0,0 +1,7 @@ +%ansible_collection_url() https://galaxy.ansible.com/%{collection_namespace}/%{collection_name} + +%ansible_collection_build() ansible-galaxy collection build + +%ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz + +%ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/ From 4c3c4174f4b3f0eb8e78d1fa1e78bde9644929a2 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 19 Apr 2020 19:35:58 +0200 Subject: [PATCH 014/177] Own /usr/share/ansible/collections/ansible_collections Signed-off-by: Igor Raits --- ansible.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index f298686..39a5161 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.7 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -151,6 +151,7 @@ make PYTHON=/usr/bin/python3 -Cdocs/docsite config cli keywords modules plugins # Create system directories that Ansible defines as default locations in # ansible/config/base.yml DATADIR_LOCATIONS='%{_datadir}/ansible/collections +%{_datadir}/ansible/collections/ansible_collections %{_datadir}/ansible/plugins/doc_fragments %{_datadir}/ansible/plugins/action %{_datadir}/ansible/plugins/become @@ -230,6 +231,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 From 6f73240689bbb59ffa85baa03ebcf02b36e3dbec Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 12 May 2020 17:04:53 -0700 Subject: [PATCH 015/177] Update to 2.9.9. Fixes bug #1834582 Fixes gathering facts on f32+ bug #1832625 --- .gitignore | 1 + ansible.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ce79bbc..7b82c08 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,4 @@ /ansible-2.9.5.tar.gz /ansible-2.9.6.tar.gz /ansible-2.9.7.tar.gz +/ansible-2.9.9.tar.gz diff --git a/ansible.spec b/ansible.spec index 39a5161..f65ca95 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,8 +17,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.7 -Release: 3%{?dist} +Version: 2.9.9 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -231,6 +231,10 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 diff --git a/sources b/sources index 40a73a1..c3e5855 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.7.tar.gz) = ce029441bcafdc5b44c9fda69f183d4defea84ead5628164caf87306cb97efec68c11b2cce728e90f28290640c320549486a6b4e823710f638d1d2e7c35675a4 +SHA512 (ansible-2.9.9.tar.gz) = 327c5ece277096f71f10fec2b33a8d2c94ee59b0e22b15bb5ca449da2331b8158239bdbc8e3afd093af358a787f410c7c2e0942010de65a8d9c8719cf83e4abd From 7ce937e2a3ff6d01297d5c261a22e3436e72e796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 02:40:25 +0200 Subject: [PATCH 016/177] Rebuilt for Python 3.9 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index f65ca95..6156e9e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.9 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -231,6 +231,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 From 5ce32992e7649f27fe74ca8c5f9723b2fc7859cc Mon Sep 17 00:00:00 2001 From: Charalampos Stratakis Date: Sat, 30 May 2020 01:32:05 +0200 Subject: [PATCH 017/177] Fix Python 3.9 compatibility (#1808674) --- ansible.spec | 8 +++- fix-python-3.9-compatibility.patch | 63 ++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 fix-python-3.9-compatibility.patch diff --git a/ansible.spec b/ansible.spec index 6156e9e..860106a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.9 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -30,6 +30,9 @@ BuildArch: noarch # Disable failing test Patch2: ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch +# Fix Python 3.9 compatibility +# Backported from upstream: https://github.com/ansible/ansible/pull/67891 +Patch3: fix-python-3.9-compatibility.patch # We used to have a ansible-python3 package that a number of other things # started depending on, so we should now provide/obsolete it until they @@ -231,6 +234,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Fri May 29 2020 Charalampos Stratakis - 2.9.9-3 +- Fix Python 3.9 compatibility (#1808674) + * Tue May 26 2020 Miro Hrončok - 2.9.9-2 - Rebuilt for Python 3.9 diff --git a/fix-python-3.9-compatibility.patch b/fix-python-3.9-compatibility.patch new file mode 100644 index 0000000..97faf39 --- /dev/null +++ b/fix-python-3.9-compatibility.patch @@ -0,0 +1,63 @@ +diff --git a/shippable.yml b/shippable.yml +index 4ad9f63b..2ded6041 100644 +--- a/shippable.yml ++++ b/shippable.yml +@@ -20,6 +20,7 @@ matrix: + - env: T=units/3.6/1 + - env: T=units/3.7/1 + - env: T=units/3.8/1 ++ - env: T=units/3.9/1 + + - env: T=units/2.6/2 + - env: T=units/2.7/2 +@@ -27,6 +28,7 @@ matrix: + - env: T=units/3.6/2 + - env: T=units/3.7/2 + - env: T=units/3.8/2 ++ - env: T=units/3.9/2 + + - env: T=windows/2012/1 + - env: T=windows/2012-R2/1 +diff --git a/test/lib/ansible_test/_data/completion/docker.txt b/test/lib/ansible_test/_data/completion/docker.txt +index 78653dad..bbc2734d 100644 +--- a/test/lib/ansible_test/_data/completion/docker.txt ++++ b/test/lib/ansible_test/_data/completion/docker.txt +@@ -1,4 +1,4 @@ +-default name=quay.io/ansible/default-test-container:1.10.1 python=3.6,2.6,2.7,3.5,3.7,3.8 seccomp=unconfined ++default name=quay.io/ansible/default-test-container:1.11 python=3.6,2.6,2.7,3.5,3.7,3.8,3.9 seccomp=unconfined + centos6 name=quay.io/ansible/centos6-test-container:1.8.0 python=2.6 seccomp=unconfined + centos7 name=quay.io/ansible/centos7-test-container:1.8.0 python=2.7 seccomp=unconfined + centos8 name=quay.io/ansible/centos8-test-container:1.10.0 python=3.6 seccomp=unconfined +diff --git a/test/lib/ansible_test/_data/sanity/compile/compile.py b/test/lib/ansible_test/_data/sanity/compile/compile.py +index 3a2a0ddb..61910eee 100755 +--- a/test/lib/ansible_test/_data/sanity/compile/compile.py ++++ b/test/lib/ansible_test/_data/sanity/compile/compile.py +@@ -3,7 +3,15 @@ + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +-import parser ++import warnings ++ ++with warnings.catch_warnings(): ++ # The parser module is deprecated as of Python 3.9. ++ # This implementation will need to be updated to use another solution. ++ # Until then, disable the deprecation warnings to prevent test failures. ++ warnings.simplefilter('ignore', DeprecationWarning) ++ import parser ++ + import sys + + +diff --git a/test/lib/ansible_test/_internal/util.py b/test/lib/ansible_test/_internal/util.py +index 72058cb9..6c55434b 100644 +--- a/test/lib/ansible_test/_internal/util.py ++++ b/test/lib/ansible_test/_internal/util.py +@@ -110,6 +110,7 @@ SUPPORTED_PYTHON_VERSIONS = ( + '3.6', + '3.7', + '3.8', ++ '3.9', + ) + + From 4e4f90cd41f1db5fe0282b473449391292ff9de6 Mon Sep 17 00:00:00 2001 From: Charalampos Stratakis Date: Sat, 30 May 2020 02:09:02 +0200 Subject: [PATCH 018/177] Pin Pytest to version 4 for now --- ansible.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 860106a..f0fec16 100644 --- a/ansible.spec +++ b/ansible.spec @@ -81,7 +81,10 @@ BuildRequires: python3-setuptools #BuildRequires: python-keyczar BuildRequires: python3-six BuildRequires: python3-nose -BuildRequires: python3-pytest +# We pin Pytest to version 4 for now +# as there are some test failures with +# version 5. See rhbz#1841968 +BuildRequires: %{py3_dist pytest} < 5 BuildRequires: python3-pytest-xdist BuildRequires: python3-pytest-mock BuildRequires: python3-requests @@ -236,6 +239,7 @@ make PYTHON=/usr/bin/python3 tests-py3 %changelog * 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 From 9425f2bcc8a2fc3ba5c84ac2aa6be082c9b0ce93 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 18 Jun 2020 15:51:32 -0700 Subject: [PATCH 019/177] Update to 2.9.10. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7b82c08..0ca4f76 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,4 @@ /ansible-2.9.6.tar.gz /ansible-2.9.7.tar.gz /ansible-2.9.9.tar.gz +/ansible-2.9.10.tar.gz diff --git a/ansible.spec b/ansible.spec index f0fec16..3c4353e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,8 +17,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.9 -Release: 3%{?dist} +Version: 2.9.10 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -237,6 +237,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 diff --git a/sources b/sources index c3e5855..a11fd3d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.9.tar.gz) = 327c5ece277096f71f10fec2b33a8d2c94ee59b0e22b15bb5ca449da2331b8158239bdbc8e3afd093af358a787f410c7c2e0942010de65a8d9c8719cf83e4abd +SHA512 (ansible-2.9.10.tar.gz) = c0d5e26491f52d1eb8d1c3755903bb6a8d50634df5fb50a970076d49d99cfda424fa60c258a6a5821e01c435a8ef077d46ced4b2f8c4f4a8d381737e6f14afb4 From a200d48509b81d808abbae693c500784b1c7c31c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 21 Jul 2020 11:31:26 -0700 Subject: [PATCH 020/177] Update to 2.9.11. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0ca4f76..7c88731 100644 --- a/.gitignore +++ b/.gitignore @@ -95,3 +95,4 @@ /ansible-2.9.7.tar.gz /ansible-2.9.9.tar.gz /ansible-2.9.10.tar.gz +/ansible-2.9.11.tar.gz diff --git a/ansible.spec b/ansible.spec index 3c4353e..20ad739 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.10 +Version: 2.9.11 Release: 1%{?dist} License: GPLv3+ @@ -237,6 +237,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Tue Jul 21 2020 Kevin Fenzi - 2.9.11-1 +- Update to 2.9.11. + * Thu Jun 18 2020 Kevin Fenzi - 2.9.10-1 - Update to 2.9.10. diff --git a/sources b/sources index a11fd3d..c1bdd24 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.10.tar.gz) = c0d5e26491f52d1eb8d1c3755903bb6a8d50634df5fb50a970076d49d99cfda424fa60c258a6a5821e01c435a8ef077d46ced4b2f8c4f4a8d381737e6f14afb4 +SHA512 (ansible-2.9.11.tar.gz) = b157a5cfb5ba7cb651c7afc0dc92cfe3b8f9eebd06de6d7a1e4917ffca3c542c5207c8e1820acc5be840190c8754f111e2501304ad7e64867247e5b973aec81e From 75289c72893736df8df4398dee3d5138e2f1484d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 12:04:27 +0000 Subject: [PATCH 021/177] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_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 20ad739..f774e1f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.11 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -237,6 +237,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 2.9.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jul 21 2020 Kevin Fenzi - 2.9.11-1 - Update to 2.9.11. From e1457c05cde1abf1101f92bab36d3cbeb8a3884b Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sat, 8 Aug 2020 19:52:06 +0200 Subject: [PATCH 022/177] Run black on ansible-generator Signed-off-by: Igor Raits --- ansible-generator | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/ansible-generator b/ansible-generator index c65c5e4..3bdff8b 100755 --- a/ansible-generator +++ b/ansible-generator @@ -4,24 +4,34 @@ import argparse import json import sys + def main(): parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group(required=True) - group.add_argument("-P", "--provides", action="store_const", const="provides", dest="action") - group.add_argument("-R", "--requires", action="store_const", const="requires", dest="action") + group.add_argument( + "-P", "--provides", action="store_const", const="provides", dest="action" + ) + group.add_argument( + "-R", "--requires", action="store_const", const="requires", dest="action" + ) args = parser.parse_args() files = sys.stdin.read().splitlines() for f in files: with open(f, "r") as fobj: - info = json.load(fobj)['collection_info'] + info = json.load(fobj)["collection_info"] if args.action == "provides": - print(f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}") + print( + f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}" + ) if args.action == "requires": print("(ansible >= 2.9.0 with ansible < 2.10.0)") - if info['dependencies']: - raise NotImplementedError('Generation of dependencies is not supported yet') + if info["dependencies"]: + raise NotImplementedError( + "Generation of dependencies is not supported yet" + ) + if __name__ == "__main__": main() From 250a3086bccf793b324576f7d995bcc3f51e6b78 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sat, 8 Aug 2020 19:55:37 +0200 Subject: [PATCH 023/177] Add very basic support for generating dependencies in RPM generator Signed-off-by: Igor Raits --- ansible-generator | 10 ++++++---- ansible.spec | 7 +++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ansible-generator b/ansible-generator index 3bdff8b..ab9baa4 100755 --- a/ansible-generator +++ b/ansible-generator @@ -27,10 +27,12 @@ def main(): ) if args.action == "requires": print("(ansible >= 2.9.0 with ansible < 2.10.0)") - if info["dependencies"]: - raise NotImplementedError( - "Generation of dependencies is not supported yet" - ) + for dep, req in info.get("dependencies", {}).items(): + if req != "*": + raise NotImplementedError( + "Generation of dependencies different than '*' is not supported yet" + ) + print(f"ansible-collection({dep})") if __name__ == "__main__": diff --git a/ansible.spec b/ansible.spec index f774e1f..08b18ba 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.11 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -128,7 +128,7 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%autosetup -p1 -n %{name}-%{version} +%autosetup -p1 cp -a %{S:1} %{S:2} %{S:3} . %build @@ -237,6 +237,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 From 7df9e3edef900608c465d83acf283bb919dc080e Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 9 Aug 2020 10:29:34 +0200 Subject: [PATCH 024/177] Add support for generating '>=' dependencies in RPM generator Signed-off-by: Igor Raits --- ansible-generator | 17 ++++++++++++----- ansible.spec | 5 ++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ansible-generator b/ansible-generator index ab9baa4..ef7d026 100755 --- a/ansible-generator +++ b/ansible-generator @@ -2,6 +2,7 @@ import argparse import json +import re import sys @@ -28,11 +29,17 @@ def main(): if args.action == "requires": print("(ansible >= 2.9.0 with ansible < 2.10.0)") for dep, req in info.get("dependencies", {}).items(): - if req != "*": - raise NotImplementedError( - "Generation of dependencies different than '*' is not supported yet" - ) - print(f"ansible-collection({dep})") + print(f"ansible-collection({dep})", end="") + if req == "*": + print() + continue + m = re.match(r"^>=(\d+\.\d+\.\d+)$", req) + if m: + print(f" >= {m.group(1)}") + continue + raise NotImplementedError( + "Generation of dependencies different than '*' or '>=' is not supported yet" + ) if __name__ == "__main__": diff --git a/ansible.spec b/ansible.spec index 08b18ba..c0a4750 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.11 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -237,6 +237,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 From 34e5efc699876df9d8572b2a42cc6d8f36337eaa Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 11 Aug 2020 13:26:23 -0700 Subject: [PATCH 025/177] Update to 2.9.12. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7c88731..55d7c94 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,4 @@ /ansible-2.9.9.tar.gz /ansible-2.9.10.tar.gz /ansible-2.9.11.tar.gz +/ansible-2.9.12.tar.gz diff --git a/ansible.spec b/ansible.spec index c0a4750..dc202a4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,8 +17,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.11 -Release: 4%{?dist} +Version: 2.9.12 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -237,6 +237,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 diff --git a/sources b/sources index c1bdd24..6e3982e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.11.tar.gz) = b157a5cfb5ba7cb651c7afc0dc92cfe3b8f9eebd06de6d7a1e4917ffca3c542c5207c8e1820acc5be840190c8754f111e2501304ad7e64867247e5b973aec81e +SHA512 (ansible-2.9.12.tar.gz) = 6c05c49e363d4d68516dfea448cead3e2c281d1288c9467a0b6dd083504f303df694ed1c5957ae6582b28acc937d12d13333254328e13bac430b9b7fa4354f23 From 936d8030cd33f5a591acda64a9867ef3eaf49ba8 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 2 Sep 2020 14:12:17 -0700 Subject: [PATCH 026/177] Update to 2.9.13. Fixes CVE-2020-14365 --- .gitignore | 1 + ansible.spec | 13 +++++++++++-- sources | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 55d7c94..c6b82d8 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,4 @@ /ansible-2.9.10.tar.gz /ansible-2.9.11.tar.gz /ansible-2.9.12.tar.gz +/ansible-2.9.13.tar.gz diff --git a/ansible.spec b/ansible.spec index dc202a4..316fca8 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.12 +Version: 2.9.13 Release: 1%{?dist} License: GPLv3+ @@ -84,7 +84,7 @@ BuildRequires: python3-nose # We pin Pytest to version 4 for now # as there are some test failures with # version 5. See rhbz#1841968 -BuildRequires: %{py3_dist pytest} < 5 +BuildRequires: %{py3_dist pytest} BuildRequires: python3-pytest-xdist BuildRequires: python3-pytest-mock BuildRequires: python3-requests @@ -92,6 +92,7 @@ BuildRequires: python3-mock BuildRequires: python3-jinja2 BuildRequires: python3-pyyaml BuildRequires: python3-cryptography +BuildRequires: python3-pyvmomi # RHEL8 doesn't have python3-paramiko or python3-winrm (yet), but Fedora does Recommends: python3-paramiko @@ -213,6 +214,11 @@ ln -s /usr/bin/pytest-3 bin/pytest pathfix.py -i %{__python3} -p test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py # This test needs a module not packaged in Fedora so disable it. rm -f test/units/modules/cloud/cloudstack/test_cs_traffic_type.py +# These tests are failing with pytest 6 +rm -f test/units/module_utils/facts/hardware/test_sunos_get_uptime_facts.py +rm -f test/units/modules/source_control/test_gitlab_runner.py +rm -f test/units/plugins/lookup/test_aws_secret.py +rm -f test/units/plugins/lookup/test_aws_ssm.py make PYTHON=/usr/bin/python3 tests-py3 %endif @@ -237,6 +243,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Tue Sep 01 2020 Kevin Fenzi - 2.9.13-1 +- Update to 2.9.13. Fixes CVE-2020-14365 + * Tue Aug 11 2020 Kevin Fenzi - 2.9.12-1 - Update to 2.9.12. diff --git a/sources b/sources index 6e3982e..8469a74 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.12.tar.gz) = 6c05c49e363d4d68516dfea448cead3e2c281d1288c9467a0b6dd083504f303df694ed1c5957ae6582b28acc937d12d13333254328e13bac430b9b7fa4354f23 +SHA512 (ansible-2.9.13.tar.gz) = cb08adf62df0f3650425a5d960baadd7439c7c1e95b8f9df3d08e7504f9622b9e5f7104b8700b0f1e9fe318d349a6a5728e9178f0193fb4a190456e30a2f1eb2 From 127420a19013a14d5c040041ecda5260d1e45738 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 6 Oct 2020 13:01:34 -0700 Subject: [PATCH 027/177] Update to 2.9.14. --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c6b82d8..4632d17 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,4 @@ /ansible-2.9.11.tar.gz /ansible-2.9.12.tar.gz /ansible-2.9.13.tar.gz +/ansible-2.9.14.tar.gz diff --git a/ansible.spec b/ansible.spec index 316fca8..1807088 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.13 +Version: 2.9.14 Release: 1%{?dist} License: GPLv3+ @@ -67,6 +67,7 @@ BuildRequires: python3-passlib %endif # For Docs/tests BuildRequires: git-core +BuildRequires: openssl %if 0%{?with_docs} BuildRequires: python3-sphinx BuildRequires: python3-sphinx-theme-alabaster @@ -243,6 +244,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Tue Oct 06 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 diff --git a/sources b/sources index 8469a74..775d602 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.13.tar.gz) = cb08adf62df0f3650425a5d960baadd7439c7c1e95b8f9df3d08e7504f9622b9e5f7104b8700b0f1e9fe318d349a6a5728e9178f0193fb4a190456e30a2f1eb2 +SHA512 (ansible-2.9.14.tar.gz) = 1c69970629619814c02ff10e9d857d36ddc3ab6b4ff3f4e66fb0ea0b9a2fd5bc2de2c9d550427bcf3c9387d9e0138aff100c9fc1b92838871d7d8fe8a5cca8bd From 76106f507e923ee6c45486aced4f12522342b7d3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 3 Nov 2020 10:28:21 -0800 Subject: [PATCH 028/177] Update to 2.9.15. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4632d17..00059ed 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,4 @@ /ansible-2.9.12.tar.gz /ansible-2.9.13.tar.gz /ansible-2.9.14.tar.gz +/ansible-2.9.15.tar.gz diff --git a/ansible.spec b/ansible.spec index 1807088..8e7ea36 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.14 +Version: 2.9.15 Release: 1%{?dist} License: GPLv3+ @@ -244,6 +244,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Tue Nov 03 2020 Kevin Fenzi - 2.9.15-1 +- Update to 2.9.15. + * Tue Oct 06 2020 Kevin Fenzi - 2.9.14-1 - Update to 2.9.14. diff --git a/sources b/sources index 775d602..9f47b44 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.14.tar.gz) = 1c69970629619814c02ff10e9d857d36ddc3ab6b4ff3f4e66fb0ea0b9a2fd5bc2de2c9d550427bcf3c9387d9e0138aff100c9fc1b92838871d7d8fe8a5cca8bd +SHA512 (ansible-2.9.15.tar.gz) = 147663d98247f8c6c7aa8aff8c8c973d3641fdaa3e9c682d51daec2ec9afd026e3ca07d459466e2117dfc752572947b1def3a01c707d446ae6d2bf0ebd321a8b From c962634ee0125be686b9b4c9e300ea65a5f71b25 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 16 Dec 2020 23:29:35 +0000 Subject: [PATCH 029/177] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- ansible.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible.spec b/ansible.spec index 8e7ea36..0ba7c53 100644 --- a/ansible.spec +++ b/ansible.spec @@ -94,6 +94,7 @@ BuildRequires: python3-jinja2 BuildRequires: python3-pyyaml BuildRequires: python3-cryptography BuildRequires: python3-pyvmomi +BuildRequires: make # RHEL8 doesn't have python3-paramiko or python3-winrm (yet), but Fedora does Recommends: python3-paramiko From 275e4f0b37f07ccac021154f722001d27cd66556 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 17 Dec 2020 17:08:46 -0800 Subject: [PATCH 030/177] Update to 2.9.16. --- .gitignore | 1 + ansible.spec | 5 ++- fix-python-3.9-compatibility.patch | 56 ++++++++++-------------------- sources | 2 +- 4 files changed, 24 insertions(+), 40 deletions(-) diff --git a/.gitignore b/.gitignore index 00059ed..da304c5 100644 --- a/.gitignore +++ b/.gitignore @@ -100,3 +100,4 @@ /ansible-2.9.13.tar.gz /ansible-2.9.14.tar.gz /ansible-2.9.15.tar.gz +/ansible-2.9.16.tar.gz diff --git a/ansible.spec b/ansible.spec index 0ba7c53..d4234cb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.15 +Version: 2.9.16 Release: 1%{?dist} License: GPLv3+ @@ -245,6 +245,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Tue Dec 15 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. diff --git a/fix-python-3.9-compatibility.patch b/fix-python-3.9-compatibility.patch index 97faf39..0cc6fee 100644 --- a/fix-python-3.9-compatibility.patch +++ b/fix-python-3.9-compatibility.patch @@ -1,42 +1,21 @@ -diff --git a/shippable.yml b/shippable.yml -index 4ad9f63b..2ded6041 100644 ---- a/shippable.yml -+++ b/shippable.yml -@@ -20,6 +20,7 @@ matrix: - - env: T=units/3.6/1 - - env: T=units/3.7/1 - - env: T=units/3.8/1 -+ - env: T=units/3.9/1 - - - env: T=units/2.6/2 - - env: T=units/2.7/2 -@@ -27,6 +28,7 @@ matrix: - - env: T=units/3.6/2 - - env: T=units/3.7/2 - - env: T=units/3.8/2 -+ - env: T=units/3.9/2 - - - env: T=windows/2012/1 - - env: T=windows/2012-R2/1 -diff --git a/test/lib/ansible_test/_data/completion/docker.txt b/test/lib/ansible_test/_data/completion/docker.txt -index 78653dad..bbc2734d 100644 ---- a/test/lib/ansible_test/_data/completion/docker.txt -+++ b/test/lib/ansible_test/_data/completion/docker.txt +diff --color -Nur ansible-2.9.16.orig/test/lib/ansible_test/_data/completion/docker.txt ansible-2.9.16/test/lib/ansible_test/_data/completion/docker.txt +--- ansible-2.9.16.orig/test/lib/ansible_test/_data/completion/docker.txt 2020-12-14 15:48:25.000000000 -0800 ++++ ansible-2.9.16/test/lib/ansible_test/_data/completion/docker.txt 2020-12-17 11:38:44.409269125 -0800 @@ -1,4 +1,4 @@ -default name=quay.io/ansible/default-test-container:1.10.1 python=3.6,2.6,2.7,3.5,3.7,3.8 seccomp=unconfined -+default name=quay.io/ansible/default-test-container:1.11 python=3.6,2.6,2.7,3.5,3.7,3.8,3.9 seccomp=unconfined - centos6 name=quay.io/ansible/centos6-test-container:1.8.0 python=2.6 seccomp=unconfined ++default name=quay.io/ansible/default-test-container:1.10.1 python=3.6,2.6,2.7,3.5,3.7,3.8,3.9,3.10 seccomp=unconfined + centos6 name=quay.io/ansible/centos6-test-container:1.26.0 python=2.6 seccomp=unconfined centos7 name=quay.io/ansible/centos7-test-container:1.8.0 python=2.7 seccomp=unconfined centos8 name=quay.io/ansible/centos8-test-container:1.10.0 python=3.6 seccomp=unconfined -diff --git a/test/lib/ansible_test/_data/sanity/compile/compile.py b/test/lib/ansible_test/_data/sanity/compile/compile.py -index 3a2a0ddb..61910eee 100755 ---- a/test/lib/ansible_test/_data/sanity/compile/compile.py -+++ b/test/lib/ansible_test/_data/sanity/compile/compile.py -@@ -3,7 +3,15 @@ +diff --color -Nur ansible-2.9.16.orig/test/lib/ansible_test/_data/sanity/compile/compile.py ansible-2.9.16/test/lib/ansible_test/_data/sanity/compile/compile.py +--- ansible-2.9.16.orig/test/lib/ansible_test/_data/sanity/compile/compile.py 2020-12-14 15:48:25.000000000 -0800 ++++ ansible-2.9.16/test/lib/ansible_test/_data/sanity/compile/compile.py 2020-12-17 11:36:47.712080958 -0800 +@@ -3,9 +3,16 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -import parser +-import sys +import warnings + +with warnings.catch_warnings(): @@ -45,19 +24,20 @@ index 3a2a0ddb..61910eee 100755 + # Until then, disable the deprecation warnings to prevent test failures. + warnings.simplefilter('ignore', DeprecationWarning) + import parser -+ - import sys ++import sys -diff --git a/test/lib/ansible_test/_internal/util.py b/test/lib/ansible_test/_internal/util.py -index 72058cb9..6c55434b 100644 ---- a/test/lib/ansible_test/_internal/util.py -+++ b/test/lib/ansible_test/_internal/util.py -@@ -110,6 +110,7 @@ SUPPORTED_PYTHON_VERSIONS = ( + def main(): + status = 0 +diff --color -Nur ansible-2.9.16.orig/test/lib/ansible_test/_internal/util.py ansible-2.9.16/test/lib/ansible_test/_internal/util.py +--- ansible-2.9.16.orig/test/lib/ansible_test/_internal/util.py 2020-12-14 15:48:25.000000000 -0800 ++++ ansible-2.9.16/test/lib/ansible_test/_internal/util.py 2020-12-17 11:36:47.713080960 -0800 +@@ -110,6 +110,8 @@ '3.6', '3.7', '3.8', + '3.9', ++ '3.10', ) diff --git a/sources b/sources index 9f47b44..3d64a0a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.15.tar.gz) = 147663d98247f8c6c7aa8aff8c8c973d3641fdaa3e9c682d51daec2ec9afd026e3ca07d459466e2117dfc752572947b1def3a01c707d446ae6d2bf0ebd321a8b +SHA512 (ansible-2.9.16.tar.gz) = f2dd92af2529bc551e4eb0800849866bba90f869a97abbd5822fb6143939a7d59d9c84bb366fc0cb92392e25945cea125dfa377e1301e7ddef08811f0d53ba14 From 3388b91d6e0ee446745f545f22ad190fa3ca9feb Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 16 Jan 2021 15:26:55 -0800 Subject: [PATCH 031/177] Conflict with ansible-base 2.10.x for now. Ajust generator so collections will install/work with either ansible or ansible-base. --- ansible-generator | 2 +- ansible.spec | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ansible-generator b/ansible-generator index ef7d026..b7450b1 100755 --- a/ansible-generator +++ b/ansible-generator @@ -27,7 +27,7 @@ def main(): f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}" ) if args.action == "requires": - print("(ansible >= 2.9.0 with ansible < 2.10.0)") + print("(ansible >= 2.9.0 or ansible-base > 2.10.0)") for dep, req in info.get("dependencies", {}).items(): print(f"ansible-collection({dep})", end="") if req == "*": diff --git a/ansible.spec b/ansible.spec index d4234cb..05ce025 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.16 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -40,6 +40,9 @@ Patch3: fix-python-3.9-compatibility.patch Provides: ansible-python3 = %{version}-%{release} Obsoletes: ansible-python3 < %{version}-%{release} +# Conflict with the ansible-base package for now. +Conflicts: ansible-base > 2.10.0 + %if 0%{?with_tests} # # For tests @@ -245,6 +248,10 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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. From a1fd4ae0fa09b30e2b9b6a4c506a089185aca3b0 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 24 Jan 2021 12:58:24 -0800 Subject: [PATCH 032/177] Update to 2.9.17. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index da304c5..b4c6178 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,4 @@ /ansible-2.9.14.tar.gz /ansible-2.9.15.tar.gz /ansible-2.9.16.tar.gz +/ansible-2.9.17.tar.gz diff --git a/ansible.spec b/ansible.spec index 05ce025..db9e305 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.16 +Version: 2.9.17 Release: 2%{?dist} License: GPLv3+ @@ -248,6 +248,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* Sun Jan 24 2021 Kevin Fenzi - 2.9.17-2 +- 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. diff --git a/sources b/sources index 3d64a0a..b32e545 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.16.tar.gz) = f2dd92af2529bc551e4eb0800849866bba90f869a97abbd5822fb6143939a7d59d9c84bb366fc0cb92392e25945cea125dfa377e1301e7ddef08811f0d53ba14 +SHA512 (ansible-2.9.17.tar.gz) = 36b94af5925b0996e5cd54df52a1649978f860daf543205b4e8fd2f007d8a950b097ecb94f39354b9f2e44cbe53d20067f803a18dd68cc0ce8b3979e9fe687e6 From e89035e0fbd49cd2569dc923325e373bee43fbad Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 00:07:20 +0000 Subject: [PATCH 033/177] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_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 db9e305..0da4b5b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.17 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -248,6 +248,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 - Update to 2.9.17. From 0622d766bd1a60c08a97aeb4d5e4bae06624391e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 20 Feb 2021 11:13:00 -0800 Subject: [PATCH 034/177] Update to 2.9.18. Fixes: CVE-2021-20228 CVE-2021-20178 CVE-2021-20180 CVE-2021-20191 --- .gitignore | 1 + ansible.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b4c6178..f845c72 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,4 @@ /ansible-2.9.15.tar.gz /ansible-2.9.16.tar.gz /ansible-2.9.17.tar.gz +/ansible-2.9.18.tar.gz diff --git a/ansible.spec b/ansible.spec index 0da4b5b..a51b166 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,8 +17,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.17 -Release: 3%{?dist} +Version: 2.9.18 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -248,6 +248,10 @@ make PYTHON=/usr/bin/python3 tests-py3 %endif %changelog +* 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 diff --git a/sources b/sources index b32e545..a9e28c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.17.tar.gz) = 36b94af5925b0996e5cd54df52a1649978f860daf543205b4e8fd2f007d8a950b097ecb94f39354b9f2e44cbe53d20067f803a18dd68cc0ce8b3979e9fe687e6 +SHA512 (ansible-2.9.18.tar.gz) = 912d8f0ed65f2172b6b065f5f9779f93dffe74e4152c706048b079e9a98c8c6ee55662404027a4a9f5a9eaffb6120117eea8e43e4becf0506c9c23003ca01545 From d1181c4610fb3314a84117c9d9fd258d7991274c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 24 Apr 2021 11:09:06 -0700 Subject: [PATCH 035/177] Update to 2.9.20. --- .gitignore | 1 + ansible.spec | 28 +++++++++++++++++++++++++++- sources | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f845c72..cc4642a 100644 --- a/.gitignore +++ b/.gitignore @@ -103,3 +103,4 @@ /ansible-2.9.16.tar.gz /ansible-2.9.17.tar.gz /ansible-2.9.18.tar.gz +/ansible-2.9.20.tar.gz diff --git a/ansible.spec b/ansible.spec index a51b166..f7aadc2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.18 +Version: 2.9.20 Release: 1%{?dist} License: GPLv3+ @@ -42,6 +42,8 @@ Obsoletes: ansible-python3 < %{version}-%{release} # Conflict with the ansible-base package for now. Conflicts: ansible-base > 2.10.0 +# Conflict with the ansible-core package for now also. +Conflicts: ansible-core > 2.11.0 %if 0%{?with_tests} # @@ -133,6 +135,21 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible +%package -n ansible-test +Summary: Tool for testing ansible plugin and module code +Requires: %{name} = %{version}-%{release} + +%description -n ansible-test +Ansible is a radically simple model-driven configuration management, +multi-node deployment, and remote task execution system. Ansible works +over SSH and does not require any software or daemons to be installed +on remote nodes. Extension modules can be written in any language and +are transferred to managed machines automatically. + +This package installs the ansible-test command for testing modules and plugins +developed for ansible. + + %prep %autosetup -p1 cp -a %{S:1} %{S:2} %{S:3} . @@ -240,6 +257,8 @@ make PYTHON=/usr/bin/python3 tests-py3 %{_fileattrsdir}/ansible.attr %{_rpmmacrodir}/macros.ansible %{_rpmconfigdir}/ansible-generator +%exclude %{_bindir}/ansible-test +%exclude %{python3_sitelib}/ansible_test %files -n ansible-doc %doc rst @@ -247,7 +266,14 @@ make PYTHON=/usr/bin/python3 tests-py3 %doc html %endif +%files -n ansible-test +%{_bindir}/ansible-test +%{python3_sitelib}/ansible_test + %changelog +* Sat Apr 24 2021 Kevin Fenzi - 2.9.20-1 +- Update to 2.9.20. + * 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 diff --git a/sources b/sources index a9e28c0..621a901 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.18.tar.gz) = 912d8f0ed65f2172b6b065f5f9779f93dffe74e4152c706048b079e9a98c8c6ee55662404027a4a9f5a9eaffb6120117eea8e43e4becf0506c9c23003ca01545 +SHA512 (ansible-2.9.20.tar.gz) = 26d8c379bdea3950a3ab67acb783e31faf1fa76187530ccb01448e1da4139a052b1eb17395d47705cb5aa4c71b0d5e3cb214c5c32074eaa1a5c0bebc609b2b8f From f72cb6d5b7b2f7cd3ef04426005bd3479b185cc9 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 3 May 2021 21:31:40 -0700 Subject: [PATCH 036/177] Update to 2.9.21. Fixes rhbz#1956584 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cc4642a..6cb8a6d 100644 --- a/.gitignore +++ b/.gitignore @@ -104,3 +104,4 @@ /ansible-2.9.17.tar.gz /ansible-2.9.18.tar.gz /ansible-2.9.20.tar.gz +/ansible-2.9.21.tar.gz diff --git a/ansible.spec b/ansible.spec index f7aadc2..cf755f6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.20 +Version: 2.9.21 Release: 1%{?dist} License: GPLv3+ @@ -271,6 +271,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* Mon May 03 2021 Kevin Fenzi - 2.9.21-1 +- Update to 2.9.21. Fixes rhbz#1956584 + * Sat Apr 24 2021 Kevin Fenzi - 2.9.20-1 - Update to 2.9.20. diff --git a/sources b/sources index 621a901..869c1ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.20.tar.gz) = 26d8c379bdea3950a3ab67acb783e31faf1fa76187530ccb01448e1da4139a052b1eb17395d47705cb5aa4c71b0d5e3cb214c5c32074eaa1a5c0bebc609b2b8f +SHA512 (ansible-2.9.21.tar.gz) = 572f04736bea590770db9b58e7fca8cf3b53b858a0cd2e16667e9d1935d173fa2a0a116d04e0ed976095fbd6b8cd878d21d3e5c4749046b39d121b9ac8b5c441 From a2465762f178bc690db2e8297d707a09809fdaef Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 24 May 2021 15:46:54 -0700 Subject: [PATCH 037/177] Update to 2.9.22. Fixes rhbz#1964173 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6cb8a6d..f62e90f 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,4 @@ /ansible-2.9.18.tar.gz /ansible-2.9.20.tar.gz /ansible-2.9.21.tar.gz +/ansible-2.9.22.tar.gz diff --git a/ansible.spec b/ansible.spec index cf755f6..75dbc1b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -17,7 +17,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.21 +Version: 2.9.22 Release: 1%{?dist} License: GPLv3+ @@ -271,6 +271,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* Mon May 24 2021 Kevin Fenzi - 2.9.22-1 +- Update to 2.9.22. Fixes rhbz#1964173 + * Mon May 03 2021 Kevin Fenzi - 2.9.21-1 - Update to 2.9.21. Fixes rhbz#1956584 diff --git a/sources b/sources index 869c1ac..4b887e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.21.tar.gz) = 572f04736bea590770db9b58e7fca8cf3b53b858a0cd2e16667e9d1935d173fa2a0a116d04e0ed976095fbd6b8cd878d21d3e5c4749046b39d121b9ac8b5c441 +SHA512 (ansible-2.9.22.tar.gz) = f6d32b1a24aaa21d525ea9f173c8139a74580b553df9a88bc542c1e04ce43139004d86ff659cd3f0e3e138dca8b0ae1912ff0deca746ed8e0681824ea8646f95 From 6a181e37425312d4dc8fcd9f56421d831332d8a1 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 19:59:08 +0200 Subject: [PATCH 038/177] Rebuilt for Python 3.10 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 75dbc1b..f193bb1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.22 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -271,6 +271,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 From b777386fb3edfe1e1fa115b2a762a45500a853a2 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 22 Jun 2021 15:49:11 -0700 Subject: [PATCH 039/177] Update to 2.9.23. Fixes rhbz#1974592 Add patch for Rocky Linux. Fixes rhbz#1968728 --- .gitignore | 1 + ansible-2.9.22-rocky.patch | 76 ++++++++++++++++++++++++++++++++++++++ ansible.spec | 17 ++++++--- sources | 2 +- 4 files changed, 89 insertions(+), 7 deletions(-) create mode 100644 ansible-2.9.22-rocky.patch diff --git a/.gitignore b/.gitignore index f62e90f..2a8d3be 100644 --- a/.gitignore +++ b/.gitignore @@ -106,3 +106,4 @@ /ansible-2.9.20.tar.gz /ansible-2.9.21.tar.gz /ansible-2.9.22.tar.gz +/ansible-2.9.23.tar.gz diff --git a/ansible-2.9.22-rocky.patch b/ansible-2.9.22-rocky.patch new file mode 100644 index 0000000..5f6c967 --- /dev/null +++ b/ansible-2.9.22-rocky.patch @@ -0,0 +1,76 @@ +diff --color -Nur ansible.2.9.22.orig/lib/ansible/modules/system/hostname.py ansible-2.9.22/lib/ansible/modules/system/hostname.py +--- ansible.2.9.22.orig/lib/ansible/modules/system/hostname.py 2021-05-24 14:18:02.000000000 -0700 ++++ ansible-2.9.22/lib/ansible/modules/system/hostname.py 2021-06-19 10:09:53.078883364 -0700 +@@ -782,6 +782,10 @@ + distribution = 'Neon' + strategy_class = DebianStrategy + ++class RockyLinuxHostname(Hostname): ++ platform = 'Linux' ++ distribution = 'Rocky' ++ strategy_class = SystemdStrategy + + def main(): + module = AnsibleModule( +diff --color -Nur ansible.2.9.22.orig/lib/ansible/module_utils/facts/system/distribution.py ansible-2.9.22/lib/ansible/module_utils/facts/system/distribution.py +--- ansible.2.9.22.orig/lib/ansible/module_utils/facts/system/distribution.py 2021-05-24 14:18:01.000000000 -0700 ++++ ansible-2.9.22/lib/ansible/module_utils/facts/system/distribution.py 2021-06-19 10:09:38.680877684 -0700 +@@ -467,7 +467,7 @@ + OS_FAMILY_MAP = {'RedHat': ['RedHat', 'Fedora', 'CentOS', 'Scientific', 'SLC', + 'Ascendos', 'CloudLinux', 'PSBM', 'OracleLinux', 'OVS', + 'OEL', 'Amazon', 'Virtuozzo', 'XenServer', 'Alibaba', +- 'AlmaLinux'], ++ 'AlmaLinux', 'Rocky'], + 'Debian': ['Debian', 'Ubuntu', 'Raspbian', 'Neon', 'KDE neon', + 'Linux Mint', 'SteamOS', 'Devuan', 'Kali', 'Cumulus Linux'], + 'Suse': ['SuSE', 'SLES', 'SLED', 'openSUSE', 'openSUSE Tumbleweed', +diff --color -Nur ansible.2.9.22.orig/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json ansible-2.9.22/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json +--- ansible.2.9.22.orig/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json 1969-12-31 16:00:00.000000000 -0800 ++++ ansible-2.9.22/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json 2021-06-19 10:12:39.019948830 -0700 +@@ -0,0 +1,46 @@ ++{ ++ "name": "Rocky 8.3", ++ "distro": { ++ "codename": "", ++ "id": "rocky", ++ "name": "Rocky Linux", ++ "version": "8.3", ++ "version_best": "8.3", ++ "lsb_release_info": {}, ++ "os_release_info": { ++ "name": "Rocky Linux", ++ "version": "8.3", ++ "id": "rocky", ++ "id_like": "rhel fedora", ++ "version_id": "8.3", ++ "platform_id": "platform:el8", ++ "pretty_name": "Rocky Linux 8.3", ++ "ansi_color": "0;31", ++ "cpe_name": "cpe:/o:rocky:rocky:8", ++ "home_url": "https://rockylinux.org/", ++ "bug_report_url": "https://bugs.rockylinux.org/", ++ "rocky_support_product": "Rocky Linux", ++ "rocky_support_product_version": "8" ++ } ++ }, ++ "input": { ++ "/etc/redhat-release": "Rocky Linux release 8.3\n", ++ "/etc/system-release": "Rocky Linux release 8.3\n", ++ "/etc/rocky-release": "Rocky Linux release 8.3\n", ++ "/etc/os-release": "NAME=\"Rocky Linux\"\nVERSION=\"8.3\"\nID=\"rocky\"\nID_LIKE=\"rhel fedora\"\nVERSION_ID=\"8.3\"\nPLATFORM_ID=\"platform:el8\"\nPRETTY_NAME=\"Rocky Linux 8.3\"\nANSI_COLOR=\"0;31\"\nCPE_NAME=\"cpe:/o:rocky:rocky:8\"\nHOME_URL=\"https://rockylinux.org/\"\nBUG_REPORT_URL=\"https://bugs.rockylinux.org/\"\nROCKY_SUPPORT_PRODUCT=\"Rocky Linux\"\nROCKY_SUPPORT_PRODUCT_VERSION=\"8\"\n", ++ "/usr/lib/os-release": "NAME=\"Rocky Linux\"\nVERSION=\"8.3\"\nID=\"rocky\"\nID_LIKE=\"rhel fedora\"\nVERSION_ID=\"8.3\"\nPLATFORM_ID=\"platform:el8\"\nPRETTY_NAME=\"Rocky Linux 8.3\"\nANSI_COLOR=\"0;31\"\nCPE_NAME=\"cpe:/o:rocky:rocky:8\"\nHOME_URL=\"https://rockylinux.org/\"\nBUG_REPORT_URL=\"https://bugs.rockylinux.org/\"\nROCKY_SUPPORT_PRODUCT=\"Rocky Linux\"\nROCKY_SUPPORT_PRODUCT_VERSION=\"8\"\n" ++ }, ++ "platform.dist": [ ++ "rocky", ++ "8.3", ++ "" ++ ], ++ "result": { ++ "distribution": "Rocky", ++ "distribution_version": "8.3", ++ "distribution_release": "NA", ++ "distribution_major_version": "8", ++ "os_family": "RedHat" ++ }, ++ "platform.release": "4.18.0-240.22.1.el8.x86_64" ++} diff --git a/ansible.spec b/ansible.spec index f193bb1..a0ff171 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,7 +1,5 @@ -# Note to maintainers: master, all fedora branches and epel8 can be merged. -# epel7 and epel6 should be updated seperately. -# (epel6 because it is still on 2.6 forever due to python support, -# epel7 due to it using python2). +# Note to maintainers: main and all fedora branches can be merged. +# epel8 and epel7 and should be updated seperately. # in Fedora and EPEL8 build with docs and tests by default %global with_docs 1 @@ -17,8 +15,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.22 -Release: 2%{?dist} +Version: 2.9.23 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -28,6 +26,9 @@ Source3: macros.ansible Url: http://ansible.com BuildArch: noarch +# add patch for Rocky linux: rhbz#1968728 +Patch1: ansible-2.9.22-rocky.patch + # Disable failing test Patch2: ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch # Fix Python 3.9 compatibility @@ -271,6 +272,10 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 diff --git a/sources b/sources index 4b887e6..d86d9ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.22.tar.gz) = f6d32b1a24aaa21d525ea9f173c8139a74580b553df9a88bc542c1e04ce43139004d86ff659cd3f0e3e138dca8b0ae1912ff0deca746ed8e0681824ea8646f95 +SHA512 (ansible-2.9.23.tar.gz) = dea2d2db4a357d64c76848225ea83d8f26b74ed81bb24eaf35d5397042f4f4703dbf5d3b9f8e549e03b87ff8811a40968214902eda6ff71dd4e050fa6b46106a From f2669e12902f2fa425bcc49cb0d6a7f6bce7cfce Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 10 Jul 2021 13:00:28 -0700 Subject: [PATCH 040/177] Fix FTBFS with sphinx 4.x. Fixes rhbz#1977303 --- ansible-2.9.23-sphinx4.patch | 12 ++++++++++++ ansible.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 ansible-2.9.23-sphinx4.patch diff --git a/ansible-2.9.23-sphinx4.patch b/ansible-2.9.23-sphinx4.patch new file mode 100644 index 0000000..de1d368 --- /dev/null +++ b/ansible-2.9.23-sphinx4.patch @@ -0,0 +1,12 @@ +diff --color -Nur ansible-2.9.23.orig/docs/docsite/_extensions/pygments_lexer.py ansible-2.9.23/docs/docsite/_extensions/pygments_lexer.py +--- ansible-2.9.23.orig/docs/docsite/_extensions/pygments_lexer.py 2021-06-21 23:04:48.000000000 -0700 ++++ ansible-2.9.23/docs/docsite/_extensions/pygments_lexer.py 2021-07-10 12:33:05.790899630 -0700 +@@ -178,7 +178,7 @@ + See http://www.sphinx-doc.org/en/stable/extdev/index.html#dev-extensions. + """ + for lexer in [ +- AnsibleOutputLexer(startinline=True) ++ AnsibleOutputLexer + ]: + app.add_lexer(lexer.name, lexer) + for alias in lexer.aliases: diff --git a/ansible.spec b/ansible.spec index a0ff171..8dbb726 100644 --- a/ansible.spec +++ b/ansible.spec @@ -16,7 +16,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.23 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -35,6 +35,9 @@ Patch2: ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch # Backported from upstream: https://github.com/ansible/ansible/pull/67891 Patch3: fix-python-3.9-compatibility.patch +# Fix to build docs with sphinx > 4.0 +Patch4: ansible-2.9.23-sphinx4.patch + # We used to have a ansible-python3 package that a number of other things # started depending on, so we should now provide/obsolete it until they # can all adjust to just needing ansible. @@ -272,6 +275,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 From c54581f47210245e2bb5ed258b45e32f7507ad15 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:39:32 +0000 Subject: [PATCH 041/177] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 33bccbcfc95950a19916714387566b6e2e0b57ac Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:35:10 +0000 Subject: [PATCH 042/177] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_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 8dbb726..06a9385 100644 --- a/ansible.spec +++ b/ansible.spec @@ -16,7 +16,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.23 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -275,6 +275,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 From 2b5eb14c845c179e0831aec969b3ee1410ee4443 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 25 Jul 2021 10:35:22 -0700 Subject: [PATCH 043/177] Update to 2.9.24. Fixes rhbz#1983837 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2a8d3be..6c9ed6e 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,4 @@ /ansible-2.9.21.tar.gz /ansible-2.9.22.tar.gz /ansible-2.9.23.tar.gz +/ansible-2.9.24.tar.gz diff --git a/ansible.spec b/ansible.spec index 06a9385..6cf6b77 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,8 +15,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.23 -Release: 3%{?dist} +Version: 2.9.24 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -275,6 +275,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 diff --git a/sources b/sources index d86d9ce..0be9fdc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.23.tar.gz) = dea2d2db4a357d64c76848225ea83d8f26b74ed81bb24eaf35d5397042f4f4703dbf5d3b9f8e549e03b87ff8811a40968214902eda6ff71dd4e050fa6b46106a +SHA512 (ansible-2.9.24.tar.gz) = a48746ca3827604655847292f58283ba554320d5155da1d98a8bed6bfa9f12d5b81a2a2e9864de88c25c3a4fc7a578a93d7d32279635bffb8972a69434c73b0b From 19c10f98f24fd99127cc36ca5c9136e4e5295ef3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 20 Aug 2021 12:59:42 -0700 Subject: [PATCH 044/177] Update to 2.9.25. Fixes rhbz#1994108 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6c9ed6e..c5feb5f 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,4 @@ /ansible-2.9.22.tar.gz /ansible-2.9.23.tar.gz /ansible-2.9.24.tar.gz +/ansible-2.9.25.tar.gz diff --git a/ansible.spec b/ansible.spec index 6cf6b77..f82bb67 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,7 +15,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.24 +Version: 2.9.25 Release: 1%{?dist} License: GPLv3+ @@ -275,6 +275,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 diff --git a/sources b/sources index 0be9fdc..66347cf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.24.tar.gz) = a48746ca3827604655847292f58283ba554320d5155da1d98a8bed6bfa9f12d5b81a2a2e9864de88c25c3a4fc7a578a93d7d32279635bffb8972a69434c73b0b +SHA512 (ansible-2.9.25.tar.gz) = 420b7580d7c5f5215f5557cf73b0be82168274fcfdc2f1ce6be8c88021c9f46e3928a247cefd0887388b30ec9d6412a26d346dd78ad013d0475af460ac58cf44 From cd1958dd9e35e576f1470532c942e78c719b9de7 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 14 Sep 2021 14:04:07 -0700 Subject: [PATCH 045/177] Update to 2.9.26. Fixes rhbz#2002394 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c5feb5f..2b3b982 100644 --- a/.gitignore +++ b/.gitignore @@ -109,3 +109,4 @@ /ansible-2.9.23.tar.gz /ansible-2.9.24.tar.gz /ansible-2.9.25.tar.gz +/ansible-2.9.26.tar.gz diff --git a/ansible.spec b/ansible.spec index f82bb67..58bec11 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,7 +15,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.25 +Version: 2.9.26 Release: 1%{?dist} License: GPLv3+ @@ -275,6 +275,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 diff --git a/sources b/sources index 66347cf..8c09d6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.25.tar.gz) = 420b7580d7c5f5215f5557cf73b0be82168274fcfdc2f1ce6be8c88021c9f46e3928a247cefd0887388b30ec9d6412a26d346dd78ad013d0475af460ac58cf44 +SHA512 (ansible-2.9.26.tar.gz) = 35aa1434feb5f95f75f2384dbfd58cdd7c7c1c98907482d67fec060a3e8e2306015f26adbaba2bdb3c7281d2e0b39c2b9867b55f0436c2ec04cf2045011d9d3b From 120cc505874261ff1c6981028098ef879b59becc Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 26 Oct 2021 17:39:58 -0700 Subject: [PATCH 046/177] Update to 2.9.27. Fixes rhbz#2012918 --- .gitignore | 1 + ansible-2.9.27-openssl-3-compat.patch | 15 +++++ ansible-2.9.27-pyyaml-6-compat.patch | 81 +++++++++++++++++++++++++++ ansible.spec | 11 +++- sources | 2 +- 5 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 ansible-2.9.27-openssl-3-compat.patch create mode 100644 ansible-2.9.27-pyyaml-6-compat.patch diff --git a/.gitignore b/.gitignore index 2b3b982..da249fd 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,4 @@ /ansible-2.9.24.tar.gz /ansible-2.9.25.tar.gz /ansible-2.9.26.tar.gz +/ansible-2.9.27.tar.gz diff --git a/ansible-2.9.27-openssl-3-compat.patch b/ansible-2.9.27-openssl-3-compat.patch new file mode 100644 index 0000000..e6c9c1c --- /dev/null +++ b/ansible-2.9.27-openssl-3-compat.patch @@ -0,0 +1,15 @@ +diff --color -Nur ansible-2.9.27.orig/test/units/module_utils/acme/fixtures/csr_1.pem ansible-2.9.27/test/units/module_utils/acme/fixtures/csr_1.pem +--- ansible-2.9.27.orig/test/units/module_utils/acme/fixtures/csr_1.pem 2021-10-11 08:18:57.217846900 -0700 ++++ ansible-2.9.27/test/units/module_utils/acme/fixtures/csr_1.pem 2021-10-26 15:19:37.479752918 -0700 +@@ -1,4 +1,4 @@ +------BEGIN NEW CERTIFICATE REQUEST----- ++-----BEGIN CERTIFICATE REQUEST----- + MIIBJTCBzQIBADAWMRQwEgYDVQQDEwthbnNpYmxlLmNvbTBZMBMGByqGSM49AgEG + CCqGSM49AwEHA0IABACc9MgAFwMBJjoU0ZI18cIHnW1juoKG2DN5VrM60uvBvEEs + 4V0egJkNyM2Q4pp001zu14VcpQ0/Ei8xOOPxKZugVTBTBgkqhkiG9w0BCQ4xRjBE +@@ -6,4 +6,4 @@ + AjAAMA8GA1UdDwEB/wQFAwMHgAAwCgYIKoZIzj0EAwIDRwAwRAIgcDyoRmwFVBDl + FvbFZtiSd5wmJU1ltM6JtcfnLWnjY54CICruOByrropFUkOKKb4xXOYsgaDT93Wr + URnCJfTLr2T3 +------END NEW CERTIFICATE REQUEST----- ++-----END CERTIFICATE REQUEST----- diff --git a/ansible-2.9.27-pyyaml-6-compat.patch b/ansible-2.9.27-pyyaml-6-compat.patch new file mode 100644 index 0000000..a85fe0d --- /dev/null +++ b/ansible-2.9.27-pyyaml-6-compat.patch @@ -0,0 +1,81 @@ +diff --color -Nur ansible-2.9.27.orig/test/units/modules/cloud/openstack/test_os_server.py ansible-2.9.27/test/units/modules/cloud/openstack/test_os_server.py +--- ansible-2.9.27.orig/test/units/modules/cloud/openstack/test_os_server.py 2021-10-11 08:18:57.290846800 -0700 ++++ ansible-2.9.27/test/units/modules/cloud/openstack/test_os_server.py 2021-10-26 14:36:44.086550302 -0700 +@@ -22,7 +22,7 @@ + module.''' + + doc = inspect.getdoc(func) +- cfg = yaml.load(doc) ++ cfg = yaml.load(doc, Loader=yaml.CLoader) + + for task in cfg: + for module, params in task.items(): +diff --color -Nur ansible-2.9.27.orig/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py ansible-2.9.27/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py +--- ansible-2.9.27.orig/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py 2021-10-11 08:18:57.447847000 -0700 ++++ ansible-2.9.27/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py 2021-10-26 14:37:25.647363390 -0700 +@@ -141,7 +141,7 @@ + self.resource.update.return_value = data_merged + self.mock_ov_client.connection_templates.get.return_value = {"uri": "uri"} + +- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) ++ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) + + EthernetNetworkModule().run() + +@@ -155,7 +155,7 @@ + self.resource.get_by.return_value = [DICT_PARAMS_WITH_CHANGES] + self.mock_ov_client.connection_templates.get.return_value = {"uri": "uri"} + +- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) ++ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) + + EthernetNetworkModule().run() + +@@ -174,7 +174,7 @@ + self.mock_ov_client.connection_templates.get.return_value = { + "bandwidth": DICT_PARAMS_WITH_CHANGES['bandwidth']} + +- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) ++ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) + + EthernetNetworkModule().run() + +@@ -191,7 +191,7 @@ + self.resource.get_by.return_value = [DEFAULT_ENET_TEMPLATE] + self.resource.update.return_value = data_merged + +- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) ++ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) + + EthernetNetworkModule().run() + +@@ -329,7 +329,7 @@ + "max": 1 + }} + +- self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE) ++ self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE, Loader=yaml.CLoader) + + EthernetNetworkModule().run() + +@@ -340,7 +340,7 @@ + def test_should_fail_when_reset_not_existing_ethernet_network(self): + self.resource.get_by.return_value = [None] + +- self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE) ++ self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE, Loader=yaml.CLoader) + + EthernetNetworkModule().run() + +diff --color -Nur ansible-2.9.27.orig/test/units/plugins/action/test_synchronize.py ansible-2.9.27/test/units/plugins/action/test_synchronize.py +--- ansible-2.9.27.orig/test/units/plugins/action/test_synchronize.py 2021-10-11 08:18:57.476847000 -0700 ++++ ansible-2.9.27/test/units/plugins/action/test_synchronize.py 2021-10-26 15:22:02.968085259 -0700 +@@ -121,7 +121,7 @@ + metapath = os.path.join(fixturepath, 'meta.yaml') + with open(metapath, 'rb') as f: + fdata = f.read() +- test_meta = yaml.load(fdata) ++ test_meta = yaml.load(fdata, Loader=yaml.CLoader) + + # load initial play context vars + if '_play_context' in test_meta: diff --git a/ansible.spec b/ansible.spec index 58bec11..d733091 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,7 +15,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.26 +Version: 2.9.27 Release: 1%{?dist} License: GPLv3+ @@ -38,6 +38,12 @@ Patch3: fix-python-3.9-compatibility.patch # Fix to build docs with sphinx > 4.0 Patch4: ansible-2.9.23-sphinx4.patch +# compatiblity with pyyaml > 6 for some tests +Patch5: ansible-2.9.27-pyyaml-6-compat.patch + +# compatibility with openssl v3 +Patch6: ansible-2.9.27-openssl-3-compat.patch + # We used to have a ansible-python3 package that a number of other things # started depending on, so we should now provide/obsolete it until they # can all adjust to just needing ansible. @@ -275,6 +281,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* Mon Oct 11 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 diff --git a/sources b/sources index 8c09d6f..7c459ad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.26.tar.gz) = 35aa1434feb5f95f75f2384dbfd58cdd7c7c1c98907482d67fec060a3e8e2306015f26adbaba2bdb3c7281d2e0b39c2b9867b55f0436c2ec04cf2045011d9d3b +SHA512 (ansible-2.9.27.tar.gz) = 99987b8a1d243ef3496d66178774c33b05951daaff584b12e645c0176391805f90d00780e86adec01316b28645287489326218c0de7c10084552da90848735c7 From 663b08d497581a3f9acd77c103a8bc7f38677b56 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 1 Nov 2021 14:50:36 -0700 Subject: [PATCH 047/177] Add patch for oracle linux Fixes rhbz#2018369 --- ansible-2.9.27-oracle.patch | 12 ++++++++++++ ansible.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 ansible-2.9.27-oracle.patch diff --git a/ansible-2.9.27-oracle.patch b/ansible-2.9.27-oracle.patch new file mode 100644 index 0000000..ad15a67 --- /dev/null +++ b/ansible-2.9.27-oracle.patch @@ -0,0 +1,12 @@ +diff --color -Nur ansible-2.9.27.orig/lib/ansible/config/base.yml ansible-2.9.27/lib/ansible/config/b +ase.yml +--- ansible-2.9.27.orig/lib/ansible/config/base.yml 2021-10-11 08:18:55.681846900 -0700 ++++ ansible-2.9.27/lib/ansible/config/base.yml 2021-11-01 10:40:38.928873116 -0700 +@@ -1450,6 +1450,7 @@ + '8': /usr/libexec/platform-python + fedora: + '23': /usr/bin/python3 ++ oracle: *rhelish + redhat: *rhelish + rhel: *rhelish + ubuntu: diff --git a/ansible.spec b/ansible.spec index d733091..ca448ea 100644 --- a/ansible.spec +++ b/ansible.spec @@ -16,7 +16,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.27 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -44,6 +44,9 @@ Patch5: ansible-2.9.27-pyyaml-6-compat.patch # compatibility with openssl v3 Patch6: ansible-2.9.27-openssl-3-compat.patch +# add patch for Oracle linux: rhbz#2018369 +Patch7: ansible-2.9.27-oracle.patch + # We used to have a ansible-python3 package that a number of other things # started depending on, so we should now provide/obsolete it until they # can all adjust to just needing ansible. @@ -281,6 +284,9 @@ make PYTHON=/usr/bin/python3 tests-py3 %{python3_sitelib}/ansible_test %changelog +* 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 - Update to 2.9.27. Fixes rhbz#2012918 From 7369bf12b22b5278003fe025dd226502ec198cf3 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 20 Nov 2021 14:14:23 -0600 Subject: [PATCH 048/177] ansible-generator: Replace `ansible-core` with `ansible-base` Signed-off-by: Maxwell G --- ansible-generator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible-generator b/ansible-generator index b7450b1..b1470e2 100755 --- a/ansible-generator +++ b/ansible-generator @@ -27,7 +27,7 @@ def main(): f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}" ) if args.action == "requires": - print("(ansible >= 2.9.0 or ansible-base > 2.10.0)") + print("(ansible >= 2.9.0 or ansible-core >= 2.11.0)") for dep, req in info.get("dependencies", {}).items(): print(f"ansible-collection({dep})", end="") if req == "*": From 2beba00ac1e07aa323b8446cc17a4f2ae502a9f5 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 20 Nov 2021 14:22:56 -0600 Subject: [PATCH 049/177] Remove trailing spaces --- ansible.spec | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ansible.spec b/ansible.spec index ca448ea..b02d177 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,11 +1,11 @@ # Note to maintainers: main and all fedora branches can be merged. -# epel8 and epel7 and should be updated seperately. +# epel8 and epel7 and should be updated seperately. # in Fedora and EPEL8 build with docs and tests by default %global with_docs 1 -# Disable tests on f29/f30 and epel8 for now. -# epel8 is missing 2 required packages. +# Disable tests on f29/f30 and epel8 for now. +# epel8 is missing 2 required packages. # fedora29 and fedora30 have too old pytest %if 0%{?fedora} < 31 || 0%{?rhel} >= 8 %global with_tests 0 @@ -48,7 +48,7 @@ Patch6: ansible-2.9.27-openssl-3-compat.patch Patch7: ansible-2.9.27-oracle.patch # We used to have a ansible-python3 package that a number of other things -# started depending on, so we should now provide/obsolete it until they +# started depending on, so we should now provide/obsolete it until they # can all adjust to just needing ansible. Provides: ansible-python3 = %{version}-%{release} Obsoletes: ansible-python3 < %{version}-%{release} @@ -363,7 +363,7 @@ make PYTHON=/usr/bin/python3 tests-py3 - Update to 2.9.11. * Thu Jun 18 2020 Kevin Fenzi - 2.9.10-1 -- Update to 2.9.10. +- Update to 2.9.10. * Fri May 29 2020 Charalampos Stratakis - 2.9.9-3 - Fix Python 3.9 compatibility (#1808674) @@ -453,7 +453,7 @@ make PYTHON=/usr/bin/python3 tests-py3 - 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 @@ -599,7 +599,7 @@ make PYTHON=/usr/bin/python3 tests-py3 - 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 @@ -752,7 +752,7 @@ make PYTHON=/usr/bin/python3 tests-py3 - 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 @@ -803,7 +803,7 @@ make PYTHON=/usr/bin/python3 tests-py3 - 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 @@ -899,7 +899,7 @@ make PYTHON=/usr/bin/python3 tests-py3 * 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 e6326587dce0263c61081d16ac9c677c2788d65a Mon Sep 17 00:00:00 2001 From: Charalampos Stratakis Date: Tue, 7 Dec 2021 22:50:16 +0100 Subject: [PATCH 050/177] Remove redundant BuildRequires on python3-nose --- ansible.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index b02d177..67ca5a4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -99,7 +99,6 @@ BuildRequires: python3-setuptools # is deprecated, just ignore it #BuildRequires: python-keyczar BuildRequires: python3-six -BuildRequires: python3-nose # We pin Pytest to version 4 for now # as there are some test failures with # version 5. See rhbz#1841968 From c947a30f28e9d2305ea303df64456b49575ba8f8 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Fri, 15 Oct 2021 12:43:52 -0400 Subject: [PATCH 051/177] Refactor and update to upstream 5.1.0 - Update to latest upstream release - Refactor to take into account split from ansible-core after ansible 2.9, see: https://fedoraproject.org/wiki/Changes/Ansible5 - Remove patches intended for Ansible 2.9 - Removed packaging macros (soon included in ansible-packaging, see rhbz#2038591) - Removed provides/obsoletes on ansible-python3 Co-Authored-By: Maxwell G Co-Authored-By: David Moreau-Simard --- .gitignore | 1 + ansible-2.9.22-rocky.patch | 76 ---- ansible-2.9.23-sphinx4.patch | 12 - ansible-2.9.27-openssl-3-compat.patch | 15 - ansible-2.9.27-oracle.patch | 12 - ansible-2.9.27-pyyaml-6-compat.patch | 81 ----- ...ild_requirement_from_path_no_version.patch | 78 ----- ansible-generator | 46 --- ansible.attr | 3 - ansible.rpmlintrc | 5 + ansible.spec | 330 +++++------------- fix-python-3.9-compatibility.patch | 43 --- macros.ansible | 7 - sources | 2 +- 14 files changed, 87 insertions(+), 624 deletions(-) delete mode 100644 ansible-2.9.22-rocky.patch delete mode 100644 ansible-2.9.23-sphinx4.patch delete mode 100644 ansible-2.9.27-openssl-3-compat.patch delete mode 100644 ansible-2.9.27-oracle.patch delete mode 100644 ansible-2.9.27-pyyaml-6-compat.patch delete mode 100644 ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch delete mode 100755 ansible-generator delete mode 100644 ansible.attr create mode 100644 ansible.rpmlintrc delete mode 100644 fix-python-3.9-compatibility.patch delete mode 100644 macros.ansible diff --git a/.gitignore b/.gitignore index da249fd..955f46d 100644 --- a/.gitignore +++ b/.gitignore @@ -111,3 +111,4 @@ /ansible-2.9.25.tar.gz /ansible-2.9.26.tar.gz /ansible-2.9.27.tar.gz +/ansible-5.1.0.tar.gz diff --git a/ansible-2.9.22-rocky.patch b/ansible-2.9.22-rocky.patch deleted file mode 100644 index 5f6c967..0000000 --- a/ansible-2.9.22-rocky.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --color -Nur ansible.2.9.22.orig/lib/ansible/modules/system/hostname.py ansible-2.9.22/lib/ansible/modules/system/hostname.py ---- ansible.2.9.22.orig/lib/ansible/modules/system/hostname.py 2021-05-24 14:18:02.000000000 -0700 -+++ ansible-2.9.22/lib/ansible/modules/system/hostname.py 2021-06-19 10:09:53.078883364 -0700 -@@ -782,6 +782,10 @@ - distribution = 'Neon' - strategy_class = DebianStrategy - -+class RockyLinuxHostname(Hostname): -+ platform = 'Linux' -+ distribution = 'Rocky' -+ strategy_class = SystemdStrategy - - def main(): - module = AnsibleModule( -diff --color -Nur ansible.2.9.22.orig/lib/ansible/module_utils/facts/system/distribution.py ansible-2.9.22/lib/ansible/module_utils/facts/system/distribution.py ---- ansible.2.9.22.orig/lib/ansible/module_utils/facts/system/distribution.py 2021-05-24 14:18:01.000000000 -0700 -+++ ansible-2.9.22/lib/ansible/module_utils/facts/system/distribution.py 2021-06-19 10:09:38.680877684 -0700 -@@ -467,7 +467,7 @@ - OS_FAMILY_MAP = {'RedHat': ['RedHat', 'Fedora', 'CentOS', 'Scientific', 'SLC', - 'Ascendos', 'CloudLinux', 'PSBM', 'OracleLinux', 'OVS', - 'OEL', 'Amazon', 'Virtuozzo', 'XenServer', 'Alibaba', -- 'AlmaLinux'], -+ 'AlmaLinux', 'Rocky'], - 'Debian': ['Debian', 'Ubuntu', 'Raspbian', 'Neon', 'KDE neon', - 'Linux Mint', 'SteamOS', 'Devuan', 'Kali', 'Cumulus Linux'], - 'Suse': ['SuSE', 'SLES', 'SLED', 'openSUSE', 'openSUSE Tumbleweed', -diff --color -Nur ansible.2.9.22.orig/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json ansible-2.9.22/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json ---- ansible.2.9.22.orig/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json 1969-12-31 16:00:00.000000000 -0800 -+++ ansible-2.9.22/test/units/module_utils/facts/system/distribution/fixtures/rockylinux_8_3.json 2021-06-19 10:12:39.019948830 -0700 -@@ -0,0 +1,46 @@ -+{ -+ "name": "Rocky 8.3", -+ "distro": { -+ "codename": "", -+ "id": "rocky", -+ "name": "Rocky Linux", -+ "version": "8.3", -+ "version_best": "8.3", -+ "lsb_release_info": {}, -+ "os_release_info": { -+ "name": "Rocky Linux", -+ "version": "8.3", -+ "id": "rocky", -+ "id_like": "rhel fedora", -+ "version_id": "8.3", -+ "platform_id": "platform:el8", -+ "pretty_name": "Rocky Linux 8.3", -+ "ansi_color": "0;31", -+ "cpe_name": "cpe:/o:rocky:rocky:8", -+ "home_url": "https://rockylinux.org/", -+ "bug_report_url": "https://bugs.rockylinux.org/", -+ "rocky_support_product": "Rocky Linux", -+ "rocky_support_product_version": "8" -+ } -+ }, -+ "input": { -+ "/etc/redhat-release": "Rocky Linux release 8.3\n", -+ "/etc/system-release": "Rocky Linux release 8.3\n", -+ "/etc/rocky-release": "Rocky Linux release 8.3\n", -+ "/etc/os-release": "NAME=\"Rocky Linux\"\nVERSION=\"8.3\"\nID=\"rocky\"\nID_LIKE=\"rhel fedora\"\nVERSION_ID=\"8.3\"\nPLATFORM_ID=\"platform:el8\"\nPRETTY_NAME=\"Rocky Linux 8.3\"\nANSI_COLOR=\"0;31\"\nCPE_NAME=\"cpe:/o:rocky:rocky:8\"\nHOME_URL=\"https://rockylinux.org/\"\nBUG_REPORT_URL=\"https://bugs.rockylinux.org/\"\nROCKY_SUPPORT_PRODUCT=\"Rocky Linux\"\nROCKY_SUPPORT_PRODUCT_VERSION=\"8\"\n", -+ "/usr/lib/os-release": "NAME=\"Rocky Linux\"\nVERSION=\"8.3\"\nID=\"rocky\"\nID_LIKE=\"rhel fedora\"\nVERSION_ID=\"8.3\"\nPLATFORM_ID=\"platform:el8\"\nPRETTY_NAME=\"Rocky Linux 8.3\"\nANSI_COLOR=\"0;31\"\nCPE_NAME=\"cpe:/o:rocky:rocky:8\"\nHOME_URL=\"https://rockylinux.org/\"\nBUG_REPORT_URL=\"https://bugs.rockylinux.org/\"\nROCKY_SUPPORT_PRODUCT=\"Rocky Linux\"\nROCKY_SUPPORT_PRODUCT_VERSION=\"8\"\n" -+ }, -+ "platform.dist": [ -+ "rocky", -+ "8.3", -+ "" -+ ], -+ "result": { -+ "distribution": "Rocky", -+ "distribution_version": "8.3", -+ "distribution_release": "NA", -+ "distribution_major_version": "8", -+ "os_family": "RedHat" -+ }, -+ "platform.release": "4.18.0-240.22.1.el8.x86_64" -+} diff --git a/ansible-2.9.23-sphinx4.patch b/ansible-2.9.23-sphinx4.patch deleted file mode 100644 index de1d368..0000000 --- a/ansible-2.9.23-sphinx4.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --color -Nur ansible-2.9.23.orig/docs/docsite/_extensions/pygments_lexer.py ansible-2.9.23/docs/docsite/_extensions/pygments_lexer.py ---- ansible-2.9.23.orig/docs/docsite/_extensions/pygments_lexer.py 2021-06-21 23:04:48.000000000 -0700 -+++ ansible-2.9.23/docs/docsite/_extensions/pygments_lexer.py 2021-07-10 12:33:05.790899630 -0700 -@@ -178,7 +178,7 @@ - See http://www.sphinx-doc.org/en/stable/extdev/index.html#dev-extensions. - """ - for lexer in [ -- AnsibleOutputLexer(startinline=True) -+ AnsibleOutputLexer - ]: - app.add_lexer(lexer.name, lexer) - for alias in lexer.aliases: diff --git a/ansible-2.9.27-openssl-3-compat.patch b/ansible-2.9.27-openssl-3-compat.patch deleted file mode 100644 index e6c9c1c..0000000 --- a/ansible-2.9.27-openssl-3-compat.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --color -Nur ansible-2.9.27.orig/test/units/module_utils/acme/fixtures/csr_1.pem ansible-2.9.27/test/units/module_utils/acme/fixtures/csr_1.pem ---- ansible-2.9.27.orig/test/units/module_utils/acme/fixtures/csr_1.pem 2021-10-11 08:18:57.217846900 -0700 -+++ ansible-2.9.27/test/units/module_utils/acme/fixtures/csr_1.pem 2021-10-26 15:19:37.479752918 -0700 -@@ -1,4 +1,4 @@ -------BEGIN NEW CERTIFICATE REQUEST----- -+-----BEGIN CERTIFICATE REQUEST----- - MIIBJTCBzQIBADAWMRQwEgYDVQQDEwthbnNpYmxlLmNvbTBZMBMGByqGSM49AgEG - CCqGSM49AwEHA0IABACc9MgAFwMBJjoU0ZI18cIHnW1juoKG2DN5VrM60uvBvEEs - 4V0egJkNyM2Q4pp001zu14VcpQ0/Ei8xOOPxKZugVTBTBgkqhkiG9w0BCQ4xRjBE -@@ -6,4 +6,4 @@ - AjAAMA8GA1UdDwEB/wQFAwMHgAAwCgYIKoZIzj0EAwIDRwAwRAIgcDyoRmwFVBDl - FvbFZtiSd5wmJU1ltM6JtcfnLWnjY54CICruOByrropFUkOKKb4xXOYsgaDT93Wr - URnCJfTLr2T3 -------END NEW CERTIFICATE REQUEST----- -+-----END CERTIFICATE REQUEST----- diff --git a/ansible-2.9.27-oracle.patch b/ansible-2.9.27-oracle.patch deleted file mode 100644 index ad15a67..0000000 --- a/ansible-2.9.27-oracle.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --color -Nur ansible-2.9.27.orig/lib/ansible/config/base.yml ansible-2.9.27/lib/ansible/config/b -ase.yml ---- ansible-2.9.27.orig/lib/ansible/config/base.yml 2021-10-11 08:18:55.681846900 -0700 -+++ ansible-2.9.27/lib/ansible/config/base.yml 2021-11-01 10:40:38.928873116 -0700 -@@ -1450,6 +1450,7 @@ - '8': /usr/libexec/platform-python - fedora: - '23': /usr/bin/python3 -+ oracle: *rhelish - redhat: *rhelish - rhel: *rhelish - ubuntu: diff --git a/ansible-2.9.27-pyyaml-6-compat.patch b/ansible-2.9.27-pyyaml-6-compat.patch deleted file mode 100644 index a85fe0d..0000000 --- a/ansible-2.9.27-pyyaml-6-compat.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --color -Nur ansible-2.9.27.orig/test/units/modules/cloud/openstack/test_os_server.py ansible-2.9.27/test/units/modules/cloud/openstack/test_os_server.py ---- ansible-2.9.27.orig/test/units/modules/cloud/openstack/test_os_server.py 2021-10-11 08:18:57.290846800 -0700 -+++ ansible-2.9.27/test/units/modules/cloud/openstack/test_os_server.py 2021-10-26 14:36:44.086550302 -0700 -@@ -22,7 +22,7 @@ - module.''' - - doc = inspect.getdoc(func) -- cfg = yaml.load(doc) -+ cfg = yaml.load(doc, Loader=yaml.CLoader) - - for task in cfg: - for module, params in task.items(): -diff --color -Nur ansible-2.9.27.orig/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py ansible-2.9.27/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py ---- ansible-2.9.27.orig/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py 2021-10-11 08:18:57.447847000 -0700 -+++ ansible-2.9.27/test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py 2021-10-26 14:37:25.647363390 -0700 -@@ -141,7 +141,7 @@ - self.resource.update.return_value = data_merged - self.mock_ov_client.connection_templates.get.return_value = {"uri": "uri"} - -- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) -+ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) - - EthernetNetworkModule().run() - -@@ -155,7 +155,7 @@ - self.resource.get_by.return_value = [DICT_PARAMS_WITH_CHANGES] - self.mock_ov_client.connection_templates.get.return_value = {"uri": "uri"} - -- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) -+ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) - - EthernetNetworkModule().run() - -@@ -174,7 +174,7 @@ - self.mock_ov_client.connection_templates.get.return_value = { - "bandwidth": DICT_PARAMS_WITH_CHANGES['bandwidth']} - -- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) -+ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) - - EthernetNetworkModule().run() - -@@ -191,7 +191,7 @@ - self.resource.get_by.return_value = [DEFAULT_ENET_TEMPLATE] - self.resource.update.return_value = data_merged - -- self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES) -+ self.mock_ansible_module.params = yaml.load(YAML_PARAMS_WITH_CHANGES, Loader=yaml.CLoader) - - EthernetNetworkModule().run() - -@@ -329,7 +329,7 @@ - "max": 1 - }} - -- self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE) -+ self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE, Loader=yaml.CLoader) - - EthernetNetworkModule().run() - -@@ -340,7 +340,7 @@ - def test_should_fail_when_reset_not_existing_ethernet_network(self): - self.resource.get_by.return_value = [None] - -- self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE) -+ self.mock_ansible_module.params = yaml.load(YAML_RESET_CONNECTION_TEMPLATE, Loader=yaml.CLoader) - - EthernetNetworkModule().run() - -diff --color -Nur ansible-2.9.27.orig/test/units/plugins/action/test_synchronize.py ansible-2.9.27/test/units/plugins/action/test_synchronize.py ---- ansible-2.9.27.orig/test/units/plugins/action/test_synchronize.py 2021-10-11 08:18:57.476847000 -0700 -+++ ansible-2.9.27/test/units/plugins/action/test_synchronize.py 2021-10-26 15:22:02.968085259 -0700 -@@ -121,7 +121,7 @@ - metapath = os.path.join(fixturepath, 'meta.yaml') - with open(metapath, 'rb') as f: - fdata = f.read() -- test_meta = yaml.load(fdata) -+ test_meta = yaml.load(fdata, Loader=yaml.CLoader) - - # load initial play context vars - if '_play_context' in test_meta: diff --git a/ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch b/ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch deleted file mode 100644 index 9cbed83..0000000 --- a/ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff -Nur ansible-2.9.6.orig/test/units/galaxy/test_collection_install.py ansible-2.9.6/test/units/galaxy/test_collection_install.py ---- ansible-2.9.6.orig/test/units/galaxy/test_collection_install.py 2020-03-04 21:40:01.000000000 -0800 -+++ ansible-2.9.6/test/units/galaxy/test_collection_install.py 2020-03-06 13:35:48.489822740 -0800 -@@ -204,40 +204,40 @@ - collection.CollectionRequirement.from_path(collection_artifact[0], True) - - --def test_build_requirement_from_path_no_version(collection_artifact, monkeypatch): -- manifest_path = os.path.join(collection_artifact[0], b'MANIFEST.json') -- manifest_value = json.dumps({ -- 'collection_info': { -- 'namespace': 'namespace', -- 'name': 'name', -- 'version': '', -- 'dependencies': {} -- } -- }) -- with open(manifest_path, 'wb') as manifest_obj: -- manifest_obj.write(to_bytes(manifest_value)) -- -- mock_display = MagicMock() -- monkeypatch.setattr(Display, 'display', mock_display) -- -- actual = collection.CollectionRequirement.from_path(collection_artifact[0], True) -- -- # While the folder name suggests a different collection, we treat MANIFEST.json as the source of truth. -- assert actual.namespace == u'namespace' -- assert actual.name == u'name' -- assert actual.b_path == collection_artifact[0] -- assert actual.api is None -- assert actual.skip is True -- assert actual.versions == set(['*']) -- assert actual.latest_version == u'*' -- assert actual.dependencies == {} -- -- assert mock_display.call_count == 1 -- -- actual_warn = ' '.join(mock_display.mock_calls[0][1][0].split('\n')) -- expected_warn = "Collection at '%s' does not have a valid version set, falling back to '*'. Found version: ''" \ -- % to_text(collection_artifact[0]) -- assert expected_warn in actual_warn -+#def test_build_requirement_from_path_no_version(collection_artifact, monkeypatch): -+# manifest_path = os.path.join(collection_artifact[0], b'MANIFEST.json') -+# manifest_value = json.dumps({ -+# 'collection_info': { -+# 'namespace': 'namespace', -+# 'name': 'name', -+# 'version': '', -+# 'dependencies': {} -+# } -+# }) -+# with open(manifest_path, 'wb') as manifest_obj: -+# manifest_obj.write(to_bytes(manifest_value)) -+# -+# mock_display = MagicMock() -+# monkeypatch.setattr(Display, 'display', mock_display) -+# -+# actual = collection.CollectionRequirement.from_path(collection_artifact[0], True) -+# -+# # While the folder name suggests a different collection, we treat MANIFEST.json as the source of truth. -+# assert actual.namespace == u'namespace' -+# assert actual.name == u'name' -+# assert actual.b_path == collection_artifact[0] -+# assert actual.api is None -+# assert actual.skip is True -+# assert actual.versions == set(['*']) -+# assert actual.latest_version == u'*' -+# assert actual.dependencies == {} -+# -+# assert mock_display.call_count == 1 -+# -+# actual_warn = ' '.join(mock_display.mock_calls[0][1][0].split('\n')) -+# expected_warn = "Collection at '%s' does not have a valid version set, falling back to '*'. Found version: ''" \ -+# % to_text(collection_artifact[0]) -+# assert expected_warn in actual_warn - - - def test_build_requirement_from_tar(collection_artifact): diff --git a/ansible-generator b/ansible-generator deleted file mode 100755 index b1470e2..0000000 --- a/ansible-generator +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/python3 - -import argparse -import json -import re -import sys - - -def main(): - parser = argparse.ArgumentParser() - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument( - "-P", "--provides", action="store_const", const="provides", dest="action" - ) - group.add_argument( - "-R", "--requires", action="store_const", const="requires", dest="action" - ) - args = parser.parse_args() - - files = sys.stdin.read().splitlines() - - for f in files: - with open(f, "r") as fobj: - info = json.load(fobj)["collection_info"] - if args.action == "provides": - print( - f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}" - ) - if args.action == "requires": - print("(ansible >= 2.9.0 or ansible-core >= 2.11.0)") - for dep, req in info.get("dependencies", {}).items(): - print(f"ansible-collection({dep})", end="") - if req == "*": - print() - continue - m = re.match(r"^>=(\d+\.\d+\.\d+)$", req) - if m: - print(f" >= {m.group(1)}") - continue - raise NotImplementedError( - "Generation of dependencies different than '*' or '>=' is not supported yet" - ) - - -if __name__ == "__main__": - main() diff --git a/ansible.attr b/ansible.attr deleted file mode 100644 index 997dafa..0000000 --- a/ansible.attr +++ /dev/null @@ -1,3 +0,0 @@ -%__ansible_provides %{_rpmconfigdir}/ansible-generator --provides -%__ansible_requires %{_rpmconfigdir}/ansible-generator --requires -%__ansible_path ^%{_datadir}/ansible/collections/ansible_collections/[^/]+/[^/]+/MANIFEST.json$ diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc new file mode 100644 index 0000000..8d10004 --- /dev/null +++ b/ansible.rpmlintrc @@ -0,0 +1,5 @@ +addFilter("E: non-executable-script") +addFilter("W: files-duplicate") +addFilter("W: name-repeated-in-summary") +# This is not egrep, it's "find -regextype posix-egrep" +addFilter("W: deprecated-grep") diff --git a/ansible.spec b/ansible.spec index 67ca5a4..32e79fb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,131 +1,30 @@ -# Note to maintainers: main and all fedora branches can be merged. -# epel8 and epel7 and should be updated seperately. - -# in Fedora and EPEL8 build with docs and tests by default -%global with_docs 1 - -# Disable tests on f29/f30 and epel8 for now. -# epel8 is missing 2 required packages. -# fedora29 and fedora30 have too old pytest -%if 0%{?fedora} < 31 || 0%{?rhel} >= 8 +# TODO: Re-enable docs and tests once possible +%global with_docs 0 %global with_tests 0 -%else -%global with_tests 1 -%endif +%global ansible_licensedir %{_defaultlicensedir}/ansible +%global ansible_docdir %{_defaultdocdir}/ansible -Name: ansible -Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.9.27 -Release: 2%{?dist} +Name: ansible +Summary: Curated set of Ansible collections included in addition to ansible-core +Version: 5.1.0 +Release: 1%{?dist} -License: GPLv3+ -Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -Source1: ansible.attr -Source2: ansible-generator -Source3: macros.ansible -Url: http://ansible.com -BuildArch: noarch +License: GPLv3+ +Source0: %{pypi_source} +Url: https://ansible.com +BuildArch: noarch -# add patch for Rocky linux: rhbz#1968728 -Patch1: ansible-2.9.22-rocky.patch - -# Disable failing test -Patch2: ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch -# Fix Python 3.9 compatibility -# Backported from upstream: https://github.com/ansible/ansible/pull/67891 -Patch3: fix-python-3.9-compatibility.patch - -# Fix to build docs with sphinx > 4.0 -Patch4: ansible-2.9.23-sphinx4.patch - -# compatiblity with pyyaml > 6 for some tests -Patch5: ansible-2.9.27-pyyaml-6-compat.patch - -# compatibility with openssl v3 -Patch6: ansible-2.9.27-openssl-3-compat.patch - -# add patch for Oracle linux: rhbz#2018369 -Patch7: ansible-2.9.27-oracle.patch - -# We used to have a ansible-python3 package that a number of other things -# started depending on, so we should now provide/obsolete it until they -# can all adjust to just needing ansible. -Provides: ansible-python3 = %{version}-%{release} -Obsoletes: ansible-python3 < %{version}-%{release} - -# Conflict with the ansible-base package for now. -Conflicts: ansible-base > 2.10.0 -# Conflict with the ansible-core package for now also. -Conflicts: ansible-core > 2.11.0 +BuildRequires: findutils +BuildRequires: python3-devel +BuildRequires: python3-setuptools %if 0%{?with_tests} -# -# For tests -# -# These two exist on both fedora and rhel8 -# -BuildRequires: python3-packaging -BuildRequires: python3-pexpect -# -# These only exist on Fedora. RHEL8 will just skip tests that need them. -# -%if 0%{?fedora} -BuildRequires: python3-paramiko -BuildRequires: python3-winrm +# TODO build-requires +%endif -BuildRequires: python3-crypto -BuildRequires: python3-pbkdf2 -BuildRequires: python3-httmock -BuildRequires: python3-gitlab -BuildRequires: python3-boto3 -BuildRequires: python3-botocore -BuildRequires: python3-coverage -BuildRequires: python3-passlib -%endif -%endif -# For Docs/tests -BuildRequires: git-core -BuildRequires: openssl %if 0%{?with_docs} -BuildRequires: python3-sphinx -BuildRequires: python3-sphinx-theme-alabaster -BuildRequires: python3-sphinx-notfound-page -BuildRequires: asciidoc -BuildRequires: python3-straight-plugin +# TODO build-requires %endif -BuildRequires: python3-devel -BuildRequires: python3-setuptools -# accelerate is the only thing that makes keyczar mandatory. Since accelerate -# is deprecated, just ignore it -#BuildRequires: python-keyczar -BuildRequires: python3-six -# We pin Pytest to version 4 for now -# as there are some test failures with -# version 5. See rhbz#1841968 -BuildRequires: %{py3_dist pytest} -BuildRequires: python3-pytest-xdist -BuildRequires: python3-pytest-mock -BuildRequires: python3-requests -BuildRequires: python3-mock -BuildRequires: python3-jinja2 -BuildRequires: python3-pyyaml -BuildRequires: python3-cryptography -BuildRequires: python3-pyvmomi -BuildRequires: make - -# RHEL8 doesn't have python3-paramiko or python3-winrm (yet), but Fedora does -Recommends: python3-paramiko -Recommends: python3-winrm -# accelerate is the only thing that makes keyczar mandatory. Since accelerate -# is deprecated, just ignore it -#Requires: python3-keyczar -Requires: python3-setuptools -Requires: python3-six -Requires: python3-jinja2 -Requires: python3-pyyaml -Requires: sshpass -# needed for json_query filter -Requires: python3-jmespath %description Ansible is a radically simple model-driven configuration management, @@ -134,155 +33,86 @@ over SSH and does not require any software or daemons to be installed on remote nodes. Extension modules can be written in any language and are transferred to managed machines automatically. -%package -n ansible-doc -Summary: Documentation for Ansible - -%description -n ansible-doc - -Ansible is a radically simple model-driven configuration management, -multi-node deployment, and remote task execution system. Ansible works -over SSH and does not require any software or daemons to be installed -on remote nodes. Extension modules can be written in any language and -are transferred to managed machines automatically. - -This package installs extensive documentation for ansible - -%package -n ansible-test -Summary: Tool for testing ansible plugin and module code -Requires: %{name} = %{version}-%{release} - -%description -n ansible-test -Ansible is a radically simple model-driven configuration management, -multi-node deployment, and remote task execution system. Ansible works -over SSH and does not require any software or daemons to be installed -on remote nodes. Extension modules can be written in any language and -are transferred to managed machines automatically. - -This package installs the ansible-test command for testing modules and plugins -developed for ansible. - +This package provides a curated set of Ansible collections included in addition +to ansible-core. %prep -%autosetup -p1 -cp -a %{S:1} %{S:2} %{S:3} . +%autosetup -n ansible-%{version} + +# 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)$" +find ansible_collections -regextype posix-egrep -regex "${hidden_pattern}" -print -depth -exec rm -rf {} \; + +# TODO: Delete (bulky) tests for now but we should run sanity and unit tests soon. +find ansible_collections -type d -wholename "*tests/integration" -print -depth -exec rm -rf {} \; +find ansible_collections -type d -wholename "*tests/unit" -print -depth -exec rm -rf {} \; +find ansible_collections -type d -wholename "*tests/sanity" -print -depth -exec rm -rf {} \; +find ansible_collections -type d -wholename "*tests/regression" -print -depth -exec rm -rf {} \; + +# https://github.com/ansible-collections/kubernetes.core/pull/298 +rm -rf ansible_collections/kubernetes/core/molecule + +# 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 + +echo "[END] Delete unnecessary files and directories" %build - -# Fix some files shebangs -sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' test/lib/ansible_test/_data/*.py test/lib/ansible_test/_data/*/*.py test/lib/ansible_test/_data/*/*/*.py docs/bin/find-plugin-refs.py - -# These we have to supress or the package will depend on /usr/bin/pwsh and not be installable. -sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/ps_argspec.ps1 -sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/sanity/pslint/pslint.ps1 -sed -i -s 's|/usr/bin/env pwsh||' test/lib/ansible_test/_data/requirements/sanity.ps1 - -# disable the python -s shbang flag as we want to be able to find non system modules -%global py3_shbang_opts %(echo %{py3_shbang_opts} | sed 's/-s//') +%py3_shebang_fix ansible_collections %py3_build -%if 0%{?with_docs} - make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs -%else -make PYTHON=/usr/bin/python3 -Cdocs/docsite config cli keywords modules plugins testing -%endif - %install %py3_install -# Create system directories that Ansible defines as default locations in -# ansible/config/base.yml -DATADIR_LOCATIONS='%{_datadir}/ansible/collections -%{_datadir}/ansible/collections/ansible_collections -%{_datadir}/ansible/plugins/doc_fragments -%{_datadir}/ansible/plugins/action -%{_datadir}/ansible/plugins/become -%{_datadir}/ansible/plugins/cache -%{_datadir}/ansible/plugins/callback -%{_datadir}/ansible/plugins/cliconf -%{_datadir}/ansible/plugins/connection -%{_datadir}/ansible/plugins/filter -%{_datadir}/ansible/plugins/httpapi -%{_datadir}/ansible/plugins/inventory -%{_datadir}/ansible/plugins/lookup -%{_datadir}/ansible/plugins/modules -%{_datadir}/ansible/plugins/module_utils -%{_datadir}/ansible/plugins/netconf -%{_datadir}/ansible/roles -%{_datadir}/ansible/plugins/strategy -%{_datadir}/ansible/plugins/terminal -%{_datadir}/ansible/plugins/test -%{_datadir}/ansible/plugins/vars' - -UPSTREAM_DATADIR_LOCATIONS=$(grep -ri default lib/ansible/config/base.yml| tr ':' '\n' | grep '/usr/share/ansible') - -if [ "$SYSTEM_LOCATIONS" != "$UPSTREAM_SYSTEM_LOCATIONS" ] ; then - echo "The upstream Ansible datadir locations have changed. Spec file needs to be updated" - exit 1 -fi - -mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/plugins/ -for location in $DATADIR_LOCATIONS ; do - mkdir $RPM_BUILD_ROOT"$location" -done -mkdir -p $RPM_BUILD_ROOT/etc/ansible/ -mkdir -p $RPM_BUILD_ROOT/etc/ansible/roles/ - -cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ -cp examples/ansible.cfg $RPM_BUILD_ROOT/etc/ansible/ -mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 -cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ - -cp -pr docs/docsite/rst . -%if 0%{?with_docs} - cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html -%endif - -install -Dpm0644 -t %{buildroot}%{_fileattrsdir} ansible.attr -install -Dpm0644 -t %{buildroot}%{_rpmmacrodir} macros.ansible -install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} ansible-generator - +# Install docs and licenses +( + mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" + cd ansible_collections + # This finds the license file for each collection, copies it to + # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds + # `%%license /path/to/license` to the %%files list. See `man find` for more info. + # The extra percent signs are needed to escape RPM. + find . -mindepth 3 -type f \( -name LICENSE -o -name COPYING \) \ + -exec cp -p --parents '{}' '%{buildroot}%{ansible_licensedir}' \; \ + -printf '%%%%license %%%%{ansible_licensedir}/%%P\n' | tee -a ../files.list + # This does the same thing, but for READMEs. + find . -mindepth 3 -type f -name 'README.*' \ + -exec cp -p --parents '{}' '%{buildroot}%{ansible_docdir}' \; \ + -printf '%%%%doc %%%%{ansible_docdir}/%%P\n' | tee -a ../files.list +) %check %if 0%{?with_tests} -ln -s /usr/bin/pytest-3 bin/pytest -pathfix.py -i %{__python3} -p test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py -# This test needs a module not packaged in Fedora so disable it. -rm -f test/units/modules/cloud/cloudstack/test_cs_traffic_type.py -# These tests are failing with pytest 6 -rm -f test/units/module_utils/facts/hardware/test_sunos_get_uptime_facts.py -rm -f test/units/modules/source_control/test_gitlab_runner.py -rm -f test/units/plugins/lookup/test_aws_secret.py -rm -f test/units/plugins/lookup/test_aws_ssm.py -make PYTHON=/usr/bin/python3 tests-py3 +# TODO: Run tests %endif -%files +%files -f files.list %license COPYING -%doc README.rst PKG-INFO changelogs/CHANGELOG-v2.9.rst -%doc %{_mandir}/man1/ansible* -%config(noreplace) %{_sysconfdir}/ansible/ -%{_bindir}/ansible* -%{_datadir}/ansible/ -%{python3_sitelib}/ansible -%{python3_sitelib}/ansible_test +%doc README.rst PKG-INFO porting_guide_5.rst CHANGELOG-v5.rst +# Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX +# when installing the ansible package from PyPi. +# 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 -%{_fileattrsdir}/ansible.attr -%{_rpmmacrodir}/macros.ansible -%{_rpmconfigdir}/ansible-generator -%exclude %{_bindir}/ansible-test -%exclude %{python3_sitelib}/ansible_test - -%files -n ansible-doc -%doc rst -%if 0%{?with_docs} -%doc html -%endif - -%files -n ansible-test -%{_bindir}/ansible-test -%{python3_sitelib}/ansible_test %changelog +* Tue Jan 11 2022 David Moreau-Simard - 5.1.0-1 +- Update to latest upstream release +- Refactor to take into account split from ansible-core after ansible 2.9, see: https://fedoraproject.org/wiki/Changes/Ansible5 +- Remove patches intended for Ansible 2.9 +- 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 diff --git a/fix-python-3.9-compatibility.patch b/fix-python-3.9-compatibility.patch deleted file mode 100644 index 0cc6fee..0000000 --- a/fix-python-3.9-compatibility.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --color -Nur ansible-2.9.16.orig/test/lib/ansible_test/_data/completion/docker.txt ansible-2.9.16/test/lib/ansible_test/_data/completion/docker.txt ---- ansible-2.9.16.orig/test/lib/ansible_test/_data/completion/docker.txt 2020-12-14 15:48:25.000000000 -0800 -+++ ansible-2.9.16/test/lib/ansible_test/_data/completion/docker.txt 2020-12-17 11:38:44.409269125 -0800 -@@ -1,4 +1,4 @@ --default name=quay.io/ansible/default-test-container:1.10.1 python=3.6,2.6,2.7,3.5,3.7,3.8 seccomp=unconfined -+default name=quay.io/ansible/default-test-container:1.10.1 python=3.6,2.6,2.7,3.5,3.7,3.8,3.9,3.10 seccomp=unconfined - centos6 name=quay.io/ansible/centos6-test-container:1.26.0 python=2.6 seccomp=unconfined - centos7 name=quay.io/ansible/centos7-test-container:1.8.0 python=2.7 seccomp=unconfined - centos8 name=quay.io/ansible/centos8-test-container:1.10.0 python=3.6 seccomp=unconfined -diff --color -Nur ansible-2.9.16.orig/test/lib/ansible_test/_data/sanity/compile/compile.py ansible-2.9.16/test/lib/ansible_test/_data/sanity/compile/compile.py ---- ansible-2.9.16.orig/test/lib/ansible_test/_data/sanity/compile/compile.py 2020-12-14 15:48:25.000000000 -0800 -+++ ansible-2.9.16/test/lib/ansible_test/_data/sanity/compile/compile.py 2020-12-17 11:36:47.712080958 -0800 -@@ -3,9 +3,16 @@ - from __future__ import (absolute_import, division, print_function) - __metaclass__ = type - --import parser --import sys -+import warnings -+ -+with warnings.catch_warnings(): -+ # The parser module is deprecated as of Python 3.9. -+ # This implementation will need to be updated to use another solution. -+ # Until then, disable the deprecation warnings to prevent test failures. -+ warnings.simplefilter('ignore', DeprecationWarning) -+ import parser - -+import sys - - def main(): - status = 0 -diff --color -Nur ansible-2.9.16.orig/test/lib/ansible_test/_internal/util.py ansible-2.9.16/test/lib/ansible_test/_internal/util.py ---- ansible-2.9.16.orig/test/lib/ansible_test/_internal/util.py 2020-12-14 15:48:25.000000000 -0800 -+++ ansible-2.9.16/test/lib/ansible_test/_internal/util.py 2020-12-17 11:36:47.713080960 -0800 -@@ -110,6 +110,8 @@ - '3.6', - '3.7', - '3.8', -+ '3.9', -+ '3.10', - ) - - diff --git a/macros.ansible b/macros.ansible deleted file mode 100644 index c8c91fb..0000000 --- a/macros.ansible +++ /dev/null @@ -1,7 +0,0 @@ -%ansible_collection_url() https://galaxy.ansible.com/%{collection_namespace}/%{collection_name} - -%ansible_collection_build() ansible-galaxy collection build - -%ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz - -%ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/ diff --git a/sources b/sources index 7c459ad..7f49561 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.9.27.tar.gz) = 99987b8a1d243ef3496d66178774c33b05951daaff584b12e645c0176391805f90d00780e86adec01316b28645287489326218c0de7c10084552da90848735c7 +SHA512 (ansible-5.1.0.tar.gz) = 445cb3cc0bd31f13476e242bc48bc0213547ede514ce94528d689b5e1f75a52e355a8cf58b9331dcdb005d9c48ece478aa69429383a99eff8acd800a2296035a From 08f34bbfe1a263b4d586e05074ee83964149347b Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Wed, 12 Jan 2022 15:48:29 -0500 Subject: [PATCH 052/177] Update to latest upstream release (5.2.0) --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 955f46d..afc1cde 100644 --- a/.gitignore +++ b/.gitignore @@ -112,3 +112,4 @@ /ansible-2.9.26.tar.gz /ansible-2.9.27.tar.gz /ansible-5.1.0.tar.gz +/ansible-5.2.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 32e79fb..096e722 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.1.0 +Version: 5.2.0 Release: 1%{?dist} License: GPLv3+ @@ -106,6 +106,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Wed Jan 12 2022 David Moreau-Simard - 5.2.0-1 +- Update to latest upstream release + * Tue Jan 11 2022 David Moreau-Simard - 5.1.0-1 - Update to latest upstream release - Refactor to take into account split from ansible-core after ansible 2.9, see: https://fedoraproject.org/wiki/Changes/Ansible5 diff --git a/sources b/sources index 7f49561..5d98120 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.1.0.tar.gz) = 445cb3cc0bd31f13476e242bc48bc0213547ede514ce94528d689b5e1f75a52e355a8cf58b9331dcdb005d9c48ece478aa69429383a99eff8acd800a2296035a +SHA512 (ansible-5.2.0.tar.gz) = 8aa65099d1843612db260eb674049c0cae4f2a51ba9acbfdd7ecdce42206f360c1c4592de1d728cbf161b50caf265dbd3a5184b91b74a7abac127827ed4012ac From 87ec6462d37b4a710810859411ed80ce6d7fdd24 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 21:17:03 +0000 Subject: [PATCH 053/177] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_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 096e722..6485430 100644 --- a/ansible.spec +++ b/ansible.spec @@ -7,7 +7,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 5.2.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -106,6 +106,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 5.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jan 12 2022 David Moreau-Simard - 5.2.0-1 - Update to latest upstream release From a458d3d22c9e77334b39ada90119e4efb02b6b84 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 1 Feb 2022 12:43:54 -0500 Subject: [PATCH 054/177] Update to latest release: 5.3.0 5.3.0 was released today, let's update the package too. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index afc1cde..ef1e99c 100644 --- a/.gitignore +++ b/.gitignore @@ -113,3 +113,4 @@ /ansible-2.9.27.tar.gz /ansible-5.1.0.tar.gz /ansible-5.2.0.tar.gz +/ansible-5.3.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 6485430..c6c58b8 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,8 +6,8 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.2.0 -Release: 2%{?dist} +Version: 5.3.0 +Release: 1%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -106,6 +106,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Tue Feb 1 2022 David Moreau-Simard - 5.3.0-1 +- Update to latest upstream release + * Wed Jan 19 2022 Fedora Release Engineering - 5.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index 5d98120..fcc1359 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.2.0.tar.gz) = 8aa65099d1843612db260eb674049c0cae4f2a51ba9acbfdd7ecdce42206f360c1c4592de1d728cbf161b50caf265dbd3a5184b91b74a7abac127827ed4012ac +SHA512 (ansible-5.3.0.tar.gz) = 15f814f23305ceae3426464bccd6fc5cfb9b7b86b6634ce9b867d20c3d512e669387cbd12cb2ea03a66c352272aa72b53f255dfdd03c3198b70fc286e527f43a From 352083697e9543fbe74b42c991ecb6cfe1dc4a6b Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 16 Feb 2022 11:53:52 -0600 Subject: [PATCH 055/177] Fix shebangs. --- ansible.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index c6c58b8..d885f2f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -7,7 +7,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 5.3.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -37,7 +37,7 @@ This package provides a curated set of Ansible collections included in addition to ansible-core. %prep -%autosetup -n ansible-%{version} +%autosetup # 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 @@ -66,6 +66,8 @@ rm -f ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/d echo "[END] Delete unnecessary files and directories" %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 @@ -106,6 +108,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Wed Feb 16 2022 Maxwell G - 5.3.0-2 +- Fix shebangs. + * Tue Feb 1 2022 David Moreau-Simard - 5.3.0-1 - Update to latest upstream release From dca8a3ec4f83195961b687906819091bdaaec323 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 22 Feb 2022 18:34:51 -0500 Subject: [PATCH 056/177] Update to latest upstream release (5.4.0) --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ef1e99c..3a8164b 100644 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,4 @@ /ansible-5.1.0.tar.gz /ansible-5.2.0.tar.gz /ansible-5.3.0.tar.gz +/ansible-5.4.0.tar.gz diff --git a/ansible.spec b/ansible.spec index d885f2f..1efb6c6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,8 +6,8 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.3.0 -Release: 2%{?dist} +Version: 5.4.0 +Release: 1%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -108,6 +108,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Tue Feb 22 2022 David Moreau-Simard - 5.4.0-1 +- Update to latest upstream release + * Wed Feb 16 2022 Maxwell G - 5.3.0-2 - Fix shebangs. diff --git a/sources b/sources index fcc1359..55ca9d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.3.0.tar.gz) = 15f814f23305ceae3426464bccd6fc5cfb9b7b86b6634ce9b867d20c3d512e669387cbd12cb2ea03a66c352272aa72b53f255dfdd03c3198b70fc286e527f43a +SHA512 (ansible-5.4.0.tar.gz) = 7065c7d16a3bb13db27a3ec99c33c48e9d4abb4bec8267751e3d8df89da7d0948a8415b50b8fabd05f6a97fba661714f08f8473ae145fcb323dd83f6c7349a6d From 363f30667ff9450c5baeb45dc363c90cdc1b3c7c Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 15 Mar 2022 13:01:45 -0400 Subject: [PATCH 057/177] Update to latest upstream release (5.5.0) --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3a8164b..dbb4e75 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,4 @@ /ansible-5.2.0.tar.gz /ansible-5.3.0.tar.gz /ansible-5.4.0.tar.gz +/ansible-5.5.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 1efb6c6..2bac7ef 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.4.0 +Version: 5.5.0 Release: 1%{?dist} License: GPLv3+ @@ -108,6 +108,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* 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 diff --git a/sources b/sources index 55ca9d0..92c6ae4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.4.0.tar.gz) = 7065c7d16a3bb13db27a3ec99c33c48e9d4abb4bec8267751e3d8df89da7d0948a8415b50b8fabd05f6a97fba661714f08f8473ae145fcb323dd83f6c7349a6d +SHA512 (ansible-5.5.0.tar.gz) = 1a7b2021a2d5223c82eb05b517f61b0da62f6f33aef5dd7dd006527d71f41d18491634f156ab3a654bcdd4e03be5de4d6809c79e1b1053cbc577510e5ba47578 From 95b3b7da3db56d380aa19f061194b07444efbc39 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 6 Apr 2022 15:35:19 -0700 Subject: [PATCH 058/177] Update to 5.6.0. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index dbb4e75..f809386 100644 --- a/.gitignore +++ b/.gitignore @@ -116,3 +116,4 @@ /ansible-5.3.0.tar.gz /ansible-5.4.0.tar.gz /ansible-5.5.0.tar.gz +/ansible-5.6.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 2bac7ef..dc6d1df 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.5.0 +Version: 5.6.0 Release: 1%{?dist} License: GPLv3+ @@ -108,6 +108,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* 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 diff --git a/sources b/sources index 92c6ae4..ed3cc3b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.5.0.tar.gz) = 1a7b2021a2d5223c82eb05b517f61b0da62f6f33aef5dd7dd006527d71f41d18491634f156ab3a654bcdd4e03be5de4d6809c79e1b1053cbc577510e5ba47578 +SHA512 (ansible-5.6.0.tar.gz) = e031621ef40c7cf883c436bcb39703c0862a849bfa5dab48691a8f51f794ec3899145aed17b732816e175623ced922662b371ed563bcf770b8d1157128826bbb From e58d6b2c8c00027ee9f27e4138b1e7a7a43c221f Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 26 Apr 2022 20:09:08 -0500 Subject: [PATCH 059/177] Ensure correct version of ansible-core is available at buildtime. Implement support for epel8. --- ansible.spec | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index dc6d1df..e315cdf 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,10 +4,26 @@ %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible +# This should be updated after each release to match upstream's metadata +# https://github.com/ansible-community/community-topics/issues/84 +%global ansible_core_version 2.12.4 +%global ansible_core_next_version 2.13 +%global ansible_core_requires (ansible-core >= %{ansible_core_version} with 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. +%define python3_pkgversion 38 +BuildRequires: python%{python3_pkgversion}-rpm-macros + +# RHEL 8's RPM Python dependency generator ignores the version constraints, so we manually specify the dependency. +%{?python_disable_dependency_generator} +Requires: %{ansible_core_requires} +%endif + Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 5.6.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -15,8 +31,9 @@ Url: https://ansible.com BuildArch: noarch BuildRequires: findutils -BuildRequires: python3-devel -BuildRequires: python3-setuptools +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: %{ansible_core_requires} %if 0%{?with_tests} # TODO build-requires @@ -108,6 +125,10 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Mon Apr 25 2022 Maxwell G - 5.6.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. From 3f8e37cb013df089988c1c3e46b56035bec396ed Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 26 Apr 2022 20:11:18 -0500 Subject: [PATCH 060/177] Update to 5.7.0. --- .gitignore | 1 + ansible.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f809386..0dc0df7 100644 --- a/.gitignore +++ b/.gitignore @@ -117,3 +117,4 @@ /ansible-5.4.0.tar.gz /ansible-5.5.0.tar.gz /ansible-5.6.0.tar.gz +/ansible-5.7.0.tar.gz diff --git a/ansible.spec b/ansible.spec index e315cdf..4d7f370 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ # This should be updated after each release to match upstream's metadata # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.12.4 +%global ansible_core_version 2.12.5 %global ansible_core_next_version 2.13 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) @@ -22,8 +22,8 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.6.0 -Release: 2%{?dist} +Version: 5.7.0 +Release: 1%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -125,6 +125,10 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Wed Apr 27 2022 Maxwell G - 5.7.0-1 +- Update to 5.7.0. +- Fix SyntaxError in fortinet.fortios collection. + * Mon Apr 25 2022 Maxwell G - 5.6.0-2 - Ensure correct version of ansible-core is available at buildtime. - Implement support for epel8. diff --git a/sources b/sources index ed3cc3b..58da219 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.6.0.tar.gz) = e031621ef40c7cf883c436bcb39703c0862a849bfa5dab48691a8f51f794ec3899145aed17b732816e175623ced922662b371ed563bcf770b8d1157128826bbb +SHA512 (ansible-5.7.0.tar.gz) = 2e2f88948e875a1ce5a6cac58ae0d918adf903848c60e125728314e935cbf29aae6db6ec87d9aad14fd5406751251a681b441f1209c789f14a1df6e68b91c3d9 From 3e434296126e9d196c397cb92b3c9493c7a3c035 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 29 Apr 2022 18:17:53 -0500 Subject: [PATCH 061/177] Fix SyntaxError in fortinet.fortios collection. --- ansible.spec | 6 +++- fix-fortinet-fortios-syntax-errors.patch | 36 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 fix-fortinet-fortios-syntax-errors.patch diff --git a/ansible.spec b/ansible.spec index 4d7f370..d1c292d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -27,6 +27,10 @@ Release: 1%{?dist} License: GPLv3+ Source0: %{pypi_source} +# https://github.com/ansible-community/ansible-build-data/issues/114 +# https://github.com/fortinet-ansible-dev/ansible-galaxy-fortios-collection/issues/180 +# https://github.com/fortinet-ansible-dev/ansible-galaxy-fortios-collection/pull/177 +Patch0: fix-fortinet-fortios-syntax-errors.patch Url: https://ansible.com BuildArch: noarch @@ -54,7 +58,7 @@ This package provides a curated set of Ansible collections included in addition to ansible-core. %prep -%autosetup +%autosetup -p1 # 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 diff --git a/fix-fortinet-fortios-syntax-errors.patch b/fix-fortinet-fortios-syntax-errors.patch new file mode 100644 index 0000000..c27ab5c --- /dev/null +++ b/fix-fortinet-fortios-syntax-errors.patch @@ -0,0 +1,36 @@ +diff -Naur a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py +--- a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py 2022-04-21 19:15:50.000000000 -0500 ++++ b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py 2022-04-29 18:10:01.581447490 -0500 +@@ -278,7 +278,7 @@ + state = data['state'] + + wireless_controller_hotspot20_h2qp_advice_of_charge_data = data['wireless_controller_hotspot20_h2qp_advice_of_charge'] +- filtered_data = ++ filtered_data = \ + underscore_to_hyphen(filter_wireless_controller_hotspot20_h2qp_advice_of_charge_data(wireless_controller_hotspot20_h2qp_advice_of_charge_data)) + + if state == "present" or state is True: +diff -Naur a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py +--- a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py 2022-04-21 19:15:50.000000000 -0500 ++++ b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py 2022-04-29 18:10:01.582447487 -0500 +@@ -235,7 +235,7 @@ + state = data['state'] + + wireless_controller_hotspot20_h2qp_osu_provider_nai_data = data['wireless_controller_hotspot20_h2qp_osu_provider_nai'] +- filtered_data = ++ filtered_data = \ + underscore_to_hyphen(filter_wireless_controller_hotspot20_h2qp_osu_provider_nai_data(wireless_controller_hotspot20_h2qp_osu_provider_nai_data)) + + if state == "present" or state is True: +diff -Naur a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py +--- a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py 2022-04-21 19:15:50.000000000 -0500 ++++ b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py 2022-04-29 18:10:01.582447487 -0500 +@@ -233,7 +233,7 @@ + state = data['state'] + + wireless_controller_hotspot20_h2qp_terms_and_conditions_data = data['wireless_controller_hotspot20_h2qp_terms_and_conditions'] +- filtered_data = ++ filtered_data = \ + underscore_to_hyphen(filter_wireless_controller_hotspot20_h2qp_terms_and_conditions_data(wireless_controller_hotspot20_h2qp_terms_and_conditions_data)) + + if state == "present" or state is True: From 50081c1e6d491fea8e820a15e2b24f2b2ce080df Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 30 Apr 2022 11:29:29 -0500 Subject: [PATCH 062/177] Fix rpmlint errors. --- ansible.rpmlintrc | 1 + ansible.spec | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index 8d10004..c27eac0 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -1,5 +1,6 @@ addFilter("E: non-executable-script") addFilter("W: files-duplicate") +addFilter("E: files-duplicated-waste") addFilter("W: name-repeated-in-summary") # This is not egrep, it's "find -regextype posix-egrep" addFilter("W: deprecated-grep") diff --git a/ansible.spec b/ansible.spec index d1c292d..a463774 100644 --- a/ansible.spec +++ b/ansible.spec @@ -34,6 +34,7 @@ Patch0: fix-fortinet-fortios-syntax-errors.patch Url: https://ansible.com BuildArch: noarch +BuildRequires: dos2unix BuildRequires: findutils BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools @@ -60,19 +61,23 @@ to ansible-core. %prep %autosetup -p1 +# 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)$" -find ansible_collections -regextype posix-egrep -regex "${hidden_pattern}" -print -depth -exec rm -rf {} \; +find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -rf {} \; # TODO: Delete (bulky) tests for now but we should run sanity and unit tests soon. -find ansible_collections -type d -wholename "*tests/integration" -print -depth -exec rm -rf {} \; -find ansible_collections -type d -wholename "*tests/unit" -print -depth -exec rm -rf {} \; -find ansible_collections -type d -wholename "*tests/sanity" -print -depth -exec rm -rf {} \; -find ansible_collections -type d -wholename "*tests/regression" -print -depth -exec rm -rf {} \; +find ansible_collections -depth -type d -wholename "*tests/integration" -print -exec rm -rf {} \; +find ansible_collections -depth -type d -wholename "*tests/unit" -print -exec rm -rf {} \; +find ansible_collections -depth -type d -wholename "*tests/sanity" -print -exec rm -rf {} \; +find ansible_collections -depth -type d -wholename "*tests/regression" -print -exec rm -rf {} \; +rm -rf ansible_collections/azure/azcollection/tests/utils # https://github.com/ansible-collections/kubernetes.core/pull/298 rm -rf ansible_collections/kubernetes/core/molecule @@ -83,6 +88,7 @@ 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 echo "[END] Delete unnecessary files and directories" @@ -132,6 +138,7 @@ echo "[END] Delete unnecessary files and directories" * 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 - Ensure correct version of ansible-core is available at buildtime. From be43570d9fcefc17eed5b8d3c44e09ee26a68c43 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 18 May 2022 21:41:05 -0500 Subject: [PATCH 063/177] Update to 5.8.0. Remove fortinet.fortios patch. --- .gitignore | 1 + ansible.spec | 10 +++---- fix-fortinet-fortios-syntax-errors.patch | 36 ------------------------ sources | 2 +- 4 files changed, 7 insertions(+), 42 deletions(-) delete mode 100644 fix-fortinet-fortios-syntax-errors.patch diff --git a/.gitignore b/.gitignore index 0dc0df7..cfda914 100644 --- a/.gitignore +++ b/.gitignore @@ -118,3 +118,4 @@ /ansible-5.5.0.tar.gz /ansible-5.6.0.tar.gz /ansible-5.7.0.tar.gz +/ansible-5.8.0.tar.gz diff --git a/ansible.spec b/ansible.spec index a463774..7089c0e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -22,15 +22,11 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.7.0 +Version: 5.8.0 Release: 1%{?dist} License: GPLv3+ Source0: %{pypi_source} -# https://github.com/ansible-community/ansible-build-data/issues/114 -# https://github.com/fortinet-ansible-dev/ansible-galaxy-fortios-collection/issues/180 -# https://github.com/fortinet-ansible-dev/ansible-galaxy-fortios-collection/pull/177 -Patch0: fix-fortinet-fortios-syntax-errors.patch Url: https://ansible.com BuildArch: noarch @@ -135,6 +131,10 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* 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. diff --git a/fix-fortinet-fortios-syntax-errors.patch b/fix-fortinet-fortios-syntax-errors.patch deleted file mode 100644 index c27ab5c..0000000 --- a/fix-fortinet-fortios-syntax-errors.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -Naur a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py ---- a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py 2022-04-21 19:15:50.000000000 -0500 -+++ b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_advice_of_charge.py 2022-04-29 18:10:01.581447490 -0500 -@@ -278,7 +278,7 @@ - state = data['state'] - - wireless_controller_hotspot20_h2qp_advice_of_charge_data = data['wireless_controller_hotspot20_h2qp_advice_of_charge'] -- filtered_data = -+ filtered_data = \ - underscore_to_hyphen(filter_wireless_controller_hotspot20_h2qp_advice_of_charge_data(wireless_controller_hotspot20_h2qp_advice_of_charge_data)) - - if state == "present" or state is True: -diff -Naur a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py ---- a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py 2022-04-21 19:15:50.000000000 -0500 -+++ b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_osu_provider_nai.py 2022-04-29 18:10:01.582447487 -0500 -@@ -235,7 +235,7 @@ - state = data['state'] - - wireless_controller_hotspot20_h2qp_osu_provider_nai_data = data['wireless_controller_hotspot20_h2qp_osu_provider_nai'] -- filtered_data = -+ filtered_data = \ - underscore_to_hyphen(filter_wireless_controller_hotspot20_h2qp_osu_provider_nai_data(wireless_controller_hotspot20_h2qp_osu_provider_nai_data)) - - if state == "present" or state is True: -diff -Naur a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py ---- a/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py 2022-04-21 19:15:50.000000000 -0500 -+++ b/ansible_collections/fortinet/fortios/plugins/modules/fortios_wireless_controller_hotspot20_h2qp_terms_and_conditions.py 2022-04-29 18:10:01.582447487 -0500 -@@ -233,7 +233,7 @@ - state = data['state'] - - wireless_controller_hotspot20_h2qp_terms_and_conditions_data = data['wireless_controller_hotspot20_h2qp_terms_and_conditions'] -- filtered_data = -+ filtered_data = \ - underscore_to_hyphen(filter_wireless_controller_hotspot20_h2qp_terms_and_conditions_data(wireless_controller_hotspot20_h2qp_terms_and_conditions_data)) - - if state == "present" or state is True: diff --git a/sources b/sources index 58da219..9ca97e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.7.0.tar.gz) = 2e2f88948e875a1ce5a6cac58ae0d918adf903848c60e125728314e935cbf29aae6db6ec87d9aad14fd5406751251a681b441f1209c789f14a1df6e68b91c3d9 +SHA512 (ansible-5.8.0.tar.gz) = 05bb575e6fd9bcab3e01e09794f87e40529e7ebc316b3dbe841ce06ccf47216e68d429c3eadfd2f885e2864a42c80324046f3281353e539f63d8ab10b4fdd57e From ee8c7d6028bb033c0111a85bb706d9d3754561c5 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 8 Jun 2022 16:12:33 -0500 Subject: [PATCH 064/177] Update to 5.9.0. --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index cfda914..35bc362 100644 --- a/.gitignore +++ b/.gitignore @@ -119,3 +119,4 @@ /ansible-5.6.0.tar.gz /ansible-5.7.0.tar.gz /ansible-5.8.0.tar.gz +/ansible-5.9.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 7089c0e..a68b939 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ # This should be updated after each release to match upstream's metadata # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.12.5 +%global ansible_core_version 2.12.6 %global ansible_core_next_version 2.13 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) @@ -22,7 +22,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 5.8.0 +Version: 5.9.0 Release: 1%{?dist} License: GPLv3+ @@ -65,7 +65,7 @@ find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{} 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)$" +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)$" find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -rf {} \; # TODO: Delete (bulky) tests for now but we should run sanity and unit tests soon. @@ -131,6 +131,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* 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. diff --git a/sources b/sources index 9ca97e5..c70feb1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.8.0.tar.gz) = 05bb575e6fd9bcab3e01e09794f87e40529e7ebc316b3dbe841ce06ccf47216e68d429c3eadfd2f885e2864a42c80324046f3281353e539f63d8ab10b4fdd57e +SHA512 (ansible-5.9.0.tar.gz) = 88b26b1ba59a39370ee4a27eedda441d6e6ce8ba8eb857353572c692e49b189e95ed80e5063917c52799fb15bc3608d4c1ada013a7d650909714ca8ea5dd3bbb From 0d952dd461392bfe18767031758b1a4116c5ee8b Mon Sep 17 00:00:00 2001 From: Python Maint Date: Thu, 16 Jun 2022 19:55:14 +0200 Subject: [PATCH 065/177] Rebuilt for Python 3.11 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index a68b939..03c4538 100644 --- a/ansible.spec +++ b/ansible.spec @@ -23,7 +23,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 5.9.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: %{pypi_source} @@ -131,6 +131,9 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* Thu Jun 16 2022 Python Maint - 5.9.0-2 +- Rebuilt for Python 3.11 + * Wed Jun 08 2022 Maxwell G - 5.9.0-1 - Update to 5.9.0. From df3a657cd3a78153ab5ad77c32235db8461f92b5 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 8 Jun 2022 16:10:32 -0500 Subject: [PATCH 066/177] Update to 6.0.0~rc1. Stop duplicating docs and licenses. Don't remove tests in %prep that are now handled by setup.py. --- .gitignore | 1 + ansible.rpmlintrc | 1 - ansible.spec | 78 ++++++++++++++++++++++++++++++----------------- sources | 2 +- 4 files changed, 52 insertions(+), 30 deletions(-) diff --git a/.gitignore b/.gitignore index 35bc362..3001e7c 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,4 @@ /ansible-5.7.0.tar.gz /ansible-5.8.0.tar.gz /ansible-5.9.0.tar.gz +/ansible-6.0.0rc1.tar.gz diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index c27eac0..d92d470 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -1,4 +1,3 @@ -addFilter("E: non-executable-script") addFilter("W: files-duplicate") addFilter("E: files-duplicated-waste") addFilter("W: name-repeated-in-summary") diff --git a/ansible.spec b/ansible.spec index 03c4538..5ab0f70 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,8 +6,8 @@ # This should be updated after each release to match upstream's metadata # https://github.com/ansible-community/community-topics/issues/84 -%global ansible_core_version 2.12.6 -%global ansible_core_next_version 2.13 +%global ansible_core_version 2.13.0 +%global ansible_core_next_version 2.14 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) %if 0%{?rhel} == 8 @@ -20,13 +20,15 @@ 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: 5.9.0 -Release: 2%{?dist} +Version: 6.0.0~rc1 +Release: 1%{?dist} License: GPLv3+ -Source0: %{pypi_source} +Source0: %{pypi_source %{name} %{uversion}} Url: https://ansible.com BuildArch: noarch @@ -55,11 +57,16 @@ This package provides a curated set of Ansible collections included in addition to ansible-core. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-%{uversion} # Fix wrong-script-end-of-line-encoding in azure.azcollection find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \; +# 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}' '{}' \; + # 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" @@ -68,13 +75,6 @@ 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)$" find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -rf {} \; -# TODO: Delete (bulky) tests for now but we should run sanity and unit tests soon. -find ansible_collections -depth -type d -wholename "*tests/integration" -print -exec rm -rf {} \; -find ansible_collections -depth -type d -wholename "*tests/unit" -print -exec rm -rf {} \; -find ansible_collections -depth -type d -wholename "*tests/sanity" -print -exec rm -rf {} \; -find ansible_collections -depth -type d -wholename "*tests/regression" -print -exec rm -rf {} \; -rm -rf ansible_collections/azure/azcollection/tests/utils - # https://github.com/ansible-collections/kubernetes.core/pull/298 rm -rf ansible_collections/kubernetes/core/molecule @@ -88,6 +88,11 @@ rm -f ansible_collections/community/docker/meta/ee-bindep.txt echo "[END] Delete unnecessary files and directories" +%{?pyproject_buildrequires: +%generate_buildrequires +%pyproject_buildrequires +} + %build # disable the python -s shbang flag as we want to be able to find non system modules %global py3_shbang_opts %{nil} @@ -99,19 +104,30 @@ echo "[END] Delete unnecessary files and directories" # Install docs and licenses ( - mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" - cd ansible_collections - # This finds the license file for each collection, copies it to - # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds - # `%%license /path/to/license` to the %%files list. See `man find` for more info. - # The extra percent signs are needed to escape RPM. - find . -mindepth 3 -type f \( -name LICENSE -o -name COPYING \) \ - -exec cp -p --parents '{}' '%{buildroot}%{ansible_licensedir}' \; \ - -printf '%%%%license %%%%{ansible_licensedir}/%%P\n' | tee -a ../files.list - # This does the same thing, but for READMEs. - find . -mindepth 3 -type f -name 'README.*' \ - -exec cp -p --parents '{}' '%{buildroot}%{ansible_docdir}' \; \ - -printf '%%%%doc %%%%{ansible_docdir}/%%P\n' | tee -a ../files.list + mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" + cd %{buildroot}%{python3_sitelib}/ansible_collections + # This finds the license file for each collection, copies it to + # `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds + # `%%license /path/to/license` to the %%files list. See `man find` for more info. + # The extra percent signs are needed to escape RPM. + for f in $(find . -mindepth 3 -type f \( -name 'LICENSE.*' -o -name 'COPYING.*' \) -printf '%%P\n'); do + dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" + mkdir -p "${dirname}" + mv "${f}" "${dirname}" + tee -a %{_builddir}/files.list << EOF +%%license %%{ansible_licensedir}/${f} +EOF + 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 %{_builddir}/files.list << EOF +%%doc %%{ansible_docdir}/${f} +EOF + done ) %check @@ -119,9 +135,10 @@ echo "[END] Delete unnecessary files and directories" # TODO: Run tests %endif -%files -f files.list +%files -f %{_builddir}/files.list %license COPYING -%doc README.rst PKG-INFO porting_guide_5.rst CHANGELOG-v5.rst +%doc README.rst PKG-INFO porting_guide_6.rst CHANGELOG-v6.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. # This allows users to install individual collections manually with ansible-galaxy (~/.ansible/collections/ansible_collections) @@ -131,6 +148,11 @@ echo "[END] Delete unnecessary files and directories" %{python3_sitelib}/*egg-info %changelog +* 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. + * Thu Jun 16 2022 Python Maint - 5.9.0-2 - Rebuilt for Python 3.11 diff --git a/sources b/sources index c70feb1..0545650 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-5.9.0.tar.gz) = 88b26b1ba59a39370ee4a27eedda441d6e6ce8ba8eb857353572c692e49b189e95ed80e5063917c52799fb15bc3608d4c1ada013a7d650909714ca8ea5dd3bbb +SHA512 (ansible-6.0.0rc1.tar.gz) = 5119ae10bea95d93952dcef01e4b1b2b13beef551efd5ba2f09a5bb5d1202df9538381ee6f69e925e52145521e7c1d2a913c9a384e700c78304a81526d3980bb From 06d0178dbf5165581842f427a82a6a8602aa6f70 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 15 Jun 2022 19:06:14 -0500 Subject: [PATCH 067/177] Add explanatory comments --- ansible.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 5ab0f70..552c98f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -5,6 +5,8 @@ %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.13.0 %global ansible_core_next_version 2.14 @@ -88,6 +90,8 @@ rm -f ansible_collections/community/docker/meta/ee-bindep.txt echo "[END] Delete unnecessary files and directories" +# This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. +# It also ensures that dependencies remain consistent. %{?pyproject_buildrequires: %generate_buildrequires %pyproject_buildrequires @@ -106,10 +110,10 @@ echo "[END] Delete unnecessary files and directories" ( mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}" cd %{buildroot}%{python3_sitelib}/ansible_collections - # This finds the license file for each collection, copies it to + # 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. See `man find` for more info. - # The extra percent signs are needed to escape RPM. + # `%%license /path/to/license` to the %%files list. + # `-printf '%%P\n'` removes the trailing `./`. for f in $(find . -mindepth 3 -type f \( -name 'LICENSE.*' -o -name 'COPYING.*' \) -printf '%%P\n'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" From 07ee1632efebe030d96f091ec66046af5cd2a262 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sun, 19 Jun 2022 11:19:16 -0500 Subject: [PATCH 068/177] Hardlink duplicated files and fix rpmlint errors --- ansible.rpmlintrc | 1 + ansible.spec | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index d92d470..910527e 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -1,5 +1,6 @@ addFilter("W: files-duplicate") addFilter("E: files-duplicated-waste") addFilter("W: name-repeated-in-summary") +addFilter("W: cross-directory-hard-link") # This is not egrep, it's "find -regextype posix-egrep" addFilter("W: deprecated-grep") diff --git a/ansible.spec b/ansible.spec index 552c98f..b2223d8 100644 --- a/ansible.spec +++ b/ansible.spec @@ -36,6 +36,7 @@ BuildArch: noarch BuildRequires: dos2unix BuildRequires: findutils +BuildRequires: /usr/bin/hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: %{ansible_core_requires} @@ -69,12 +70,17 @@ find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{} # Upstream, ansible-core has also removed shebangs from its modules. find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' \; +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" # 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)$" +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 -rf {} \; # https://github.com/ansible-collections/kubernetes.core/pull/298 @@ -114,7 +120,7 @@ echo "[END] Delete unnecessary files and directories" # `%%{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 \( -name 'LICENSE.*' -o -name 'COPYING.*' \) -printf '%%P\n'); do + for f in $(find . -mindepth 3 -type f \( -name 'LICENSE*' -o -name 'COPYING*' \) -printf '%%P\n'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" mv "${f}" "${dirname}" @@ -124,7 +130,7 @@ EOF done # This does the same thing, but for READMEs. - for f in $(find . -mindepth 3 -type f -name 'README.*' -printf '%%P\n'); do + 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}" @@ -133,6 +139,8 @@ EOF EOF done ) +hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections +hardlink -v %{buildroot}%{ansible_licensedir} %check %if 0%{?with_tests} @@ -156,6 +164,7 @@ EOF - 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 * Thu Jun 16 2022 Python Maint - 5.9.0-2 - Rebuilt for Python 3.11 From cb4308a842f028dc04a90865661204d435f998ba Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 22 Jun 2022 16:06:31 -0500 Subject: [PATCH 069/177] Update to 6.0.0. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3001e7c..e4537e6 100644 --- a/.gitignore +++ b/.gitignore @@ -121,3 +121,4 @@ /ansible-5.8.0.tar.gz /ansible-5.9.0.tar.gz /ansible-6.0.0rc1.tar.gz +/ansible-6.0.0.tar.gz diff --git a/ansible.spec b/ansible.spec index b2223d8..551eabf 100644 --- a/ansible.spec +++ b/ansible.spec @@ -26,7 +26,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.0.0~rc1 +Version: 6.0.0 Release: 1%{?dist} License: GPLv3+ @@ -160,6 +160,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* 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. diff --git a/sources b/sources index 0545650..9fcb818 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.0.0rc1.tar.gz) = 5119ae10bea95d93952dcef01e4b1b2b13beef551efd5ba2f09a5bb5d1202df9538381ee6f69e925e52145521e7c1d2a913c9a384e700c78304a81526d3980bb +SHA512 (ansible-6.0.0.tar.gz) = 490bdc574ad6a444f8007138a12be5e5fcd8eb7abdd5466ff1924ac7c34e0a71be1c2495666ceefa1c88da48900fa2bca2c1e8d5775f3f559b1fa285bbcdcae9 From b453756f28daaba4855122f41e4e3f8ce01f44ba Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 7 Jul 2022 22:20:26 -0500 Subject: [PATCH 070/177] Minor packaging changes --- ansible.rpmlintrc | 2 -- ansible.spec | 10 +++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/ansible.rpmlintrc b/ansible.rpmlintrc index 910527e..bdf23ba 100644 --- a/ansible.rpmlintrc +++ b/ansible.rpmlintrc @@ -2,5 +2,3 @@ addFilter("W: files-duplicate") addFilter("E: files-duplicated-waste") addFilter("W: name-repeated-in-summary") addFilter("W: cross-directory-hard-link") -# This is not egrep, it's "find -regextype posix-egrep" -addFilter("W: deprecated-grep") diff --git a/ansible.spec b/ansible.spec index 551eabf..3619fe5 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,6 +1,6 @@ # TODO: Re-enable docs and tests once possible -%global with_docs 0 -%global with_tests 0 +%bcond_with docs +%bcond_with tests %global ansible_licensedir %{_defaultlicensedir}/ansible %global ansible_docdir %{_defaultdocdir}/ansible @@ -36,16 +36,16 @@ BuildArch: noarch BuildRequires: dos2unix BuildRequires: findutils -BuildRequires: /usr/bin/hardlink +BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: %{ansible_core_requires} -%if 0%{?with_tests} +%if %{with tests} # TODO build-requires %endif -%if 0%{?with_docs} +%if %{with docs} # TODO build-requires %endif From 2310ea25628c1b123cb4f5eee02590ff26c65018 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 8 Jul 2022 19:22:15 -0500 Subject: [PATCH 071/177] Set %%python3_pkgversion to 39 for RHEL 8. ansible-core in c8s and RHEL 8.7 will be built against the python39 module. --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 3619fe5..ca3f61e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,7 +14,7 @@ %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 38 +%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. From 13374b7f43e6dbbb658fbbcb5baeb2fe5dad3f9d Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 8 Jul 2022 19:27:37 -0500 Subject: [PATCH 072/177] Temporarily stop BuildRequire'ing ansible-core ansible-core 2.13.1 will land in c8s in the coming days. I am disabling the BR so I can build this, submit it to Bodhi (with autopush disabled), and have it ready to push by the time the ansible-core update reaches the mirrors. This is to avoid avoid ansible FTIing and blocking updates for too long. --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index ca3f61e..1437c5d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -39,7 +39,7 @@ BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: %{ansible_core_requires} +# BuildRequires: %%{ansible_core_requires} %if %{with tests} # TODO build-requires From 04c5dbb61295b430126a66543e051d18a61dc03b Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 9 Jul 2022 14:10:32 -0500 Subject: [PATCH 073/177] Revert "Temporarily stop BuildRequire'ing ansible-core" This reverts commit 13374b7f43e6dbbb658fbbcb5baeb2fe5dad3f9d. --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 1437c5d..ca3f61e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -39,7 +39,7 @@ BuildRequires: findutils BuildRequires: hardlink BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -# BuildRequires: %%{ansible_core_requires} +BuildRequires: %{ansible_core_requires} %if %{with tests} # TODO build-requires From 9b3fbb312d6c1e5f82de1eb3db1dc6398a351c21 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 13 Jul 2022 23:04:50 -0500 Subject: [PATCH 074/177] Update to 6.1.0. --- .gitignore | 1 + ansible.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index e4537e6..645858c 100644 --- a/.gitignore +++ b/.gitignore @@ -122,3 +122,4 @@ /ansible-5.9.0.tar.gz /ansible-6.0.0rc1.tar.gz /ansible-6.0.0.tar.gz +/ansible-6.1.0.tar.gz diff --git a/ansible.spec b/ansible.spec index ca3f61e..624760b 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.0 +%global ansible_core_version 2.13.1 %global ansible_core_next_version 2.14 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) @@ -26,7 +26,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.0.0 +Version: 6.1.0 Release: 1%{?dist} License: GPLv3+ @@ -98,10 +98,10 @@ echo "[END] Delete unnecessary files and directories" # This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. # It also ensures that dependencies remain consistent. -%{?pyproject_buildrequires: +%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 @@ -160,6 +160,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* 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. diff --git a/sources b/sources index 9fcb818..f8cc66f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.0.0.tar.gz) = 490bdc574ad6a444f8007138a12be5e5fcd8eb7abdd5466ff1924ac7c34e0a71be1c2495666ceefa1c88da48900fa2bca2c1e8d5775f3f559b1fa285bbcdcae9 +SHA512 (ansible-6.1.0.tar.gz) = 795d3534d6993bfbf5d4cabed758f9370760e14e851123b4578c3aaf34f104a52f6d57d641ccbe6f18ba036bd9245b0898e76a21671ce95ddceda9fa5305e2dc From 495495e878e433be0262fb6f1a27720dc604bf2e Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 15 Jul 2022 10:17:11 -0500 Subject: [PATCH 075/177] Fix FTI --- ansible.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 624760b..333c89e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -27,7 +27,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 6.1.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: %{pypi_source %{name} %{uversion}} @@ -86,6 +86,14 @@ find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern} # https://github.com/ansible-collections/kubernetes.core/pull/298 rm -rf ansible_collections/kubernetes/core/molecule +# 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 + # rpmlint W: pem-certificate find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete @@ -160,6 +168,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* 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. From 28390405d084050bbded7decf56b8930bc5e4509 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 15 Jul 2022 13:17:36 -0500 Subject: [PATCH 076/177] Replace rm -rf with rm -r This will cause the command to fail if the files being removed don't actually exist. This prevents us from leaving in useless commands. --- ansible.spec | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/ansible.spec b/ansible.spec index 333c89e..ea29a59 100644 --- a/ansible.spec +++ b/ansible.spec @@ -65,11 +65,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 '{}' \; -# 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}' '{}' \; - find ansible_collections/community/mongodb/roles/*/{files,templates} -type f ! -executable -name '*.sh*' \ -print -exec chmod a+x '{}' \; @@ -81,10 +76,7 @@ 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 -rf {} \; - -# https://github.com/ansible-collections/kubernetes.core/pull/298 -rm -rf ansible_collections/kubernetes/core/molecule +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 @@ -104,6 +96,11 @@ rm -f ansible_collections/community/docker/meta/ee-bindep.txt echo "[END] Delete unnecessary files and directories" +# 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}' '{}' \; + # This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined. # It also ensures that dependencies remain consistent. %if %{undefined el8} From 9f7b7074c20a04cc4b9637c0f97b24869cb807f1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 20:49:26 +0000 Subject: [PATCH 077/177] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_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 ea29a59..9eb3ef5 100644 --- a/ansible.spec +++ b/ansible.spec @@ -27,7 +27,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core Version: 6.1.0 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: %{pypi_source %{name} %{uversion}} @@ -165,6 +165,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* 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). From 08fbf34e098bbd2e6205346d1dfc859094ecbac2 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 16 Jul 2022 20:50:51 -0500 Subject: [PATCH 078/177] Stop disabling python dependency generator on RHEL 8 There's no harm in having duplicate Requires, so we might as well set a good example and not disable it. --- ansible.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 9eb3ef5..ae6e787 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,7 +18,6 @@ BuildRequires: python%{python3_pkgversion}-rpm-macros # RHEL 8's RPM Python dependency generator ignores the version constraints, so we manually specify the dependency. -%{?python_disable_dependency_generator} Requires: %{ansible_core_requires} %endif From 7482ca2420842be3e571961bfb2b033897253c70 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 2 Aug 2022 22:10:14 +0200 Subject: [PATCH 079/177] Update to 6.2.0. --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 645858c..5cdbe9c 100644 --- a/.gitignore +++ b/.gitignore @@ -123,3 +123,4 @@ /ansible-6.0.0rc1.tar.gz /ansible-6.0.0.tar.gz /ansible-6.1.0.tar.gz +/ansible-6.2.0.tar.gz diff --git a/ansible.spec b/ansible.spec index ae6e787..b82689f 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.1 +%global ansible_core_version 2.13.2 %global ansible_core_next_version 2.14 %global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version}) @@ -25,8 +25,8 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.1.0 -Release: 3%{?dist} +Version: 6.2.0 +Release: 1%{?dist} License: GPLv3+ Source0: %{pypi_source %{name} %{uversion}} @@ -164,6 +164,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* 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 diff --git a/sources b/sources index f8cc66f..5cc6cc4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.1.0.tar.gz) = 795d3534d6993bfbf5d4cabed758f9370760e14e851123b4578c3aaf34f104a52f6d57d641ccbe6f18ba036bd9245b0898e76a21671ce95ddceda9fa5305e2dc +SHA512 (ansible-6.2.0.tar.gz) = 7e0751fdedef6bd92a01c06e23dd482bb4b4795ef5a17754eea8f8297cebddb84b4d20041affec6589297214cd820cddaea4618d2f3a158daebb556c4a87bdb0 From 9ecd995a5e6853f767eb90c7d76a3813c1210c7a Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 11 Aug 2022 15:16:22 -0500 Subject: [PATCH 080/177] Fix handling of license files --- ansible.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index b82689f..5a5e8ed 100644 --- a/ansible.spec +++ b/ansible.spec @@ -124,7 +124,7 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ # `%%{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 \( -name 'LICENSE*' -o -name 'COPYING*' \) -printf '%%P\n'); do + for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n'); do dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})" mkdir -p "${dirname}" mv "${f}" "${dirname}" @@ -132,6 +132,10 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ %%license %%{ansible_licensedir}/${f} EOF done + for f in $(find -mindepth 3 -name 'LICENSES' -type d); do + cp -rf --parents ${f} %{buildroot}%{ansible_licensedir} + echo "%%{ansible_licensedir}/${f}" >> %{_builddir}/files.list + done # This does the same thing, but for READMEs. for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%%P\n'); do From 9bec653d4ab14d8554106da737c50ca65151a608 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Tue, 23 Aug 2022 16:16:14 -0500 Subject: [PATCH 081/177] Update to 6.3.0. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5cdbe9c..e8c8a29 100644 --- a/.gitignore +++ b/.gitignore @@ -124,3 +124,4 @@ /ansible-6.0.0.tar.gz /ansible-6.1.0.tar.gz /ansible-6.2.0.tar.gz +/ansible-6.3.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 5a5e8ed..3bc8106 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.2 +%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}) @@ -25,7 +25,7 @@ Requires: %{ansible_core_requires} Name: ansible Summary: Curated set of Ansible collections included in addition to ansible-core -Version: 6.2.0 +Version: 6.3.0 Release: 1%{?dist} License: GPLv3+ @@ -168,6 +168,9 @@ hardlink -v %{buildroot}%{ansible_licensedir} %{python3_sitelib}/*egg-info %changelog +* Tue Aug 23 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. diff --git a/sources b/sources index 5cc6cc4..24eef83 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-6.2.0.tar.gz) = 7e0751fdedef6bd92a01c06e23dd482bb4b4795ef5a17754eea8f8297cebddb84b4d20041affec6589297214cd820cddaea4618d2f3a158daebb556c4a87bdb0 +SHA512 (ansible-6.3.0.tar.gz) = 3832159065d6400caade84de1ff5f31d64d7b5d9c3a61ae9bb2ad207e410166dac3537c68d0ec3df7c4b8aec61ee48cc4b690e3117a987efa9306c6cbee534e0 From fddebdc7e6268b6d2d00afad121587b9aa5f5618 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 25 Aug 2022 12:19:23 -0500 Subject: [PATCH 082/177] Properly install new license files --- ansible.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ansible.spec b/ansible.spec index 3bc8106..adb604c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -124,7 +124,7 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ # `%%{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'); do + 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}" @@ -132,9 +132,9 @@ find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{ %%license %%{ansible_licensedir}/${f} EOF done - for f in $(find -mindepth 3 -name 'LICENSES' -type d); do - cp -rf --parents ${f} %{buildroot}%{ansible_licensedir} - echo "%%{ansible_licensedir}/${f}" >> %{_builddir}/files.list + 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 done # This does the same thing, but for READMEs. From ff7cd6026a3dba56ff54aec0ee824dd930253242 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 25 Aug 2022 18:29:55 -0500 Subject: [PATCH 083/177] Adopt new licensing guidelines --- ansible.spec | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index adb604c..0967dcc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -28,7 +28,24 @@ Summary: Curated set of Ansible collections included in addition to ansib Version: 6.3.0 Release: 1%{?dist} -License: GPLv3+ +# In addition to GPL-3.0-or-later, the following licenses apply. +# License text that solely exists in file headers were not considered. +# Instead, the overall license was determined by searching for license files +# This is the only the practical way to handle license scanning for a project +# of this size. +# All collections must be primarily licensed under GPL-3.0-or-later, so top +# level license files are excluded. +# find /usr/share/licenses/ansible -type f | grep -vEe '(COPYING|LICENSE)(\.(txt|md))?$' -e 'GPL' | xargs -n1 basename | sort -u +# +# Apache-2.0.txt +# Apache-license.txt +# BSD-2-Clause.txt +# BSD-3-Clause.txt +# MIT.txt +# MPL-2.0.txt +# PSF-2.0.txt +# PSF-license.txt +License: GPL-3.0-or-later AND Apache-2.0 AND BSD-2-Cluase AND BSD-3-Clause AND MIT AND MPL-2.0 AND PSF-2.0 Source0: %{pypi_source %{name} %{uversion}} Url: https://ansible.com BuildArch: noarch From 10415a99d1d40f5fe11c92d97a0baf0e778fa88a Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 25 Aug 2022 22:28:14 -0500 Subject: [PATCH 084/177] Fix License: typo --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 0967dcc..5dc7a3e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -45,7 +45,7 @@ Release: 1%{?dist} # MPL-2.0.txt # PSF-2.0.txt # PSF-license.txt -License: GPL-3.0-or-later AND Apache-2.0 AND BSD-2-Cluase AND BSD-3-Clause AND MIT AND MPL-2.0 AND PSF-2.0 +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}} Url: https://ansible.com BuildArch: noarch From 4f6358bd70c847cdd4dc518159c87eec5dfa45e0 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 15 Sep 2022 13:07:38 -0500 Subject: [PATCH 085/177] 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 086/177] 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 087/177] 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 088/177] 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 089/177] 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 090/177] 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 091/177] 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 092/177] 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 093/177] 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 094/177] 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 095/177] 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 096/177] 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 097/177] 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 098/177] 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 099/177] 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 100/177] 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 101/177] 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 102/177] 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 2d5e2eff8dc61dba5652a8a86b6b0b97d8c851a9 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 2 Feb 2023 16:08:15 -0600 Subject: [PATCH 103/177] 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 104/177] 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 105/177] 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 106/177] 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 107/177] 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 108/177] 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 cd327caae8ac0e5eca7d96502e87eed2094eae42 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Wed, 29 Mar 2023 11:53:47 -0500 Subject: [PATCH 109/177] 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 0ad6f9b8ebf9631d3337186d77c37a91639197cb Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Thu, 20 Apr 2023 16:48:45 -0500 Subject: [PATCH 110/177] 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 111/177] 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 112/177] 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 113/177] 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 114/177] 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 115/177] 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 116/177] 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 117/177] 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 118/177] 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 119/177] 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 120/177] 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 121/177] 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 8ae37334e1bc6c69cb964c60ace0d941e3a2f3ed Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 16 Jun 2023 15:06:17 +0200 Subject: [PATCH 122/177] 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 123/177] 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 124/177] 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 125/177] 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 126/177] 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 127/177] 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 128/177] 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 129/177] 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 130/177] 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 131/177] 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 132/177] 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 133/177] 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 134/177] 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 135/177] 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 136/177] 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 137/177] 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 138/177] 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 139/177] 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 140/177] 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 141/177] 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 142/177] 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 143/177] 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 144/177] 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 145/177] 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 146/177] 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 147/177] 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 148/177] 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 149/177] 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 150/177] 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 151/177] 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 152/177] 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 153/177] 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 154/177] 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 155/177] 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 156/177] 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 157/177] 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 158/177] 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 159/177] 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 160/177] 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 161/177] 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 162/177] 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 163/177] 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 164/177] 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 165/177] 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 166/177] 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 167/177] 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 168/177] 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 169/177] 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 170/177] 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 171/177] 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 172/177] 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 173/177] 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 174/177] 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 175/177] 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 176/177] 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 177/177] 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.