From 4f25327b7d6e6fe8f94a0720183f278cb57c71e9 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Sun, 6 May 2012 19:20:12 -0400 Subject: [PATCH 001/366] Initial import (#809882). --- .gitignore | 1 + ansible.spec | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 61 insertions(+) create mode 100644 ansible.spec diff --git a/.gitignore b/.gitignore index e69de29..c46724a 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/ansible-0.3.1.tar.gz diff --git a/ansible.spec b/ansible.spec new file mode 100644 index 0000000..e41bd92 --- /dev/null +++ b/ansible.spec @@ -0,0 +1,59 @@ +Name: ansible +Release: 1%{?dist} +Summary: Minimal SSH command and control +Version: 0.3.1 + +Group: Development/Libraries +License: GPLv3+ +Source0: https://github.com/downloads/ansible/ansible/%{name}-%{version}.tar.gz +Url: http://ansible.github.com + +BuildArch: noarch +BuildRequires: python2-devel + +Requires: PyYAML +Requires: python-paramiko +Requires: python-jinja2 + +%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. + +%prep +%setup -q + +%build +%{__python} setup.py build + +%install +%{__python} setup.py install -O1 --root=$RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/etc/ansible/ +cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1/ +cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible +cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ + +%files +%{python_sitelib}/ansible* +%{_bindir}/ansible* +%{_datadir}/ansible +%config(noreplace) %{_sysconfdir}/ansible +%doc README.md PKG-INFO COPYING +%doc %{_mandir}/man1/ansible* + +%changelog +* Tue May 1 2012 Tim Bielawa - 0.3.1-1 +- Release of 0.3.1. Mostly packaging related changes. + +* Mon Apr 23 2012 Michael DeHaan - 0.3-1 +- Release of 0.3 + +* Tue Apr 3 2012 John Eckersberg - 0.0.2-1 +- Release of 0.0.2 + +* Sat Mar 10 2012 - 0.0.1-1 +- Release of 0.0.1 diff --git a/sources b/sources index e69de29..409f607 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +28c36c5926af878ebfd39c932cb86650 ansible-0.3.1.tar.gz From 550a48d992965989538b22ee0b9c876476a323fd Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Wed, 13 Jun 2012 22:56:46 -0400 Subject: [PATCH 002/366] Update to ansible 0.4.1 --- .gitignore | 1 + ansible.spec | 8 +++++++- sources | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c46724a..ffd3d96 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /ansible-0.3.1.tar.gz +/ansible-0.4.1.tar.gz diff --git a/ansible.spec b/ansible.spec index e41bd92..09c6072 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,7 +1,7 @@ Name: ansible Release: 1%{?dist} Summary: Minimal SSH command and control -Version: 0.3.1 +Version: 0.4.1 Group: Development/Libraries License: GPLv3+ @@ -46,6 +46,12 @@ cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %doc %{_mandir}/man1/ansible* %changelog +* Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 +- Release of 0.4.1 (bugfixes) + +* Wed May 23 2012 Michael DeHaan - 0.4-0 +- Release of 0.4 + * Tue May 1 2012 Tim Bielawa - 0.3.1-1 - Release of 0.3.1. Mostly packaging related changes. diff --git a/sources b/sources index 409f607..a17f8c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -28c36c5926af878ebfd39c932cb86650 ansible-0.3.1.tar.gz +e84cb423c514e28ffb137b5bd35bff26 ansible-0.4.1.tar.gz From 05e6711da9f12562a3093af9ae49d8d101e69f05 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Thu, 5 Jul 2012 22:30:54 -0400 Subject: [PATCH 003/366] Correct license. Include COPYING in dist. --- .gitignore | 1 + ansible.spec | 21 +++++++++++++++------ sources | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index ffd3d96..ab3e3f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /ansible-0.3.1.tar.gz /ansible-0.4.1.tar.gz +/ansible-0.5.tar.gz diff --git a/ansible.spec b/ansible.spec index 09c6072..a97a3c0 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,7 +1,12 @@ +%if 0%{?rhel} <= 5 +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +%endif + Name: ansible Release: 1%{?dist} Summary: Minimal SSH command and control -Version: 0.4.1 +Version: 0.5 Group: Development/Libraries License: GPLv3+ @@ -16,12 +21,14 @@ Requires: python-paramiko Requires: python-jinja2 %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. + %prep %setup -q @@ -37,7 +44,11 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ +%clean +rm -rf $RPM_BUILD_ROOT + %files +%defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* %{_datadir}/ansible @@ -45,16 +56,14 @@ cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* + %changelog -* Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 -- Release of 0.4.1 (bugfixes) +* Fri Jul 6 2012 Tim Bielawa - 0.5-1 +- Release of 0.5 - Now with 100% more COWSAY! * Wed May 23 2012 Michael DeHaan - 0.4-0 - Release of 0.4 -* Tue May 1 2012 Tim Bielawa - 0.3.1-1 -- Release of 0.3.1. Mostly packaging related changes. - * Mon Apr 23 2012 Michael DeHaan - 0.3-1 - Release of 0.3 diff --git a/sources b/sources index a17f8c7..68b73ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e84cb423c514e28ffb137b5bd35bff26 ansible-0.4.1.tar.gz +5996350fcb2a2b4bbd062386dd9b545f ansible-0.5.tar.gz From fc9a76b23f96a942d4b9a068ca2ff5f68ab43dfa Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 18 Jul 2012 11:02:47 -0500 Subject: [PATCH 004/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 09c6072..1c700eb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,5 +1,5 @@ Name: ansible -Release: 1%{?dist} +Release: 2%{?dist} Summary: Minimal SSH command and control Version: 0.4.1 @@ -46,6 +46,9 @@ cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %doc %{_mandir}/man1/ansible* %changelog +* Wed Jul 18 2012 Fedora Release Engineering - 0.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 - Release of 0.4.1 (bugfixes) From 24b3dae6bbb94135c521897c1b82cc540fb17038 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Thu, 2 Aug 2012 21:10:07 -0400 Subject: [PATCH 005/366] Ansible 0.5.0 release. --- .gitignore | 1 + ansible.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ffd3d96..1b64439 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /ansible-0.3.1.tar.gz /ansible-0.4.1.tar.gz +/ansible-0.5.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 1c700eb..0f98224 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,7 +1,7 @@ Name: ansible -Release: 2%{?dist} +Release: 1%{?dist} Summary: Minimal SSH command and control -Version: 0.4.1 +Version: 0.5.1 Group: Development/Libraries License: GPLv3+ @@ -46,8 +46,11 @@ cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %doc %{_mandir}/man1/ansible* %changelog -* Wed Jul 18 2012 Fedora Release Engineering - 0.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild +* Mon Jul 23 2012 Tim Bielawa - 0.5.1-1 +- Fedora/EPEL release of 0.5.1 + +* Wed Jul 4 2012 Michael DeHaan - 0.5-0 +- Release of 0.5 * Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 - Release of 0.4.1 (bugfixes) diff --git a/sources b/sources index a17f8c7..8367fb5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e84cb423c514e28ffb137b5bd35bff26 ansible-0.4.1.tar.gz +b3f399f57544117d98ee4a359affd93e ansible-0.5.1.tar.gz From 842d6708f0f04c14ce159e22475a4daa2935bcd6 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Fri, 3 Aug 2012 09:43:09 -0400 Subject: [PATCH 006/366] Update to ansible 0.5.0 --- .gitignore | 1 + ansible.spec | 27 ++++++++++++--------------- sources | 2 +- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index ab3e3f1..6234186 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /ansible-0.3.1.tar.gz /ansible-0.4.1.tar.gz /ansible-0.5.tar.gz +/ansible-0.5.1.tar.gz diff --git a/ansible.spec b/ansible.spec index a97a3c0..0f98224 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,12 +1,7 @@ -%if 0%{?rhel} <= 5 -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot -%endif - Name: ansible Release: 1%{?dist} Summary: Minimal SSH command and control -Version: 0.5 +Version: 0.5.1 Group: Development/Libraries License: GPLv3+ @@ -21,14 +16,12 @@ Requires: python-paramiko Requires: python-jinja2 %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. - %prep %setup -q @@ -44,11 +37,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* %{_datadir}/ansible @@ -56,14 +45,22 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* - %changelog -* Fri Jul 6 2012 Tim Bielawa - 0.5-1 -- Release of 0.5 - Now with 100% more COWSAY! +* Mon Jul 23 2012 Tim Bielawa - 0.5.1-1 +- Fedora/EPEL release of 0.5.1 + +* Wed Jul 4 2012 Michael DeHaan - 0.5-0 +- Release of 0.5 + +* Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 +- Release of 0.4.1 (bugfixes) * Wed May 23 2012 Michael DeHaan - 0.4-0 - Release of 0.4 +* Tue May 1 2012 Tim Bielawa - 0.3.1-1 +- Release of 0.3.1. Mostly packaging related changes. + * Mon Apr 23 2012 Michael DeHaan - 0.3-1 - Release of 0.3 diff --git a/sources b/sources index 68b73ac..8367fb5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5996350fcb2a2b4bbd062386dd9b545f ansible-0.5.tar.gz +b3f399f57544117d98ee4a359affd93e ansible-0.5.1.tar.gz From 4ac750867a02d932dd7f399b39a1aa179765e7b4 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Fri, 3 Aug 2012 10:07:10 -0400 Subject: [PATCH 007/366] Update to ansible 0.5.0 --- .gitignore | 1 + ansible.spec | 27 ++++++++++++--------------- sources | 2 +- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index ab3e3f1..6234186 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /ansible-0.3.1.tar.gz /ansible-0.4.1.tar.gz /ansible-0.5.tar.gz +/ansible-0.5.1.tar.gz diff --git a/ansible.spec b/ansible.spec index a97a3c0..0f98224 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,12 +1,7 @@ -%if 0%{?rhel} <= 5 -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot -%endif - Name: ansible Release: 1%{?dist} Summary: Minimal SSH command and control -Version: 0.5 +Version: 0.5.1 Group: Development/Libraries License: GPLv3+ @@ -21,14 +16,12 @@ Requires: python-paramiko Requires: python-jinja2 %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. - %prep %setup -q @@ -44,11 +37,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* %{_datadir}/ansible @@ -56,14 +45,22 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* - %changelog -* Fri Jul 6 2012 Tim Bielawa - 0.5-1 -- Release of 0.5 - Now with 100% more COWSAY! +* Mon Jul 23 2012 Tim Bielawa - 0.5.1-1 +- Fedora/EPEL release of 0.5.1 + +* Wed Jul 4 2012 Michael DeHaan - 0.5-0 +- Release of 0.5 + +* Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 +- Release of 0.4.1 (bugfixes) * Wed May 23 2012 Michael DeHaan - 0.4-0 - Release of 0.4 +* Tue May 1 2012 Tim Bielawa - 0.3.1-1 +- Release of 0.3.1. Mostly packaging related changes. + * Mon Apr 23 2012 Michael DeHaan - 0.3-1 - Release of 0.3 diff --git a/sources b/sources index 68b73ac..8367fb5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5996350fcb2a2b4bbd062386dd9b545f ansible-0.5.tar.gz +b3f399f57544117d98ee4a359affd93e ansible-0.5.1.tar.gz From 4e9234e8bba4ce290111e64f79cc88e071bf3425 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Fri, 10 Aug 2012 11:19:54 -0400 Subject: [PATCH 008/366] Update to 0.6 --- .gitignore | 1 + ansible.spec | 26 ++++++++++++++++---------- sources | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 1b64439..36d7d2e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /ansible-0.3.1.tar.gz /ansible-0.4.1.tar.gz /ansible-0.5.1.tar.gz +/ansible-0.6.tar.gz diff --git a/ansible.spec b/ansible.spec index 0f98224..883b7c7 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,10 +1,15 @@ +%if 0%{?rhel} <= 5 +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +%endif + Name: ansible Release: 1%{?dist} Summary: Minimal SSH command and control -Version: 0.5.1 +Version: 0.6 Group: Development/Libraries -License: GPLv3+ +License: GPLv3 Source0: https://github.com/downloads/ansible/ansible/%{name}-%{version}.tar.gz Url: http://ansible.github.com @@ -16,12 +21,14 @@ Requires: python-paramiko Requires: python-jinja2 %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. + %prep %setup -q @@ -37,7 +44,11 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ +%clean +rm -rf $RPM_BUILD_ROOT + %files +%defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* %{_datadir}/ansible @@ -45,22 +56,17 @@ cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* + %changelog -* Mon Jul 23 2012 Tim Bielawa - 0.5.1-1 -- Fedora/EPEL release of 0.5.1 +* Mon Aug 6 2012 Michael DeHaan - 0.6-0 +- Release of 0.6 * Wed Jul 4 2012 Michael DeHaan - 0.5-0 - Release of 0.5 -* Tue Jun 12 2012 Tim Bielawa - 0.4.1-1 -- Release of 0.4.1 (bugfixes) - * Wed May 23 2012 Michael DeHaan - 0.4-0 - Release of 0.4 -* Tue May 1 2012 Tim Bielawa - 0.3.1-1 -- Release of 0.3.1. Mostly packaging related changes. - * Mon Apr 23 2012 Michael DeHaan - 0.3-1 - Release of 0.3 diff --git a/sources b/sources index 8367fb5..9e7bf4d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b3f399f57544117d98ee4a359affd93e ansible-0.5.1.tar.gz +f699c07c188b0d056cc20df38ca67daa ansible-0.6.tar.gz From ef39e2715dc407a0d24251afc1a4c8e990f7e80d Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Fri, 7 Sep 2012 11:22:04 -0400 Subject: [PATCH 009/366] Update to ansible-0.7 --- .gitignore | 1 + ansible.spec | 12 ++++++++---- sources | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 36d7d2e..99b7eee 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /ansible-0.4.1.tar.gz /ansible-0.5.1.tar.gz /ansible-0.6.tar.gz +/ansible-0.7.tar.gz diff --git a/ansible.spec b/ansible.spec index 883b7c7..5706929 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,9 +4,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 1%{?dist} -Summary: Minimal SSH command and control -Version: 0.6 +Release: 0.git201209061851%{?dist} +Summary: SSH-based configuration management, deployment, and task execution system +Version: 0.7 Group: Development/Libraries License: GPLv3 @@ -39,6 +39,7 @@ are transferred to managed machines automatically. %{__python} setup.py install -O1 --root=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/ansible/ 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/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible @@ -55,9 +56,12 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* - +%doc examples/playbooks %changelog +* Thu Aug 6 2012 Michael DeHaan - 0.7-0 +- Release of 0.7 + * Mon Aug 6 2012 Michael DeHaan - 0.6-0 - Release of 0.6 diff --git a/sources b/sources index 9e7bf4d..03bb649 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f699c07c188b0d056cc20df38ca67daa ansible-0.6.tar.gz +b6d0db17e59d7ed95fdb967f752f29b3 ansible-0.7.tar.gz From 1c6284a11ed1e14250e75847493d7c0a3a7cb141 Mon Sep 17 00:00:00 2001 From: Maxim Burgerhout Date: Thu, 27 Sep 2012 10:57:17 +0200 Subject: [PATCH 010/366] Release of 0.7.1 (2.4 compat fix) --- .gitignore | 1 + ansible.spec | 15 +++++++++------ sources | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 99b7eee..99ee7e8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /ansible-0.5.1.tar.gz /ansible-0.6.tar.gz /ansible-0.7.tar.gz +/ansible-0.7.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 5706929..0bec61e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,9 +4,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 0.git201209061851%{?dist} +Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 0.7 +Version: 0.7.1 Group: Development/Libraries License: GPLv3 @@ -59,16 +59,19 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog -* Thu Aug 6 2012 Michael DeHaan - 0.7-0 +* Thu Sep 11 2012 Michael DeHaan - 0.7.1-1 +- Release of 0.7.1 (2.4 compat fix) + +* Thu Sep 7 2012 Michael DeHaan - 0.7-0.git201209061851 - Release of 0.7 -* Mon Aug 6 2012 Michael DeHaan - 0.6-0 +* Mon Aug 6 2012 Michael DeHaan - 0.6-1 - Release of 0.6 -* Wed Jul 4 2012 Michael DeHaan - 0.5-0 +* Wed Jul 4 2012 Michael DeHaan - 0.5-1 - Release of 0.5 -* Wed May 23 2012 Michael DeHaan - 0.4-0 +* Wed May 23 2012 Michael DeHaan - 0.4-1 - Release of 0.4 * Mon Apr 23 2012 Michael DeHaan - 0.3-1 diff --git a/sources b/sources index 03bb649..7c8c35b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b6d0db17e59d7ed95fdb967f752f29b3 ansible-0.7.tar.gz +cbbbc92ace678fcfb7081fd9517a5a93 ansible-0.7.1.tar.gz From 7109b73b3fc7e749dec9e6560a4821943a225cde Mon Sep 17 00:00:00 2001 From: Maxim Burgerhout Date: Mon, 22 Oct 2012 08:48:42 +0200 Subject: [PATCH 011/366] Release of 0.8 --- .gitignore | 1 + ansible.spec | 18 ++++++++++-------- sources | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 99ee7e8..cf6d152 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /ansible-0.6.tar.gz /ansible-0.7.tar.gz /ansible-0.7.1.tar.gz +/ansible-0.8.tar.gz diff --git a/ansible.spec b/ansible.spec index 0bec61e..cd74a65 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 0.7.1 +Version: 0.8 Group: Development/Libraries License: GPLv3 @@ -40,8 +40,9 @@ are transferred to managed machines automatically. mkdir -p $RPM_BUILD_ROOT/etc/ansible/ cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ cp examples/ansible.cfg $RPM_BUILD_ROOT/etc/ansible/ -mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1/ +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/{man1,man3}/ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ +cp -v docs/man/man3/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ @@ -56,22 +57,23 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* +%doc %{_mandir}/man3/ansible.* %doc examples/playbooks %changelog -* Thu Sep 11 2012 Michael DeHaan - 0.7.1-1 -- Release of 0.7.1 (2.4 compat fix) +* Fri Oct 19 2012 Michael DeHaan - 0.8-0 +- Release of 0.8 -* Thu Sep 7 2012 Michael DeHaan - 0.7-0.git201209061851 +* Thu Aug 6 2012 Michael DeHaan - 0.7-0 - Release of 0.7 -* Mon Aug 6 2012 Michael DeHaan - 0.6-1 +* Mon Aug 6 2012 Michael DeHaan - 0.6-0 - Release of 0.6 -* Wed Jul 4 2012 Michael DeHaan - 0.5-1 +* Wed Jul 4 2012 Michael DeHaan - 0.5-0 - Release of 0.5 -* Wed May 23 2012 Michael DeHaan - 0.4-1 +* Wed May 23 2012 Michael DeHaan - 0.4-0 - Release of 0.4 * Mon Apr 23 2012 Michael DeHaan - 0.3-1 diff --git a/sources b/sources index 7c8c35b..7be7e49 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cbbbc92ace678fcfb7081fd9517a5a93 ansible-0.7.1.tar.gz +eefeddb230aa259b099d511e58be16bc ansible-0.8.tar.gz From c23d872f740e548b3e8e3665047154d2e8370360 Mon Sep 17 00:00:00 2001 From: Maxim Burgerhout Date: Sat, 1 Dec 2012 07:29:25 +0100 Subject: [PATCH 012/366] Release 0.9 --- .gitignore | 1 + ansible.spec | 45 ++++++++++++++++++++++++++++++++++++++++++--- sources | 2 +- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index cf6d152..c76d296 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /ansible-0.7.tar.gz /ansible-0.7.1.tar.gz /ansible-0.8.tar.gz +/ansible-0.9.tar.gz diff --git a/ansible.spec b/ansible.spec index cd74a65..01f499a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 0.8 +Version: 0.9 Group: Development/Libraries License: GPLv3 @@ -28,6 +28,30 @@ 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 fireball +Summary: Ansible fireball transport support +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: python-keyczar +Requires: python-zmq + +%description fireball + +Ansible can optionally use a 0MQ based transport mechanism, which is +considerably faster than the standard ssh mechanism when there are +multiple actions, but requires additional supporting packages. + +%package node-fireball +Summary: Ansible fireball transport - node end support +Group: Development/Libraries +Requires: python-keyczar +Requires: python-zmq + +%description node-fireball + +Ansible can optionally use a 0MQ based transport mechanism, which has +additional requirements for nodes to use. This package includes those +requirements. %prep %setup -q @@ -53,14 +77,29 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* -%{_datadir}/ansible +%dir %{_datadir}/ansible +%{_datadir}/ansible/[a-eg-z]* +%{_datadir}/ansible/f[a-hj-z]* +%{_datadir}/ansible/file %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* -%doc %{_mandir}/man3/ansible.* +%doc %{_mandir}/man3/ansible.[a-eg-z]* +%doc %{_mandir}/man3/ansible.f[a-hj-z]* +%doc %{_mandir}/man3/ansible.file* %doc examples/playbooks +%files fireball +%{_datadir}/ansible/fireball +%doc %{_mandir}/man3/ansible.fireball.* + +%files node-fireball +%doc README.md PKG-INFO COPYING + %changelog +* Fri Nov 30 2012 Michael DeHaan - 0.9-0 +- Release 0.9 + * Fri Oct 19 2012 Michael DeHaan - 0.8-0 - Release of 0.8 diff --git a/sources b/sources index 7be7e49..fb456b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eefeddb230aa259b099d511e58be16bc ansible-0.8.tar.gz +bbabdb7d934218de8fce0148eadce7e1 ansible-0.9.tar.gz From 6c450e3da69e930094fec2c4ddd10d994aafcbf7 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Sun, 10 Feb 2013 13:40:57 -0500 Subject: [PATCH 013/366] Release 1.0 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c76d296..cada7b1 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /ansible-0.7.1.tar.gz /ansible-0.8.tar.gz /ansible-0.9.tar.gz +/ansible-1.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 01f499a..f32bc1c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 0.9 +Version: 1.0 Group: Development/Libraries License: GPLv3 @@ -97,6 +97,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Fri Feb 1 2013 Michael DeHaan - 1.0-0 +- Release 1.0 + * Fri Nov 30 2012 Michael DeHaan - 0.9-0 - Release 0.9 diff --git a/sources b/sources index fb456b3..9720629 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bbabdb7d934218de8fce0148eadce7e1 ansible-0.9.tar.gz +fcfaf789df5f262b5b0702daeaacf20e ansible-1.0.tar.gz From 499398d172367df7b56b9e8d529444aa7ebdcd03 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 10:34:05 -0600 Subject: [PATCH 014/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 01f499a..ced84fc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,7 +4,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 1%{?dist} +Release: 2%{?dist} Summary: SSH-based configuration management, deployment, and task execution system Version: 0.9 @@ -97,6 +97,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Wed Feb 13 2013 Fedora Release Engineering - 0.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Fri Nov 30 2012 Michael DeHaan - 0.9-0 - Release 0.9 From db87ecbc06b822fc1496c9fc671e6798ded7ed5e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 18 Mar 2013 22:20:03 -0600 Subject: [PATCH 015/366] Update to 1.0 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c76d296..cada7b1 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /ansible-0.7.1.tar.gz /ansible-0.8.tar.gz /ansible-0.9.tar.gz +/ansible-1.0.tar.gz diff --git a/ansible.spec b/ansible.spec index ced84fc..1fb6747 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,9 +4,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 2%{?dist} +Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 0.9 +Version: 1.0 Group: Development/Libraries License: GPLv3 @@ -97,6 +97,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Mon Mar 18 2013 Kevin Fenzi 1.0-1 +- Update to 1.0 + * Wed Feb 13 2013 Fedora Release Engineering - 0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild diff --git a/sources b/sources index fb456b3..9720629 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bbabdb7d934218de8fce0148eadce7e1 ansible-0.9.tar.gz +fcfaf789df5f262b5b0702daeaacf20e ansible-1.0.tar.gz From c2a8c32be308dfa85f737eba70b00751e3d6fc84 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 2 Apr 2013 19:36:48 -0600 Subject: [PATCH 016/366] Update to 1.1 --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index cada7b1..1dd331f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /ansible-0.8.tar.gz /ansible-0.9.tar.gz /ansible-1.0.tar.gz +/ansible-1.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 1fb6747..43b89f4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,12 +6,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.0 +Version: 1.1 Group: Development/Libraries License: GPLv3 -Source0: https://github.com/downloads/ansible/ansible/%{name}-%{version}.tar.gz -Url: http://ansible.github.com +Source0: http://ansible.cc/releases/%{name}-%{version}.tar.gz +Url: http://ansible.cc BuildArch: noarch BuildRequires: python2-devel @@ -97,6 +97,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Tue Apr 02 2013 Kevin Fenzi 1.1-1 +- Update to 1.1 + * Mon Mar 18 2013 Kevin Fenzi 1.0-1 - Update to 1.0 diff --git a/sources b/sources index 9720629..b6e5b8e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fcfaf789df5f262b5b0702daeaacf20e ansible-1.0.tar.gz +29059e7738212392d7c23db8c8f91019 ansible-1.1.tar.gz From 6301504fef69c6ce251300a010e74db374407237 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 10 Jun 2013 18:55:13 -0600 Subject: [PATCH 017/366] Update to 1.2 --- .gitignore | 1 + ansible.spec | 24 ++++++++++++------------ sources | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 1dd331f..f1fc614 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /ansible-0.9.tar.gz /ansible-1.0.tar.gz /ansible-1.1.tar.gz +/ansible-1.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 43b89f4..2ff0717 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,12 +6,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.1 +Version: 1.2 Group: Development/Libraries License: GPLv3 -Source0: http://ansible.cc/releases/%{name}-%{version}.tar.gz -Url: http://ansible.cc +Source0: http://ansibleworks.com/releases/%{name}-%{version}.tar.gz +Url: http://ansibleworks.com BuildArch: noarch BuildRequires: python2-devel @@ -68,7 +68,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_mandir}/{man1,man3}/ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -v docs/man/man3/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible -cp -v library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ +cp -va library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %clean rm -rf $RPM_BUILD_ROOT @@ -77,26 +77,26 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* -%dir %{_datadir}/ansible -%{_datadir}/ansible/[a-eg-z]* -%{_datadir}/ansible/f[a-hj-z]* -%{_datadir}/ansible/file +%{_datadir}/ansible +%exclude %{_datadir}/ansible/utilities/fireball +%exclude %{_mandir}/man3/ansible.fireball.* %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* -%doc %{_mandir}/man3/ansible.[a-eg-z]* -%doc %{_mandir}/man3/ansible.f[a-hj-z]* -%doc %{_mandir}/man3/ansible.file* +%doc %{_mandir}/man3/ansible* %doc examples/playbooks %files fireball -%{_datadir}/ansible/fireball +%{_datadir}/ansible/utilities/fireball %doc %{_mandir}/man3/ansible.fireball.* %files node-fireball %doc README.md PKG-INFO COPYING %changelog +* Mon Jun 10 2013 Kevin Fenzi 1.2-1 +- Update to 1.2 + * Tue Apr 02 2013 Kevin Fenzi 1.1-1 - Update to 1.1 diff --git a/sources b/sources index b6e5b8e..096690c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -29059e7738212392d7c23db8c8f91019 ansible-1.1.tar.gz +e1924c5f75a06dc49664e0e9b8f81fa0 ansible-1.2.tar.gz From 3cc7e56211d48cba04fc8367e4c438d7c7eb7caf Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 4 Jul 2013 20:43:45 -0600 Subject: [PATCH 018/366] Update to 1.2.1 - Fixes CVE-2013-2233 --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f1fc614..07340f6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /ansible-1.0.tar.gz /ansible-1.1.tar.gz /ansible-1.2.tar.gz +/ansible-1.2.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 2ff0717..91dbf58 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.2 +Version: 1.2.1 Group: Development/Libraries License: GPLv3 @@ -94,6 +94,10 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Thu Jul 04 2013 Kevin Fenzi 1.2.1-1 +- Update to 1.2.1 +- Fixes CVE-2013-2233 + * Mon Jun 10 2013 Kevin Fenzi 1.2-1 - Update to 1.2 diff --git a/sources b/sources index 096690c..7d96c4f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e1924c5f75a06dc49664e0e9b8f81fa0 ansible-1.2.tar.gz +5d583f2ca671539a2df05d3c94f10b16 ansible-1.2.1.tar.gz From 0fa1d4e242aeb620ac25c0595a358e23d8a1103f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 5 Jul 2013 08:45:42 -0600 Subject: [PATCH 019/366] Update to newer upstream re-release to fix a syntax error --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 91dbf58..c17e134 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,7 +4,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 1%{?dist} +Release: 2%{?dist} Summary: SSH-based configuration management, deployment, and task execution system Version: 1.2.1 @@ -94,6 +94,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Fri Jul 05 2013 Kevin Fenzi 1.2.1-2 +- Update to newer upstream re-release to fix a syntax error + * Thu Jul 04 2013 Kevin Fenzi 1.2.1-1 - Update to 1.2.1 - Fixes CVE-2013-2233 diff --git a/sources b/sources index 7d96c4f..5768f52 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5d583f2ca671539a2df05d3c94f10b16 ansible-1.2.1.tar.gz +0846fadb126e2823d469a6b061ed8413 ansible-1.2.1.tar.gz From 953ca2740c8eb1acc1939e5eb41ec56d939dcdff Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 6 Jul 2013 10:19:36 -0600 Subject: [PATCH 020/366] Update to 1.2.2 with minor fixes --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 07340f6..d15fd3b 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /ansible-1.1.tar.gz /ansible-1.2.tar.gz /ansible-1.2.1.tar.gz +/ansible-1.2.2.tar.gz diff --git a/ansible.spec b/ansible.spec index c17e134..89fe2f2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,9 +4,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 2%{?dist} +Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.2.1 +Version: 1.2.2 Group: Development/Libraries License: GPLv3 @@ -94,6 +94,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Sat Jul 06 2013 Kevin Fenzi 1.2.2-1 +- Update to 1.2.2 with minor fixes + * Fri Jul 05 2013 Kevin Fenzi 1.2.1-2 - Update to newer upstream re-release to fix a syntax error @@ -119,7 +122,7 @@ rm -rf $RPM_BUILD_ROOT * Fri Oct 19 2012 Michael DeHaan - 0.8-0 - Release of 0.8 -* Thu Aug 6 2012 Michael DeHaan - 0.7-0 +* Thu Aug 9 2012 Michael DeHaan - 0.7-0 - Release of 0.7 * Mon Aug 6 2012 Michael DeHaan - 0.6-0 diff --git a/sources b/sources index 5768f52..964cbe4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0846fadb126e2823d469a6b061ed8413 ansible-1.2.1.tar.gz +f49abd7a34eab0e073dab1080ef88078 ansible-1.2.2.tar.gz From 93c711cc5449515d79a4ee5029f523ae9ff370ca Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 2 Aug 2013 19:51:17 -0500 Subject: [PATCH 021/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 89fe2f2..c8e6135 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,7 +4,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 1%{?dist} +Release: 2%{?dist} Summary: SSH-based configuration management, deployment, and task execution system Version: 1.2.2 @@ -94,6 +94,9 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 1.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Sat Jul 06 2013 Kevin Fenzi 1.2.2-1 - Update to 1.2.2 with minor fixes From 8aaea917a2a669682e67f9dbbf89e15455bd0c55 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 21 Aug 2013 11:31:59 -0600 Subject: [PATCH 022/366] Update to 1.2.3 - Fixes CVE-2013-4260 and CVE-2013-4259 --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d15fd3b..6ba4818 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /ansible-1.2.tar.gz /ansible-1.2.1.tar.gz /ansible-1.2.2.tar.gz +/ansible-1.2.3.tar.gz diff --git a/ansible.spec b/ansible.spec index c8e6135..6786c4f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Release: 2%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.2.2 +Version: 1.2.3 Group: Development/Libraries License: GPLv3 @@ -94,6 +94,10 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING %changelog +* Wed Aug 21 2013 Kevin Fenzi 1.2.3-2 +- Update to 1.2.3 +- Fixes CVE-2013-4260 and CVE-2013-4259 + * Sat Aug 03 2013 Fedora Release Engineering - 1.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index 964cbe4..132cdf0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f49abd7a34eab0e073dab1080ef88078 ansible-1.2.2.tar.gz +1e07d0fed888a7230b9727bb2c12e8f7 ansible-1.2.3.tar.gz From 1869e0c7fecb4c62165a5272b4b54b21337ffc04 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 13 Sep 2013 16:52:45 -0600 Subject: [PATCH 023/366] Update to 1.3.0 - Drop node-fireball subpackage entirely. - Obsolete/provide fireball subpackage. - Add Requires python-keyczar on main package for accelerated mode. --- .gitignore | 1 + ansible.spec | 51 +++++++++++++++++---------------------------------- sources | 2 +- 3 files changed, 19 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index 6ba4818..015659b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /ansible-1.2.1.tar.gz /ansible-1.2.2.tar.gz /ansible-1.2.3.tar.gz +/ansible-1.3.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 6786c4f..062adc4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -4,9 +4,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 2%{?dist} +Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.2.3 +Version: 1.3.0 Group: Development/Libraries License: GPLv3 @@ -19,6 +19,15 @@ BuildRequires: python2-devel Requires: PyYAML Requires: python-paramiko Requires: python-jinja2 +Requires: python-keyczar + +# +# This is needed to update the old ansible-firewall package that is no +# longer needed. Note that you should also remove ansible-node-firewall manually +# Where you still have it installed. +# +Provides: ansible-fireball = %{version}-%{release} +Obsoletes: ansible-fireball < 1.2.4 %description @@ -28,31 +37,6 @@ 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 fireball -Summary: Ansible fireball transport support -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -Requires: python-keyczar -Requires: python-zmq - -%description fireball - -Ansible can optionally use a 0MQ based transport mechanism, which is -considerably faster than the standard ssh mechanism when there are -multiple actions, but requires additional supporting packages. - -%package node-fireball -Summary: Ansible fireball transport - node end support -Group: Development/Libraries -Requires: python-keyczar -Requires: python-zmq - -%description node-fireball - -Ansible can optionally use a 0MQ based transport mechanism, which has -additional requirements for nodes to use. This package includes those -requirements. - %prep %setup -q @@ -86,14 +70,13 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man3/ansible* %doc examples/playbooks -%files fireball -%{_datadir}/ansible/utilities/fireball -%doc %{_mandir}/man3/ansible.fireball.* - -%files node-fireball -%doc README.md PKG-INFO COPYING - %changelog +* Thu Sep 12 2013 Kevin Fenzi 1.3.0-1 +- Update to 1.3.0 +- Drop node-fireball subpackage entirely. +- Obsolete/provide fireball subpackage. +- Add Requires python-keyczar on main package for accelerated mode. + * Wed Aug 21 2013 Kevin Fenzi 1.2.3-2 - Update to 1.2.3 - Fixes CVE-2013-4260 and CVE-2013-4259 diff --git a/sources b/sources index 132cdf0..8dcaea5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1e07d0fed888a7230b9727bb2c12e8f7 ansible-1.2.3.tar.gz +0a36fe36226fa2c2bd86dc831990bcd4 ansible-1.3.0.tar.gz From 467cba4ef6c322e135528204b8b68071c1a63226 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 16 Sep 2013 11:31:41 -0600 Subject: [PATCH 024/366] Update to 1.3.1 --- .gitignore | 1 + ansible.spec | 24 ++++++++++++++++++++++-- sources | 2 +- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 015659b..7a96a0b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /ansible-1.2.2.tar.gz /ansible-1.2.3.tar.gz /ansible-1.3.0.tar.gz +/ansible-1.3.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 062adc4..2e47af9 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,12 +1,16 @@ +%if 0%{?rhel} == 5 +%define __python /usr/bin/python26 +%endif + %if 0%{?rhel} <= 5 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif Name: ansible -Release: 1%{?dist} Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.3.0 +Version: 1.3.1 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -14,12 +18,21 @@ Source0: http://ansibleworks.com/releases/%{name}-%{version}.tar.gz Url: http://ansibleworks.com BuildArch: noarch +%if 0%{?rhel} && 0%{?rhel} <= 5 +BuildRequires: python26-devel + +Requires: python26-PyYAML +Requires: python26-paramiko +Requires: python26-jinja2 +Requires: python26-keyczar +%else BuildRequires: python2-devel Requires: PyYAML Requires: python-paramiko Requires: python-jinja2 Requires: python-keyczar +%endif # # This is needed to update the old ansible-firewall package that is no @@ -71,6 +84,13 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Mon Sep 16 2013 Kevin Fenzi 1.3.1-1 +- Update to 1.3.1 + +* Sat Sep 14 2013 Kevin Fenzi 1.3.0-2 +- Merge upstream spec changes to support EPEL5 +- (Still needs python26-keyczar and deps added to EPEL) + * Thu Sep 12 2013 Kevin Fenzi 1.3.0-1 - Update to 1.3.0 - Drop node-fireball subpackage entirely. diff --git a/sources b/sources index 8dcaea5..9df515d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0a36fe36226fa2c2bd86dc831990bcd4 ansible-1.3.0.tar.gz +6b01c7171ac615b359be3ae19662185a ansible-1.3.1.tar.gz From efb5883a481356cd22092f10e1c9b19f6677a34c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 19 Sep 2013 10:55:41 -0600 Subject: [PATCH 025/366] Update to 1.3.2 with minor upstream fixes --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7a96a0b..f0dd41f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /ansible-1.2.3.tar.gz /ansible-1.3.0.tar.gz /ansible-1.3.1.tar.gz +/ansible-1.3.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 2e47af9..9d29c9d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.3.1 +Version: 1.3.2 Release: 1%{?dist} Group: Development/Libraries @@ -84,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Thu Sep 19 2013 Kevin Fenzi 1.3.2-1 +- Update to 1.3.2 with minor upstream fixes + * Mon Sep 16 2013 Kevin Fenzi 1.3.1-1 - Update to 1.3.1 diff --git a/sources b/sources index 9df515d..223511b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6b01c7171ac615b359be3ae19662185a ansible-1.3.1.tar.gz +458294283abef85548c6711364f86667 ansible-1.3.2.tar.gz From 8f1666065e4357fee5038535e661b1e6d31c446e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 8 Oct 2013 16:11:43 -0600 Subject: [PATCH 026/366] Update to 1.3.3 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f0dd41f..c85b444 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /ansible-1.3.0.tar.gz /ansible-1.3.1.tar.gz /ansible-1.3.2.tar.gz +/ansible-1.3.3.tar.gz diff --git a/ansible.spec b/ansible.spec index 9d29c9d..40bd1d9 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.3.2 +Version: 1.3.3 Release: 1%{?dist} Group: Development/Libraries @@ -84,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Tue Oct 08 2013 Kevin Fenzi 1.3.3-1 +- Update to 1.3.3 + * Thu Sep 19 2013 Kevin Fenzi 1.3.2-1 - Update to 1.3.2 with minor upstream fixes diff --git a/sources b/sources index 223511b..e891f6d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -458294283abef85548c6711364f86667 ansible-1.3.2.tar.gz +c774bdaba421d231f0e45621b9e9cf63 ansible-1.3.3.tar.gz From 9e052997dedb70a9fbd6d98c3116009610d31472 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 29 Oct 2013 16:02:08 -0600 Subject: [PATCH 027/366] Update to 1.3.4 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c85b444..43d7f01 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /ansible-1.3.1.tar.gz /ansible-1.3.2.tar.gz /ansible-1.3.3.tar.gz +/ansible-1.3.4.tar.gz diff --git a/ansible.spec b/ansible.spec index 40bd1d9..8bec1e2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.3.3 +Version: 1.3.4 Release: 1%{?dist} Group: Development/Libraries @@ -84,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Tue Oct 29 2013 Kevin Fenzi 1.3.4-1 +- Update to 1.3.4 + * Tue Oct 08 2013 Kevin Fenzi 1.3.3-1 - Update to 1.3.3 diff --git a/sources b/sources index e891f6d..d5ef5e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c774bdaba421d231f0e45621b9e9cf63 ansible-1.3.3.tar.gz +ac03f64dae45fe9c034fa6f2ec98c8d2 ansible-1.3.4.tar.gz From c10ee8ca88f258a85750715888ba7446cb60ce3b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 21 Nov 2013 13:57:07 -0700 Subject: [PATCH 028/366] Update to 1.4 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 43d7f01..2f10f3c 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /ansible-1.3.2.tar.gz /ansible-1.3.3.tar.gz /ansible-1.3.4.tar.gz +/ansible-1.4.tar.gz diff --git a/ansible.spec b/ansible.spec index 8bec1e2..7da6b5e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.3.4 +Version: 1.4 Release: 1%{?dist} Group: Development/Libraries @@ -84,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Thu Nov 21 2013 Kevin Fenzi 1.4-1 +- Update to 1.4 + * Tue Oct 29 2013 Kevin Fenzi 1.3.4-1 - Update to 1.3.4 diff --git a/sources b/sources index d5ef5e3..4b012e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ac03f64dae45fe9c034fa6f2ec98c8d2 ansible-1.3.4.tar.gz +adc8b5113e4082d1d435642a381eea0d ansible-1.4.tar.gz From 6a1b38af6625873d3c11646084e1b7a884684ceb Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 27 Nov 2013 17:03:33 -0700 Subject: [PATCH 029/366] Update to upstream 1.4.1 bugfix release --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2f10f3c..dc9497a 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /ansible-1.3.3.tar.gz /ansible-1.3.4.tar.gz /ansible-1.4.tar.gz +/ansible-1.4.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 7da6b5e..ab9c80b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.4 +Version: 1.4.1 Release: 1%{?dist} Group: Development/Libraries @@ -84,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Nov 27 2013 Kevin Fenzi 1.4.1-1 +- Update to upstream 1.4.1 bugfix release + * Thu Nov 21 2013 Kevin Fenzi 1.4-1 - Update to 1.4 diff --git a/sources b/sources index 4b012e4..516bf72 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -adc8b5113e4082d1d435642a381eea0d ansible-1.4.tar.gz +bff568178497cd0d1e748c6bf1a22f00 ansible-1.4.1.tar.gz From cb37d1d97ef9c8ea9aca374f120e2296f749cd74 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 28 Dec 2013 11:49:19 -0700 Subject: [PATCH 030/366] Update to 1.4.3 with ansible galaxy commands. - Adds python-httplib2 to requires --- .gitignore | 1 + ansible.spec | 8 +++++++- sources | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index dc9497a..3505390 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /ansible-1.3.4.tar.gz /ansible-1.4.tar.gz /ansible-1.4.1.tar.gz +/ansible-1.4.3.tar.gz diff --git a/ansible.spec b/ansible.spec index ab9c80b..29e0a9e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.4.1 +Version: 1.4.3 Release: 1%{?dist} Group: Development/Libraries @@ -25,6 +25,7 @@ Requires: python26-PyYAML Requires: python26-paramiko Requires: python26-jinja2 Requires: python26-keyczar +Requires: python26-httplib2 %else BuildRequires: python2-devel @@ -32,6 +33,7 @@ Requires: PyYAML Requires: python-paramiko Requires: python-jinja2 Requires: python-keyczar +Requires: python-httplib2 %endif # @@ -84,6 +86,10 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Sat Dec 28 2013 Kevin Fenzi 1.4.3-1 +- Update to 1.4.3 with ansible galaxy commands. +- Adds python-httplib2 to requires + * Wed Nov 27 2013 Kevin Fenzi 1.4.1-1 - Update to upstream 1.4.1 bugfix release diff --git a/sources b/sources index 516bf72..f5330e2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bff568178497cd0d1e748c6bf1a22f00 ansible-1.4.1.tar.gz +1078fe5bac935191d70aef5d471e0cf4 ansible-1.4.3.tar.gz From 13553cc9c7b0543642b00eb540699ccacf4f6254 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 12 Feb 2014 20:22:10 -0700 Subject: [PATCH 031/366] Update to 1.4.5 --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 3505390..3cee75e 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /ansible-1.4.tar.gz /ansible-1.4.1.tar.gz /ansible-1.4.3.tar.gz +/ansible-1.4.5.tar.gz diff --git a/ansible.spec b/ansible.spec index 29e0a9e..cd1a6d4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,13 +9,13 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.4.3 +Version: 1.4.5 Release: 1%{?dist} Group: Development/Libraries License: GPLv3 -Source0: http://ansibleworks.com/releases/%{name}-%{version}.tar.gz -Url: http://ansibleworks.com +Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +Url: http://ansible.com BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 5 @@ -86,6 +86,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Feb 12 2014 Kevin Fenzi 1.4.5-1 +- Update to 1.4.5 + * Sat Dec 28 2013 Kevin Fenzi 1.4.3-1 - Update to 1.4.3 with ansible galaxy commands. - Adds python-httplib2 to requires diff --git a/sources b/sources index f5330e2..e159359 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1078fe5bac935191d70aef5d471e0cf4 ansible-1.4.3.tar.gz +7d29c15b4b470632358a74ab9ff4adfd ansible-1.4.5.tar.gz From f9dbd15083a0be86521d15a000bcd8aa4e746ff5 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 28 Feb 2014 14:26:08 -0700 Subject: [PATCH 032/366] Update to 1.5 --- .gitignore | 1 + ansible.spec | 11 +++++------ sources | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 3cee75e..790a648 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /ansible-1.4.1.tar.gz /ansible-1.4.3.tar.gz /ansible-1.4.5.tar.gz +/ansible-1.5.tar.gz diff --git a/ansible.spec b/ansible.spec index cd1a6d4..fbcf1ce 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.4.5 +Version: 1.5 Release: 1%{?dist} Group: Development/Libraries @@ -63,9 +63,8 @@ are transferred to managed machines automatically. mkdir -p $RPM_BUILD_ROOT/etc/ansible/ cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ cp examples/ansible.cfg $RPM_BUILD_ROOT/etc/ansible/ -mkdir -p $RPM_BUILD_ROOT/%{_mandir}/{man1,man3}/ +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ -cp -v docs/man/man3/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible cp -va library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ @@ -77,15 +76,15 @@ rm -rf $RPM_BUILD_ROOT %{python_sitelib}/ansible* %{_bindir}/ansible* %{_datadir}/ansible -%exclude %{_datadir}/ansible/utilities/fireball -%exclude %{_mandir}/man3/ansible.fireball.* %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* -%doc %{_mandir}/man3/ansible* %doc examples/playbooks %changelog +* Fri Feb 28 2014 Kevin Fenzi 1.5-1 +- Update to 1.5 + * Wed Feb 12 2014 Kevin Fenzi 1.4.5-1 - Update to 1.4.5 diff --git a/sources b/sources index e159359..1002e74 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7d29c15b4b470632358a74ab9ff4adfd ansible-1.4.5.tar.gz +cbdd30fdb93326bd3227de6f303f0d6c ansible-1.5.tar.gz From 6193d7a096f982a9fa74f97cbf2c22e7e2ec5e94 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 10 Mar 2014 17:39:56 -0600 Subject: [PATCH 033/366] Update to 1.5.1 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 790a648..a055c98 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /ansible-1.4.3.tar.gz /ansible-1.4.5.tar.gz /ansible-1.5.tar.gz +/ansible-1.5.1.tar.gz diff --git a/ansible.spec b/ansible.spec index fbcf1ce..5e275b1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5 +Version: 1.5.1 Release: 1%{?dist} Group: Development/Libraries @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Mon Mar 10 2014 Kevin Fenzi 1.5.1-1 +- Update to 1.5.1 + * Fri Feb 28 2014 Kevin Fenzi 1.5-1 - Update to 1.5 diff --git a/sources b/sources index 1002e74..cbe4df6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cbdd30fdb93326bd3227de6f303f0d6c ansible-1.5.tar.gz +9bc644193eb4000986666835e98257a9 ansible-1.5.1.tar.gz From cfa0fe3ad6ee8c99d3e2baf4d0be704a0c7c31e9 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 11 Mar 2014 08:20:42 -0600 Subject: [PATCH 034/366] Update to 1.5.2 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a055c98..f8e4c1b 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /ansible-1.4.5.tar.gz /ansible-1.5.tar.gz /ansible-1.5.1.tar.gz +/ansible-1.5.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 5e275b1..95911b4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5.1 +Version: 1.5.2 Release: 1%{?dist} Group: Development/Libraries @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Tue Mar 11 2014 Kevin Fenzi 1.5.2-1 +- Update to 1.5.2 + * Mon Mar 10 2014 Kevin Fenzi 1.5.1-1 - Update to 1.5.1 diff --git a/sources b/sources index cbe4df6..9646f71 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9bc644193eb4000986666835e98257a9 ansible-1.5.1.tar.gz +83cb76e2adc24fc736bfee422d1c8d12 ansible-1.5.2.tar.gz From 1ad558c481a594bcc61f3b481b7b4a8253c1cf95 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 11 Mar 2014 10:24:05 -0600 Subject: [PATCH 035/366] Update to redone 1.5.2 release --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 95911b4..2df0cd3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.5.2 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Tue Mar 11 2014 Kevin Fenzi 1.5.2-2 +- Update to redone 1.5.2 release + * Tue Mar 11 2014 Kevin Fenzi 1.5.2-1 - Update to 1.5.2 diff --git a/sources b/sources index 9646f71..037868c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -83cb76e2adc24fc736bfee422d1c8d12 ansible-1.5.2.tar.gz +1b866f0c65458fe4e919d52c5036f106 ansible-1.5.2.tar.gz From 585d682b1bba16a2029ca94f3ee0136960fda9d4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 13 Mar 2014 16:08:19 -0600 Subject: [PATCH 036/366] Update to 1.5.3 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f8e4c1b..ae1e973 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ /ansible-1.5.tar.gz /ansible-1.5.1.tar.gz /ansible-1.5.2.tar.gz +/ansible-1.5.3.tar.gz diff --git a/ansible.spec b/ansible.spec index 2df0cd3..29c071c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5.2 -Release: 2%{?dist} +Version: 1.5.3 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Thu Mar 13 2014 Kevin Fenzi 1.5.3-1 +- Update to 1.5.3 + * Tue Mar 11 2014 Kevin Fenzi 1.5.2-2 - Update to redone 1.5.2 release diff --git a/sources b/sources index 037868c..394e5c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1b866f0c65458fe4e919d52c5036f106 ansible-1.5.2.tar.gz +e582f889790eb083f1c7724322a303e7 ansible-1.5.3.tar.gz From 8dc5eaab1176b2219bcc1474675eee4d7283c33f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 14 Mar 2014 09:51:52 -0600 Subject: [PATCH 037/366] Update to NEW 1.5.3 upstream release. --- ansible.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 29c071c..3d115be 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.5.3 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Fri Mar 14 2014 Kevin Fenzi 1.5.3-2 +- Update to NEW 1.5.3 upstream release. + * Thu Mar 13 2014 Kevin Fenzi 1.5.3-1 - Update to 1.5.3 diff --git a/sources b/sources index 394e5c8..80f75ad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e582f889790eb083f1c7724322a303e7 ansible-1.5.3.tar.gz +9fe87a1f16da6732d9c24eb817f1ec18 ansible-1.5.3.tar.gz From 2c0e80e17137296f3618dc2e88bf06dfabfe07a0 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 14 Mar 2014 21:49:40 -0700 Subject: [PATCH 038/366] Fix ansible-vault for newer python-crypto dependency --- ...o-get-a-recent-enough-version-of-pyt.patch | 56 +++++++++++++++++++ ansible.spec | 24 +++++++- 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch diff --git a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch new file mode 100644 index 0000000..9a658d3 --- /dev/null +++ b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch @@ -0,0 +1,56 @@ +From 02519a2a77e7d88c32fb3f3b4db7c6cb20da7006 Mon Sep 17 00:00:00 2001 +From: Toshio Kuratomi +Date: Fri, 14 Mar 2014 13:16:04 -0700 +Subject: [PATCH] Use setuptools to get a recent enough version of + python-crypto2.6 + +--- + bin/ansible-playbook | 3 +++ + bin/ansible-vault | 3 +++ + setup.py | 2 +- + 3 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/bin/ansible-playbook b/bin/ansible-playbook +index 5aa020a..a8ada00 100755 +--- a/bin/ansible-playbook ++++ b/bin/ansible-playbook +@@ -18,6 +18,9 @@ + + ####################################################### + ++__requires__ = ['pycrypto >= 2.6'] ++import pkg_resources ++ + import sys + import os + import stat +diff --git a/bin/ansible-vault b/bin/ansible-vault +index 2c8094d..b0a9926 100755 +--- a/bin/ansible-vault ++++ b/bin/ansible-vault +@@ -20,6 +20,9 @@ + # example playbook to bootstrap this script in the examples/ dir which + # installs ansible and sets it up to run on cron. + ++__requires__ = ['pycrypto >= 2.6'] ++import pkg_resources ++ + import os + import sys + import traceback +diff --git a/setup.py b/setup.py +index c537ee9..34425e1 100644 +--- a/setup.py ++++ b/setup.py +@@ -29,7 +29,7 @@ setup(name='ansible', + author_email='michael@ansible.com', + url='http://ansible.com/', + license='GPLv3', +- install_requires=['paramiko', 'jinja2', "PyYAML"], ++ install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], + package_dir={ 'ansible': 'lib/ansible' }, + packages=[ + 'ansible', +-- +1.8.5.3 + diff --git a/ansible.spec b/ansible.spec index fbcf1ce..6315810 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,12 +9,15 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5 +Version: 1.5.3 Release: 1%{?dist} Group: Development/Libraries License: GPLv3 Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# Patch to make ansible-vault use the forward-compat python-crypto2.6 package +# Upstreamed here: https://github.com/ansible/ansible/pull/6498 +Patch0: 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch Url: http://ansible.com BuildArch: noarch @@ -36,6 +39,15 @@ Requires: python-keyczar Requires: python-httplib2 %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 +%endif + # # This is needed to update the old ansible-firewall package that is no # longer needed. Note that you should also remove ansible-node-firewall manually @@ -55,11 +67,16 @@ are transferred to managed machines automatically. %prep %setup -q +%if 0%{?rhel} == 6 +# Patch to make ansible-vault use a newer pycrypto forward-compat package +%patch0 -p1 +%endif + %build %{__python} setup.py build %install -%{__python} setup.py install -O1 --root=$RPM_BUILD_ROOT +%{__python} setup.py install --root=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/ansible/ cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ cp examples/ansible.cfg $RPM_BUILD_ROOT/etc/ansible/ @@ -82,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Mar 12 2014 Toshio Kuratomi - 1.5.3-1 +- Fix ansible-vault for newer python-crypto dependency + * Fri Feb 28 2014 Kevin Fenzi 1.5-1 - Update to 1.5 From 1317ad271ccfaa9d0214df414eb8d6f91f0dea2e Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 14 Mar 2014 21:54:25 -0700 Subject: [PATCH 039/366] 1.5.3 tarball# Please enter the commit message for your changes. Lines starting From 5fde29dd9f15d926f5f5dcddf79a0f6c6ed1efcb Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 14 Mar 2014 22:03:58 -0700 Subject: [PATCH 040/366] Try committing again --- .gitignore | 16 +--------------- sources | 2 +- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 840fa7c..f60499c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1 @@ -/ansible-1.1.tar.gz -/ansible-1.2.tar.gz -/ansible-1.2.1.tar.gz -/ansible-1.2.2.tar.gz -/ansible-1.2.3.tar.gz -/ansible-1.3.0.tar.gz -/ansible-1.3.1.tar.gz -/ansible-1.3.2.tar.gz -/ansible-1.3.3.tar.gz -/ansible-1.3.4.tar.gz -/ansible-1.4.tar.gz -/ansible-1.4.1.tar.gz -/ansible-1.4.3.tar.gz -/ansible-1.4.5.tar.gz -/ansible-1.5.tar.gz +/ansible-1.5.3.tar.gz diff --git a/sources b/sources index 1002e74..80f75ad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cbdd30fdb93326bd3227de6f303f0d6c ansible-1.5.tar.gz +9fe87a1f16da6732d9c24eb817f1ec18 ansible-1.5.3.tar.gz From 19c1aa7c67fdee1259a977dcd86bca988697d612 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 2 Apr 2014 09:59:54 -0700 Subject: [PATCH 041/366] Add missing dependency on python-setuptools --- ansible.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 6315810..75b4777 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.5.3 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -29,6 +29,10 @@ Requires: python26-paramiko Requires: python26-jinja2 Requires: python26-keyczar Requires: python26-httplib2 + +# This may become a Requires on all versions with the next upstream release as +# the patch is looking like it will be accepted upstream. +Requires: python-setuptools %else BuildRequires: python2-devel @@ -99,6 +103,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Apr 2 2014 Toshio Kuratomi - 1.5.3-2 +- Add missing dependency on python-setuptools + * Wed Mar 12 2014 Toshio Kuratomi - 1.5.3-1 - Fix ansible-vault for newer python-crypto dependency From 6e2c5cb2a40960b87e3f7b11090a94e95054c109 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 2 Apr 2014 10:13:55 -0700 Subject: [PATCH 042/366] Update to 1.5.4 --- ansible.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ansible.spec b/ansible.spec index 534cbfb..45ffa56 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5.3 -Release: 3%{?dist} +Version: 1.5.4 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -103,21 +103,20 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog -* Wed Apr 2 2014 Toshio Kuratomi - 1.5.3-3 -- Add missing dependency on python-setuptools +* Wed Apr 2 2014 Toshio Kuratomi - 1.5.4-1 +- Update to 1.5.4 * Fri Mar 14 2014 Kevin Fenzi 1.5.3-2 - Update to NEW 1.5.3 upstream release. +- Add missing dependency on python-setuptools (el6 build) * Thu Mar 13 2014 Kevin Fenzi 1.5.3-1 - Update to 1.5.3 +- Fix ansible-vault for newer python-crypto dependency (el6 build) * Tue Mar 11 2014 Kevin Fenzi 1.5.2-2 - Update to redone 1.5.2 release -* Wed Mar 12 2014 Toshio Kuratomi - 1.5.3-1 -- Fix ansible-vault for newer python-crypto dependency - * Tue Mar 11 2014 Kevin Fenzi 1.5.2-1 - Update to 1.5.2 From f8b92921897e1977459f252ccb0a91764bab7ee5 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 2 Apr 2014 10:31:10 -0700 Subject: [PATCH 043/366] - Add upstream patch to fix accelerator mode --- ...c53f7878c9ac2a59100c2752785482e806aa.patch | 38 +++++++++++++++++++ ansible.spec | 8 ++++ 2 files changed, 46 insertions(+) create mode 100644 0556c53f7878c9ac2a59100c2752785482e806aa.patch diff --git a/0556c53f7878c9ac2a59100c2752785482e806aa.patch b/0556c53f7878c9ac2a59100c2752785482e806aa.patch new file mode 100644 index 0000000..561e60f --- /dev/null +++ b/0556c53f7878c9ac2a59100c2752785482e806aa.patch @@ -0,0 +1,38 @@ +From 0556c53f7878c9ac2a59100c2752785482e806aa Mon Sep 17 00:00:00 2001 +From: James Cammarata +Date: Tue, 18 Mar 2014 12:22:58 -0500 +Subject: [PATCH] Execute commands through accelerate with shell when needed + +This fixes an issue related to the new run_command changes, whereby +Popen fails to run a command when an executable is specified + shell=False +and there are multiple positional arguments (see Popen docs for details) +--- + library/utilities/accelerate | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/library/utilities/accelerate b/library/utilities/accelerate +index 6508f14..a61e54e 100644 +--- a/library/utilities/accelerate ++++ b/library/utilities/accelerate +@@ -329,11 +329,15 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler): + return dict(failed=True, msg='internal error: cmd is required') + if 'tmp_path' not in data: + return dict(failed=True, msg='internal error: tmp_path is required') +- if 'executable' not in data: +- return dict(failed=True, msg='internal error: executable is required') + + vvvv("executing: %s" % data['cmd']) +- rc, stdout, stderr = self.server.module.run_command(data['cmd'], executable=data['executable'], close_fds=True) ++ ++ use_unsafe_shell = False ++ executable = data.get('executable') ++ if executable: ++ use_unsafe_shell = True ++ ++ rc, stdout, stderr = self.server.module.run_command(data['cmd'], executable=executable, use_unsafe_shell=use_unsafe_shell) + if stdout is None: + stdout = '' + if stderr is None: +-- +1.9.1 + diff --git a/ansible.spec b/ansible.spec index 45ffa56..1a9c6c3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -18,6 +18,10 @@ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # Patch to make ansible-vault use the forward-compat python-crypto2.6 package # Upstreamed here: https://github.com/ansible/ansible/pull/6498 Patch0: 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch +# Patch to fix accelerate with rawhide +# https://github.com/ansible/ansible/commit/0556c53f7878c9ac2a59100c2752785482e806aa.patch +# https://github.com/ansible/ansible/issues/6447 +Patch1: 0556c53f7878c9ac2a59100c2752785482e806aa.patch Url: http://ansible.com BuildArch: noarch @@ -75,6 +79,8 @@ are transferred to managed machines automatically. # Patch to make ansible-vault use a newer pycrypto forward-compat package %patch0 -p1 %endif +# Patch to fix accelerator mode +%patch1 -p1 %build %{__python} setup.py build @@ -105,6 +111,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Wed Apr 2 2014 Toshio Kuratomi - 1.5.4-1 - Update to 1.5.4 +- Add upstream patch to fix accelerator mode +- Merge fedora and el6 spec files * Fri Mar 14 2014 Kevin Fenzi 1.5.3-2 - Update to NEW 1.5.3 upstream release. From af8f823f05f158ce19597e7d54e000f99024aba1 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 2 Apr 2014 11:13:28 -0700 Subject: [PATCH 044/366] New ansible upstream tarball --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f60499c..353d4a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /ansible-1.5.3.tar.gz +/ansible-1.5.4.tar.gz diff --git a/sources b/sources index 80f75ad..8b21fb4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9fe87a1f16da6732d9c24eb817f1ec18 ansible-1.5.3.tar.gz +073a77d419a7599f67677fd82efcbcb7 ansible-1.5.4.tar.gz From 9ea6a64518b3f0f8508f67b6cc4e4daa679b80b7 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Mon, 7 Apr 2014 08:19:03 -0700 Subject: [PATCH 045/366] Fix setuptools requirement to be for rhel==6 --- ansible.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ansible.spec b/ansible.spec index 1a9c6c3..83b7989 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.5.4 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -33,10 +33,6 @@ Requires: python26-paramiko Requires: python26-jinja2 Requires: python26-keyczar Requires: python26-httplib2 - -# This may become a Requires on all versions with the next upstream release as -# the patch is looking like it will be accepted upstream. -Requires: python-setuptools %else BuildRequires: python2-devel @@ -54,6 +50,11 @@ Requires: python-httplib2 # 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 + +# This may become a Requires on all versions with the next upstream release as +# the patch is looking like it will be accepted upstream. +# https://github.com/ansible/ansible/pull/6497 +Requires: python-setuptools %endif # @@ -109,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Mon Apr 7 2014 Toshio Kuratomi - 1.5.4-2 +- Fix setuptools requirement to apply to rhel=6, not rhel<6 + * Wed Apr 2 2014 Toshio Kuratomi - 1.5.4-1 - Update to 1.5.4 - Add upstream patch to fix accelerator mode From be387306548391e8feb4b1c7d9a2fa0b6bba7393 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 18 Apr 2014 15:29:15 -0600 Subject: [PATCH 046/366] Update to 1.5.5 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 353d4a6..639f3d5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /ansible-1.5.3.tar.gz /ansible-1.5.4.tar.gz +/ansible-1.5.5.tar.gz diff --git a/ansible.spec b/ansible.spec index 83b7989..ef31b7b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5.4 -Release: 2%{?dist} +Version: 1.5.5 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -110,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Fri Apr 18 2014 Kevin Fenzi 1.5.5-1 +- Update to 1.5.5 + * Mon Apr 7 2014 Toshio Kuratomi - 1.5.4-2 - Fix setuptools requirement to apply to rhel=6, not rhel<6 diff --git a/sources b/sources index 8b21fb4..4c79c33 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -073a77d419a7599f67677fd82efcbcb7 ansible-1.5.4.tar.gz +de27b5fc95104dd3295f4c90de39f3f0 ansible-1.5.5.tar.gz From 03e3edf6ff1eb8d16d02f2eb175e67d3a0fa27b6 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Mon, 5 May 2014 19:45:44 -0700 Subject: [PATCH 047/366] Update to 1.6 - Drop accelerate fix, merged upstream - Refresh RHEL6 pycrypto patch. It was half-merged upstream. --- .gitignore | 1 + ...o-get-a-recent-enough-version-of-pyt.patch | 62 ++++++------------- ansible.spec | 20 +++--- sources | 2 +- 4 files changed, 28 insertions(+), 57 deletions(-) diff --git a/.gitignore b/.gitignore index 639f3d5..06df6cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /ansible-1.5.3.tar.gz /ansible-1.5.4.tar.gz /ansible-1.5.5.tar.gz +/ansible-1.6.tar.gz diff --git a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch index 9a658d3..43fcde7 100644 --- a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch +++ b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch @@ -1,56 +1,30 @@ -From 02519a2a77e7d88c32fb3f3b4db7c6cb20da7006 Mon Sep 17 00:00:00 2001 -From: Toshio Kuratomi -Date: Fri, 14 Mar 2014 13:16:04 -0700 -Subject: [PATCH] Use setuptools to get a recent enough version of - python-crypto2.6 - ---- - bin/ansible-playbook | 3 +++ - bin/ansible-vault | 3 +++ - setup.py | 2 +- - 3 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/bin/ansible-playbook b/bin/ansible-playbook -index 5aa020a..a8ada00 100755 ---- a/bin/ansible-playbook -+++ b/bin/ansible-playbook -@@ -18,6 +18,9 @@ +Index: ansible-1.6/bin/ansible-playbook +=================================================================== +--- ansible-1.6.orig/bin/ansible-playbook ++++ ansible-1.6/bin/ansible-playbook +@@ -18,8 +18,8 @@ ####################################################### -+__requires__ = ['pycrypto >= 2.6'] +-#__requires__ = ['ansible'] +-#import pkg_resources ++__requires__ = ['ansible'] +import pkg_resources -+ + import sys import os - import stat -diff --git a/bin/ansible-vault b/bin/ansible-vault -index 2c8094d..b0a9926 100755 ---- a/bin/ansible-vault -+++ b/bin/ansible-vault -@@ -20,6 +20,9 @@ +Index: ansible-1.6/bin/ansible-vault +=================================================================== +--- ansible-1.6.orig/bin/ansible-vault ++++ ansible-1.6/bin/ansible-vault +@@ -20,8 +20,8 @@ # example playbook to bootstrap this script in the examples/ dir which # installs ansible and sets it up to run on cron. -+__requires__ = ['pycrypto >= 2.6'] +-#__requires__ = ['ansible'] +-#import pkg_resources ++__requires__ = ['ansible'] +import pkg_resources -+ + import os import sys - import traceback -diff --git a/setup.py b/setup.py -index c537ee9..34425e1 100644 ---- a/setup.py -+++ b/setup.py -@@ -29,7 +29,7 @@ setup(name='ansible', - author_email='michael@ansible.com', - url='http://ansible.com/', - license='GPLv3', -- install_requires=['paramiko', 'jinja2', "PyYAML"], -+ install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], - package_dir={ 'ansible': 'lib/ansible' }, - packages=[ - 'ansible', --- -1.8.5.3 - diff --git a/ansible.spec b/ansible.spec index ef31b7b..a2d7e83 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.5.5 +Version: 1.6 Release: 1%{?dist} Group: Development/Libraries @@ -18,10 +18,6 @@ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # Patch to make ansible-vault use the forward-compat python-crypto2.6 package # Upstreamed here: https://github.com/ansible/ansible/pull/6498 Patch0: 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch -# Patch to fix accelerate with rawhide -# https://github.com/ansible/ansible/commit/0556c53f7878c9ac2a59100c2752785482e806aa.patch -# https://github.com/ansible/ansible/issues/6447 -Patch1: 0556c53f7878c9ac2a59100c2752785482e806aa.patch Url: http://ansible.com BuildArch: noarch @@ -35,12 +31,14 @@ Requires: python26-keyczar Requires: python26-httplib2 %else BuildRequires: python2-devel +BuildRequires: python-setuptools Requires: PyYAML Requires: python-paramiko Requires: python-jinja2 Requires: python-keyczar Requires: python-httplib2 +Requires: python-setuptools %endif %if 0%{?rhel} == 6 @@ -50,11 +48,6 @@ Requires: python-httplib2 # 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 - -# This may become a Requires on all versions with the next upstream release as -# the patch is looking like it will be accepted upstream. -# https://github.com/ansible/ansible/pull/6497 -Requires: python-setuptools %endif # @@ -80,8 +73,6 @@ are transferred to managed machines automatically. # Patch to make ansible-vault use a newer pycrypto forward-compat package %patch0 -p1 %endif -# Patch to fix accelerator mode -%patch1 -p1 %build %{__python} setup.py build @@ -110,6 +101,11 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Mon May 5 2014 Toshio Kuratomi - 1.6-1 +- Update to 1.6 +- Drop accelerate fix, merged upstream +- Refresh RHEL6 pycrypto patch. It was half-merged upstream. + * Fri Apr 18 2014 Kevin Fenzi 1.5.5-1 - Update to 1.5.5 diff --git a/sources b/sources index 4c79c33..c127c1e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -de27b5fc95104dd3295f4c90de39f3f0 ansible-1.5.5.tar.gz +82fbb494ec6faddff430a6733c3e747c ansible-1.6.tar.gz From f80af22040f1fa772fad4db85467c1d6248c4c27 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 7 May 2014 11:57:02 -0700 Subject: [PATCH 048/366] Bugfix 1.6.1 release --- .gitignore | 1 + ...c53f7878c9ac2a59100c2752785482e806aa.patch | 38 ------------------- ansible.spec | 5 ++- sources | 2 +- 4 files changed, 6 insertions(+), 40 deletions(-) delete mode 100644 0556c53f7878c9ac2a59100c2752785482e806aa.patch diff --git a/.gitignore b/.gitignore index 06df6cd..5015f84 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /ansible-1.5.4.tar.gz /ansible-1.5.5.tar.gz /ansible-1.6.tar.gz +/ansible-1.6.1.tar.gz diff --git a/0556c53f7878c9ac2a59100c2752785482e806aa.patch b/0556c53f7878c9ac2a59100c2752785482e806aa.patch deleted file mode 100644 index 561e60f..0000000 --- a/0556c53f7878c9ac2a59100c2752785482e806aa.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0556c53f7878c9ac2a59100c2752785482e806aa Mon Sep 17 00:00:00 2001 -From: James Cammarata -Date: Tue, 18 Mar 2014 12:22:58 -0500 -Subject: [PATCH] Execute commands through accelerate with shell when needed - -This fixes an issue related to the new run_command changes, whereby -Popen fails to run a command when an executable is specified + shell=False -and there are multiple positional arguments (see Popen docs for details) ---- - library/utilities/accelerate | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/library/utilities/accelerate b/library/utilities/accelerate -index 6508f14..a61e54e 100644 ---- a/library/utilities/accelerate -+++ b/library/utilities/accelerate -@@ -329,11 +329,15 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler): - return dict(failed=True, msg='internal error: cmd is required') - if 'tmp_path' not in data: - return dict(failed=True, msg='internal error: tmp_path is required') -- if 'executable' not in data: -- return dict(failed=True, msg='internal error: executable is required') - - vvvv("executing: %s" % data['cmd']) -- rc, stdout, stderr = self.server.module.run_command(data['cmd'], executable=data['executable'], close_fds=True) -+ -+ use_unsafe_shell = False -+ executable = data.get('executable') -+ if executable: -+ use_unsafe_shell = True -+ -+ rc, stdout, stderr = self.server.module.run_command(data['cmd'], executable=executable, use_unsafe_shell=use_unsafe_shell) - if stdout is None: - stdout = '' - if stderr is None: --- -1.9.1 - diff --git a/ansible.spec b/ansible.spec index a2d7e83..fdb4e8a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6 +Version: 1.6.1 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed May 7 2014 Toshio Kuratomi - 1.6.1-1 +- Bugfix 1.6.1 release + * Mon May 5 2014 Toshio Kuratomi - 1.6-1 - Update to 1.6 - Drop accelerate fix, merged upstream diff --git a/sources b/sources index c127c1e..2bc32b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -82fbb494ec6faddff430a6733c3e747c ansible-1.6.tar.gz +8716cbebe078afaccd614359d16af7e3 ansible-1.6.1.tar.gz From ab647b742026a1796dca3f877dd08de22c81c6f3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 23 May 2014 15:55:56 -0600 Subject: [PATCH 049/366] Update to 1.6.2 release --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5015f84..5d95b28 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /ansible-1.5.5.tar.gz /ansible-1.6.tar.gz /ansible-1.6.1.tar.gz +/ansible-1.6.2.tar.gz diff --git a/ansible.spec b/ansible.spec index fdb4e8a..bbcb34a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.1 +Version: 1.6.2 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Fri May 23 2014 Kevin Fenzi 1.6.2-1 +- Update to 1.6.2 release + * Wed May 7 2014 Toshio Kuratomi - 1.6.1-1 - Bugfix 1.6.1 release diff --git a/sources b/sources index 2bc32b2..c37e9ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8716cbebe078afaccd614359d16af7e3 ansible-1.6.1.tar.gz +709f9192c3c2cfe46d2fe3ed90ca2484 ansible-1.6.2.tar.gz From 7e2a1931ce9d972a242d92af42c6d3000c09f321 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 6 Jun 2014 19:44:51 -0500 Subject: [PATCH 050/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index bbcb34a..3b53447 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.6.2 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 1.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Fri May 23 2014 Kevin Fenzi 1.6.2-1 - Update to 1.6.2 release From 65436245d3451d770f12a07b25d78a3c8e85d897 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 9 Jun 2014 15:43:05 -0600 Subject: [PATCH 051/366] Update to 1.6.3 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5d95b28..6e6aa4c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /ansible-1.6.tar.gz /ansible-1.6.1.tar.gz /ansible-1.6.2.tar.gz +/ansible-1.6.3.tar.gz diff --git a/ansible.spec b/ansible.spec index 3b53447..006e195 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.2 -Release: 2%{?dist} +Version: 1.6.3 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Mon Jun 09 2014 Kevin Fenzi 1.6.3-1 +- Update to 1.6.3 + * Sat Jun 07 2014 Fedora Release Engineering - 1.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index c37e9ab..757ccce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -709f9192c3c2cfe46d2fe3ed90ca2484 ansible-1.6.2.tar.gz +db0f5c3ae8e1feba2c7e63297767da8e ansible-1.6.3.tar.gz From 48985db244d92448f1e28d13f320eb28a3aead45 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 Jun 2014 13:42:22 -0600 Subject: [PATCH 052/366] Update to 1.6.4 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6e6aa4c..274e1e5 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /ansible-1.6.1.tar.gz /ansible-1.6.2.tar.gz /ansible-1.6.3.tar.gz +/ansible-1.6.4.tar.gz diff --git a/ansible.spec b/ansible.spec index 006e195..d86e134 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.3 +Version: 1.6.4 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Jun 25 2014 Kevin Fenzi 1.6.4-1 +- Update to 1.6.4 + * Mon Jun 09 2014 Kevin Fenzi 1.6.3-1 - Update to 1.6.3 diff --git a/sources b/sources index 757ccce..dfd99ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -db0f5c3ae8e1feba2c7e63297767da8e ansible-1.6.3.tar.gz +72e1b626407deb4583005ca3b02ce553 ansible-1.6.4.tar.gz From be3604117b353395afa5ed2bb8f71c6968b290ef Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 Jun 2014 20:41:04 -0600 Subject: [PATCH 053/366] Update to 1.6.5 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 274e1e5..245ec9b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /ansible-1.6.2.tar.gz /ansible-1.6.3.tar.gz /ansible-1.6.4.tar.gz +/ansible-1.6.5.tar.gz diff --git a/ansible.spec b/ansible.spec index d86e134..85593dc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.4 +Version: 1.6.5 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Jun 25 2014 Kevin Fenzi 1.6.5-1 +- Update to 1.6.5 + * Wed Jun 25 2014 Kevin Fenzi 1.6.4-1 - Update to 1.6.4 diff --git a/sources b/sources index dfd99ac..07b2467 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -72e1b626407deb4583005ca3b02ce553 ansible-1.6.4.tar.gz +47d543c0cdc8ba5f8506d6de0acb7e9c ansible-1.6.5.tar.gz From 1f98aa453d3eeff16cea8341aa7d97213e8c581e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 1 Jul 2014 15:06:50 -0600 Subject: [PATCH 054/366] Update to 1.6.6 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 245ec9b..8078849 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /ansible-1.6.3.tar.gz /ansible-1.6.4.tar.gz /ansible-1.6.5.tar.gz +/ansible-1.6.6.tar.gz diff --git a/ansible.spec b/ansible.spec index 85593dc..f7b2fe7 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.5 +Version: 1.6.6 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Tue Jul 01 2014 Kevin Fenzi 1.6.6-1 +- Update to 1.6.6 + * Wed Jun 25 2014 Kevin Fenzi 1.6.5-1 - Update to 1.6.5 diff --git a/sources b/sources index 07b2467..bb78854 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -47d543c0cdc8ba5f8506d6de0acb7e9c ansible-1.6.5.tar.gz +12beffa794de89dd634bc620e603807c ansible-1.6.6.tar.gz From e089d1b0c69abc57c6bfa8995112f1710f08a7a4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 21 Jul 2014 12:37:06 -0600 Subject: [PATCH 055/366] Update to 1.6.7 - Fixes CVE-2014-4966 and CVE-2014-4967 --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8078849..b421927 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /ansible-1.6.4.tar.gz /ansible-1.6.5.tar.gz /ansible-1.6.6.tar.gz +/ansible-1.6.7.tar.gz diff --git a/ansible.spec b/ansible.spec index f7b2fe7..78c097f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.6 +Version: 1.6.7 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,10 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Mon Jul 21 2014 Kevin Fenzi 1.6.7-1 +- Update to 1.6.7 +- Fixes CVE-2014-4966 and CVE-2014-4967 + * Tue Jul 01 2014 Kevin Fenzi 1.6.6-1 - Update to 1.6.6 diff --git a/sources b/sources index bb78854..040c519 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -12beffa794de89dd634bc620e603807c ansible-1.6.6.tar.gz +276807d1693c371a74eb63aa947a152e ansible-1.6.7.tar.gz From 5023fc5e2daf846e22b8402c3a19a9be3c7ded8e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 22 Jul 2014 16:43:53 -0600 Subject: [PATCH 056/366] Update to 1.6.8 with fixes for shell quoting from previous release. - Fixes bugs #1122060 #1122061 #1122062 --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b421927..80748cd 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /ansible-1.6.5.tar.gz /ansible-1.6.6.tar.gz /ansible-1.6.7.tar.gz +/ansible-1.6.8.tar.gz diff --git a/ansible.spec b/ansible.spec index 78c097f..2fe3841 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.7 +Version: 1.6.8 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,10 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Tue Jul 22 2014 Kevin Fenzi 1.6.8-1 +- 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 - Update to 1.6.7 - Fixes CVE-2014-4966 and CVE-2014-4967 diff --git a/sources b/sources index 040c519..6150eac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -276807d1693c371a74eb63aa947a152e ansible-1.6.7.tar.gz +a9f31d7c2ed133eb7fba5221de1b9d75 ansible-1.6.8.tar.gz From f7a8a74a811fd429137064f7dd69b9e36b0dee2a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 24 Jul 2014 21:59:48 -0600 Subject: [PATCH 057/366] Update to 1.6.9 with more shell quoting fixes. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 80748cd..ea1a0c7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /ansible-1.6.6.tar.gz /ansible-1.6.7.tar.gz /ansible-1.6.8.tar.gz +/ansible-1.6.9.tar.gz diff --git a/ansible.spec b/ansible.spec index 2fe3841..8020f56 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.8 +Version: 1.6.9 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Thu Jul 24 2014 Kevin Fenzi 1.6.9-1 +- 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. - Fixes bugs #1122060 #1122061 #1122062 diff --git a/sources b/sources index 6150eac..900b5c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a9f31d7c2ed133eb7fba5221de1b9d75 ansible-1.6.8.tar.gz +2b142d225564c115687dd57b7eb49371 ansible-1.6.9.tar.gz From 6cc2f27169af5c7723bb5ea30c1c6d500b1925ea Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 25 Jul 2014 20:43:01 -0600 Subject: [PATCH 058/366] Update to 1.6.10 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ea1a0c7..980273c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /ansible-1.6.7.tar.gz /ansible-1.6.8.tar.gz /ansible-1.6.9.tar.gz +/ansible-1.6.10.tar.gz diff --git a/ansible.spec b/ansible.spec index 8020f56..e32ec52 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.9 +Version: 1.6.10 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Fri Jul 25 2014 Kevin Fenzi 1.6.10-1 +- Update to 1.6.10 + * Thu Jul 24 2014 Kevin Fenzi 1.6.9-1 - Update to 1.6.9 with more shell quoting fixes. diff --git a/sources b/sources index 900b5c0..9213575 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2b142d225564c115687dd57b7eb49371 ansible-1.6.9.tar.gz +ef20f5b09d0df67bcf02f540539e84d0 ansible-1.6.10.tar.gz From aa844c75b15f8cca10fd4a23b92e8a73ce9a2ed0 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 6 Aug 2014 17:16:23 -0600 Subject: [PATCH 059/366] Update to 1.7 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 980273c..7b46ec5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /ansible-1.6.8.tar.gz /ansible-1.6.9.tar.gz /ansible-1.6.10.tar.gz +/ansible-1.7.tar.gz diff --git a/ansible.spec b/ansible.spec index e32ec52..02395af 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.6.10 +Version: 1.7 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Aug 06 2014 Kevin Fenzi 1.7-1 +- Update to 1.7 + * Fri Jul 25 2014 Kevin Fenzi 1.6.10-1 - Update to 1.6.10 diff --git a/sources b/sources index 9213575..548c903 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ef20f5b09d0df67bcf02f540539e84d0 ansible-1.6.10.tar.gz +367d63ff316ee38c7e51b48a8f598327 ansible-1.7.tar.gz From 9c92428768a46d4651adbc105d31c72836e2fbb6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 14 Aug 2014 15:36:01 -0600 Subject: [PATCH 060/366] Update to 1.7.1 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7b46ec5..14bc1e2 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /ansible-1.6.9.tar.gz /ansible-1.6.10.tar.gz /ansible-1.7.tar.gz +/ansible-1.7.1.tar.gz diff --git a/ansible.spec b/ansible.spec index 02395af..0c34d90 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.7 +Version: 1.7.1 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Thu Aug 14 2014 Kevin Fenzi 1.7.1-1 +- Update to 1.7.1 + * Wed Aug 06 2014 Kevin Fenzi 1.7-1 - Update to 1.7 diff --git a/sources b/sources index 548c903..3d42ef8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -367d63ff316ee38c7e51b48a8f598327 ansible-1.7.tar.gz +908ab374b1657639f4a073025247bed3 ansible-1.7.1.tar.gz From cbe3a8a94305dd722c0e20f7887f3b777856093f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 24 Sep 2014 14:26:49 -0600 Subject: [PATCH 061/366] Update to 1.7.2 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 14bc1e2..ab80de8 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /ansible-1.6.10.tar.gz /ansible-1.7.tar.gz /ansible-1.7.1.tar.gz +/ansible-1.7.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 0c34d90..e4877e8 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.7.1 +Version: 1.7.2 Release: 1%{?dist} Group: Development/Libraries @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Wed Sep 24 2014 Kevin Fenzi 1.7.2-1 +- Update to 1.7.2 + * Thu Aug 14 2014 Kevin Fenzi 1.7.1-1 - Update to 1.7.1 diff --git a/sources b/sources index 3d42ef8..cf01683 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -908ab374b1657639f4a073025247bed3 ansible-1.7.1.tar.gz +6c9112a2e7d7d1394c97e57290fc13be ansible-1.7.2.tar.gz From 0b830d94ab510e6e3c4dfa92fd67bfb264db8ae5 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 9 Oct 2014 01:02:54 -0400 Subject: [PATCH 062/366] Include /usr/bin/ansible in the rhel6 newer pycrypto patch --- ...o-get-a-recent-enough-version-of-pyt.patch | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch index 43fcde7..9f49798 100644 --- a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch +++ b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch @@ -1,7 +1,7 @@ -Index: ansible-1.6/bin/ansible-playbook +Index: ansible-1.7.2/bin/ansible-playbook =================================================================== ---- ansible-1.6.orig/bin/ansible-playbook -+++ ansible-1.6/bin/ansible-playbook +--- ansible-1.7.2.orig/bin/ansible-playbook ++++ ansible-1.7.2/bin/ansible-playbook @@ -18,8 +18,8 @@ ####################################################### @@ -13,10 +13,10 @@ Index: ansible-1.6/bin/ansible-playbook import sys import os -Index: ansible-1.6/bin/ansible-vault +Index: ansible-1.7.2/bin/ansible-vault =================================================================== ---- ansible-1.6.orig/bin/ansible-vault -+++ ansible-1.6/bin/ansible-vault +--- ansible-1.7.2.orig/bin/ansible-vault ++++ ansible-1.7.2/bin/ansible-vault @@ -20,8 +20,8 @@ # example playbook to bootstrap this script in the examples/ dir which # installs ansible and sets it up to run on cron. @@ -28,3 +28,17 @@ Index: ansible-1.6/bin/ansible-vault import os import sys +Index: ansible-1.7.2/bin/ansible +=================================================================== +--- ansible-1.7.2.orig/bin/ansible ++++ ansible-1.7.2/bin/ansible +@@ -19,6 +19,9 @@ + + ######################################################## + ++__requires__ = ['ansible'] ++import pkg_resources ++ + import os + import sys + From 851d755d4bc429ac88568280a69cf574dbedc29d Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 9 Oct 2014 01:03:58 -0400 Subject: [PATCH 063/366] Spec update to mention the newer rhel6 patch --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index e4877e8..671ad49 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.7.2 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -101,6 +101,9 @@ rm -rf $RPM_BUILD_ROOT %doc examples/playbooks %changelog +* Thu Oct 9 2014 Toshio Kuratomi - 1.7.2-2 +- Add /usr/bin/ansible to the rhel6 newer pycrypto patch + * Wed Sep 24 2014 Kevin Fenzi 1.7.2-1 - Update to 1.7.2 From dde641d4f8d8fc2f67199bc472cb6b7e4fb4ba18 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 25 Nov 2014 16:22:14 -0700 Subject: [PATCH 064/366] Update to 1.8 --- .gitignore | 1 + ansible.spec | 9 +++++---- sources | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ab80de8..ed6054b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /ansible-1.7.tar.gz /ansible-1.7.1.tar.gz /ansible-1.7.2.tar.gz +/ansible-1.8.tar.gz diff --git a/ansible.spec b/ansible.spec index 671ad49..bca1f9b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.7.2 -Release: 2%{?dist} +Version: 1.8 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -85,7 +85,6 @@ 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/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible -cp -va library/* $RPM_BUILD_ROOT/%{_datadir}/ansible/ %clean rm -rf $RPM_BUILD_ROOT @@ -98,9 +97,11 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* -%doc examples/playbooks %changelog +* Tue Nov 25 2014 Kevin Fenzi 1.8-1 +- Update to 1.8 + * Thu Oct 9 2014 Toshio Kuratomi - 1.7.2-2 - Add /usr/bin/ansible to the rhel6 newer pycrypto patch diff --git a/sources b/sources index cf01683..3195a86 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6c9112a2e7d7d1394c97e57290fc13be ansible-1.7.2.tar.gz +bef9102c42f6c4820d1d262c4d1f606e ansible-1.8.tar.gz From 2d564c61d50bfde6d066fc1b55141a96407389fc Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 28 Nov 2014 10:24:17 -0700 Subject: [PATCH 065/366] Update to 1.8.1 --- .gitignore | 1 + ...o-get-a-recent-enough-version-of-pyt.patch | 46 +++++++++---------- ansible.spec | 8 +++- sources | 2 +- 4 files changed, 30 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index ed6054b..24e15a9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /ansible-1.7.1.tar.gz /ansible-1.7.2.tar.gz /ansible-1.8.tar.gz +/ansible-1.8.1.tar.gz diff --git a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch index 9f49798..de3ad76 100644 --- a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch +++ b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch @@ -1,7 +1,18 @@ -Index: ansible-1.7.2/bin/ansible-playbook -=================================================================== ---- ansible-1.7.2.orig/bin/ansible-playbook -+++ ansible-1.7.2/bin/ansible-playbook +diff -Nur ansible-1.8.orig/bin/ansible ansible-1.8/bin/ansible +--- ansible-1.8.orig/bin/ansible 2014-11-25 15:43:06.000000000 -0700 ++++ ansible-1.8/bin/ansible 2014-11-25 17:07:30.183061715 -0700 +@@ -18,6 +18,8 @@ + # along with Ansible. If not, see . + + ######################################################## ++__requires__ = ['ansible'] ++import pkg_resources + + import os + import sys +diff -Nur ansible-1.8.orig/bin/ansible-playbook ansible-1.8/bin/ansible-playbook +--- ansible-1.8.orig/bin/ansible-playbook 2014-11-25 15:43:06.000000000 -0700 ++++ ansible-1.8/bin/ansible-playbook 2014-11-25 17:07:34.694979702 -0700 @@ -18,8 +18,8 @@ ####################################################### @@ -13,13 +24,12 @@ Index: ansible-1.7.2/bin/ansible-playbook import sys import os -Index: ansible-1.7.2/bin/ansible-vault -=================================================================== ---- ansible-1.7.2.orig/bin/ansible-vault -+++ ansible-1.7.2/bin/ansible-vault -@@ -20,8 +20,8 @@ - # example playbook to bootstrap this script in the examples/ dir which - # installs ansible and sets it up to run on cron. +diff -Nur ansible-1.8.orig/bin/ansible-vault ansible-1.8/bin/ansible-vault +--- ansible-1.8.orig/bin/ansible-vault 2014-11-25 15:43:06.000000000 -0700 ++++ ansible-1.8/bin/ansible-vault 2014-11-25 17:06:50.668779958 -0700 +@@ -18,8 +18,8 @@ + # ansible-vault is a script that encrypts/decrypts YAML files. See + # http://docs.ansible.com/playbooks_vault.html for more details. -#__requires__ = ['ansible'] -#import pkg_resources @@ -28,17 +38,3 @@ Index: ansible-1.7.2/bin/ansible-vault import os import sys -Index: ansible-1.7.2/bin/ansible -=================================================================== ---- ansible-1.7.2.orig/bin/ansible -+++ ansible-1.7.2/bin/ansible -@@ -19,6 +19,9 @@ - - ######################################################## - -+__requires__ = ['ansible'] -+import pkg_resources -+ - import os - import sys - diff --git a/ansible.spec b/ansible.spec index bca1f9b..11c054d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.8 +Version: 1.8.1 Release: 1%{?dist} Group: Development/Libraries @@ -99,6 +99,12 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Nov 27 2014 Kevin Fenzi 1.8.1-1 +- Update to 1.8.1 + +* Tue Nov 25 2014 Kevin Fenzi 1.8-2 +- Rebase el6 patch + * Tue Nov 25 2014 Kevin Fenzi 1.8-1 - Update to 1.8 diff --git a/sources b/sources index 3195a86..267bffd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bef9102c42f6c4820d1d262c4d1f606e ansible-1.8.tar.gz +e452a9cf5891a7c4f694684be2c531a5 ansible-1.8.1.tar.gz From d1dfb0233efc8e13cf2ce461b0cd66ea0dac4ee8 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 7 Dec 2014 13:10:06 -0500 Subject: [PATCH 066/366] Update to 1.8.2 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 24e15a9..e437ecf 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /ansible-1.7.2.tar.gz /ansible-1.8.tar.gz /ansible-1.8.1.tar.gz +/ansible-1.8.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 11c054d..5fe59db 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.8.1 +Version: 1.8.2 Release: 1%{?dist} Group: Development/Libraries @@ -99,6 +99,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Sun Dec 07 2014 Kevin Fenzi 1.8.2-1 +- Update to 1.8.2 + * Thu Nov 27 2014 Kevin Fenzi 1.8.1-1 - Update to 1.8.1 diff --git a/sources b/sources index 267bffd..b56ba40 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e452a9cf5891a7c4f694684be2c531a5 ansible-1.8.1.tar.gz +c2ac0e5a4c092dfa84c7e9e51cd45095 ansible-1.8.2.tar.gz From 157c656d4236e83d04697563aba6e5783b43caef Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Wed, 17 Dec 2014 00:51:42 +0100 Subject: [PATCH 067/366] Add /etc/ansible/roles and /usr/share/ansible_plugins directory /etc/ansible/roles is the default location for roles, and /usr/share/ansible_plugins is the default location for all plugins. --- ansible.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 5fe59db..1bfbcb3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.8.2 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 @@ -80,11 +80,14 @@ are transferred to managed machines automatically. %install %{__python} setup.py install --root=$RPM_BUILD_ROOT 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/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible_plugins/{action,callback,connection,lookup,vars,filter}_plugins + %clean rm -rf $RPM_BUILD_ROOT @@ -94,11 +97,15 @@ rm -rf $RPM_BUILD_ROOT %{python_sitelib}/ansible* %{_bindir}/ansible* %{_datadir}/ansible +%{_datadir}/ansible_plugins %config(noreplace) %{_sysconfdir}/ansible %doc README.md PKG-INFO COPYING %doc %{_mandir}/man1/ansible* %changelog +* Wed Dec 17 2014 Michael Scherer 1.8.2-2 +- precreate /etc/ansible/roles and /usr/share/ansible_plugins + * Sun Dec 07 2014 Kevin Fenzi 1.8.2-1 - Update to 1.8.2 From dee81b036642c143564364141547a7515593d480 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Sun, 11 Jan 2015 19:54:51 -0800 Subject: [PATCH 068/366] Work around a bug in python2.6 by using simplejson (applies in EPEL6) --- ansible-use-simplejson.patch | 18 ++++++++++++++++++ ansible.spec | 12 +++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 ansible-use-simplejson.patch diff --git a/ansible-use-simplejson.patch b/ansible-use-simplejson.patch new file mode 100644 index 0000000..1939008 --- /dev/null +++ b/ansible-use-simplejson.patch @@ -0,0 +1,18 @@ +Index: ansible-1.8.2/lib/ansible/runner/filter_plugins/core.py +=================================================================== +--- ansible-1.8.2.orig/lib/ansible/runner/filter_plugins/core.py ++++ ansible-1.8.2/lib/ansible/runner/filter_plugins/core.py +@@ -16,7 +16,12 @@ + # along with Ansible. If not, see . + + import base64 +-import json ++try: ++ # simplejson is faster and can be more up-to-date (more bugfixes) than the ++ # stdlib json. In py2.7 stdlib json is based on simplejson 2.0.9 ++ import simplejson as json ++except ImportError: ++ import json + import os.path + import yaml + import types diff --git a/ansible.spec b/ansible.spec index 1bfbcb3..e4ffa98 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.8.2 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3 @@ -18,6 +18,8 @@ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # Patch to make ansible-vault use the forward-compat python-crypto2.6 package # Upstreamed here: https://github.com/ansible/ansible/pull/6498 Patch0: 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch +# Work around for a bug in python2.6's json library by preferring simplejson +Patch1: ansible-use-simplejson.patch Url: http://ansible.com BuildArch: noarch @@ -48,6 +50,9 @@ Requires: python-setuptools # 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 %endif # @@ -72,6 +77,8 @@ are transferred to managed machines automatically. %if 0%{?rhel} == 6 # Patch to make ansible-vault use a newer pycrypto forward-compat package %patch0 -p1 +# Use simplejson to work around a bug in python2.6 +%patch1 -p1 %endif %build @@ -103,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Sun Jan 11 2015 Toshio Kuratomi - 1.8.2-3 +- Work around a bug in python2.6 by using simplejson (applies in EPEL6) + * Wed Dec 17 2014 Michael Scherer 1.8.2-2 - precreate /etc/ansible/roles and /usr/share/ansible_plugins From 7c6e5edbc6bdbd2d30e159e2923d1ba617e58a44 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 17 Feb 2015 16:35:30 -0700 Subject: [PATCH 069/366] Update to 1.8.3 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e437ecf..b42d647 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /ansible-1.8.tar.gz /ansible-1.8.1.tar.gz /ansible-1.8.2.tar.gz +/ansible-1.8.3.tar.gz diff --git a/ansible.spec b/ansible.spec index e4ffa98..c75eae7 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.8.2 -Release: 3%{?dist} +Version: 1.8.3 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -110,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Feb 17 2015 Kevin Fenzi 1.8.3-1 +- Update to 1.8.3 + * Sun Jan 11 2015 Toshio Kuratomi - 1.8.2-3 - Work around a bug in python2.6 by using simplejson (applies in EPEL6) diff --git a/sources b/sources index b56ba40..f359f32 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c2ac0e5a4c092dfa84c7e9e51cd45095 ansible-1.8.2.tar.gz +aa59af402c2636e019a5edc6fc78142f ansible-1.8.3.tar.gz From c7e2510fe88ce03dff0adb1ac0a6e67b326a39aa Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 19 Feb 2015 11:29:29 -0700 Subject: [PATCH 070/366] Update to 1.8.4 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b42d647..91354df 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /ansible-1.8.1.tar.gz /ansible-1.8.2.tar.gz /ansible-1.8.3.tar.gz +/ansible-1.8.4.tar.gz diff --git a/ansible.spec b/ansible.spec index c75eae7..7d2716a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.8.3 +Version: 1.8.4 Release: 1%{?dist} Group: Development/Libraries @@ -110,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Feb 19 2015 Kevin Fenzi 1.8.4-1 +- Update to 1.8.4 + * Tue Feb 17 2015 Kevin Fenzi 1.8.3-1 - Update to 1.8.3 diff --git a/sources b/sources index f359f32..062a7e7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aa59af402c2636e019a5edc6fc78142f ansible-1.8.3.tar.gz +e0bbf484e9fa49cd119f50ad65905978 ansible-1.8.4.tar.gz From be7a5326554dc028025cc020ddfa8b1f98064251 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 Mar 2015 19:34:30 -0600 Subject: [PATCH 071/366] Update to 1.9.0 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 91354df..337fa11 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /ansible-1.8.2.tar.gz /ansible-1.8.3.tar.gz /ansible-1.8.4.tar.gz +/ansible-1.9.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 7d2716a..007eb60 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.8.4 +Version: 1.9.0 Release: 1%{?dist} Group: Development/Libraries @@ -110,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Mar 25 2015 Kevin Fenzi 1.9.0-1 +- Update to 1.9.0 + * Thu Feb 19 2015 Kevin Fenzi 1.8.4-1 - Update to 1.8.4 diff --git a/sources b/sources index 062a7e7..a478421 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e0bbf484e9fa49cd119f50ad65905978 ansible-1.8.4.tar.gz +6d6c83450834ba1a325a28f74bfac448 ansible-1.9.0.tar.gz From e88264cc4ee451d770c9a70422624a9f9df1a42e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 Mar 2015 19:51:43 -0600 Subject: [PATCH 072/366] Update to 1.9.0.1 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 337fa11..71e32e4 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 007eb60..233cf4d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.9.0 +Version: 1.9.0.1 Release: 1%{?dist} Group: Development/Libraries @@ -110,6 +110,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Mar 25 2015 Kevin Fenzi 1.9.0.1-1 +- Update to 1.9.0.1 + * Wed Mar 25 2015 Kevin Fenzi 1.9.0-1 - Update to 1.9.0 diff --git a/sources b/sources index a478421..82d9e48 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6d6c83450834ba1a325a28f74bfac448 ansible-1.9.0.tar.gz +3773b0df98288c237f2329cf184ff59f ansible-1.9.0.1.tar.gz From 9f514782afb44d9994cadfb1d6976c5e56f919a2 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 Mar 2015 20:22:18 -0600 Subject: [PATCH 073/366] Drop upstreamed epel6 patches. --- ...o-get-a-recent-enough-version-of-pyt.patch | 40 ------------------- ansible-use-simplejson.patch | 18 --------- ansible.spec | 17 ++------ 3 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch delete mode 100644 ansible-use-simplejson.patch diff --git a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch b/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch deleted file mode 100644 index de3ad76..0000000 --- a/0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -Nur ansible-1.8.orig/bin/ansible ansible-1.8/bin/ansible ---- ansible-1.8.orig/bin/ansible 2014-11-25 15:43:06.000000000 -0700 -+++ ansible-1.8/bin/ansible 2014-11-25 17:07:30.183061715 -0700 -@@ -18,6 +18,8 @@ - # along with Ansible. If not, see . - - ######################################################## -+__requires__ = ['ansible'] -+import pkg_resources - - import os - import sys -diff -Nur ansible-1.8.orig/bin/ansible-playbook ansible-1.8/bin/ansible-playbook ---- ansible-1.8.orig/bin/ansible-playbook 2014-11-25 15:43:06.000000000 -0700 -+++ ansible-1.8/bin/ansible-playbook 2014-11-25 17:07:34.694979702 -0700 -@@ -18,8 +18,8 @@ - - ####################################################### - --#__requires__ = ['ansible'] --#import pkg_resources -+__requires__ = ['ansible'] -+import pkg_resources - - import sys - import os -diff -Nur ansible-1.8.orig/bin/ansible-vault ansible-1.8/bin/ansible-vault ---- ansible-1.8.orig/bin/ansible-vault 2014-11-25 15:43:06.000000000 -0700 -+++ ansible-1.8/bin/ansible-vault 2014-11-25 17:06:50.668779958 -0700 -@@ -18,8 +18,8 @@ - # ansible-vault is a script that encrypts/decrypts YAML files. See - # http://docs.ansible.com/playbooks_vault.html for more details. - --#__requires__ = ['ansible'] --#import pkg_resources -+__requires__ = ['ansible'] -+import pkg_resources - - import os - import sys diff --git a/ansible-use-simplejson.patch b/ansible-use-simplejson.patch deleted file mode 100644 index 1939008..0000000 --- a/ansible-use-simplejson.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: ansible-1.8.2/lib/ansible/runner/filter_plugins/core.py -=================================================================== ---- ansible-1.8.2.orig/lib/ansible/runner/filter_plugins/core.py -+++ ansible-1.8.2/lib/ansible/runner/filter_plugins/core.py -@@ -16,7 +16,12 @@ - # along with Ansible. If not, see . - - import base64 --import json -+try: -+ # simplejson is faster and can be more up-to-date (more bugfixes) than the -+ # stdlib json. In py2.7 stdlib json is based on simplejson 2.0.9 -+ import simplejson as json -+except ImportError: -+ import json - import os.path - import yaml - import types diff --git a/ansible.spec b/ansible.spec index 233cf4d..1b2c2b1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,16 +10,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.9.0.1 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# Patch to make ansible-vault use the forward-compat python-crypto2.6 package -# Upstreamed here: https://github.com/ansible/ansible/pull/6498 -Patch0: 0001-Use-setuptools-to-get-a-recent-enough-version-of-pyt.patch -# Work around for a bug in python2.6's json library by preferring simplejson -Patch1: ansible-use-simplejson.patch Url: http://ansible.com BuildArch: noarch @@ -74,13 +69,6 @@ are transferred to managed machines automatically. %prep %setup -q -%if 0%{?rhel} == 6 -# Patch to make ansible-vault use a newer pycrypto forward-compat package -%patch0 -p1 -# Use simplejson to work around a bug in python2.6 -%patch1 -p1 -%endif - %build %{__python} setup.py build @@ -110,6 +98,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Mar 25 2015 Kevin Fenzi 1.9.0.1-2 +- Drop upstreamed epel6 patches. + * Wed Mar 25 2015 Kevin Fenzi 1.9.0.1-1 - Update to 1.9.0.1 From a6d1cd0d46fb1212af6537fede3ed1716d3ff4c5 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 28 Apr 2015 13:59:08 -0600 Subject: [PATCH 074/366] Update to 1.9.1 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 71e32e4..ec38f65 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 1b2c2b1..d7fa55c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.9.0.1 -Release: 2%{?dist} +Version: 1.9.1 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 @@ -98,6 +98,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Apr 28 2015 Kevin Fenzi 1.9.1-1 +- Update to 1.9.1 + * Wed Mar 25 2015 Kevin Fenzi 1.9.0.1-2 - Drop upstreamed epel6 patches. diff --git a/sources b/sources index 82d9e48..314425c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3773b0df98288c237f2329cf184ff59f ansible-1.9.0.1.tar.gz +3c0f0ecc8b5d60831b10045dba64bbbb ansible-1.9.1.tar.gz From 8c2ef00c864ed125a254e4bfb77362e7c004e5ce Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 27 May 2015 08:54:54 -0700 Subject: [PATCH 075/366] Fix for dnf failures in a couple large cornercases --- ansible.spec | 11 ++++++++- dnf-bandaid.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 dnf-bandaid.patch diff --git a/ansible.spec b/ansible.spec index d7fa55c..64cc026 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,11 +10,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.9.1 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3 Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# The dnf module needs a rewrite. This is upstream's bandaid until that +# happens (patch applied upstream) +Patch0: dnf-bandaid.patch Url: http://ansible.com BuildArch: noarch @@ -69,6 +72,9 @@ are transferred to managed machines automatically. %prep %setup -q +# Fix for dnf module +%patch0 -p1 + %build %{__python} setup.py build @@ -98,6 +104,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed May 27 2015 Toshio Kuratomi - 1.9.1-2 +- Fix for dnf + * Tue Apr 28 2015 Kevin Fenzi 1.9.1-1 - Update to 1.9.1 diff --git a/dnf-bandaid.patch b/dnf-bandaid.patch new file mode 100644 index 0000000..8be8ea9 --- /dev/null +++ b/dnf-bandaid.patch @@ -0,0 +1,61 @@ +diff -up ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py.bak ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py +--- ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py.bak 2015-04-28 11:42:28.000000000 -0700 ++++ ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py 2015-05-27 08:14:09.175829546 -0700 +@@ -92,8 +92,10 @@ options: + + notes: [] + # informational: requirements for nodes +-requirements: [ dnf ] +-author: Cristian van Ee ++requirements: ++ - dnf ++ - yum-utils (for repoquery) ++author: '"Cristian van Ee (@DJMuggs)" ' + ''' + + EXAMPLES = ''' +@@ -137,18 +139,12 @@ def log(msg): + def dnf_base(conf_file=None, cachedir=False): + + my = dnf.Base() +- my.logging.verbose_level=0 +- my.logging.verbose_level=0 ++ my.conf.debuglevel=0 + if conf_file and os.path.exists(conf_file): +- my.config = conf_file +- if cachedir or os.geteuid() != 0: +- if cachedir or os.geteuid() != 0: +- if hasattr(my, 'setCacheDir'): +- my.setCacheDir() +- else: +- cachedir = cachedir.dnf.Conf() +- my.repos.setCacheDir(cachedir) +- my.conf.cache = 0 ++ my.conf.config_file_path = conf_file ++ my.conf.read() ++ my.read_all_repos() ++ my.fill_sack() + + return my + +@@ -157,7 +153,7 @@ def install_dnf_utils(module): + if not module.check_mode: + dnf_path = module.get_bin_path('dnf') + if dnf_path: +- rc, so, se = module.run_command('%s -y install dnf-plugins-core' % dnf_path) ++ rc, so, se = module.run_command('%s -y install yum-utils' % dnf_path) + if rc == 0: + this_path = module.get_bin_path('repoquery') + global repoquery +@@ -812,9 +808,9 @@ def main(): + if params['install_repoquery'] and not repoquery and not module.check_mode: + install_dnf_utils(module) + ++ if not repoquery: ++ module.fail_json(msg="repoquery is required to use this module at this time. Please install the yum-utils package.") + if params['list']: +- if not repoquery: +- module.fail_json(msg="repoquery is required to use list= with this module. Please install the dnf-utils package.") + results = dict(results=list_stuff(module, params['conf_file'], params['list'])) + module.exit_json(**results) + From 9f6c3c58a0cbaa20fb0266c35fb4b762612a88e7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 16 Jun 2015 23:56:18 +0000 Subject: [PATCH 076/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 64cc026..abc42ed 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.9.1 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3 @@ -104,6 +104,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Jun 16 2015 Fedora Release Engineering - 1.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Wed May 27 2015 Toshio Kuratomi - 1.9.1-2 - Fix for dnf From 8880605d51133c1d904cf52d60e2c693ed1b3e8b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 25 Jun 2015 15:07:47 -0600 Subject: [PATCH 077/366] Update to 1.9.2 --- .gitignore | 1 + ansible.spec | 13 +++++-------- sources | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index ec38f65..85a3722 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index abc42ed..3ad45d3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,15 +9,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.9.1 -Release: 3%{?dist} +Version: 1.9.2 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3 Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# The dnf module needs a rewrite. This is upstream's bandaid until that -# happens (patch applied upstream) -Patch0: dnf-bandaid.patch Url: http://ansible.com BuildArch: noarch @@ -72,9 +69,6 @@ are transferred to managed machines automatically. %prep %setup -q -# Fix for dnf module -%patch0 -p1 - %build %{__python} setup.py build @@ -104,6 +98,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Jun 25 2015 Kevin Fenzi 1.9.2-1 +- Update to 1.9.2 + * Tue Jun 16 2015 Fedora Release Engineering - 1.9.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 314425c..1f5a4cf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3c0f0ecc8b5d60831b10045dba64bbbb ansible-1.9.1.tar.gz +5e0a72c8b7a3848907ac28b5f38cfc27 ansible-1.9.2.tar.gz From c393f96d42294bdc7b81d5ca487909c8dd263dc7 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 3 Sep 2015 20:49:48 -0600 Subject: [PATCH 078/366] Update to 1.9.3 - Patch dnf as package manager. Fixes bug #1258080 - Fixes bug #1251392 (in 1.9.3 release) - Add requires for sshpass package. Fixes bug #1258799 --- .gitignore | 1 + ansible-1.9.3-dnf.patch | 11 +++++++++++ ansible.spec | 16 +++++++++++++++- sources | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 ansible-1.9.3-dnf.patch diff --git a/.gitignore b/.gitignore index 85a3722..7cba690 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ /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 diff --git a/ansible-1.9.3-dnf.patch b/ansible-1.9.3-dnf.patch new file mode 100644 index 0000000..632df32 --- /dev/null +++ b/ansible-1.9.3-dnf.patch @@ -0,0 +1,11 @@ +diff -Nur ansible-1.9.3.orig/lib/ansible/module_utils/facts.py ansible-1.9.3/lib/ansible/module_utils/facts.py +--- ansible-1.9.3.orig/lib/ansible/module_utils/facts.py 2015-09-03 17:03:08.000000000 -0600 ++++ ansible-1.9.3/lib/ansible/module_utils/facts.py 2015-09-03 20:19:33.256457164 -0600 +@@ -115,6 +115,7 @@ + # package manager, put the preferred one last. If there is an + # ansible module, use that as the value for the 'name' key. + PKG_MGRS = [ { 'path' : '/usr/bin/yum', 'name' : 'yum' }, ++ { 'path' : '/usr/bin/dnf', 'name' : 'dnf' }, + { 'path' : '/usr/bin/apt-get', 'name' : 'apt' }, + { 'path' : '/usr/bin/zypper', 'name' : 'zypper' }, + { 'path' : '/usr/sbin/urpmi', 'name' : 'urpmi' }, diff --git a/ansible.spec b/ansible.spec index 3ad45d3..69928a1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,13 +9,18 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.9.2 +Version: 1.9.3 Release: 1%{?dist} Group: Development/Libraries License: GPLv3 Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz Url: http://ansible.com +# +# Patch to detect dnf as package manager. +# already upstream with https://github.com/opoplawski/ansible/commit/f624ec4cb8771736ffbe3fe81b2949edda159863 +# https://bugzilla.redhat.com/show_bug.cgi?id=1258080 +Patch0: ansible-1.9.3-dnf.patch BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 5 @@ -36,6 +41,7 @@ Requires: python-jinja2 Requires: python-keyczar Requires: python-httplib2 Requires: python-setuptools +Requires: sshpass %endif %if 0%{?rhel} == 6 @@ -69,6 +75,8 @@ are transferred to managed machines automatically. %prep %setup -q +%patch0 -p1 + %build %{__python} setup.py build @@ -98,6 +106,12 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Sep 03 2015 Kevin Fenzi 1.9.3-1 +- Update to 1.9.3 +- Patch dnf as package manager. Fixes bug #1258080 +- Fixes bug #1251392 (in 1.9.3 release) +- Add requires for sshpass package. Fixes bug #1258799 + * Thu Jun 25 2015 Kevin Fenzi 1.9.2-1 - Update to 1.9.2 diff --git a/sources b/sources index 1f5a4cf..bc3af3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5e0a72c8b7a3848907ac28b5f38cfc27 ansible-1.9.2.tar.gz +55be10fca4e9e0172a15e88874028eff ansible-1.9.3.tar.gz From 48f30db639cd46c2e33936b00d30d62a2c916ba1 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 8 Sep 2015 07:19:22 -0700 Subject: [PATCH 079/366] Pull in patch for yum module that fixes state=latest issue --- ansible-1.9.3-yum-return-val.patch | 21 +++++++++++++++++++++ ansible.spec | 10 ++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 ansible-1.9.3-yum-return-val.patch diff --git a/ansible-1.9.3-yum-return-val.patch b/ansible-1.9.3-yum-return-val.patch new file mode 100644 index 0000000..ff0764c --- /dev/null +++ b/ansible-1.9.3-yum-return-val.patch @@ -0,0 +1,21 @@ +diff -ur ansible-1.9.3/lib/ansible/modules/core/packaging/os/yum.py ansible-1.9.4/lib/ansible/modules/core/packaging/os/yum.py +--- ansible-1.9.3/lib/ansible/modules/core/packaging/os/yum.py 2015-09-03 16:03:12.000000000 -0700 ++++ ansible-1.9.4/lib/ansible/modules/core/packaging/os/yum.py 2015-09-04 10:03:32.000000000 -0700 +@@ -733,7 +733,7 @@ + rc, out, err = module.run_command(yum_basecmd + ['check-update']) + if rc == 0 and update_all: + res['results'].append('Nothing to do here, all packages are up to date') +- return res ++ module.exit_json(**res) + elif rc == 100: + available_updates = out.split('\n') + # build update dictionary +@@ -813,7 +813,7 @@ + if len(will_update) > 0 or len(pkgs['install']) > 0: + res['changed'] = True + +- return res ++ module.exit_json(**res) + + # run commands + if cmd: # update all diff --git a/ansible.spec b/ansible.spec index 69928a1..6afd500 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,10 +10,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.9.3 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries -License: GPLv3 +License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz Url: http://ansible.com # @@ -21,6 +21,8 @@ Url: http://ansible.com # already upstream with https://github.com/opoplawski/ansible/commit/f624ec4cb8771736ffbe3fe81b2949edda159863 # https://bugzilla.redhat.com/show_bug.cgi?id=1258080 Patch0: ansible-1.9.3-dnf.patch +# Upstream, will be in 1.9.4 +Patch1: ansible-1.9.3-yum-return-val.patch BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 5 @@ -76,6 +78,7 @@ are transferred to managed machines automatically. %setup -q %patch0 -p1 +%patch1 -p1 %build %{__python} setup.py build @@ -106,6 +109,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Sep 8 2015 Toshio Kuratomi - 1.9.3-2 +- Pull in patch for yum module that fixes state=latest issue + * Thu Sep 03 2015 Kevin Fenzi 1.9.3-1 - Update to 1.9.3 - Patch dnf as package manager. Fixes bug #1258080 From 773a3cc4afd3ad0edab893b3fdf1847d07addcb1 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 5 Oct 2015 09:25:49 -0600 Subject: [PATCH 080/366] Backport dnf module from head. Fixes bug #1267018 --- ansible-dnf-backport.patch | 974 +++++++++++++++++++++++++++++++++++++ ansible.spec | 8 +- dnf-bandaid.patch | 61 --- 3 files changed, 981 insertions(+), 62 deletions(-) create mode 100644 ansible-dnf-backport.patch delete mode 100644 dnf-bandaid.patch diff --git a/ansible-dnf-backport.patch b/ansible-dnf-backport.patch new file mode 100644 index 0000000..676e02c --- /dev/null +++ b/ansible-dnf-backport.patch @@ -0,0 +1,974 @@ +diff -Nur ansible-1.9.3.orig/lib/ansible/modules/extras/packaging/os/dnf.py ansible-1.9.3/lib/ansible/modules/extras/packaging/os/dnf.py +--- ansible-1.9.3.orig/lib/ansible/modules/extras/packaging/os/dnf.py 2015-09-03 17:03:13.000000000 -0600 ++++ ansible-1.9.3/lib/ansible/modules/extras/packaging/os/dnf.py 2015-10-04 11:16:05.835216353 -0600 +@@ -1,7 +1,8 @@ +-#!/usr/bin/python -tt ++#!/usr/bin/python + # -*- coding: utf-8 -*- + +-# Written by Cristian van Ee ++# Copyright 2015 Cristian van Ee ++# Copyright 2015 Igor Gnatenko + # + # This file is part of Ansible + # +@@ -19,18 +20,6 @@ + # along with Ansible. If not, see . + # + +- +-import traceback +-import os +-import dnf +- +-try: +- from dnf import find_unfinished_transactions, find_ts_remaining +- from rpmUtils.miscutils import splitFilename +- transaction_helpers = True +-except: +- transaction_helpers = False +- + DOCUMENTATION = ''' + --- + module: dnf +@@ -45,17 +34,20 @@ + required: true + default: null + aliases: [] ++ + list: + description: + - Various (non-idempotent) commands for usage with C(/usr/bin/ansible) and I(not) playbooks. See examples. + required: false + default: null ++ + state: + description: + - Whether to install (C(present), C(latest)), or remove (C(absent)) a package. + required: false + choices: [ "present", "latest", "absent" ] + default: "present" ++ + enablerepo: + description: + - I(Repoid) of repositories to enable for the install/update operation. +@@ -93,9 +85,11 @@ + notes: [] + # informational: requirements for nodes + requirements: ++ - "python >= 2.6" + - dnf +- - yum-utils (for repoquery) +-author: '"Cristian van Ee (@DJMuggs)" ' ++author: ++ - '"Igor Gnatenko (@ignatenkobrain)" ' ++ - '"Cristian van Ee (@DJMuggs)" ' + ''' + + EXAMPLES = ''' +@@ -121,710 +115,231 @@ + dnf: name="@Development tools" state=present + + ''' ++import os + +-def_qf = "%{name}-%{version}-%{release}.%{arch}" +- +-repoquery='/usr/bin/repoquery' +-if not os.path.exists(repoquery): +- repoquery = None +- +-dnfbin='/usr/bin/dnf' +- +-import syslog +- +-def log(msg): +- syslog.openlog('ansible-dnf', 0, syslog.LOG_USER) +- syslog.syslog(syslog.LOG_NOTICE, msg) +- +-def dnf_base(conf_file=None, cachedir=False): +- +- my = dnf.Base() +- my.conf.debuglevel=0 +- if conf_file and os.path.exists(conf_file): +- my.conf.config_file_path = conf_file +- my.conf.read() +- my.read_all_repos() +- my.fill_sack() +- +- return my +- +-def install_dnf_utils(module): +- +- if not module.check_mode: +- dnf_path = module.get_bin_path('dnf') +- if dnf_path: +- rc, so, se = module.run_command('%s -y install yum-utils' % dnf_path) +- if rc == 0: +- this_path = module.get_bin_path('repoquery') +- global repoquery +- repoquery = this_path +- +-def po_to_nevra(po): +- +- if hasattr(po, 'ui_nevra'): +- return po.ui_nevra +- else: +- return '%s-%s-%s.%s' % (po.name, po.version, po.release, po.arch) +- +-def is_installed(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_repos=[], is_pkg=False): +- +- if not repoq: +- +- pkgs = [] +- try: +- my = dnf_base(conf_file) +- for rid in en_repos: +- my.repos.enableRepo(rid) +- for rid in dis_repos: +- my.repos.disableRepo(rid) +- +- e,m,u = my.rpmdb.matchPackageNames([pkgspec]) +- pkgs = e + m +- if not pkgs: +- pkgs.extend(my.returnInstalledPackagesByDep(pkgspec)) +- except Exception, e: +- module.fail_json(msg="Failure talking to dnf: %s" % e) +- +- return [ po_to_nevra(p) for p in pkgs ] +- +- else: +- +- cmd = repoq + ["--disablerepo=*", "--pkgnarrow=installed", "--qf", qf, pkgspec] +- rc,out,err = module.run_command(cmd) +- if not is_pkg: +- cmd = repoq + ["--disablerepo=*", "--pkgnarrow=installed", "--qf", qf, "--whatprovides", pkgspec] +- rc2,out2,err2 = module.run_command(cmd) +- else: +- rc2,out2,err2 = (0, '', '') +- +- if rc == 0 and rc2 == 0: +- out += out2 +- return [ p for p in out.split('\n') if p.strip() ] +- else: +- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) +- +- return [] +- +-def is_available(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_repos=[]): +- +- if not repoq: +- +- pkgs = [] +- try: +- my = dnf_base(conf_file) +- for rid in en_repos: +- my.repos.enableRepo(rid) +- for rid in dis_repos: +- my.repos.disableRepo(rid) +- +- e,m,u = my.pkgSack.matchPackageNames([pkgspec]) +- pkgs = e + m +- if not pkgs: +- pkgs.extend(my.returnPackagesByDep(pkgspec)) +- except Exception, e: +- module.fail_json(msg="Failure talking to dnf: %s" % e) +- +- return [ po_to_nevra(p) for p in pkgs ] +- +- else: +- myrepoq = list(repoq) +- +- for repoid in dis_repos: +- r_cmd = ['--disablerepo', repoid] +- myrepoq.extend(r_cmd) +- +- for repoid in en_repos: +- r_cmd = ['--enablerepo', repoid] +- myrepoq.extend(r_cmd) +- +- cmd = myrepoq + ["--qf", qf, pkgspec] +- rc,out,err = module.run_command(cmd) +- if rc == 0: +- return [ p for p in out.split('\n') if p.strip() ] ++try: ++ import dnf ++ from dnf import cli, const, exceptions, subject, util ++ HAS_DNF = True ++except ImportError: ++ HAS_DNF = False ++ ++ ++def _fail_if_no_dnf(module): ++ """Fail if unable to import dnf.""" ++ if not HAS_DNF: ++ module.fail_json( ++ msg="`python-dnf` is not installed, but it is required for the Ansible dnf module.") ++ ++ ++def _configure_base(module, base, conf_file, disable_gpg_check): ++ """Configure the dnf Base object.""" ++ conf = base.conf ++ ++ # Turn off debug messages in the output ++ conf.debuglevel = 0 ++ ++ # Set whether to check gpg signatures ++ conf.gpgcheck = not disable_gpg_check ++ ++ # Don't prompt for user confirmations ++ conf.assumeyes = True ++ ++ # Change the configuration file path if provided ++ if conf_file: ++ # Fail if we can't read the configuration file. ++ if not os.access(conf_file, os.R_OK): ++ module.fail_json( ++ msg="cannot read configuration file", conf_file=conf_file) + else: +- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err)) ++ conf.config_file_path = conf_file + +- +- return [] ++ # Read the configuration file ++ conf.read() + +-def is_update(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_repos=[]): +- +- if not repoq: +- +- retpkgs = [] +- pkgs = [] +- updates = [] +- +- try: +- my = dnf_base(conf_file) +- for rid in en_repos: +- my.repos.enableRepo(rid) +- for rid in dis_repos: +- my.repos.disableRepo(rid) +- +- pkgs = my.returnPackagesByDep(pkgspec) + my.returnInstalledPackagesByDep(pkgspec) +- if not pkgs: +- e,m,u = my.pkgSack.matchPackageNames([pkgspec]) +- pkgs = e + m +- updates = my.doPackageLists(pkgnarrow='updates').updates +- except Exception, e: +- module.fail_json(msg="Failure talking to dnf: %s" % e) +- +- for pkg in pkgs: +- if pkg in updates: +- retpkgs.append(pkg) +- +- return set([ po_to_nevra(p) for p in retpkgs ]) + ++def _specify_repositories(base, disablerepo, enablerepo): ++ """Enable and disable repositories matching the provided patterns.""" ++ base.read_all_repos() ++ repos = base.repos ++ ++ # Disable repositories ++ for repo_pattern in disablerepo: ++ for repo in repos.get_matching(repo_pattern): ++ repo.disable() ++ ++ # Enable repositories ++ for repo_pattern in enablerepo: ++ for repo in repos.get_matching(repo_pattern): ++ repo.enable() ++ ++ ++def _base(module, conf_file, disable_gpg_check, disablerepo, enablerepo): ++ """Return a fully configured dnf Base object.""" ++ _fail_if_no_dnf(module) ++ base = dnf.Base() ++ _configure_base(module, base, conf_file, disable_gpg_check) ++ _specify_repositories(base, disablerepo, enablerepo) ++ base.fill_sack() ++ return base ++ ++ ++def _package_dict(package): ++ """Return a dictionary of information for the package.""" ++ # NOTE: This no longer contains the 'dnfstate' field because it is ++ # already known based on the query type. ++ result = { ++ 'name': package.name, ++ 'arch': package.arch, ++ 'epoch': str(package.epoch), ++ 'release': package.release, ++ 'version': package.version, ++ 'repo': package.repoid} ++ result['nevra'] = '{epoch}:{name}-{version}-{release}.{arch}'.format( ++ **result) ++ ++ return result ++ ++ ++def list_items(module, base, command): ++ """List package info based on the command.""" ++ # Rename updates to upgrades ++ if command == 'updates': ++ command = 'upgrades' ++ ++ # Return the corresponding packages ++ if command in ['installed', 'upgrades', 'available']: ++ results = [ ++ _package_dict(package) ++ for package in getattr(base.sack.query(), command)()] ++ # Return the enabled repository ids ++ elif command in ['repos', 'repositories']: ++ results = [ ++ {'repoid': repo.id, 'state': 'enabled'} ++ for repo in base.repos.iter_enabled()] ++ # Return any matching packages + else: +- myrepoq = list(repoq) +- for repoid in dis_repos: +- r_cmd = ['--disablerepo', repoid] +- myrepoq.extend(r_cmd) +- +- for repoid in en_repos: +- r_cmd = ['--enablerepo', repoid] +- myrepoq.extend(r_cmd) +- +- cmd = myrepoq + ["--pkgnarrow=updates", "--qf", qf, pkgspec] +- rc,out,err = module.run_command(cmd) +- +- if rc == 0: +- return set([ p for p in out.split('\n') if p.strip() ]) +- else: +- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err)) +- +- return [] +- +-def what_provides(module, repoq, req_spec, conf_file, qf=def_qf, en_repos=[], dis_repos=[]): +- +- if not repoq: +- +- pkgs = [] +- try: +- my = dnf_base(conf_file) +- for rid in en_repos: +- my.repos.enableRepo(rid) +- for rid in dis_repos: +- my.repos.disableRepo(rid) +- +- pkgs = my.returnPackagesByDep(req_spec) + my.returnInstalledPackagesByDep(req_spec) +- if not pkgs: +- e,m,u = my.pkgSack.matchPackageNames([req_spec]) +- pkgs.extend(e) +- pkgs.extend(m) +- e,m,u = my.rpmdb.matchPackageNames([req_spec]) +- pkgs.extend(e) +- pkgs.extend(m) +- except Exception, e: +- module.fail_json(msg="Failure talking to dnf: %s" % e) ++ packages = subject.Subject(command).get_best_query(base.sack) ++ results = [_package_dict(package) for package in packages] + +- return set([ po_to_nevra(p) for p in pkgs ]) +- +- else: +- myrepoq = list(repoq) +- for repoid in dis_repos: +- r_cmd = ['--disablerepo', repoid] +- myrepoq.extend(r_cmd) +- +- for repoid in en_repos: +- r_cmd = ['--enablerepo', repoid] +- myrepoq.extend(r_cmd) +- +- cmd = myrepoq + ["--qf", qf, "--whatprovides", req_spec] +- rc,out,err = module.run_command(cmd) +- cmd = myrepoq + ["--qf", qf, req_spec] +- rc2,out2,err2 = module.run_command(cmd) +- if rc == 0 and rc2 == 0: +- out += out2 +- pkgs = set([ p for p in out.split('\n') if p.strip() ]) +- if not pkgs: +- pkgs = is_installed(module, repoq, req_spec, conf_file, qf=qf) +- return pkgs +- else: +- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) ++ module.exit_json(results=results) + +- return [] + +-def transaction_exists(pkglist): +- """ +- checks the package list to see if any packages are +- involved in an incomplete transaction +- """ +- +- conflicts = [] +- if not transaction_helpers: +- return conflicts +- +- # first, we create a list of the package 'nvreas' +- # so we can compare the pieces later more easily +- pkglist_nvreas = [] +- for pkg in pkglist: +- pkglist_nvreas.append(splitFilename(pkg)) +- +- # next, we build the list of packages that are +- # contained within an unfinished transaction +- unfinished_transactions = find_unfinished_transactions() +- for trans in unfinished_transactions: +- steps = find_ts_remaining(trans) +- for step in steps: +- # the action is install/erase/etc., but we only +- # care about the package spec contained in the step +- (action, step_spec) = step +- (n,v,r,e,a) = splitFilename(step_spec) +- # and see if that spec is in the list of packages +- # requested for installation/updating +- for pkg in pkglist_nvreas: +- # if the name and arch match, we're going to assume +- # this package is part of a pending transaction +- # the label is just for display purposes +- label = "%s-%s" % (n,a) +- if n == pkg[0] and a == pkg[4]: +- if label not in conflicts: +- conflicts.append("%s-%s" % (n,a)) +- break +- return conflicts +- +-def local_nvra(module, path): +- """return nvra of a local rpm passed in""" +- +- cmd = ['/bin/rpm', '-qp' ,'--qf', +- '%{name}-%{version}-%{release}.%{arch}\n', path ] +- rc, out, err = module.run_command(cmd) +- if rc != 0: +- return None +- nvra = out.split('\n')[0] +- return nvra +- +-def pkg_to_dict(pkgstr): +- +- if pkgstr.strip(): +- n,e,v,r,a,repo = pkgstr.split('|') +- else: +- return {'error_parsing': pkgstr} +- +- d = { +- 'name':n, +- 'arch':a, +- 'epoch':e, +- 'release':r, +- 'version':v, +- 'repo':repo, +- 'nevra': '%s:%s-%s-%s.%s' % (e,n,v,r,a) +- } +- +- if repo == 'installed': +- d['dnfstate'] = 'installed' +- else: +- d['dnfstate'] = 'available' ++def _mark_package_install(module, base, pkg_spec): ++ """Mark the package for install.""" ++ try: ++ base.install(pkg_spec) ++ except exceptions.MarkingError: ++ module.fail_json(msg="No package {} available.".format(pkg_spec)) + +- return d + +-def repolist(module, repoq, qf="%{repoid}"): ++def ensure(module, base, state, names): ++ if not util.am_i_root(): ++ module.fail_json(msg="This command has to be run under the root user.") + +- cmd = repoq + ["--qf", qf, "-a"] +- rc,out,err = module.run_command(cmd) +- ret = [] +- if rc == 0: +- ret = set([ p for p in out.split('\n') if p.strip() ]) +- return ret +- +-def list_stuff(module, conf_file, stuff): +- +- qf = "%{name}|%{epoch}|%{version}|%{release}|%{arch}|%{repoid}" +- repoq = [repoquery, '--show-duplicates', '--plugins', '--quiet', '-q'] +- if conf_file and os.path.exists(conf_file): +- repoq += ['-c', conf_file] +- +- if stuff == 'installed': +- return [ pkg_to_dict(p) for p in is_installed(module, repoq, '-a', conf_file, qf=qf) if p.strip() ] +- elif stuff == 'updates': +- return [ pkg_to_dict(p) for p in is_update(module, repoq, '-a', conf_file, qf=qf) if p.strip() ] +- elif stuff == 'available': +- return [ pkg_to_dict(p) for p in is_available(module, repoq, '-a', conf_file, qf=qf) if p.strip() ] +- elif stuff == 'repos': +- return [ dict(repoid=name, state='enabled') for name in repolist(module, repoq) if name.strip() ] ++ if names == ['*'] and state == 'latest': ++ base.upgrade_all() + else: +- return [ pkg_to_dict(p) for p in is_installed(module, repoq, stuff, conf_file, qf=qf) + is_available(module, repoq, stuff, conf_file, qf=qf) if p.strip() ] +- +-def install(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos): +- +- res = {} +- res['results'] = [] +- res['msg'] = '' +- res['rc'] = 0 +- res['changed'] = False +- +- for spec in items: +- pkg = None +- +- # check if pkgspec is installed (if possible for idempotence) +- # localpkg +- if spec.endswith('.rpm') and '://' not in spec: +- # get the pkg name-v-r.arch +- if not os.path.exists(spec): +- res['msg'] += "No Package file matching '%s' found on system" % spec +- module.fail_json(**res) +- +- nvra = local_nvra(module, spec) +- # look for them in the rpmdb +- if is_installed(module, repoq, nvra, conf_file, en_repos=en_repos, dis_repos=dis_repos): +- # if they are there, skip it +- continue +- pkg = spec +- +- # URL +- elif '://' in spec: +- pkg = spec +- +- #groups :( +- elif spec.startswith('@'): +- # complete wild ass guess b/c it's a group +- pkg = spec +- +- # range requires or file-requires or pkgname :( +- else: +- # most common case is the pkg is already installed and done +- # short circuit all the bs - and search for it as a pkg in is_installed +- # if you find it then we're done +- if not set(['*','?']).intersection(set(spec)): +- pkgs = is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos, is_pkg=True) +- if pkgs: +- res['results'].append('%s providing %s is already installed' % (pkgs[0], spec)) +- continue +- +- # look up what pkgs provide this +- pkglist = what_provides(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) +- if not pkglist: +- res['msg'] += "No Package matching '%s' found available, installed or updated" % spec +- module.fail_json(**res) +- +- # if any of the packages are involved in a transaction, fail now +- # so that we don't hang on the dnf operation later +- conflicts = transaction_exists(pkglist) +- if len(conflicts) > 0: +- res['msg'] += "The following packages have pending transactions: %s" % ", ".join(conflicts) +- module.fail_json(**res) +- +- # if any of them are installed +- # then nothing to do +- +- found = False +- for this in pkglist: +- if is_installed(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos, is_pkg=True): +- found = True +- res['results'].append('%s providing %s is already installed' % (this, spec)) +- break +- +- # if the version of the pkg you have installed is not in ANY repo, but there are +- # other versions in the repos (both higher and lower) then the previous checks won't work. +- # so we check one more time. This really only works for pkgname - not for file provides or virt provides +- # but virt provides should be all caught in what_provides on its own. +- # highly irritating +- if not found: +- if is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos): +- found = True +- res['results'].append('package providing %s is already installed' % (spec)) +- +- if found: +- continue +- +- # if not - then pass in the spec as what to install +- # we could get here if nothing provides it but that's not +- # the error we're catching here +- pkg = spec +- +- cmd = dnf_basecmd + ['install', pkg] +- +- if module.check_mode: +- module.exit_json(changed=True) +- +- changed = True +- +- rc, out, err = module.run_command(cmd) +- +- # Fail on invalid urls: +- if (rc == 1 and '://' in spec and ('No package %s available.' % spec in out or 'Cannot open: %s. Skipping.' % spec in err)): +- err = 'Package at %s could not be installed' % spec +- module.fail_json(changed=False,msg=err,rc=1) +- elif (rc != 0 and 'Nothing to do' in err) or 'Nothing to do' in out: +- # avoid failing in the 'Nothing To Do' case +- # this may happen with an URL spec. +- # for an already installed group, +- # we get rc = 0 and 'Nothing to do' in out, not in err. +- rc = 0 +- err = '' +- out = '%s: Nothing to do' % spec +- changed = False +- +- res['rc'] += rc +- res['results'].append(out) +- res['msg'] += err +- +- # FIXME - if we did an install - go and check the rpmdb to see if it actually installed +- # look for the pkg in rpmdb +- # look for the pkg via obsoletes +- +- # accumulate any changes +- res['changed'] |= changed +- +- module.exit_json(**res) +- +- +-def remove(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos): +- +- res = {} +- res['results'] = [] +- res['msg'] = '' +- res['changed'] = False +- res['rc'] = 0 +- +- for pkg in items: +- is_group = False +- # group remove - this is doom on a stick +- if pkg.startswith('@'): +- is_group = True +- else: +- if not is_installed(module, repoq, pkg, conf_file, en_repos=en_repos, dis_repos=dis_repos): +- res['results'].append('%s is not installed' % pkg) +- continue +- +- # run an actual dnf transaction +- cmd = dnf_basecmd + ["remove", pkg] +- +- if module.check_mode: +- module.exit_json(changed=True) +- +- rc, out, err = module.run_command(cmd) +- +- res['rc'] += rc +- res['results'].append(out) +- res['msg'] += err +- +- # compile the results into one batch. If anything is changed +- # then mark changed +- # at the end - if we've end up failed then fail out of the rest +- # of the process +- +- # at this point we should check to see if the pkg is no longer present +- +- if not is_group: # we can't sensibly check for a group being uninstalled reliably +- # look to see if the pkg shows up from is_installed. If it doesn't +- if not is_installed(module, repoq, pkg, conf_file, en_repos=en_repos, dis_repos=dis_repos): +- res['changed'] = True +- else: +- module.fail_json(**res) +- +- if rc != 0: +- module.fail_json(**res) +- +- module.exit_json(**res) +- +-def latest(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos): +- +- res = {} +- res['results'] = [] +- res['msg'] = '' +- res['changed'] = False +- res['rc'] = 0 +- +- for spec in items: +- +- pkg = None +- basecmd = 'update' +- cmd = '' +- # groups, again +- if spec.startswith('@'): +- pkg = spec +- +- elif spec == '*': #update all +- # use check-update to see if there is any need +- rc,out,err = module.run_command(dnf_basecmd + ['check-update']) +- if rc == 100: +- cmd = dnf_basecmd + [basecmd] +- else: +- res['results'].append('All packages up to date') +- continue +- +- # dep/pkgname - find it +- else: +- if is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos): +- basecmd = 'update' ++ pkg_specs, group_specs, filenames = cli.commands.parse_spec_group_file( ++ names) ++ if group_specs: ++ base.read_comps() ++ ++ groups = [] ++ for group_spec in group_specs: ++ group = base.comps.group_by_pattern(group_spec) ++ if group: ++ groups.append(group) + else: +- basecmd = 'install' ++ module.fail_json( ++ msg="No group {} available.".format(group_spec)) + +- pkglist = what_provides(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) +- if not pkglist: +- res['msg'] += "No Package matching '%s' found available, installed or updated" % spec +- module.fail_json(**res) +- +- nothing_to_do = True +- for this in pkglist: +- if basecmd == 'install' and is_available(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos): +- nothing_to_do = False +- break +- +- if basecmd == 'update' and is_update(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=en_repos): +- nothing_to_do = False +- break +- +- if nothing_to_do: +- res['results'].append("All packages providing %s are up to date" % spec) +- continue +- +- # if any of the packages are involved in a transaction, fail now +- # so that we don't hang on the dnf operation later +- conflicts = transaction_exists(pkglist) +- if len(conflicts) > 0: +- res['msg'] += "The following packages have pending transactions: %s" % ", ".join(conflicts) +- module.fail_json(**res) +- +- pkg = spec +- if not cmd: +- cmd = dnf_basecmd + [basecmd, pkg] +- +- if module.check_mode: +- return module.exit_json(changed=True) +- +- rc, out, err = module.run_command(cmd) +- +- res['rc'] += rc +- res['results'].append(out) +- res['msg'] += err +- +- # FIXME if it is - update it and check to see if it applied +- # check to see if there is no longer an update available for the pkgspec ++ if state in ['installed', 'present']: ++ # Install files. ++ for filename in filenames: ++ base.package_install(base.add_remote_rpm(filename)) ++ # Install groups. ++ for group in groups: ++ base.group_install(group, const.GROUP_PACKAGE_TYPES) ++ # Install packages. ++ for pkg_spec in pkg_specs: ++ _mark_package_install(module, base, pkg_spec) ++ ++ elif state == 'latest': ++ # "latest" is same as "installed" for filenames. ++ for filename in filenames: ++ base.package_install(base.add_remote_rpm(filename)) ++ for group in groups: ++ try: ++ base.group_upgrade(group) ++ except exceptions.CompsError: ++ # If not already installed, try to install. ++ base.group_install(group, const.GROUP_PACKAGE_TYPES) ++ for pkg_spec in pkg_specs: ++ try: ++ base.upgrade(pkg_spec) ++ except dnf.exceptions.MarkingError: ++ # If not already installed, try to install. ++ _mark_package_install(module, base, pkg_spec) + +- if rc: +- res['failed'] = True + else: +- res['changed'] = True +- +- module.exit_json(**res) +- +-def ensure(module, state, pkgspec, conf_file, enablerepo, disablerepo, +- disable_gpg_check): +- +- # take multiple args comma separated +- items = pkgspec.split(',') +- +- # need debug level 2 to get 'Nothing to do' for groupinstall. +- dnf_basecmd = [dnfbin, '-d', '2', '-y'] ++ if filenames: ++ module.fail_json( ++ msg="Cannot remove paths -- please specify package name.") ++ ++ installed = base.sack.query().installed() ++ for group in groups: ++ if installed.filter(name=group.name): ++ base.group_remove(group) ++ for pkg_spec in pkg_specs: ++ if installed.filter(name=pkg_spec): ++ base.remove(pkg_spec) + +- +- if not repoquery: +- repoq = None ++ if not base.resolve(): ++ module.exit_json(msg="Nothing to do") + else: +- repoq = [repoquery, '--show-duplicates', '--plugins', '--quiet', '-q'] +- +- if conf_file and os.path.exists(conf_file): +- dnf_basecmd += ['-c', conf_file] +- if repoq: +- repoq += ['-c', conf_file] +- +- dis_repos =[] +- en_repos = [] +- if disablerepo: +- dis_repos = disablerepo.split(',') +- if enablerepo: +- en_repos = enablerepo.split(',') +- +- for repoid in dis_repos: +- r_cmd = ['--disablerepo=%s' % repoid] +- dnf_basecmd.extend(r_cmd) +- +- for repoid in en_repos: +- r_cmd = ['--enablerepo=%s' % repoid] +- dnf_basecmd.extend(r_cmd) +- +- if state in ['installed', 'present', 'latest']: +- my = dnf_base(conf_file) +- try: +- for r in dis_repos: +- my.repos.disableRepo(r) ++ if module.check_mode: ++ module.exit_json(changed=True) ++ base.download_packages(base.transaction.install_set) ++ base.do_transaction() ++ response = {'changed': True, 'results': []} ++ for package in base.transaction.install_set: ++ response['results'].append("Installed: {}".format(package)) ++ for package in base.transaction.remove_set: ++ response['results'].append("Removed: {}".format(package)) + +- current_repos = dnf.yum.config.RepoConf() +- for r in en_repos: +- try: +- my.repos.enableRepo(r) +- new_repos = my.repos.repos.keys() +- for i in new_repos: +- if not i in current_repos: +- rid = my.repos.getRepo(i) +- a = rid.repoXML.repoid +- current_repos = new_repos +- except dnf.exceptions.Error, e: +- module.fail_json(msg="Error setting/accessing repo %s: %s" % (r, e)) +- except dnf.exceptions.Error, e: +- module.fail_json(msg="Error accessing repos: %s" % e) +- +- if state in ['installed', 'present']: +- if disable_gpg_check: +- dnf_basecmd.append('--nogpgcheck') +- install(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos) +- elif state in ['removed', 'absent']: +- remove(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos) +- elif state == 'latest': +- if disable_gpg_check: +- dnf_basecmd.append('--nogpgcheck') +- latest(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos) ++ module.exit_json(**response) + +- # should be caught by AnsibleModule argument_spec +- return dict(changed=False, failed=True, results='', errors='unexpected state') + + def main(): +- +- # state=installed name=pkgspec +- # state=removed name=pkgspec +- # state=latest name=pkgspec +- # +- # informational commands: +- # list=installed +- # list=updates +- # list=available +- # list=repos +- # list=pkgspec +- ++ """The main function.""" + module = AnsibleModule( +- argument_spec = dict( +- name=dict(aliases=['pkg']), +- # removed==absent, installed==present, these are accepted as aliases +- state=dict(default='installed', choices=['absent','present','installed','removed','latest']), +- enablerepo=dict(), +- disablerepo=dict(), ++ argument_spec=dict( ++ name=dict(aliases=['pkg'], type='list'), ++ state=dict( ++ default='installed', ++ choices=[ ++ 'absent', 'present', 'installed', 'removed', 'latest']), ++ enablerepo=dict(type='list', default=[]), ++ disablerepo=dict(type='list', default=[]), + list=dict(), + conf_file=dict(default=None), +- disable_gpg_check=dict(required=False, default="no", type='bool'), +- # this should not be needed, but exists as a failsafe +- install_repoquery=dict(required=False, default="yes", type='bool'), ++ disable_gpg_check=dict(default=False, type='bool'), + ), +- required_one_of = [['name','list']], +- mutually_exclusive = [['name','list']], +- supports_check_mode = True +- ) +- +- # this should not be needed, but exists as a failsafe ++ required_one_of=[['name', 'list']], ++ mutually_exclusive=[['name', 'list']], ++ supports_check_mode=True) + params = module.params +- if params['install_repoquery'] and not repoquery and not module.check_mode: +- install_dnf_utils(module) +- +- if not repoquery: +- module.fail_json(msg="repoquery is required to use this module at this time. Please install the yum-utils package.") ++ base = _base( ++ module, params['conf_file'], params['disable_gpg_check'], ++ params['disablerepo'], params['enablerepo']) + if params['list']: +- results = dict(results=list_stuff(module, params['conf_file'], params['list'])) +- module.exit_json(**results) +- ++ list_items(module, base, params['list']) + else: +- pkg = params['name'] +- state = params['state'] +- enablerepo = params.get('enablerepo', '') +- disablerepo = params.get('disablerepo', '') +- disable_gpg_check = params['disable_gpg_check'] +- res = ensure(module, state, pkg, params['conf_file'], enablerepo, +- disablerepo, disable_gpg_check) +- module.fail_json(msg="we should never get here unless this all failed", **res) ++ ensure(module, base, params['state'], params['name']) ++ + + # import module snippets + from ansible.module_utils.basic import * +-main() +- ++if __name__ == '__main__': ++ main() diff --git a/ansible.spec b/ansible.spec index 6afd500..cbeb312 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.9.3 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -23,6 +23,8 @@ Url: http://ansible.com Patch0: ansible-1.9.3-dnf.patch # Upstream, will be in 1.9.4 Patch1: ansible-1.9.3-yum-return-val.patch +# Backport of the master branch dnf module. +Patch2: ansible-dnf-backport.patch BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 5 @@ -79,6 +81,7 @@ are transferred to managed machines automatically. %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %{__python} setup.py build @@ -109,6 +112,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Sun Oct 04 2015 Kevin Fenzi 1.9.3-3 +- Backport dnf module from head. Fixes bug #1267018 + * Tue Sep 8 2015 Toshio Kuratomi - 1.9.3-2 - Pull in patch for yum module that fixes state=latest issue diff --git a/dnf-bandaid.patch b/dnf-bandaid.patch deleted file mode 100644 index 8be8ea9..0000000 --- a/dnf-bandaid.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -up ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py.bak ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py ---- ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py.bak 2015-04-28 11:42:28.000000000 -0700 -+++ ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py 2015-05-27 08:14:09.175829546 -0700 -@@ -92,8 +92,10 @@ options: - - notes: [] - # informational: requirements for nodes --requirements: [ dnf ] --author: Cristian van Ee -+requirements: -+ - dnf -+ - yum-utils (for repoquery) -+author: '"Cristian van Ee (@DJMuggs)" ' - ''' - - EXAMPLES = ''' -@@ -137,18 +139,12 @@ def log(msg): - def dnf_base(conf_file=None, cachedir=False): - - my = dnf.Base() -- my.logging.verbose_level=0 -- my.logging.verbose_level=0 -+ my.conf.debuglevel=0 - if conf_file and os.path.exists(conf_file): -- my.config = conf_file -- if cachedir or os.geteuid() != 0: -- if cachedir or os.geteuid() != 0: -- if hasattr(my, 'setCacheDir'): -- my.setCacheDir() -- else: -- cachedir = cachedir.dnf.Conf() -- my.repos.setCacheDir(cachedir) -- my.conf.cache = 0 -+ my.conf.config_file_path = conf_file -+ my.conf.read() -+ my.read_all_repos() -+ my.fill_sack() - - return my - -@@ -157,7 +153,7 @@ def install_dnf_utils(module): - if not module.check_mode: - dnf_path = module.get_bin_path('dnf') - if dnf_path: -- rc, so, se = module.run_command('%s -y install dnf-plugins-core' % dnf_path) -+ rc, so, se = module.run_command('%s -y install yum-utils' % dnf_path) - if rc == 0: - this_path = module.get_bin_path('repoquery') - global repoquery -@@ -812,9 +808,9 @@ def main(): - if params['install_repoquery'] and not repoquery and not module.check_mode: - install_dnf_utils(module) - -+ if not repoquery: -+ module.fail_json(msg="repoquery is required to use this module at this time. Please install the yum-utils package.") - if params['list']: -- if not repoquery: -- module.fail_json(msg="repoquery is required to use list= with this module. Please install the dnf-utils package.") - results = dict(results=list_stuff(module, params['conf_file'], params['list'])) - module.exit_json(**results) - From 5439f10c33ad5d06b0e338250de6b92c8cca41f9 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 9 Oct 2015 21:35:55 -0600 Subject: [PATCH 081/366] Update to 1.9.4 --- .gitignore | 1 + ansible.spec | 10 +++++----- sources | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 7cba690..22a4239 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ /ansible-1.9.1.tar.gz /ansible-1.9.2.tar.gz /ansible-1.9.3.tar.gz +/ansible-1.9.4.tar.gz diff --git a/ansible.spec b/ansible.spec index cbeb312..5de91bc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.9.3 -Release: 3%{?dist} +Version: 1.9.4 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -21,8 +21,6 @@ Url: http://ansible.com # already upstream with https://github.com/opoplawski/ansible/commit/f624ec4cb8771736ffbe3fe81b2949edda159863 # https://bugzilla.redhat.com/show_bug.cgi?id=1258080 Patch0: ansible-1.9.3-dnf.patch -# Upstream, will be in 1.9.4 -Patch1: ansible-1.9.3-yum-return-val.patch # Backport of the master branch dnf module. Patch2: ansible-dnf-backport.patch @@ -80,7 +78,6 @@ are transferred to managed machines automatically. %setup -q %patch0 -p1 -%patch1 -p1 %patch2 -p1 %build @@ -112,6 +109,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Fri Oct 09 2015 Kevin Fenzi 1.9.4-1 +- Update to 1.9.4 + * Sun Oct 04 2015 Kevin Fenzi 1.9.3-3 - Backport dnf module from head. Fixes bug #1267018 diff --git a/sources b/sources index bc3af3a..6633c2d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -55be10fca4e9e0172a15e88874028eff ansible-1.9.3.tar.gz +ad411285d4a78e78e3a49f4ee2c7cc3f ansible-1.9.4.tar.gz From e3d680d7c20ea49af28e7a90c4764ea64a32f093 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 14 Oct 2015 08:57:10 -0700 Subject: [PATCH 082/366] backport fix for GH #2043 (crash when pulling Docker images) --- ...p-empty-dict-from-end-of-pull-stream.patch | 41 +++++++++++++++++++ ansible.spec | 9 +++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch diff --git a/0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch b/0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch new file mode 100644 index 0000000..2bf5572 --- /dev/null +++ b/0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch @@ -0,0 +1,41 @@ +From 64b8596250e58a55eee8f2d4323d35ca32a8cd53 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Tue, 13 Oct 2015 22:33:46 -0700 +Subject: [PATCH] fix #2043: strip empty dict from end of 'pull' stream + +When pulling an image using Docker 1.8, it seems the output +JSON stream has an empty dict at the very end. This causes +ansible to fail when pulling an image, as it's expecting a +status message in that dict which it uses to determine whether +it had to download the image or not. As a bit of an ugly hack +for that which remains backward compatible, try the last item +in the stream, and if it's an empty dict, take the last-but-one +item instead. + +The strip() is needed as the exact value appears to be '{}/r/n'; +we could just match that, but it seems like the kind of thing +where maybe it'd happen to just be '{}/n' or '{}' or something +in some cases, so let's just use strip() in case. +--- + ansible/lib/ansible/modules/cloud/docker/docker.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git ansible.orig/lib/ansible/modules/core/cloud/docker/docker.py ansible/lib/ansible/modules/core/cloud/docker/docker.py +index 4df808f..cc22632 100644 +--- ansible/lib/ansible/modules/core/cloud/docker/docker.py ++++ ansible/lib/ansible/modules/core/cloud/docker/docker.py +@@ -1392,6 +1392,11 @@ class DockerManager(object): + changes = list(self.client.pull(image, tag=tag, stream=True, **extra_params)) + try: + last = changes[-1] ++ # seems Docker 1.8 puts an empty dict at the end of the ++ # stream; catch that and get the previous instead ++ # https://github.com/ansible/ansible-modules-core/issues/2043 ++ if last.strip() == '{}': ++ last = changes[-2] + except IndexError: + last = '{}' + status = json.loads(last).get('status', '') +-- +2.5.0 + diff --git a/ansible.spec b/ansible.spec index 5de91bc..539bed1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 1.9.4 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -23,6 +23,9 @@ Url: http://ansible.com Patch0: ansible-1.9.3-dnf.patch # Backport of the master branch dnf module. Patch2: ansible-dnf-backport.patch +# Backport fix for #2043, crash when pulling Docker images: +# https://github.com/ansible/ansible-modules-core/commit/64b8596250e58a55eee8f2d4323d35ca32a8cd53 +Patch3: 0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 5 @@ -79,6 +82,7 @@ are transferred to managed machines automatically. %patch0 -p1 %patch2 -p1 +%patch3 -p1 %build %{__python} setup.py build @@ -109,6 +113,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Oct 14 2015 Adam Williamson - 1.9.4-2 +- backport upstream fix for GH #2043 (crash when pulling Docker images) + * Fri Oct 09 2015 Kevin Fenzi 1.9.4-1 - Update to 1.9.4 From fa99a1785b8142c7573e1a7493cf4adf67a82635 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 12 Jan 2016 18:33:00 -0800 Subject: [PATCH 083/366] Ansible 2.0.0.1 from upstream. Rewrite with many bugfixes, rewritten code, and new features. See the upstream changelog for details: https://github.com/ansible/ansible/blob/devel/CHANGELOG.md --- .gitignore | 2 + ...p-empty-dict-from-end-of-pull-stream.patch | 41 - ansible-1.9.3-dnf.patch | 11 - ansible-1.9.3-yum-return-val.patch | 21 - ansible-dnf-backport.patch | 974 ------------------ ansible.spec | 66 +- get-unittests.sh | 17 + sources | 3 +- 8 files changed, 67 insertions(+), 1068 deletions(-) delete mode 100644 0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch delete mode 100644 ansible-1.9.3-dnf.patch delete mode 100644 ansible-1.9.3-yum-return-val.patch delete mode 100644 ansible-dnf-backport.patch create mode 100755 get-unittests.sh diff --git a/.gitignore b/.gitignore index 22a4239..98ba0a7 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ /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 diff --git a/0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch b/0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch deleted file mode 100644 index 2bf5572..0000000 --- a/0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 64b8596250e58a55eee8f2d4323d35ca32a8cd53 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Tue, 13 Oct 2015 22:33:46 -0700 -Subject: [PATCH] fix #2043: strip empty dict from end of 'pull' stream - -When pulling an image using Docker 1.8, it seems the output -JSON stream has an empty dict at the very end. This causes -ansible to fail when pulling an image, as it's expecting a -status message in that dict which it uses to determine whether -it had to download the image or not. As a bit of an ugly hack -for that which remains backward compatible, try the last item -in the stream, and if it's an empty dict, take the last-but-one -item instead. - -The strip() is needed as the exact value appears to be '{}/r/n'; -we could just match that, but it seems like the kind of thing -where maybe it'd happen to just be '{}/n' or '{}' or something -in some cases, so let's just use strip() in case. ---- - ansible/lib/ansible/modules/cloud/docker/docker.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git ansible.orig/lib/ansible/modules/core/cloud/docker/docker.py ansible/lib/ansible/modules/core/cloud/docker/docker.py -index 4df808f..cc22632 100644 ---- ansible/lib/ansible/modules/core/cloud/docker/docker.py -+++ ansible/lib/ansible/modules/core/cloud/docker/docker.py -@@ -1392,6 +1392,11 @@ class DockerManager(object): - changes = list(self.client.pull(image, tag=tag, stream=True, **extra_params)) - try: - last = changes[-1] -+ # seems Docker 1.8 puts an empty dict at the end of the -+ # stream; catch that and get the previous instead -+ # https://github.com/ansible/ansible-modules-core/issues/2043 -+ if last.strip() == '{}': -+ last = changes[-2] - except IndexError: - last = '{}' - status = json.loads(last).get('status', '') --- -2.5.0 - diff --git a/ansible-1.9.3-dnf.patch b/ansible-1.9.3-dnf.patch deleted file mode 100644 index 632df32..0000000 --- a/ansible-1.9.3-dnf.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur ansible-1.9.3.orig/lib/ansible/module_utils/facts.py ansible-1.9.3/lib/ansible/module_utils/facts.py ---- ansible-1.9.3.orig/lib/ansible/module_utils/facts.py 2015-09-03 17:03:08.000000000 -0600 -+++ ansible-1.9.3/lib/ansible/module_utils/facts.py 2015-09-03 20:19:33.256457164 -0600 -@@ -115,6 +115,7 @@ - # package manager, put the preferred one last. If there is an - # ansible module, use that as the value for the 'name' key. - PKG_MGRS = [ { 'path' : '/usr/bin/yum', 'name' : 'yum' }, -+ { 'path' : '/usr/bin/dnf', 'name' : 'dnf' }, - { 'path' : '/usr/bin/apt-get', 'name' : 'apt' }, - { 'path' : '/usr/bin/zypper', 'name' : 'zypper' }, - { 'path' : '/usr/sbin/urpmi', 'name' : 'urpmi' }, diff --git a/ansible-1.9.3-yum-return-val.patch b/ansible-1.9.3-yum-return-val.patch deleted file mode 100644 index ff0764c..0000000 --- a/ansible-1.9.3-yum-return-val.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur ansible-1.9.3/lib/ansible/modules/core/packaging/os/yum.py ansible-1.9.4/lib/ansible/modules/core/packaging/os/yum.py ---- ansible-1.9.3/lib/ansible/modules/core/packaging/os/yum.py 2015-09-03 16:03:12.000000000 -0700 -+++ ansible-1.9.4/lib/ansible/modules/core/packaging/os/yum.py 2015-09-04 10:03:32.000000000 -0700 -@@ -733,7 +733,7 @@ - rc, out, err = module.run_command(yum_basecmd + ['check-update']) - if rc == 0 and update_all: - res['results'].append('Nothing to do here, all packages are up to date') -- return res -+ module.exit_json(**res) - elif rc == 100: - available_updates = out.split('\n') - # build update dictionary -@@ -813,7 +813,7 @@ - if len(will_update) > 0 or len(pkgs['install']) > 0: - res['changed'] = True - -- return res -+ module.exit_json(**res) - - # run commands - if cmd: # update all diff --git a/ansible-dnf-backport.patch b/ansible-dnf-backport.patch deleted file mode 100644 index 676e02c..0000000 --- a/ansible-dnf-backport.patch +++ /dev/null @@ -1,974 +0,0 @@ -diff -Nur ansible-1.9.3.orig/lib/ansible/modules/extras/packaging/os/dnf.py ansible-1.9.3/lib/ansible/modules/extras/packaging/os/dnf.py ---- ansible-1.9.3.orig/lib/ansible/modules/extras/packaging/os/dnf.py 2015-09-03 17:03:13.000000000 -0600 -+++ ansible-1.9.3/lib/ansible/modules/extras/packaging/os/dnf.py 2015-10-04 11:16:05.835216353 -0600 -@@ -1,7 +1,8 @@ --#!/usr/bin/python -tt -+#!/usr/bin/python - # -*- coding: utf-8 -*- - --# Written by Cristian van Ee -+# Copyright 2015 Cristian van Ee -+# Copyright 2015 Igor Gnatenko - # - # This file is part of Ansible - # -@@ -19,18 +20,6 @@ - # along with Ansible. If not, see . - # - -- --import traceback --import os --import dnf -- --try: -- from dnf import find_unfinished_transactions, find_ts_remaining -- from rpmUtils.miscutils import splitFilename -- transaction_helpers = True --except: -- transaction_helpers = False -- - DOCUMENTATION = ''' - --- - module: dnf -@@ -45,17 +34,20 @@ - required: true - default: null - aliases: [] -+ - list: - description: - - Various (non-idempotent) commands for usage with C(/usr/bin/ansible) and I(not) playbooks. See examples. - required: false - default: null -+ - state: - description: - - Whether to install (C(present), C(latest)), or remove (C(absent)) a package. - required: false - choices: [ "present", "latest", "absent" ] - default: "present" -+ - enablerepo: - description: - - I(Repoid) of repositories to enable for the install/update operation. -@@ -93,9 +85,11 @@ - notes: [] - # informational: requirements for nodes - requirements: -+ - "python >= 2.6" - - dnf -- - yum-utils (for repoquery) --author: '"Cristian van Ee (@DJMuggs)" ' -+author: -+ - '"Igor Gnatenko (@ignatenkobrain)" ' -+ - '"Cristian van Ee (@DJMuggs)" ' - ''' - - EXAMPLES = ''' -@@ -121,710 +115,231 @@ - dnf: name="@Development tools" state=present - - ''' -+import os - --def_qf = "%{name}-%{version}-%{release}.%{arch}" -- --repoquery='/usr/bin/repoquery' --if not os.path.exists(repoquery): -- repoquery = None -- --dnfbin='/usr/bin/dnf' -- --import syslog -- --def log(msg): -- syslog.openlog('ansible-dnf', 0, syslog.LOG_USER) -- syslog.syslog(syslog.LOG_NOTICE, msg) -- --def dnf_base(conf_file=None, cachedir=False): -- -- my = dnf.Base() -- my.conf.debuglevel=0 -- if conf_file and os.path.exists(conf_file): -- my.conf.config_file_path = conf_file -- my.conf.read() -- my.read_all_repos() -- my.fill_sack() -- -- return my -- --def install_dnf_utils(module): -- -- if not module.check_mode: -- dnf_path = module.get_bin_path('dnf') -- if dnf_path: -- rc, so, se = module.run_command('%s -y install yum-utils' % dnf_path) -- if rc == 0: -- this_path = module.get_bin_path('repoquery') -- global repoquery -- repoquery = this_path -- --def po_to_nevra(po): -- -- if hasattr(po, 'ui_nevra'): -- return po.ui_nevra -- else: -- return '%s-%s-%s.%s' % (po.name, po.version, po.release, po.arch) -- --def is_installed(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_repos=[], is_pkg=False): -- -- if not repoq: -- -- pkgs = [] -- try: -- my = dnf_base(conf_file) -- for rid in en_repos: -- my.repos.enableRepo(rid) -- for rid in dis_repos: -- my.repos.disableRepo(rid) -- -- e,m,u = my.rpmdb.matchPackageNames([pkgspec]) -- pkgs = e + m -- if not pkgs: -- pkgs.extend(my.returnInstalledPackagesByDep(pkgspec)) -- except Exception, e: -- module.fail_json(msg="Failure talking to dnf: %s" % e) -- -- return [ po_to_nevra(p) for p in pkgs ] -- -- else: -- -- cmd = repoq + ["--disablerepo=*", "--pkgnarrow=installed", "--qf", qf, pkgspec] -- rc,out,err = module.run_command(cmd) -- if not is_pkg: -- cmd = repoq + ["--disablerepo=*", "--pkgnarrow=installed", "--qf", qf, "--whatprovides", pkgspec] -- rc2,out2,err2 = module.run_command(cmd) -- else: -- rc2,out2,err2 = (0, '', '') -- -- if rc == 0 and rc2 == 0: -- out += out2 -- return [ p for p in out.split('\n') if p.strip() ] -- else: -- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) -- -- return [] -- --def is_available(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_repos=[]): -- -- if not repoq: -- -- pkgs = [] -- try: -- my = dnf_base(conf_file) -- for rid in en_repos: -- my.repos.enableRepo(rid) -- for rid in dis_repos: -- my.repos.disableRepo(rid) -- -- e,m,u = my.pkgSack.matchPackageNames([pkgspec]) -- pkgs = e + m -- if not pkgs: -- pkgs.extend(my.returnPackagesByDep(pkgspec)) -- except Exception, e: -- module.fail_json(msg="Failure talking to dnf: %s" % e) -- -- return [ po_to_nevra(p) for p in pkgs ] -- -- else: -- myrepoq = list(repoq) -- -- for repoid in dis_repos: -- r_cmd = ['--disablerepo', repoid] -- myrepoq.extend(r_cmd) -- -- for repoid in en_repos: -- r_cmd = ['--enablerepo', repoid] -- myrepoq.extend(r_cmd) -- -- cmd = myrepoq + ["--qf", qf, pkgspec] -- rc,out,err = module.run_command(cmd) -- if rc == 0: -- return [ p for p in out.split('\n') if p.strip() ] -+try: -+ import dnf -+ from dnf import cli, const, exceptions, subject, util -+ HAS_DNF = True -+except ImportError: -+ HAS_DNF = False -+ -+ -+def _fail_if_no_dnf(module): -+ """Fail if unable to import dnf.""" -+ if not HAS_DNF: -+ module.fail_json( -+ msg="`python-dnf` is not installed, but it is required for the Ansible dnf module.") -+ -+ -+def _configure_base(module, base, conf_file, disable_gpg_check): -+ """Configure the dnf Base object.""" -+ conf = base.conf -+ -+ # Turn off debug messages in the output -+ conf.debuglevel = 0 -+ -+ # Set whether to check gpg signatures -+ conf.gpgcheck = not disable_gpg_check -+ -+ # Don't prompt for user confirmations -+ conf.assumeyes = True -+ -+ # Change the configuration file path if provided -+ if conf_file: -+ # Fail if we can't read the configuration file. -+ if not os.access(conf_file, os.R_OK): -+ module.fail_json( -+ msg="cannot read configuration file", conf_file=conf_file) - else: -- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err)) -+ conf.config_file_path = conf_file - -- -- return [] -+ # Read the configuration file -+ conf.read() - --def is_update(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_repos=[]): -- -- if not repoq: -- -- retpkgs = [] -- pkgs = [] -- updates = [] -- -- try: -- my = dnf_base(conf_file) -- for rid in en_repos: -- my.repos.enableRepo(rid) -- for rid in dis_repos: -- my.repos.disableRepo(rid) -- -- pkgs = my.returnPackagesByDep(pkgspec) + my.returnInstalledPackagesByDep(pkgspec) -- if not pkgs: -- e,m,u = my.pkgSack.matchPackageNames([pkgspec]) -- pkgs = e + m -- updates = my.doPackageLists(pkgnarrow='updates').updates -- except Exception, e: -- module.fail_json(msg="Failure talking to dnf: %s" % e) -- -- for pkg in pkgs: -- if pkg in updates: -- retpkgs.append(pkg) -- -- return set([ po_to_nevra(p) for p in retpkgs ]) - -+def _specify_repositories(base, disablerepo, enablerepo): -+ """Enable and disable repositories matching the provided patterns.""" -+ base.read_all_repos() -+ repos = base.repos -+ -+ # Disable repositories -+ for repo_pattern in disablerepo: -+ for repo in repos.get_matching(repo_pattern): -+ repo.disable() -+ -+ # Enable repositories -+ for repo_pattern in enablerepo: -+ for repo in repos.get_matching(repo_pattern): -+ repo.enable() -+ -+ -+def _base(module, conf_file, disable_gpg_check, disablerepo, enablerepo): -+ """Return a fully configured dnf Base object.""" -+ _fail_if_no_dnf(module) -+ base = dnf.Base() -+ _configure_base(module, base, conf_file, disable_gpg_check) -+ _specify_repositories(base, disablerepo, enablerepo) -+ base.fill_sack() -+ return base -+ -+ -+def _package_dict(package): -+ """Return a dictionary of information for the package.""" -+ # NOTE: This no longer contains the 'dnfstate' field because it is -+ # already known based on the query type. -+ result = { -+ 'name': package.name, -+ 'arch': package.arch, -+ 'epoch': str(package.epoch), -+ 'release': package.release, -+ 'version': package.version, -+ 'repo': package.repoid} -+ result['nevra'] = '{epoch}:{name}-{version}-{release}.{arch}'.format( -+ **result) -+ -+ return result -+ -+ -+def list_items(module, base, command): -+ """List package info based on the command.""" -+ # Rename updates to upgrades -+ if command == 'updates': -+ command = 'upgrades' -+ -+ # Return the corresponding packages -+ if command in ['installed', 'upgrades', 'available']: -+ results = [ -+ _package_dict(package) -+ for package in getattr(base.sack.query(), command)()] -+ # Return the enabled repository ids -+ elif command in ['repos', 'repositories']: -+ results = [ -+ {'repoid': repo.id, 'state': 'enabled'} -+ for repo in base.repos.iter_enabled()] -+ # Return any matching packages - else: -- myrepoq = list(repoq) -- for repoid in dis_repos: -- r_cmd = ['--disablerepo', repoid] -- myrepoq.extend(r_cmd) -- -- for repoid in en_repos: -- r_cmd = ['--enablerepo', repoid] -- myrepoq.extend(r_cmd) -- -- cmd = myrepoq + ["--pkgnarrow=updates", "--qf", qf, pkgspec] -- rc,out,err = module.run_command(cmd) -- -- if rc == 0: -- return set([ p for p in out.split('\n') if p.strip() ]) -- else: -- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err)) -- -- return [] -- --def what_provides(module, repoq, req_spec, conf_file, qf=def_qf, en_repos=[], dis_repos=[]): -- -- if not repoq: -- -- pkgs = [] -- try: -- my = dnf_base(conf_file) -- for rid in en_repos: -- my.repos.enableRepo(rid) -- for rid in dis_repos: -- my.repos.disableRepo(rid) -- -- pkgs = my.returnPackagesByDep(req_spec) + my.returnInstalledPackagesByDep(req_spec) -- if not pkgs: -- e,m,u = my.pkgSack.matchPackageNames([req_spec]) -- pkgs.extend(e) -- pkgs.extend(m) -- e,m,u = my.rpmdb.matchPackageNames([req_spec]) -- pkgs.extend(e) -- pkgs.extend(m) -- except Exception, e: -- module.fail_json(msg="Failure talking to dnf: %s" % e) -+ packages = subject.Subject(command).get_best_query(base.sack) -+ results = [_package_dict(package) for package in packages] - -- return set([ po_to_nevra(p) for p in pkgs ]) -- -- else: -- myrepoq = list(repoq) -- for repoid in dis_repos: -- r_cmd = ['--disablerepo', repoid] -- myrepoq.extend(r_cmd) -- -- for repoid in en_repos: -- r_cmd = ['--enablerepo', repoid] -- myrepoq.extend(r_cmd) -- -- cmd = myrepoq + ["--qf", qf, "--whatprovides", req_spec] -- rc,out,err = module.run_command(cmd) -- cmd = myrepoq + ["--qf", qf, req_spec] -- rc2,out2,err2 = module.run_command(cmd) -- if rc == 0 and rc2 == 0: -- out += out2 -- pkgs = set([ p for p in out.split('\n') if p.strip() ]) -- if not pkgs: -- pkgs = is_installed(module, repoq, req_spec, conf_file, qf=qf) -- return pkgs -- else: -- module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) -+ module.exit_json(results=results) - -- return [] - --def transaction_exists(pkglist): -- """ -- checks the package list to see if any packages are -- involved in an incomplete transaction -- """ -- -- conflicts = [] -- if not transaction_helpers: -- return conflicts -- -- # first, we create a list of the package 'nvreas' -- # so we can compare the pieces later more easily -- pkglist_nvreas = [] -- for pkg in pkglist: -- pkglist_nvreas.append(splitFilename(pkg)) -- -- # next, we build the list of packages that are -- # contained within an unfinished transaction -- unfinished_transactions = find_unfinished_transactions() -- for trans in unfinished_transactions: -- steps = find_ts_remaining(trans) -- for step in steps: -- # the action is install/erase/etc., but we only -- # care about the package spec contained in the step -- (action, step_spec) = step -- (n,v,r,e,a) = splitFilename(step_spec) -- # and see if that spec is in the list of packages -- # requested for installation/updating -- for pkg in pkglist_nvreas: -- # if the name and arch match, we're going to assume -- # this package is part of a pending transaction -- # the label is just for display purposes -- label = "%s-%s" % (n,a) -- if n == pkg[0] and a == pkg[4]: -- if label not in conflicts: -- conflicts.append("%s-%s" % (n,a)) -- break -- return conflicts -- --def local_nvra(module, path): -- """return nvra of a local rpm passed in""" -- -- cmd = ['/bin/rpm', '-qp' ,'--qf', -- '%{name}-%{version}-%{release}.%{arch}\n', path ] -- rc, out, err = module.run_command(cmd) -- if rc != 0: -- return None -- nvra = out.split('\n')[0] -- return nvra -- --def pkg_to_dict(pkgstr): -- -- if pkgstr.strip(): -- n,e,v,r,a,repo = pkgstr.split('|') -- else: -- return {'error_parsing': pkgstr} -- -- d = { -- 'name':n, -- 'arch':a, -- 'epoch':e, -- 'release':r, -- 'version':v, -- 'repo':repo, -- 'nevra': '%s:%s-%s-%s.%s' % (e,n,v,r,a) -- } -- -- if repo == 'installed': -- d['dnfstate'] = 'installed' -- else: -- d['dnfstate'] = 'available' -+def _mark_package_install(module, base, pkg_spec): -+ """Mark the package for install.""" -+ try: -+ base.install(pkg_spec) -+ except exceptions.MarkingError: -+ module.fail_json(msg="No package {} available.".format(pkg_spec)) - -- return d - --def repolist(module, repoq, qf="%{repoid}"): -+def ensure(module, base, state, names): -+ if not util.am_i_root(): -+ module.fail_json(msg="This command has to be run under the root user.") - -- cmd = repoq + ["--qf", qf, "-a"] -- rc,out,err = module.run_command(cmd) -- ret = [] -- if rc == 0: -- ret = set([ p for p in out.split('\n') if p.strip() ]) -- return ret -- --def list_stuff(module, conf_file, stuff): -- -- qf = "%{name}|%{epoch}|%{version}|%{release}|%{arch}|%{repoid}" -- repoq = [repoquery, '--show-duplicates', '--plugins', '--quiet', '-q'] -- if conf_file and os.path.exists(conf_file): -- repoq += ['-c', conf_file] -- -- if stuff == 'installed': -- return [ pkg_to_dict(p) for p in is_installed(module, repoq, '-a', conf_file, qf=qf) if p.strip() ] -- elif stuff == 'updates': -- return [ pkg_to_dict(p) for p in is_update(module, repoq, '-a', conf_file, qf=qf) if p.strip() ] -- elif stuff == 'available': -- return [ pkg_to_dict(p) for p in is_available(module, repoq, '-a', conf_file, qf=qf) if p.strip() ] -- elif stuff == 'repos': -- return [ dict(repoid=name, state='enabled') for name in repolist(module, repoq) if name.strip() ] -+ if names == ['*'] and state == 'latest': -+ base.upgrade_all() - else: -- return [ pkg_to_dict(p) for p in is_installed(module, repoq, stuff, conf_file, qf=qf) + is_available(module, repoq, stuff, conf_file, qf=qf) if p.strip() ] -- --def install(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos): -- -- res = {} -- res['results'] = [] -- res['msg'] = '' -- res['rc'] = 0 -- res['changed'] = False -- -- for spec in items: -- pkg = None -- -- # check if pkgspec is installed (if possible for idempotence) -- # localpkg -- if spec.endswith('.rpm') and '://' not in spec: -- # get the pkg name-v-r.arch -- if not os.path.exists(spec): -- res['msg'] += "No Package file matching '%s' found on system" % spec -- module.fail_json(**res) -- -- nvra = local_nvra(module, spec) -- # look for them in the rpmdb -- if is_installed(module, repoq, nvra, conf_file, en_repos=en_repos, dis_repos=dis_repos): -- # if they are there, skip it -- continue -- pkg = spec -- -- # URL -- elif '://' in spec: -- pkg = spec -- -- #groups :( -- elif spec.startswith('@'): -- # complete wild ass guess b/c it's a group -- pkg = spec -- -- # range requires or file-requires or pkgname :( -- else: -- # most common case is the pkg is already installed and done -- # short circuit all the bs - and search for it as a pkg in is_installed -- # if you find it then we're done -- if not set(['*','?']).intersection(set(spec)): -- pkgs = is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos, is_pkg=True) -- if pkgs: -- res['results'].append('%s providing %s is already installed' % (pkgs[0], spec)) -- continue -- -- # look up what pkgs provide this -- pkglist = what_provides(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) -- if not pkglist: -- res['msg'] += "No Package matching '%s' found available, installed or updated" % spec -- module.fail_json(**res) -- -- # if any of the packages are involved in a transaction, fail now -- # so that we don't hang on the dnf operation later -- conflicts = transaction_exists(pkglist) -- if len(conflicts) > 0: -- res['msg'] += "The following packages have pending transactions: %s" % ", ".join(conflicts) -- module.fail_json(**res) -- -- # if any of them are installed -- # then nothing to do -- -- found = False -- for this in pkglist: -- if is_installed(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos, is_pkg=True): -- found = True -- res['results'].append('%s providing %s is already installed' % (this, spec)) -- break -- -- # if the version of the pkg you have installed is not in ANY repo, but there are -- # other versions in the repos (both higher and lower) then the previous checks won't work. -- # so we check one more time. This really only works for pkgname - not for file provides or virt provides -- # but virt provides should be all caught in what_provides on its own. -- # highly irritating -- if not found: -- if is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos): -- found = True -- res['results'].append('package providing %s is already installed' % (spec)) -- -- if found: -- continue -- -- # if not - then pass in the spec as what to install -- # we could get here if nothing provides it but that's not -- # the error we're catching here -- pkg = spec -- -- cmd = dnf_basecmd + ['install', pkg] -- -- if module.check_mode: -- module.exit_json(changed=True) -- -- changed = True -- -- rc, out, err = module.run_command(cmd) -- -- # Fail on invalid urls: -- if (rc == 1 and '://' in spec and ('No package %s available.' % spec in out or 'Cannot open: %s. Skipping.' % spec in err)): -- err = 'Package at %s could not be installed' % spec -- module.fail_json(changed=False,msg=err,rc=1) -- elif (rc != 0 and 'Nothing to do' in err) or 'Nothing to do' in out: -- # avoid failing in the 'Nothing To Do' case -- # this may happen with an URL spec. -- # for an already installed group, -- # we get rc = 0 and 'Nothing to do' in out, not in err. -- rc = 0 -- err = '' -- out = '%s: Nothing to do' % spec -- changed = False -- -- res['rc'] += rc -- res['results'].append(out) -- res['msg'] += err -- -- # FIXME - if we did an install - go and check the rpmdb to see if it actually installed -- # look for the pkg in rpmdb -- # look for the pkg via obsoletes -- -- # accumulate any changes -- res['changed'] |= changed -- -- module.exit_json(**res) -- -- --def remove(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos): -- -- res = {} -- res['results'] = [] -- res['msg'] = '' -- res['changed'] = False -- res['rc'] = 0 -- -- for pkg in items: -- is_group = False -- # group remove - this is doom on a stick -- if pkg.startswith('@'): -- is_group = True -- else: -- if not is_installed(module, repoq, pkg, conf_file, en_repos=en_repos, dis_repos=dis_repos): -- res['results'].append('%s is not installed' % pkg) -- continue -- -- # run an actual dnf transaction -- cmd = dnf_basecmd + ["remove", pkg] -- -- if module.check_mode: -- module.exit_json(changed=True) -- -- rc, out, err = module.run_command(cmd) -- -- res['rc'] += rc -- res['results'].append(out) -- res['msg'] += err -- -- # compile the results into one batch. If anything is changed -- # then mark changed -- # at the end - if we've end up failed then fail out of the rest -- # of the process -- -- # at this point we should check to see if the pkg is no longer present -- -- if not is_group: # we can't sensibly check for a group being uninstalled reliably -- # look to see if the pkg shows up from is_installed. If it doesn't -- if not is_installed(module, repoq, pkg, conf_file, en_repos=en_repos, dis_repos=dis_repos): -- res['changed'] = True -- else: -- module.fail_json(**res) -- -- if rc != 0: -- module.fail_json(**res) -- -- module.exit_json(**res) -- --def latest(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos): -- -- res = {} -- res['results'] = [] -- res['msg'] = '' -- res['changed'] = False -- res['rc'] = 0 -- -- for spec in items: -- -- pkg = None -- basecmd = 'update' -- cmd = '' -- # groups, again -- if spec.startswith('@'): -- pkg = spec -- -- elif spec == '*': #update all -- # use check-update to see if there is any need -- rc,out,err = module.run_command(dnf_basecmd + ['check-update']) -- if rc == 100: -- cmd = dnf_basecmd + [basecmd] -- else: -- res['results'].append('All packages up to date') -- continue -- -- # dep/pkgname - find it -- else: -- if is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos): -- basecmd = 'update' -+ pkg_specs, group_specs, filenames = cli.commands.parse_spec_group_file( -+ names) -+ if group_specs: -+ base.read_comps() -+ -+ groups = [] -+ for group_spec in group_specs: -+ group = base.comps.group_by_pattern(group_spec) -+ if group: -+ groups.append(group) - else: -- basecmd = 'install' -+ module.fail_json( -+ msg="No group {} available.".format(group_spec)) - -- pkglist = what_provides(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) -- if not pkglist: -- res['msg'] += "No Package matching '%s' found available, installed or updated" % spec -- module.fail_json(**res) -- -- nothing_to_do = True -- for this in pkglist: -- if basecmd == 'install' and is_available(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos): -- nothing_to_do = False -- break -- -- if basecmd == 'update' and is_update(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=en_repos): -- nothing_to_do = False -- break -- -- if nothing_to_do: -- res['results'].append("All packages providing %s are up to date" % spec) -- continue -- -- # if any of the packages are involved in a transaction, fail now -- # so that we don't hang on the dnf operation later -- conflicts = transaction_exists(pkglist) -- if len(conflicts) > 0: -- res['msg'] += "The following packages have pending transactions: %s" % ", ".join(conflicts) -- module.fail_json(**res) -- -- pkg = spec -- if not cmd: -- cmd = dnf_basecmd + [basecmd, pkg] -- -- if module.check_mode: -- return module.exit_json(changed=True) -- -- rc, out, err = module.run_command(cmd) -- -- res['rc'] += rc -- res['results'].append(out) -- res['msg'] += err -- -- # FIXME if it is - update it and check to see if it applied -- # check to see if there is no longer an update available for the pkgspec -+ if state in ['installed', 'present']: -+ # Install files. -+ for filename in filenames: -+ base.package_install(base.add_remote_rpm(filename)) -+ # Install groups. -+ for group in groups: -+ base.group_install(group, const.GROUP_PACKAGE_TYPES) -+ # Install packages. -+ for pkg_spec in pkg_specs: -+ _mark_package_install(module, base, pkg_spec) -+ -+ elif state == 'latest': -+ # "latest" is same as "installed" for filenames. -+ for filename in filenames: -+ base.package_install(base.add_remote_rpm(filename)) -+ for group in groups: -+ try: -+ base.group_upgrade(group) -+ except exceptions.CompsError: -+ # If not already installed, try to install. -+ base.group_install(group, const.GROUP_PACKAGE_TYPES) -+ for pkg_spec in pkg_specs: -+ try: -+ base.upgrade(pkg_spec) -+ except dnf.exceptions.MarkingError: -+ # If not already installed, try to install. -+ _mark_package_install(module, base, pkg_spec) - -- if rc: -- res['failed'] = True - else: -- res['changed'] = True -- -- module.exit_json(**res) -- --def ensure(module, state, pkgspec, conf_file, enablerepo, disablerepo, -- disable_gpg_check): -- -- # take multiple args comma separated -- items = pkgspec.split(',') -- -- # need debug level 2 to get 'Nothing to do' for groupinstall. -- dnf_basecmd = [dnfbin, '-d', '2', '-y'] -+ if filenames: -+ module.fail_json( -+ msg="Cannot remove paths -- please specify package name.") -+ -+ installed = base.sack.query().installed() -+ for group in groups: -+ if installed.filter(name=group.name): -+ base.group_remove(group) -+ for pkg_spec in pkg_specs: -+ if installed.filter(name=pkg_spec): -+ base.remove(pkg_spec) - -- -- if not repoquery: -- repoq = None -+ if not base.resolve(): -+ module.exit_json(msg="Nothing to do") - else: -- repoq = [repoquery, '--show-duplicates', '--plugins', '--quiet', '-q'] -- -- if conf_file and os.path.exists(conf_file): -- dnf_basecmd += ['-c', conf_file] -- if repoq: -- repoq += ['-c', conf_file] -- -- dis_repos =[] -- en_repos = [] -- if disablerepo: -- dis_repos = disablerepo.split(',') -- if enablerepo: -- en_repos = enablerepo.split(',') -- -- for repoid in dis_repos: -- r_cmd = ['--disablerepo=%s' % repoid] -- dnf_basecmd.extend(r_cmd) -- -- for repoid in en_repos: -- r_cmd = ['--enablerepo=%s' % repoid] -- dnf_basecmd.extend(r_cmd) -- -- if state in ['installed', 'present', 'latest']: -- my = dnf_base(conf_file) -- try: -- for r in dis_repos: -- my.repos.disableRepo(r) -+ if module.check_mode: -+ module.exit_json(changed=True) -+ base.download_packages(base.transaction.install_set) -+ base.do_transaction() -+ response = {'changed': True, 'results': []} -+ for package in base.transaction.install_set: -+ response['results'].append("Installed: {}".format(package)) -+ for package in base.transaction.remove_set: -+ response['results'].append("Removed: {}".format(package)) - -- current_repos = dnf.yum.config.RepoConf() -- for r in en_repos: -- try: -- my.repos.enableRepo(r) -- new_repos = my.repos.repos.keys() -- for i in new_repos: -- if not i in current_repos: -- rid = my.repos.getRepo(i) -- a = rid.repoXML.repoid -- current_repos = new_repos -- except dnf.exceptions.Error, e: -- module.fail_json(msg="Error setting/accessing repo %s: %s" % (r, e)) -- except dnf.exceptions.Error, e: -- module.fail_json(msg="Error accessing repos: %s" % e) -- -- if state in ['installed', 'present']: -- if disable_gpg_check: -- dnf_basecmd.append('--nogpgcheck') -- install(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos) -- elif state in ['removed', 'absent']: -- remove(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos) -- elif state == 'latest': -- if disable_gpg_check: -- dnf_basecmd.append('--nogpgcheck') -- latest(module, items, repoq, dnf_basecmd, conf_file, en_repos, dis_repos) -+ module.exit_json(**response) - -- # should be caught by AnsibleModule argument_spec -- return dict(changed=False, failed=True, results='', errors='unexpected state') - - def main(): -- -- # state=installed name=pkgspec -- # state=removed name=pkgspec -- # state=latest name=pkgspec -- # -- # informational commands: -- # list=installed -- # list=updates -- # list=available -- # list=repos -- # list=pkgspec -- -+ """The main function.""" - module = AnsibleModule( -- argument_spec = dict( -- name=dict(aliases=['pkg']), -- # removed==absent, installed==present, these are accepted as aliases -- state=dict(default='installed', choices=['absent','present','installed','removed','latest']), -- enablerepo=dict(), -- disablerepo=dict(), -+ argument_spec=dict( -+ name=dict(aliases=['pkg'], type='list'), -+ state=dict( -+ default='installed', -+ choices=[ -+ 'absent', 'present', 'installed', 'removed', 'latest']), -+ enablerepo=dict(type='list', default=[]), -+ disablerepo=dict(type='list', default=[]), - list=dict(), - conf_file=dict(default=None), -- disable_gpg_check=dict(required=False, default="no", type='bool'), -- # this should not be needed, but exists as a failsafe -- install_repoquery=dict(required=False, default="yes", type='bool'), -+ disable_gpg_check=dict(default=False, type='bool'), - ), -- required_one_of = [['name','list']], -- mutually_exclusive = [['name','list']], -- supports_check_mode = True -- ) -- -- # this should not be needed, but exists as a failsafe -+ required_one_of=[['name', 'list']], -+ mutually_exclusive=[['name', 'list']], -+ supports_check_mode=True) - params = module.params -- if params['install_repoquery'] and not repoquery and not module.check_mode: -- install_dnf_utils(module) -- -- if not repoquery: -- module.fail_json(msg="repoquery is required to use this module at this time. Please install the yum-utils package.") -+ base = _base( -+ module, params['conf_file'], params['disable_gpg_check'], -+ params['disablerepo'], params['enablerepo']) - if params['list']: -- results = dict(results=list_stuff(module, params['conf_file'], params['list'])) -- module.exit_json(**results) -- -+ list_items(module, base, params['list']) - else: -- pkg = params['name'] -- state = params['state'] -- enablerepo = params.get('enablerepo', '') -- disablerepo = params.get('disablerepo', '') -- disable_gpg_check = params['disable_gpg_check'] -- res = ensure(module, state, pkg, params['conf_file'], enablerepo, -- disablerepo, disable_gpg_check) -- module.fail_json(msg="we should never get here unless this all failed", **res) -+ ensure(module, base, params['state'], params['name']) -+ - - # import module snippets - from ansible.module_utils.basic import * --main() -- -+if __name__ == '__main__': -+ main() diff --git a/ansible.spec b/ansible.spec index 539bed1..767e9ac 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,25 +9,20 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 1.9.4 -Release: 2%{?dist} +Version: 2.0.0.1 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# Use get-unittests.sh tags/v2.0.0-0.6.rc1 to retrieve the unittests +# (Replace the tags/ parameter with the tag or hash that you want to sync with) +Source1: ansible-unittests.tar.xz +Source100: get-unittests.sh +# I think this was left out of the tarballs by mistake Url: http://ansible.com -# -# Patch to detect dnf as package manager. -# already upstream with https://github.com/opoplawski/ansible/commit/f624ec4cb8771736ffbe3fe81b2949edda159863 -# https://bugzilla.redhat.com/show_bug.cgi?id=1258080 -Patch0: ansible-1.9.3-dnf.patch -# Backport of the master branch dnf module. -Patch2: ansible-dnf-backport.patch -# Backport fix for #2043, crash when pulling Docker images: -# https://github.com/ansible/ansible-modules-core/commit/64b8596250e58a55eee8f2d4323d35ca32a8cd53 -Patch3: 0001-fix-2043-strip-empty-dict-from-end-of-pull-stream.patch - BuildArch: noarch + %if 0%{?rhel} && 0%{?rhel} <= 5 BuildRequires: python26-devel @@ -40,12 +35,33 @@ Requires: python26-httplib2 BuildRequires: python2-devel BuildRequires: python-setuptools +# For tests +BuildRequires: PyYAML +BuildRequires: python-paramiko +BuildRequires: python-jinja2 +BuildRequires: python-keyczar +BuildRequires: python-httplib2 +BuildRequires: python-setuptools +BuildRequires: python-six +BuildRequires: python-nose +BuildRequires: python-coverage +BuildRequires: python-mock + +%if (0%{?rhel} && 0%{?rhel} <= 6) +# Distros with python < 2.7.0 +BuildRequires: python-unittest2 +# Warning: Following is not suitable for EPEL proper. See the %%check section +# for a full explanation +BuildRequires: python-pip +%endif + Requires: PyYAML Requires: python-paramiko Requires: python-jinja2 Requires: python-keyczar Requires: python-httplib2 Requires: python-setuptools +Requires: python-six Requires: sshpass %endif @@ -59,6 +75,10 @@ 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 # @@ -80,9 +100,8 @@ are transferred to managed machines automatically. %prep %setup -q -%patch0 -p1 -%patch2 -p1 -%patch3 -p1 +# Unittests +tar -xJvf %{SOURCE1} %build %{__python} setup.py build @@ -98,6 +117,10 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible_plugins/{action,callback,connection,lookup,vars,filter}_plugins +# RHEL <= 6 doesn't have a new enough python-mock to run the tests +%if 0%{?fedora} || 0%{?rhel} >= 7 +make tests +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -106,13 +129,16 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* -%{_datadir}/ansible -%{_datadir}/ansible_plugins -%config(noreplace) %{_sysconfdir}/ansible -%doc README.md PKG-INFO COPYING +%config(noreplace) %{_sysconfdir}/ansible/ +%doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* %changelog +* Tue Jan 12 2016 Toshio Kuratomi - 2.0.0.1-1 +- Ansible 2.0.0.1 from upstream. Rewrite with many bugfixes, rewritten code, + and new features. See the upstream changelog for details: + https://github.com/ansible/ansible/blob/devel/CHANGELOG.md + * Wed Oct 14 2015 Adam Williamson - 1.9.4-2 - backport upstream fix for GH #2043 (crash when pulling Docker images) diff --git a/get-unittests.sh b/get-unittests.sh new file mode 100755 index 0000000..891021d --- /dev/null +++ b/get-unittests.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +if test -d ansible-temp ; then + pushd ansible-temp + git checkout devel + git pull --rebase + popd +else + git clone https://github.com/ansible/ansible.git ansible-temp +fi + +pushd ansible-temp +if test -n "$1" ; then + git checkout "$1" +fi +popd +tar -cJvf ansible-unittests.tar.xz -C ansible-temp/ test/units diff --git a/sources b/sources index 6633c2d..6837829 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -ad411285d4a78e78e3a49f4ee2c7cc3f ansible-1.9.4.tar.gz +b4ea2bc7323668c42e15e47cba7ee5be ansible-2.0.0.1.tar.gz +29789b6ac5a12664fdca6abf7b29b0d9 ansible-unittests.tar.xz From 481d255404ca02f0c731a9900e2190fad0392486 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 14 Jan 2016 18:11:17 -0800 Subject: [PATCH 084/366] Ansible 2.0.0.2 release from upstream. (Minor bugfix to one callback plugin API). --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 3 +-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 98ba0a7..82bdb02 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ /ansible-1.9.4.tar.gz /ansible-2.0.0.1.tar.gz /ansible-unittests.tar.xz +/ansible-2.0.0.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 767e9ac..00e774b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,7 +9,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.0.0.1 +Version: 2.0.0.2 Release: 1%{?dist} Group: Development/Libraries @@ -134,6 +134,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Jan 14 2016 Toshio Kuratomi - - 2.0.0.2-1 +- Ansible 2.0.0.2 release from upstream. (Minor bugfix to one callback plugin + API). + * Tue Jan 12 2016 Toshio Kuratomi - 2.0.0.1-1 - Ansible 2.0.0.1 from upstream. Rewrite with many bugfixes, rewritten code, and new features. See the upstream changelog for details: diff --git a/sources b/sources index 6837829..580345d 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -b4ea2bc7323668c42e15e47cba7ee5be ansible-2.0.0.1.tar.gz -29789b6ac5a12664fdca6abf7b29b0d9 ansible-unittests.tar.xz +816d0c49e084383e47a725c761a0e413 ansible-2.0.0.2.tar.gz From 8ee65e2b9d956f435e8c81742aa36499f2250da3 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 14 Jan 2016 18:17:19 -0800 Subject: [PATCH 085/366] Two tarballs so can't specify only one to new-sources --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 580345d..4caa4aa 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 816d0c49e084383e47a725c761a0e413 ansible-2.0.0.2.tar.gz +29789b6ac5a12664fdca6abf7b29b0d9 ansible-unittests.tar.xz From dbc43a892f4e8ca31b35b7cc023e499b460d4211 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 16:12:49 +0000 Subject: [PATCH 086/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 00e774b..cc4cd45 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.0.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -134,6 +134,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 2.0.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Thu Jan 14 2016 Toshio Kuratomi - - 2.0.0.2-1 - Ansible 2.0.0.2 release from upstream. (Minor bugfix to one callback plugin API). From 9807c9b659bc79f98d5b29a3ee9f2994d3840640 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 4 Feb 2016 21:41:10 -0800 Subject: [PATCH 087/366] Utilize the python-jinja26 package on EPEL6 --- ansible-newer-jinja.patch | 12 ++++++++++++ ansible.spec | 32 +++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 ansible-newer-jinja.patch diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch new file mode 100644 index 0000000..b8f7989 --- /dev/null +++ b/ansible-newer-jinja.patch @@ -0,0 +1,12 @@ +diff -up ansible-2.0.0.2/setup.py.bak ansible-2.0.0.2/setup.py +--- ansible-2.0.0.2/setup.py.bak 2016-02-04 21:35:01.448634875 -0800 ++++ ansible-2.0.0.2/setup.py 2016-02-04 21:35:21.766665402 -0800 +@@ -22,7 +22,7 @@ setup(name='ansible', + license='GPLv3', + # Ansible will also make use of a system copy of python-six if installed but use a + # Bundled copy if it's not. +- install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], ++ install_requires=['paramiko', 'jinja2 >= 2.6', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], + package_dir={ '': 'lib' }, + packages=find_packages('lib'), + package_data={ diff --git a/ansible.spec b/ansible.spec index cc4cd45..67ee0fe 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.0.0.2 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -19,7 +19,11 @@ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # (Replace the tags/ parameter with the tag or hash that you want to sync with) Source1: ansible-unittests.tar.xz Source100: get-unittests.sh -# I think this was left out of the tarballs by mistake +# 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 @@ -31,14 +35,15 @@ Requires: python26-paramiko Requires: python26-jinja2 Requires: python26-keyczar Requires: python26-httplib2 + %else + BuildRequires: python2-devel BuildRequires: python-setuptools # For tests BuildRequires: PyYAML BuildRequires: python-paramiko -BuildRequires: python-jinja2 BuildRequires: python-keyczar BuildRequires: python-httplib2 BuildRequires: python-setuptools @@ -48,16 +53,21 @@ BuildRequires: python-coverage BuildRequires: python-mock %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 -# Warning: Following is not suitable for EPEL proper. See the %%check section -# for a full explanation -BuildRequires: python-pip + +%else +Requires: python-jinja2 +BuildRequires: python-jinja2 %endif Requires: PyYAML Requires: python-paramiko -Requires: python-jinja2 Requires: python-keyczar Requires: python-httplib2 Requires: python-setuptools @@ -100,6 +110,10 @@ are transferred to managed machines automatically. %prep %setup -q +%if 0%{?rhel} == 6 +%patch100 -p1 +%endif + # Unittests tar -xJvf %{SOURCE1} @@ -117,6 +131,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible_plugins/{action,callback,connection,lookup,vars,filter}_plugins +%check # RHEL <= 6 doesn't have a new enough python-mock to run the tests %if 0%{?fedora} || 0%{?rhel} >= 7 make tests @@ -134,6 +149,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Feb 4 2016 Toshio Kuratomi - - 2.0.0.2-3 +- Utilize the python-jinja26 package on EPEL6 + * Wed Feb 03 2016 Fedora Release Engineering - 2.0.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 40c0d8c505534e5dae166fb216cc3506e004e037 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 25 Feb 2016 00:23:20 -0800 Subject: [PATCH 088/366] Upload new sources for ansible-2.0.1 and unittests --- .gitignore | 1 + sources | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 82bdb02..b18635a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /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 diff --git a/sources b/sources index 4caa4aa..5c61240 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -816d0c49e084383e47a725c761a0e413 ansible-2.0.0.2.tar.gz -29789b6ac5a12664fdca6abf7b29b0d9 ansible-unittests.tar.xz +27c98be43321a3c1fddd86bfc4aa7407 ansible-unittests.tar.xz +84c576762bc1a8a345fe12ac338bd2d8 ansible-2.0.1.0.tar.gz From c0fbf3a57bb2a5a6fc8d11b857eae257cb9e0919 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 25 Feb 2016 00:25:12 -0800 Subject: [PATCH 089/366] Update to upstream bugfix for 2.0.x release series. --- ansible.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 67ee0fe..85391ae 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.0.0.2 -Release: 3%{?dist} +Version: 2.0.1.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -149,6 +149,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Feb 25 2016 Toshio Kuratomi - 2.0.1.0-1 +- Update to upstream bugfix for 2.0.x release series. + * Thu Feb 4 2016 Toshio Kuratomi - - 2.0.0.2-3 - Utilize the python-jinja26 package on EPEL6 From 17fb6e79568fc6ecf67d9a707f021fc7f1667cbb Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 25 Feb 2016 11:00:11 -0800 Subject: [PATCH 090/366] - Patch control_path to be not hit path length limitations (RH BZ #1311729) - Version the test tarball --- .gitignore | 1 + ansible.spec | 20 ++++++++++++++++---- get-unittests.sh | 9 ++++++--- sources | 2 +- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b18635a..57558e3 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 85391ae..8afb69d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -10,20 +10,28 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.0.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# Use get-unittests.sh tags/v2.0.0-0.6.rc1 to retrieve the unittests -# (Replace the tags/ parameter with the tag or hash that you want to sync with) -Source1: ansible-unittests.tar.xz +# To retrieve the unittests, run: +# ./get-unittests.sh 2.0.1.0 v2.0.1.0-1 +# Replace the first parameter with the version you want in the tarball name +# Replace the second parameter with the git tag or hash that you want to sync with +Source1: ansible-unittests-%{version}.tar.xz Source100: get-unittests.sh + +# Patch control_path in the example config file to use %C so that it is shorter. +# Helps with path's that exceed the system length. +# Upstream issue: https://github.com/ansible/ansible/issues/11536 +Patch0: ansible-2.0.1.0-control_path.patch # 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 @@ -149,6 +157,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Feb 25 2016 Toshio Kuratomi - 2.0.1.0-2 +- Patch control_path to be not hit path length limitations (RH BZ #1311729) +- Version the test tarball + * Thu Feb 25 2016 Toshio Kuratomi - 2.0.1.0-1 - Update to upstream bugfix for 2.0.x release series. diff --git a/get-unittests.sh b/get-unittests.sh index 891021d..88ffcdc 100755 --- a/get-unittests.sh +++ b/get-unittests.sh @@ -1,5 +1,8 @@ #!/bin/sh +VERSION="$1" +TAG="$2" + if test -d ansible-temp ; then pushd ansible-temp git checkout devel @@ -10,8 +13,8 @@ else fi pushd ansible-temp -if test -n "$1" ; then - git checkout "$1" +if test -n "$TAG" ; then + git checkout "$TAG" fi popd -tar -cJvf ansible-unittests.tar.xz -C ansible-temp/ test/units +tar -cJvf "ansible-unittests-$VERSION.tar.xz" -C ansible-temp/ test/units diff --git a/sources b/sources index 5c61240..80edc93 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -27c98be43321a3c1fddd86bfc4aa7407 ansible-unittests.tar.xz 84c576762bc1a8a345fe12ac338bd2d8 ansible-2.0.1.0.tar.gz +c3b64014fd23b9c8d53e261faab89720 ansible-unittests-2.0.1.0.tar.xz From 50ad475cd9006f0fc4e34ca629ea03494c2197c4 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 25 Feb 2016 12:10:18 -0800 Subject: [PATCH 091/366] Add patch for control_path change --- ansible-2.0.1.0-control_path.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 ansible-2.0.1.0-control_path.patch diff --git a/ansible-2.0.1.0-control_path.patch b/ansible-2.0.1.0-control_path.patch new file mode 100644 index 0000000..2692467 --- /dev/null +++ b/ansible-2.0.1.0-control_path.patch @@ -0,0 +1,11 @@ +diff -up ansible-2.0.1.0/examples/ansible.cfg.bak ansible-2.0.1.0/examples/ansible.cfg +--- ansible-2.0.1.0/examples/ansible.cfg.bak 2016-02-25 10:56:08.511893227 -0800 ++++ ansible-2.0.1.0/examples/ansible.cfg 2016-02-25 10:57:43.628994138 -0800 +@@ -222,6 +222,7 @@ + # Example: + # control_path = %(directory)s/%%h-%%r + #control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r ++control_path = %(directory)s/ansible-ssh-%%C + + # Enabling pipelining reduces the number of SSH operations required to + # execute a module on the remote server. This can result in a significant From 93e3d70f3bb2aa92c18983de22aa85f6f4a86034 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 25 Feb 2016 12:12:17 -0800 Subject: [PATCH 092/366] And remember to apply the patch (but only on Fedora boxes... RHEL7's openssh-client is too old) --- ansible.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 8afb69d..72836de 100644 --- a/ansible.spec +++ b/ansible.spec @@ -23,7 +23,7 @@ Source1: ansible-unittests-%{version}.tar.xz Source100: get-unittests.sh # Patch control_path in the example config file to use %C so that it is shorter. -# Helps with path's that exceed the system length. +# Helps with paths that exceed the system length. # Upstream issue: https://github.com/ansible/ansible/issues/11536 Patch0: ansible-2.0.1.0-control_path.patch # Patch to utilize a newer jinja2 package on epel6 @@ -118,6 +118,12 @@ are transferred to managed machines automatically. %prep %setup -q +# RHEL7 doesn't have a recent enough ssh client to use this patch (needs to +# support %C in ControlPath). So only apply it on Fedora. +%if 0%{?fedora} +%patch0 -p1 +%endif + %if 0%{?rhel} == 6 %patch100 -p1 %endif From edd6a4e28fd4ecebe38d86b173a27f9a7656d93c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 19 Apr 2016 17:47:23 -0600 Subject: [PATCH 093/366] Update to 2.0.2.0. https://github.com/ansible/ansible/blob/stable-2.0/CHANGELOG.md - Fixes CVE-2016-3096 - Fix for failed to resolve remote temporary directory issue. bug #1328359 --- .gitignore | 2 ++ ..._path.patch => ansible-2.0.2.0-control_path.patch | 6 +++--- ansible.spec | 12 +++++++++--- sources | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) rename ansible-2.0.1.0-control_path.patch => ansible-2.0.2.0-control_path.patch (56%) diff --git a/.gitignore b/.gitignore index 57558e3..ea960be 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ /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 diff --git a/ansible-2.0.1.0-control_path.patch b/ansible-2.0.2.0-control_path.patch similarity index 56% rename from ansible-2.0.1.0-control_path.patch rename to ansible-2.0.2.0-control_path.patch index 2692467..841be37 100644 --- a/ansible-2.0.1.0-control_path.patch +++ b/ansible-2.0.2.0-control_path.patch @@ -1,6 +1,6 @@ -diff -up ansible-2.0.1.0/examples/ansible.cfg.bak ansible-2.0.1.0/examples/ansible.cfg ---- ansible-2.0.1.0/examples/ansible.cfg.bak 2016-02-25 10:56:08.511893227 -0800 -+++ ansible-2.0.1.0/examples/ansible.cfg 2016-02-25 10:57:43.628994138 -0800 +diff -Nur ansible-2.0.2.0.orig/examples/ansible.cfg ansible-2.0.2.0/examples/ansible.cfg +--- ansible-2.0.2.0.orig/examples/ansible.cfg 2016-04-19 15:55:21.000000000 -0600 ++++ ansible-2.0.2.0/examples/ansible.cfg 2016-04-19 17:33:07.274148584 -0600 @@ -222,6 +222,7 @@ # Example: # control_path = %(directory)s/%%h-%%r diff --git a/ansible.spec b/ansible.spec index 72836de..94ab59e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,8 +9,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.0.1.0 -Release: 2%{?dist} +Version: 2.0.2.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -25,7 +25,8 @@ Source100: get-unittests.sh # Patch control_path in the example config file to use %C so that it is shorter. # Helps with paths that exceed the system length. # Upstream issue: https://github.com/ansible/ansible/issues/11536 -Patch0: ansible-2.0.1.0-control_path.patch +Patch0: ansible-2.0.2.0-control_path.patch + # 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 @@ -163,6 +164,11 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Apr 19 2016 Kevin Fenzi - 2.0.2.0-1 +- Update to 2.0.2.0. https://github.com/ansible/ansible/blob/stable-2.0/CHANGELOG.md +- Fixes CVE-2016-3096 +- Fix for failed to resolve remote temporary directory issue. bug #1328359 + * Thu Feb 25 2016 Toshio Kuratomi - 2.0.1.0-2 - Patch control_path to be not hit path length limitations (RH BZ #1311729) - Version the test tarball diff --git a/sources b/sources index 80edc93..8c583bc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -84c576762bc1a8a345fe12ac338bd2d8 ansible-2.0.1.0.tar.gz -c3b64014fd23b9c8d53e261faab89720 ansible-unittests-2.0.1.0.tar.xz +4174e74a7e27cd097e71605541fa52bf ansible-unittests-2.0.2.0.tar.xz +e210c7d696fe2c084f78a07b8cbc2981 ansible-2.0.2.0.tar.gz From 7351901a7ae152a733b5640f3503aa6fe73079e6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 May 2016 09:07:26 -0600 Subject: [PATCH 094/366] Update to 2.1.0.0. - Fixes: 1334097 1337474 1332233 1336266 --- .gitignore | 2 ++ ansible-2.0.2.0-control_path.patch | 11 ----------- ansible-2.1.0.0-control_path.patch | 11 +++++++++++ ansible.spec | 10 +++++++--- sources | 4 ++-- 5 files changed, 22 insertions(+), 16 deletions(-) delete mode 100644 ansible-2.0.2.0-control_path.patch create mode 100644 ansible-2.1.0.0-control_path.patch diff --git a/.gitignore b/.gitignore index ea960be..4e6dc30 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ /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 diff --git a/ansible-2.0.2.0-control_path.patch b/ansible-2.0.2.0-control_path.patch deleted file mode 100644 index 841be37..0000000 --- a/ansible-2.0.2.0-control_path.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur ansible-2.0.2.0.orig/examples/ansible.cfg ansible-2.0.2.0/examples/ansible.cfg ---- ansible-2.0.2.0.orig/examples/ansible.cfg 2016-04-19 15:55:21.000000000 -0600 -+++ ansible-2.0.2.0/examples/ansible.cfg 2016-04-19 17:33:07.274148584 -0600 -@@ -222,6 +222,7 @@ - # Example: - # control_path = %(directory)s/%%h-%%r - #control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r -+control_path = %(directory)s/ansible-ssh-%%C - - # Enabling pipelining reduces the number of SSH operations required to - # execute a module on the remote server. This can result in a significant diff --git a/ansible-2.1.0.0-control_path.patch b/ansible-2.1.0.0-control_path.patch new file mode 100644 index 0000000..7183dd3 --- /dev/null +++ b/ansible-2.1.0.0-control_path.patch @@ -0,0 +1,11 @@ +diff -Nur ansible-2.1.0.0.orig/examples/ansible.cfg ansible-2.1.0.0/examples/ansible.cfg +--- ansible-2.1.0.0.orig/examples/ansible.cfg 2016-05-25 07:00:55.000000000 -0600 ++++ ansible-2.1.0.0/examples/ansible.cfg 2016-05-25 08:58:31.768143613 -0600 +@@ -286,6 +286,7 @@ + # Example: + # control_path = %(directory)s/%%h-%%r + #control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r ++control_path = %(directory)s/ansible-ssh-%%C + + # Enabling pipelining reduces the number of SSH operations required to + # execute a module on the remote server. This can result in a significant diff --git a/ansible.spec b/ansible.spec index 94ab59e..f569b83 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,14 +9,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.0.2.0 +Version: 2.1.0.0 Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # To retrieve the unittests, run: -# ./get-unittests.sh 2.0.1.0 v2.0.1.0-1 +# ./get-unittests.sh 2.1.0.0 v2.1.0.0-1 # Replace the first parameter with the version you want in the tarball name # Replace the second parameter with the git tag or hash that you want to sync with Source1: ansible-unittests-%{version}.tar.xz @@ -25,7 +25,7 @@ Source100: get-unittests.sh # Patch control_path in the example config file to use %C so that it is shorter. # Helps with paths that exceed the system length. # Upstream issue: https://github.com/ansible/ansible/issues/11536 -Patch0: ansible-2.0.2.0-control_path.patch +Patch0: ansible-2.1.0.0-control_path.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -164,6 +164,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed May 25 2016 Kevin Fenzi - 2.1.0.0-1 +- Update to 2.1.0.0. +- Fixes: 1334097 1337474 1332233 1336266 + * Tue Apr 19 2016 Kevin Fenzi - 2.0.2.0-1 - Update to 2.0.2.0. https://github.com/ansible/ansible/blob/stable-2.0/CHANGELOG.md - Fixes CVE-2016-3096 diff --git a/sources b/sources index 8c583bc..cd49093 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -4174e74a7e27cd097e71605541fa52bf ansible-unittests-2.0.2.0.tar.xz -e210c7d696fe2c084f78a07b8cbc2981 ansible-2.0.2.0.tar.gz +e77e1431ffd801295135177b96b449cc ansible-unittests-2.1.0.0.tar.xz +9d8bd04d3f0032c1948c5b2bf0b3b048 ansible-2.1.0.0.tar.gz From f86a53d13506fa80436c5f7efcc8eb00842d4cb7 Mon Sep 17 00:00:00 2001 From: Matt Domsch Date: Wed, 15 Jun 2016 14:44:11 -0500 Subject: [PATCH 095/366] Use python 2.6 on EL6 also (BZ#1346950) Amazon Linux /usr/bin/python -> /usr/bin/python2.7, while the EL6 builds we do expect /usr/bin/python -> /usr/bin/python2.6. This causes python programs to fail after install on Amazon Linux. Change ansible build and install process to force resulting application to use /usr/bin/python2.6 explicitly. --- ansible.spec | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/ansible.spec b/ansible.spec index f569b83..ec3f9a6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -1,16 +1,20 @@ -%if 0%{?rhel} == 5 -%define __python /usr/bin/python26 +# 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 %if 0%{?rhel} <= 5 -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif +%{!?python_sitelib: %global python_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} + Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.1.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -133,10 +137,10 @@ are transferred to managed machines automatically. tar -xJvf %{SOURCE1} %build -%{__python} setup.py build +%{__python2} setup.py build %install -%{__python} setup.py install --root=$RPM_BUILD_ROOT +%{__python2} setup.py install --root=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/ansible/ mkdir -p $RPM_BUILD_ROOT/etc/ansible/roles/ cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ @@ -164,6 +168,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Jun 15 2016 Matt Domsch - 2.1.0.0-2 +- Force python 2.6 on EL6 + * Wed May 25 2016 Kevin Fenzi - 2.1.0.0-1 - Update to 2.1.0.0. - Fixes: 1334097 1337474 1332233 1336266 From 432fddaf4dae7ace00c6112e0b8eb0c107617a65 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 06:31:43 +0000 Subject: [PATCH 096/366] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index ec3f9a6..f2cfc2d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,7 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.1.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -168,6 +168,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Jul 19 2016 Fedora Release Engineering - 2.1.0.0-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + * Wed Jun 15 2016 Matt Domsch - 2.1.0.0-2 - Force python 2.6 on EL6 From 02ad60e38411f9ae77dab0787c48bf3bc8d91e47 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 28 Jul 2016 12:47:59 -0600 Subject: [PATCH 097/366] Update to 2.1.1 --- .gitignore | 2 ++ ansible.spec | 9 ++++++--- sources | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 4e6dc30..64a8bef 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ /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 diff --git a/ansible.spec b/ansible.spec index f2cfc2d..387ad42 100644 --- a/ansible.spec +++ b/ansible.spec @@ -13,14 +13,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.1.0.0 -Release: 3%{?dist} +Version: 2.1.1.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # To retrieve the unittests, run: -# ./get-unittests.sh 2.1.0.0 v2.1.0.0-1 +# ./get-unittests.sh 2.1.1.0 v2.1.1.0-1 # Replace the first parameter with the version you want in the tarball name # Replace the second parameter with the git tag or hash that you want to sync with Source1: ansible-unittests-%{version}.tar.xz @@ -168,6 +168,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Jul 28 2016 Kevin Fenzi - 2.1.1.0-1 +- Update to 2.1.1 + * Tue Jul 19 2016 Fedora Release Engineering - 2.1.0.0-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages diff --git a/sources b/sources index cd49093..48cc682 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e77e1431ffd801295135177b96b449cc ansible-unittests-2.1.0.0.tar.xz -9d8bd04d3f0032c1948c5b2bf0b3b048 ansible-2.1.0.0.tar.gz +9dddc6b0d903341635d71ffd59679749 ansible-unittests-2.1.1.0.tar.xz +314e8076cd604f5d12f0e027a7600679 ansible-2.1.1.0.tar.gz From d8c3a062e83534e9cd731cfee2ec9f332d94c59f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 29 Sep 2016 10:46:14 -0600 Subject: [PATCH 098/366] Update to 2.1.2 --- .gitignore | 2 ++ ansible.spec | 7 +++++-- sources | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 64a8bef..87d7901 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,5 @@ /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 diff --git a/ansible.spec b/ansible.spec index 387ad42..a09c448 100644 --- a/ansible.spec +++ b/ansible.spec @@ -13,14 +13,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.1.1.0 +Version: 2.1.2.0 Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # To retrieve the unittests, run: -# ./get-unittests.sh 2.1.1.0 v2.1.1.0-1 +# ./get-unittests.sh 2.1.2.0 v2.1.2.0-1 # Replace the first parameter with the version you want in the tarball name # Replace the second parameter with the git tag or hash that you want to sync with Source1: ansible-unittests-%{version}.tar.xz @@ -168,6 +168,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Thu Sep 29 2016 Kevin Fenzi - 2.1.2.0-1 +- Update to 2.1.2 + * Thu Jul 28 2016 Kevin Fenzi - 2.1.1.0-1 - Update to 2.1.1 diff --git a/sources b/sources index 48cc682..48feea4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -9dddc6b0d903341635d71ffd59679749 ansible-unittests-2.1.1.0.tar.xz -314e8076cd604f5d12f0e027a7600679 ansible-2.1.1.0.tar.gz +2b086b5b91d89c4124d0c1e39ac7ff59 ansible-2.1.2.0.tar.gz +2a5b0b30ba7c1b3f31927043b565393e ansible-unittests-2.1.2.0.tar.xz From e5bfa88ab855e5687055d70b3246dfecd0fe114f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 1 Nov 2016 09:40:41 -0600 Subject: [PATCH 099/366] Update to 2.2.0. Fixes #1390564 #1388531 #1387621 #1381538 #1388113 #1390646 #1388038 #1390650 - Fixes for CVE-2016-8628 CVE-2016-8614 CVE-2016-8628 CVE-2016-8614 --- .gitignore | 2 ++ ansible.spec | 10 +++++++++- sources | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 87d7901..ba7cd97 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,5 @@ /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 diff --git a/ansible.spec b/ansible.spec index a09c448..602f7ae 100644 --- a/ansible.spec +++ b/ansible.spec @@ -13,7 +13,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.1.2.0 +Version: 2.2.0.0 Release: 1%{?dist} Group: Development/Libraries @@ -64,6 +64,10 @@ BuildRequires: python-six BuildRequires: python-nose BuildRequires: python-coverage BuildRequires: python-mock +BuildRequires: python2-boto3 +BuildRequires: python2-botocore +BuildRequires: docker +BuildRequires: python-passlib %if (0%{?rhel} && 0%{?rhel} <= 6) # Ansible will work with the jinja2 shipped with RHEL6 but users can gain @@ -168,6 +172,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Nov 01 2016 Kevin Fenzi - 2.2.0.0-1 +- Update to 2.2.0. Fixes #1390564 #1388531 #1387621 #1381538 #1388113 #1390646 #1388038 #1390650 +- Fixes for CVE-2016-8628 CVE-2016-8614 CVE-2016-8628 CVE-2016-8614 + * Thu Sep 29 2016 Kevin Fenzi - 2.1.2.0-1 - Update to 2.1.2 diff --git a/sources b/sources index 48feea4..d6fc8cf 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -2b086b5b91d89c4124d0c1e39ac7ff59 ansible-2.1.2.0.tar.gz -2a5b0b30ba7c1b3f31927043b565393e ansible-unittests-2.1.2.0.tar.xz +e096bcdbf1d7a424149ed6480033c7b7 ansible-unittests-2.2.0.0.tar.xz +a19999efedc1b97b91250cda5df73f8a ansible-2.2.0.0.tar.gz From 862c849cdfbda776438afb81ea5e9399032707ac Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 2 Nov 2016 11:10:35 -0600 Subject: [PATCH 100/366] Fix some BuildRequires to work on all branches. --- 18296.patch | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++ ansible.spec | 22 +++++++++-- 2 files changed, 127 insertions(+), 3 deletions(-) create mode 100644 18296.patch diff --git a/18296.patch b/18296.patch new file mode 100644 index 0000000..d32ca6e --- /dev/null +++ b/18296.patch @@ -0,0 +1,108 @@ +From 96541c0e3f55b233ac9eaf8710235fa40057f977 Mon Sep 17 00:00:00 2001 +From: Patrick Uiterwijk +Date: Wed, 2 Nov 2016 01:59:25 +0000 +Subject: [PATCH] Fix adding the same trusted certificates multiple times + +If there is an intermittent network failure, we might be trying to reach +an URL multiple times. Without this patch, we would be re-adding the same +certificate to the OpenSSL default context multiple times. +Normally, this is no big issue, as OpenSSL will just silently ignore them, +after registering the error in its own error stack. +However, when python-cryptography initializes, it verifies that the current +error stack of the default OpenSSL context is empty, which it no longer is +due to us adding the certificates multiple times. +This results in cryptography throwing an Unknown OpenSSL Error with details: + +OpenSSLErrorWithText(code=185057381L, lib=11, func=124, reason=101, +reason_text='error:0B07C065:x509 certificate routines:X509_STORE_add_cert:cert already in hash table'), + +Signed-off-by: Patrick Uiterwijk +--- + lib/ansible/module_utils/urls.py | 35 ++++++++++++++++++++++++++++------- + 1 file changed, 28 insertions(+), 7 deletions(-) + +diff --git a/lib/ansible/module_utils/urls.py b/lib/ansible/module_utils/urls.py +index bef950f..c4a13bf 100644 +--- a/lib/ansible/module_utils/urls.py ++++ b/lib/ansible/module_utils/urls.py +@@ -182,6 +182,8 @@ + del libssl + + ++LOADED_VERIFY_LOCATIONS = set() ++ + HAS_MATCH_HOSTNAME = True + try: + from ssl import match_hostname, CertificateError +@@ -590,6 +592,8 @@ def get_ca_certs(self): + paths_checked.append('/etc/ansible') + + tmp_fd, tmp_path = tempfile.mkstemp() ++ to_add_fd, to_add_path = tempfile.mkstemp() ++ to_add = False + + # Write the dummy ca cert if we are running on Mac OS X + if system == 'Darwin': +@@ -608,13 +612,21 @@ def get_ca_certs(self): + if os.path.isfile(full_path) and os.path.splitext(f)[1] in ('.crt','.pem'): + try: + cert_file = open(full_path, 'rb') +- os.write(tmp_fd, cert_file.read()) +- os.write(tmp_fd, b('\n')) ++ cert = cert_file.read() + cert_file.close() ++ os.write(tmp_fd, cert) ++ os.write(tmp_fd, b('\n')) ++ if full_path not in LOADED_VERIFY_LOCATIONS: ++ to_add = True ++ os.write(to_add_fd, cert) ++ os.write(to_add_fd, b('\n')) ++ LOADED_VERIFY_LOCATIONS.add(full_path) + except (OSError, IOError): + pass + +- return (tmp_path, paths_checked) ++ if not to_add: ++ to_add_path = None ++ return (tmp_path, to_add_path, paths_checked) + + def validate_proxy_response(self, response, valid_codes=[200]): + ''' +@@ -643,17 +655,18 @@ def detect_no_proxy(self, url): + return False + return True + +- def _make_context(self, tmp_ca_cert_path): ++ def _make_context(self, to_add_ca_cert_path): + context = create_default_context() +- context.load_verify_locations(tmp_ca_cert_path) ++ if to_add_ca_cert_path: ++ context.load_verify_locations(to_add_ca_cert_path) + return context + + def http_request(self, req): +- tmp_ca_cert_path, paths_checked = self.get_ca_certs() ++ tmp_ca_cert_path, to_add_ca_cert_path, paths_checked = self.get_ca_certs() + https_proxy = os.environ.get('https_proxy') + context = None + if HAS_SSLCONTEXT: +- context = self._make_context(tmp_ca_cert_path) ++ context = self._make_context(to_add_ca_cert_path) + + # Detect if 'no_proxy' environment variable is set and if our URL is included + use_proxy = self.detect_no_proxy(req.get_full_url()) +@@ -719,6 +732,14 @@ def http_request(self, req): + except: + pass + ++ try: ++ # cleanup the temp file created, don't worry ++ # if it fails for some reason ++ if to_add_ca_cert_path: ++ os.remove(to_add_ca_cert_path) ++ except: ++ pass ++ + return req + + https_request = http_request diff --git a/ansible.spec b/ansible.spec index 602f7ae..cdb1f8c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,7 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -31,6 +31,14 @@ Source100: get-unittests.sh # Upstream issue: https://github.com/ansible/ansible/issues/11536 Patch0: ansible-2.1.0.0-control_path.patch +# +# fix issue with openssl and python-cryptography that breaks tests +# If python-cryptography is pulled in and openssl is 1.0.x one of the tests will +# leave things in an error state due to no network access in koji and cause a later +# test to completely fail due to this. +# +Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/18296.patch + # 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 @@ -55,6 +63,8 @@ BuildRequires: python2-devel BuildRequires: python-setuptools # 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: python-paramiko BuildRequires: python-keyczar @@ -64,10 +74,11 @@ BuildRequires: python-six BuildRequires: python-nose BuildRequires: python-coverage BuildRequires: python-mock -BuildRequires: python2-boto3 -BuildRequires: python2-botocore +BuildRequires: python-boto3 +BuildRequires: python-botocore BuildRequires: docker BuildRequires: python-passlib +%endif %if (0%{?rhel} && 0%{?rhel} <= 6) # Ansible will work with the jinja2 shipped with RHEL6 but users can gain @@ -133,6 +144,8 @@ are transferred to managed machines automatically. %patch0 -p1 %endif +%patch1 -p1 + %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -172,6 +185,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Nov 01 2016 Kevin Fenzi - 2.2.0.0-2 +- Fix some BuildRequires to work on all branches. + * Tue Nov 01 2016 Kevin Fenzi - 2.2.0.0-1 - Update to 2.2.0. Fixes #1390564 #1388531 #1387621 #1381538 #1388113 #1390646 #1388038 #1390650 - Fixes for CVE-2016-8628 CVE-2016-8614 CVE-2016-8628 CVE-2016-8614 From 3cd56a114a542dbc1eb6224132c529d4ae382e42 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 4 Nov 2016 10:51:45 -0700 Subject: [PATCH 101/366] Fix for dnf group install --- ansible-2.2.0-dnf-groups.patch | 158 +++++++++++++++++++++++++++++++++ ansible.spec | 14 ++- 2 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 ansible-2.2.0-dnf-groups.patch diff --git a/ansible-2.2.0-dnf-groups.patch b/ansible-2.2.0-dnf-groups.patch new file mode 100644 index 0000000..860c6b6 --- /dev/null +++ b/ansible-2.2.0-dnf-groups.patch @@ -0,0 +1,158 @@ +diff -uNr vanilla/lib/ansible/modules/extras/packaging/os/dnf.py ansible-2.2.0.0/lib/ansible/modules/extras/packaging/os/dnf.py +--- vanilla/lib/ansible/modules/extras/packaging/os/dnf.py 2016-10-31 20:43:38.000000000 -0700 ++++ ansible-2.2.0.0/lib/ansible/modules/extras/packaging/os/dnf.py 2016-11-04 10:27:21.501410357 -0700 +@@ -179,7 +179,7 @@ + base = dnf.Base() + _configure_base(module, base, conf_file, disable_gpg_check) + _specify_repositories(base, disablerepo, enablerepo) +- base.fill_sack() ++ base.fill_sack(load_system_repo='auto') + return base + + +@@ -256,6 +256,9 @@ + + + def ensure(module, base, state, names): ++ # Accumulate failures. Package management modules install what they can ++ # and fail with a message about what they can't. ++ failures = [] + allow_erasing = False + if names == ['*'] and state == 'latest': + base.upgrade_all() +@@ -264,34 +267,70 @@ + if group_specs: + base.read_comps() + ++ pkg_specs = [p.strip() for p in pkg_specs] ++ filenames = [f.strip() for f in filenames] + groups = [] +- for group_spec in group_specs: ++ environments = [] ++ for group_spec in (g.strip() for g in group_specs): + group = base.comps.group_by_pattern(group_spec) + if group: + groups.append(group) + else: +- module.fail_json( +- msg="No group {} available.".format(group_spec)) ++ environment = base.comps.environment_by_pattern(group_spec) ++ if environment: ++ environments.append(environment.id) ++ else: ++ module.fail_json( ++ msg="No group {} available.".format(group_spec)) + + if state in ['installed', 'present']: + # Install files. +- _install_remote_rpms(base, (f.strip() for f in filenames)) ++ _install_remote_rpms(base, filenames) ++ + # Install groups. +- for group in (g.strip() for g in groups): +- base.group_install(group, const.GROUP_PACKAGE_TYPES) ++ for group in groups: ++ try: ++ base.group_install(group, const.GROUP_PACKAGE_TYPES) ++ except exceptions.Error as e: ++ # In dnf 2.0 if all the mandatory packages in a group do ++ # not install, an error is raised. We want to capture ++ # this but still install as much as possible. ++ failures.append((group, e)) ++ ++ for environment in environments: ++ try: ++ base.environment_install(environment, const.GROUP_PACKAGE_TYPES) ++ except exceptions.Error as e: ++ failures.append((group, e)) ++ + # Install packages. +- for pkg_spec in (p.strip() for p in pkg_specs): ++ for pkg_spec in pkg_specs: + _mark_package_install(module, base, pkg_spec) + + elif state == 'latest': + # "latest" is same as "installed" for filenames. + _install_remote_rpms(base, filenames) ++ + for group in groups: + try: +- base.group_upgrade(group) +- except exceptions.CompsError: +- # If not already installed, try to install. +- base.group_install(group, const.GROUP_PACKAGE_TYPES) ++ try: ++ base.group_upgrade(group) ++ except exceptions.CompsError: ++ # If not already installed, try to install. ++ base.group_install(group, const.GROUP_PACKAGE_TYPES) ++ except exceptions.Error as e: ++ failures.append((group, e)) ++ ++ for environment in environments: ++ try: ++ try: ++ base.environment_upgrade(environment) ++ except exceptions.CompsError: ++ # If not already installed, try to install. ++ base.environment_install(group, const.GROUP_PACKAGE_TYPES) ++ except exceptions.Error as e: ++ failures.append((group, e)) ++ + for pkg_spec in pkg_specs: + # best effort causes to install the latest package + # even if not previously installed +@@ -304,22 +343,41 @@ + module.fail_json( + msg="Cannot remove paths -- please specify package name.") + +- installed = base.sack.query().installed() + for group in groups: +- if installed.filter(name=group.name): ++ try: + base.group_remove(group) ++ except dnf.exceptions.CompsError: ++ # Group is already uninstalled. ++ pass ++ ++ for envioronment in environments: ++ try: ++ base.environment_remove(environment) ++ except dnf.exceptions.CompsError: ++ # Environment is already uninstalled. ++ pass ++ ++ installed = base.sack.query().installed() + for pkg_spec in pkg_specs: + if installed.filter(name=pkg_spec): + base.remove(pkg_spec) ++ + # Like the dnf CLI we want to allow recursive removal of dependent + # packages + allow_erasing = True + + if not base.resolve(allow_erasing=allow_erasing): ++ if failures: ++ module.fail_json(msg='Failed to install some of the specified packages', ++ failures=failures) + module.exit_json(msg="Nothing to do") + else: + if module.check_mode: ++ if failures: ++ module.fail_json(msg='Failed to install some of the specified packages', ++ failures=failures) + module.exit_json(changed=True) ++ + base.download_packages(base.transaction.install_set) + base.do_transaction() + response = {'changed': True, 'results': []} +@@ -328,6 +386,9 @@ + for package in base.transaction.remove_set: + response['results'].append("Removed: {0}".format(package)) + ++ if failures: ++ module.fail_json(msg='Failed to install some of the specified packages', ++ failures=failures) + module.exit_json(**response) + + diff --git a/ansible.spec b/ansible.spec index cdb1f8c..cb28a4e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,7 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -39,6 +39,14 @@ Patch0: ansible-2.1.0.0-control_path.patch # Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/18296.patch +# +# fix issue with dnf module and instaling groups +# https://github.com/ansible/ansible-modules-extras/issues/3358 +# These two upstream commits: +# 6eb59a4fa249ff41755d3f736734ef2752000136 +# 18bb736cc26fb6b40da25da4349ae900ed9b489b +Patch2: ansible-2.2.0-dnf-groups.patch + # 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 @@ -145,6 +153,7 @@ are transferred to managed machines automatically. %endif %patch1 -p1 +%patch2 -p1 %if 0%{?rhel} == 6 %patch100 -p1 @@ -185,6 +194,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Fri Nov 4 2016 Toshio Kuratomi - - 2.2.0.0-3 +- Fix for dnf group install + * Tue Nov 01 2016 Kevin Fenzi - 2.2.0.0-2 - Fix some BuildRequires to work on all branches. From 13f30606802e7d92fac68b0f9ca1a9eaac74a58c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 9 Nov 2016 14:17:35 -0700 Subject: [PATCH 102/366] Update unit tests that will skip docker related tests if docker isn't available. - Drop docker BuildRequires. Fixes bug #1392918 --- ansible-2.2.0.0-avoid-docker-dep.patch | 41 ++++++++++++++++++++++++++ ansible.spec | 14 +++++++-- 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 ansible-2.2.0.0-avoid-docker-dep.patch diff --git a/ansible-2.2.0.0-avoid-docker-dep.patch b/ansible-2.2.0.0-avoid-docker-dep.patch new file mode 100644 index 0000000..320842f --- /dev/null +++ b/ansible-2.2.0.0-avoid-docker-dep.patch @@ -0,0 +1,41 @@ +commit b482cdcf036e372ecde744e7e4f06610344bdc55 +Author: Matt Clay +Date: Wed Nov 9 10:03:05 2016 -0800 + + Fix docker connection unit tests. + + - Use assertRaisesRegexp to make sure correct exceptions are raised. + - Set docker_command to avoid docker dependency (skips find_executable). + - Use a fake path for docker_command to make sure mock.patch is working. + + (cherry picked from commit 8552ad6bf19b7b04d57c8fa7770202cb151509af) + +diff --git a/test/units/plugins/connections/test_connection.py b/test/units/plugins/connections/test_connection.py +index c34fce1..88cda0e 100644 +--- a/test/units/plugins/connections/test_connection.py ++++ b/test/units/plugins/connections/test_connection.py +@@ -109,18 +109,21 @@ class TestConnectionBaseClass(unittest.TestCase): + @mock.patch('ansible.plugins.connection.docker.Connection._old_docker_version', return_value=('false', 'garbage', '', 1)) + @mock.patch('ansible.plugins.connection.docker.Connection._new_docker_version', return_value=('docker version', '1.2.3', '', 0)) + def test_docker_connection_module_too_old(self, mock_new_docker_verison, mock_old_docker_version): +- self.assertRaises(AnsibleError, DockerConnection, self.play_context, self.in_stream) ++ self.assertRaisesRegexp(AnsibleError, '^docker connection type requires docker 1.3 or higher$', ++ DockerConnection, self.play_context, self.in_stream, docker_command='/fake/docker') + + @mock.patch('ansible.plugins.connection.docker.Connection._old_docker_version', return_value=('false', 'garbage', '', 1)) + @mock.patch('ansible.plugins.connection.docker.Connection._new_docker_version', return_value=('docker version', '1.3.4', '', 0)) + def test_docker_connection_module(self, mock_new_docker_verison, mock_old_docker_version): +- self.assertIsInstance(DockerConnection(self.play_context, self.in_stream), DockerConnection) ++ self.assertIsInstance(DockerConnection(self.play_context, self.in_stream, docker_command='/fake/docker'), ++ DockerConnection) + + # old version and new version fail + @mock.patch('ansible.plugins.connection.docker.Connection._old_docker_version', return_value=('false', 'garbage', '', 1)) + @mock.patch('ansible.plugins.connection.docker.Connection._new_docker_version', return_value=('false', 'garbage', '', 1)) + def test_docker_connection_module_wrong_cmd(self, mock_new_docker_version, mock_old_docker_version): +- self.assertRaises(AnsibleError, DockerConnection, self.play_context, self.in_stream) ++ self.assertRaisesRegexp(AnsibleError, '^Docker version check (.*?) failed: ', ++ DockerConnection, self.play_context, self.in_stream, docker_command='/fake/docker') + + # def test_winrm_connection_module(self): + # self.assertIsInstance(WinRmConnection(), WinRmConnection) diff --git a/ansible.spec b/ansible.spec index cb28a4e..5b1e117 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,7 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.0.0 -Release: 3%{?dist} +Release: 4%{?dist} Group: Development/Libraries License: GPLv3+ @@ -47,6 +47,12 @@ Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/18296. # 18bb736cc26fb6b40da25da4349ae900ed9b489b Patch2: ansible-2.2.0-dnf-groups.patch +# fix unit tests to skip tests for docker if docker is not available. +# Already upsreamed +# b482cdcf036e372ecde744e7e4f06610344bdc55 +# 8552ad6bf19b7b04d57c8fa7770202cb151509af +Patch3: ansible-2.2.0.0-avoid-docker-dep.patch + # 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 @@ -84,7 +90,6 @@ BuildRequires: python-coverage BuildRequires: python-mock BuildRequires: python-boto3 BuildRequires: python-botocore -BuildRequires: docker BuildRequires: python-passlib %endif @@ -161,6 +166,7 @@ are transferred to managed machines automatically. # Unittests tar -xJvf %{SOURCE1} +%patch3 -p1 %build %{__python2} setup.py build @@ -194,6 +200,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Nov 09 2016 Kevin Fenzi - 2.2.0.0-3 +- Update unit tests that will skip docker related tests if docker isn't available. +- Drop docker BuildRequires. Fixes bug #1392918 + * Fri Nov 4 2016 Toshio Kuratomi - - 2.2.0.0-3 - Fix for dnf group install From c0148aab1b3981b21041280822fa96acac84be86 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 16 Jan 2017 14:49:06 -0700 Subject: [PATCH 103/366] Update to 2.2.1. Fixes: CVE-2016-9587 CVE-2016-8647 CVE-2016-9587 CVE-2016-8647 Fixes bug #1405110 --- .gitignore | 2 + 18296.patch | 108 ----------------- ansible-2.2.0-dnf-groups.patch | 158 ------------------------- ansible-2.2.0.0-avoid-docker-dep.patch | 41 ------- ansible.spec | 37 ++---- sources | 4 +- 6 files changed, 12 insertions(+), 338 deletions(-) delete mode 100644 18296.patch delete mode 100644 ansible-2.2.0-dnf-groups.patch delete mode 100644 ansible-2.2.0.0-avoid-docker-dep.patch diff --git a/.gitignore b/.gitignore index ba7cd97..475df31 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ /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 diff --git a/18296.patch b/18296.patch deleted file mode 100644 index d32ca6e..0000000 --- a/18296.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 96541c0e3f55b233ac9eaf8710235fa40057f977 Mon Sep 17 00:00:00 2001 -From: Patrick Uiterwijk -Date: Wed, 2 Nov 2016 01:59:25 +0000 -Subject: [PATCH] Fix adding the same trusted certificates multiple times - -If there is an intermittent network failure, we might be trying to reach -an URL multiple times. Without this patch, we would be re-adding the same -certificate to the OpenSSL default context multiple times. -Normally, this is no big issue, as OpenSSL will just silently ignore them, -after registering the error in its own error stack. -However, when python-cryptography initializes, it verifies that the current -error stack of the default OpenSSL context is empty, which it no longer is -due to us adding the certificates multiple times. -This results in cryptography throwing an Unknown OpenSSL Error with details: - -OpenSSLErrorWithText(code=185057381L, lib=11, func=124, reason=101, -reason_text='error:0B07C065:x509 certificate routines:X509_STORE_add_cert:cert already in hash table'), - -Signed-off-by: Patrick Uiterwijk ---- - lib/ansible/module_utils/urls.py | 35 ++++++++++++++++++++++++++++------- - 1 file changed, 28 insertions(+), 7 deletions(-) - -diff --git a/lib/ansible/module_utils/urls.py b/lib/ansible/module_utils/urls.py -index bef950f..c4a13bf 100644 ---- a/lib/ansible/module_utils/urls.py -+++ b/lib/ansible/module_utils/urls.py -@@ -182,6 +182,8 @@ - del libssl - - -+LOADED_VERIFY_LOCATIONS = set() -+ - HAS_MATCH_HOSTNAME = True - try: - from ssl import match_hostname, CertificateError -@@ -590,6 +592,8 @@ def get_ca_certs(self): - paths_checked.append('/etc/ansible') - - tmp_fd, tmp_path = tempfile.mkstemp() -+ to_add_fd, to_add_path = tempfile.mkstemp() -+ to_add = False - - # Write the dummy ca cert if we are running on Mac OS X - if system == 'Darwin': -@@ -608,13 +612,21 @@ def get_ca_certs(self): - if os.path.isfile(full_path) and os.path.splitext(f)[1] in ('.crt','.pem'): - try: - cert_file = open(full_path, 'rb') -- os.write(tmp_fd, cert_file.read()) -- os.write(tmp_fd, b('\n')) -+ cert = cert_file.read() - cert_file.close() -+ os.write(tmp_fd, cert) -+ os.write(tmp_fd, b('\n')) -+ if full_path not in LOADED_VERIFY_LOCATIONS: -+ to_add = True -+ os.write(to_add_fd, cert) -+ os.write(to_add_fd, b('\n')) -+ LOADED_VERIFY_LOCATIONS.add(full_path) - except (OSError, IOError): - pass - -- return (tmp_path, paths_checked) -+ if not to_add: -+ to_add_path = None -+ return (tmp_path, to_add_path, paths_checked) - - def validate_proxy_response(self, response, valid_codes=[200]): - ''' -@@ -643,17 +655,18 @@ def detect_no_proxy(self, url): - return False - return True - -- def _make_context(self, tmp_ca_cert_path): -+ def _make_context(self, to_add_ca_cert_path): - context = create_default_context() -- context.load_verify_locations(tmp_ca_cert_path) -+ if to_add_ca_cert_path: -+ context.load_verify_locations(to_add_ca_cert_path) - return context - - def http_request(self, req): -- tmp_ca_cert_path, paths_checked = self.get_ca_certs() -+ tmp_ca_cert_path, to_add_ca_cert_path, paths_checked = self.get_ca_certs() - https_proxy = os.environ.get('https_proxy') - context = None - if HAS_SSLCONTEXT: -- context = self._make_context(tmp_ca_cert_path) -+ context = self._make_context(to_add_ca_cert_path) - - # Detect if 'no_proxy' environment variable is set and if our URL is included - use_proxy = self.detect_no_proxy(req.get_full_url()) -@@ -719,6 +732,14 @@ def http_request(self, req): - except: - pass - -+ try: -+ # cleanup the temp file created, don't worry -+ # if it fails for some reason -+ if to_add_ca_cert_path: -+ os.remove(to_add_ca_cert_path) -+ except: -+ pass -+ - return req - - https_request = http_request diff --git a/ansible-2.2.0-dnf-groups.patch b/ansible-2.2.0-dnf-groups.patch deleted file mode 100644 index 860c6b6..0000000 --- a/ansible-2.2.0-dnf-groups.patch +++ /dev/null @@ -1,158 +0,0 @@ -diff -uNr vanilla/lib/ansible/modules/extras/packaging/os/dnf.py ansible-2.2.0.0/lib/ansible/modules/extras/packaging/os/dnf.py ---- vanilla/lib/ansible/modules/extras/packaging/os/dnf.py 2016-10-31 20:43:38.000000000 -0700 -+++ ansible-2.2.0.0/lib/ansible/modules/extras/packaging/os/dnf.py 2016-11-04 10:27:21.501410357 -0700 -@@ -179,7 +179,7 @@ - base = dnf.Base() - _configure_base(module, base, conf_file, disable_gpg_check) - _specify_repositories(base, disablerepo, enablerepo) -- base.fill_sack() -+ base.fill_sack(load_system_repo='auto') - return base - - -@@ -256,6 +256,9 @@ - - - def ensure(module, base, state, names): -+ # Accumulate failures. Package management modules install what they can -+ # and fail with a message about what they can't. -+ failures = [] - allow_erasing = False - if names == ['*'] and state == 'latest': - base.upgrade_all() -@@ -264,34 +267,70 @@ - if group_specs: - base.read_comps() - -+ pkg_specs = [p.strip() for p in pkg_specs] -+ filenames = [f.strip() for f in filenames] - groups = [] -- for group_spec in group_specs: -+ environments = [] -+ for group_spec in (g.strip() for g in group_specs): - group = base.comps.group_by_pattern(group_spec) - if group: - groups.append(group) - else: -- module.fail_json( -- msg="No group {} available.".format(group_spec)) -+ environment = base.comps.environment_by_pattern(group_spec) -+ if environment: -+ environments.append(environment.id) -+ else: -+ module.fail_json( -+ msg="No group {} available.".format(group_spec)) - - if state in ['installed', 'present']: - # Install files. -- _install_remote_rpms(base, (f.strip() for f in filenames)) -+ _install_remote_rpms(base, filenames) -+ - # Install groups. -- for group in (g.strip() for g in groups): -- base.group_install(group, const.GROUP_PACKAGE_TYPES) -+ for group in groups: -+ try: -+ base.group_install(group, const.GROUP_PACKAGE_TYPES) -+ except exceptions.Error as e: -+ # In dnf 2.0 if all the mandatory packages in a group do -+ # not install, an error is raised. We want to capture -+ # this but still install as much as possible. -+ failures.append((group, e)) -+ -+ for environment in environments: -+ try: -+ base.environment_install(environment, const.GROUP_PACKAGE_TYPES) -+ except exceptions.Error as e: -+ failures.append((group, e)) -+ - # Install packages. -- for pkg_spec in (p.strip() for p in pkg_specs): -+ for pkg_spec in pkg_specs: - _mark_package_install(module, base, pkg_spec) - - elif state == 'latest': - # "latest" is same as "installed" for filenames. - _install_remote_rpms(base, filenames) -+ - for group in groups: - try: -- base.group_upgrade(group) -- except exceptions.CompsError: -- # If not already installed, try to install. -- base.group_install(group, const.GROUP_PACKAGE_TYPES) -+ try: -+ base.group_upgrade(group) -+ except exceptions.CompsError: -+ # If not already installed, try to install. -+ base.group_install(group, const.GROUP_PACKAGE_TYPES) -+ except exceptions.Error as e: -+ failures.append((group, e)) -+ -+ for environment in environments: -+ try: -+ try: -+ base.environment_upgrade(environment) -+ except exceptions.CompsError: -+ # If not already installed, try to install. -+ base.environment_install(group, const.GROUP_PACKAGE_TYPES) -+ except exceptions.Error as e: -+ failures.append((group, e)) -+ - for pkg_spec in pkg_specs: - # best effort causes to install the latest package - # even if not previously installed -@@ -304,22 +343,41 @@ - module.fail_json( - msg="Cannot remove paths -- please specify package name.") - -- installed = base.sack.query().installed() - for group in groups: -- if installed.filter(name=group.name): -+ try: - base.group_remove(group) -+ except dnf.exceptions.CompsError: -+ # Group is already uninstalled. -+ pass -+ -+ for envioronment in environments: -+ try: -+ base.environment_remove(environment) -+ except dnf.exceptions.CompsError: -+ # Environment is already uninstalled. -+ pass -+ -+ installed = base.sack.query().installed() - for pkg_spec in pkg_specs: - if installed.filter(name=pkg_spec): - base.remove(pkg_spec) -+ - # Like the dnf CLI we want to allow recursive removal of dependent - # packages - allow_erasing = True - - if not base.resolve(allow_erasing=allow_erasing): -+ if failures: -+ module.fail_json(msg='Failed to install some of the specified packages', -+ failures=failures) - module.exit_json(msg="Nothing to do") - else: - if module.check_mode: -+ if failures: -+ module.fail_json(msg='Failed to install some of the specified packages', -+ failures=failures) - module.exit_json(changed=True) -+ - base.download_packages(base.transaction.install_set) - base.do_transaction() - response = {'changed': True, 'results': []} -@@ -328,6 +386,9 @@ - for package in base.transaction.remove_set: - response['results'].append("Removed: {0}".format(package)) - -+ if failures: -+ module.fail_json(msg='Failed to install some of the specified packages', -+ failures=failures) - module.exit_json(**response) - - diff --git a/ansible-2.2.0.0-avoid-docker-dep.patch b/ansible-2.2.0.0-avoid-docker-dep.patch deleted file mode 100644 index 320842f..0000000 --- a/ansible-2.2.0.0-avoid-docker-dep.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit b482cdcf036e372ecde744e7e4f06610344bdc55 -Author: Matt Clay -Date: Wed Nov 9 10:03:05 2016 -0800 - - Fix docker connection unit tests. - - - Use assertRaisesRegexp to make sure correct exceptions are raised. - - Set docker_command to avoid docker dependency (skips find_executable). - - Use a fake path for docker_command to make sure mock.patch is working. - - (cherry picked from commit 8552ad6bf19b7b04d57c8fa7770202cb151509af) - -diff --git a/test/units/plugins/connections/test_connection.py b/test/units/plugins/connections/test_connection.py -index c34fce1..88cda0e 100644 ---- a/test/units/plugins/connections/test_connection.py -+++ b/test/units/plugins/connections/test_connection.py -@@ -109,18 +109,21 @@ class TestConnectionBaseClass(unittest.TestCase): - @mock.patch('ansible.plugins.connection.docker.Connection._old_docker_version', return_value=('false', 'garbage', '', 1)) - @mock.patch('ansible.plugins.connection.docker.Connection._new_docker_version', return_value=('docker version', '1.2.3', '', 0)) - def test_docker_connection_module_too_old(self, mock_new_docker_verison, mock_old_docker_version): -- self.assertRaises(AnsibleError, DockerConnection, self.play_context, self.in_stream) -+ self.assertRaisesRegexp(AnsibleError, '^docker connection type requires docker 1.3 or higher$', -+ DockerConnection, self.play_context, self.in_stream, docker_command='/fake/docker') - - @mock.patch('ansible.plugins.connection.docker.Connection._old_docker_version', return_value=('false', 'garbage', '', 1)) - @mock.patch('ansible.plugins.connection.docker.Connection._new_docker_version', return_value=('docker version', '1.3.4', '', 0)) - def test_docker_connection_module(self, mock_new_docker_verison, mock_old_docker_version): -- self.assertIsInstance(DockerConnection(self.play_context, self.in_stream), DockerConnection) -+ self.assertIsInstance(DockerConnection(self.play_context, self.in_stream, docker_command='/fake/docker'), -+ DockerConnection) - - # old version and new version fail - @mock.patch('ansible.plugins.connection.docker.Connection._old_docker_version', return_value=('false', 'garbage', '', 1)) - @mock.patch('ansible.plugins.connection.docker.Connection._new_docker_version', return_value=('false', 'garbage', '', 1)) - def test_docker_connection_module_wrong_cmd(self, mock_new_docker_version, mock_old_docker_version): -- self.assertRaises(AnsibleError, DockerConnection, self.play_context, self.in_stream) -+ self.assertRaisesRegexp(AnsibleError, '^Docker version check (.*?) failed: ', -+ DockerConnection, self.play_context, self.in_stream, docker_command='/fake/docker') - - # def test_winrm_connection_module(self): - # self.assertIsInstance(WinRmConnection(), WinRmConnection) diff --git a/ansible.spec b/ansible.spec index 5b1e117..cc1334b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -13,14 +13,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.2.0.0 -Release: 4%{?dist} +Version: 2.2.1.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # To retrieve the unittests, run: -# ./get-unittests.sh 2.1.2.0 v2.1.2.0-1 +# ./get-unittests.sh 2.2.1.0 v2.2.1.0-1 # Replace the first parameter with the version you want in the tarball name # Replace the second parameter with the git tag or hash that you want to sync with Source1: ansible-unittests-%{version}.tar.xz @@ -31,28 +31,6 @@ Source100: get-unittests.sh # Upstream issue: https://github.com/ansible/ansible/issues/11536 Patch0: ansible-2.1.0.0-control_path.patch -# -# fix issue with openssl and python-cryptography that breaks tests -# If python-cryptography is pulled in and openssl is 1.0.x one of the tests will -# leave things in an error state due to no network access in koji and cause a later -# test to completely fail due to this. -# -Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/18296.patch - -# -# fix issue with dnf module and instaling groups -# https://github.com/ansible/ansible-modules-extras/issues/3358 -# These two upstream commits: -# 6eb59a4fa249ff41755d3f736734ef2752000136 -# 18bb736cc26fb6b40da25da4349ae900ed9b489b -Patch2: ansible-2.2.0-dnf-groups.patch - -# fix unit tests to skip tests for docker if docker is not available. -# Already upsreamed -# b482cdcf036e372ecde744e7e4f06610344bdc55 -# 8552ad6bf19b7b04d57c8fa7770202cb151509af -Patch3: ansible-2.2.0.0-avoid-docker-dep.patch - # 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 @@ -157,16 +135,12 @@ are transferred to managed machines automatically. %patch0 -p1 %endif -%patch1 -p1 -%patch2 -p1 - %if 0%{?rhel} == 6 %patch100 -p1 %endif # Unittests tar -xJvf %{SOURCE1} -%patch3 -p1 %build %{__python2} setup.py build @@ -200,6 +174,11 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Mon Jan 16 2017 Kevin Fenzi - 2.2.1.0-1 +- Update to 2.2.1. +- Fixes: CVE-2016-9587 CVE-2016-8647 CVE-2016-9587 CVE-2016-8647 +- Fixes bug #1405110 + * Wed Nov 09 2016 Kevin Fenzi - 2.2.0.0-3 - Update unit tests that will skip docker related tests if docker isn't available. - Drop docker BuildRequires. Fixes bug #1392918 diff --git a/sources b/sources index d6fc8cf..ceb9825 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e096bcdbf1d7a424149ed6480033c7b7 ansible-unittests-2.2.0.0.tar.xz -a19999efedc1b97b91250cda5df73f8a ansible-2.2.0.0.tar.gz +SHA512 (ansible-unittests-2.2.1.0.tar.xz) = 8577c0b8b18345cf4c60000119fee1c8cd5a4209a17cc7a616df90cf2eb90f8b6efa70718aa39e87472a72337336471e8ebe1038b35121b3c77a944bc26f5a15 +SHA512 (ansible-2.2.1.0.tar.gz) = 10f90f4ac68215febd14e36fa9ea3b2156677f2b7a29a08633e0702bcbd8a7c3551980deeabcff756380b076ac7ba6a5e9eca07af66d908d8d6627390744bc00 From 65493bfb15a043e6b724367c45f2af0feaec6091 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 16 Jan 2017 15:51:27 -0700 Subject: [PATCH 104/366] rebase el6 patch for jinja versions --- ansible-newer-jinja.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch index b8f7989..3717085 100644 --- a/ansible-newer-jinja.patch +++ b/ansible-newer-jinja.patch @@ -5,8 +5,8 @@ diff -up ansible-2.0.0.2/setup.py.bak ansible-2.0.0.2/setup.py license='GPLv3', # Ansible will also make use of a system copy of python-six if installed but use a # Bundled copy if it's not. -- install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], -+ install_requires=['paramiko', 'jinja2 >= 2.6', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], +- install_requires=['paramiko', 'jinja2 < 2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], ++ install_requires=['paramiko', 'jinja2 >= 2.6, <2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], package_dir={ '': 'lib' }, packages=find_packages('lib'), package_data={ From 696bb5e5b9450374f5fa028da4afc35c2a0a6c73 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 05:59:28 +0000 Subject: [PATCH 105/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index cc1334b..8b42b42 100644 --- a/ansible.spec +++ b/ansible.spec @@ -14,7 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -174,6 +174,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 2.2.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Mon Jan 16 2017 Kevin Fenzi - 2.2.1.0-1 - Update to 2.2.1. - Fixes: CVE-2016-9587 CVE-2016-8647 CVE-2016-9587 CVE-2016-8647 From cd25207cdb65bb22595a28eab10d7bd2f40b84d8 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 22 Feb 2017 11:01:48 -0700 Subject: [PATCH 106/366] Update to 2.2.2.0 rc1. Fixes bug #1421485 --- .gitignore | 2 ++ ansible-newer-jinja.patch | 2 +- ansible.spec | 11 +++++++---- sources | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 475df31..e710c6e 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,5 @@ /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 diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch index 3717085..47d61e8 100644 --- a/ansible-newer-jinja.patch +++ b/ansible-newer-jinja.patch @@ -6,7 +6,7 @@ diff -up ansible-2.0.0.2/setup.py.bak ansible-2.0.0.2/setup.py # Ansible will also make use of a system copy of python-six if installed but use a # Bundled copy if it's not. - install_requires=['paramiko', 'jinja2 < 2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], -+ install_requires=['paramiko', 'jinja2 >= 2.6, <2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], ++ install_requires=['paramiko', 'jinja2 >= 2.6, < 2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], package_dir={ '': 'lib' }, packages=find_packages('lib'), package_data={ diff --git a/ansible.spec b/ansible.spec index 8b42b42..2b52c9c 100644 --- a/ansible.spec +++ b/ansible.spec @@ -13,14 +13,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.2.1.0 -Release: 2%{?dist} +Version: 2.2.2.0 +Release: 0.1.rc1%{?dist} Group: Development/Libraries License: GPLv3+ -Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +Source0: http://releases.ansible.com/ansible/%{name}-%{version}-0.1.rc1.tar.gz # To retrieve the unittests, run: -# ./get-unittests.sh 2.2.1.0 v2.2.1.0-1 +# ./get-unittests.sh 2.2.2.0 v2.2.2.0-1 # Replace the first parameter with the version you want in the tarball name # Replace the second parameter with the git tag or hash that you want to sync with Source1: ansible-unittests-%{version}.tar.xz @@ -174,6 +174,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Wed Feb 22 2017 Kevin Fenzi - 2.2.2.0-0.1.rc1 +- Update to 2.2.2.0 rc1. Fixes bug #1421485 + * Fri Feb 10 2017 Fedora Release Engineering - 2.2.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index ceb9825..e9677d5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (ansible-unittests-2.2.1.0.tar.xz) = 8577c0b8b18345cf4c60000119fee1c8cd5a4209a17cc7a616df90cf2eb90f8b6efa70718aa39e87472a72337336471e8ebe1038b35121b3c77a944bc26f5a15 -SHA512 (ansible-2.2.1.0.tar.gz) = 10f90f4ac68215febd14e36fa9ea3b2156677f2b7a29a08633e0702bcbd8a7c3551980deeabcff756380b076ac7ba6a5e9eca07af66d908d8d6627390744bc00 +SHA512 (ansible-2.2.2.0-0.1.rc1.tar.gz) = 6c6f94dac5549dee821a7dd0a961f37521c6ccff30ba057dfedba9a5ee920c2aceb090535925179d8ed7a39cc880e6c6cfe94626981cf5e5bb2a31b4a1ec153e +SHA512 (ansible-unittests-2.2.2.0.tar.xz) = 8eb4f57839f2a835cbf7fb2cbd58058940875cc0bd7681c105cf5f210220a0f8fbfae6004e55e2550c350dcd47daa6f96aca17b495372f128f6d71190271d5e4 From cbd93a6bf635880e8f486e4114b2cfd6f2608e55 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Sun, 26 Mar 2017 09:31:06 -0700 Subject: [PATCH 107/366] Add a python3 ansible package. Note that upstream doesn't intend for the library to be used by third parties so this is really just for the executables. It's not strictly required that the executables be built for both python2 and python3 but we do need to get testing of the python3 version to know if it's stable enough to go into the next Fedora. We also want the python2 version available in case a user has to get something done and the python3 version is too buggy. Fix Ansible cli scripts to handle appended python version --- ...-Handle-downstream-version-additions.patch | 56 ++++++++ ...ke-openvswitch-pass-py3-sanity-check.patch | 70 ++++++++++ ansible.spec | 129 +++++++++++++++++- 3 files changed, 248 insertions(+), 7 deletions(-) create mode 100644 0001-Handle-downstream-version-additions.patch create mode 100644 0001-Make-openvswitch-pass-py3-sanity-check.patch diff --git a/0001-Handle-downstream-version-additions.patch b/0001-Handle-downstream-version-additions.patch new file mode 100644 index 0000000..54de411 --- /dev/null +++ b/0001-Handle-downstream-version-additions.patch @@ -0,0 +1,56 @@ +From 0bc2d1f25860956f713ef0bdc86e67141360090d Mon Sep 17 00:00:00 2001 +From: Toshio Kuratomi +Date: Wed, 8 Mar 2017 14:06:29 -0800 +Subject: [PATCH] Handle downstream version additions + +Some downstreams want to ship multiple versions of ansible (Either to +have multiple ansible versions or to have a version that uses python3.X +and a version that uses python2.x). When they do this, they append +a version number to the cli scripts in /usr/bin. This patch will remove +those version numbers before trying to find the ansible python module to +import for this commandline +--- + bin/ansible | 26 ++++++++++++++++---------- + 1 file changed, 16 insertions(+), 10 deletions(-) + +diff --git a/bin/ansible b/bin/ansible +index 22dd449..24550b9 100755 +--- a/bin/ansible ++++ b/bin/ansible +@@ -69,17 +69,23 @@ if __name__ == '__main__': + display.debug("starting run") + + sub = None ++ target = me.split('-') ++ if target[-1][0].isdigit(): ++ # Remove any version or pthon version info as downstreams ++ # sometimes add that ++ target = target[:-1] ++ ++ if len(target) > 1: ++ sub = target[1] ++ myclass = "%sCLI" % sub.capitalize() ++ elif target[0] == 'ansible': ++ sub = 'adhoc' ++ myclass = 'AdHocCLI' ++ else: ++ raise AnsibleError("Unknown Ansible alias: %s" % me) ++ + try: +- if me.find('-') != -1: +- target = me.split('-') +- if len(target) > 1: +- sub = target[1] +- myclass = "%sCLI" % sub.capitalize() +- mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass) +- elif me == 'ansible': +- from ansible.cli.adhoc import AdHocCLI as mycli +- else: +- raise AnsibleError("Unknown Ansible alias: %s" % me) ++ mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass) + except ImportError as e: + # ImportError members have changed in py3 + if 'msg' in dir(e): +-- +2.9.3 + diff --git a/0001-Make-openvswitch-pass-py3-sanity-check.patch b/0001-Make-openvswitch-pass-py3-sanity-check.patch new file mode 100644 index 0000000..7f5ebbe --- /dev/null +++ b/0001-Make-openvswitch-pass-py3-sanity-check.patch @@ -0,0 +1,70 @@ +From 18098ad055c3159adcbe1a151bbd1f3b71b653f5 Mon Sep 17 00:00:00 2001 +From: Toshio Kuratomi +Date: Wed, 8 Mar 2017 12:32:47 -0800 +Subject: [PATCH] Make openvswitch* pass py3 sanity check + +(cherry picked from 7f4fdba0c6ab1a00e8be2fc517173d898f305a23) + +diff --git a/network/openvswitch_bridge.py b/network/openvswitch_bridge.py +index 68528dd..abe89df 100644 +--- a/lib/ansible/modules/extras/network/openvswitch_bridge.py ++++ b/lib/ansible/modules/extras/network/openvswitch_bridge.py +@@ -143,7 +143,8 @@ class OVSBridge(object): + changed = True + elif self.state == 'present' and not self.exists(): + changed = True +- except Exception, earg: ++ except Exception: ++ earg = get_exception() + self.module.fail_json(msg=str(earg)) + + # pylint: enable=W0703 +@@ -189,7 +190,8 @@ class OVSBridge(object): + self.set_external_id(key, None)): + changed = True + +- except Exception, earg: ++ except Exception: ++ earg = get_exception() + self.module.fail_json(msg=str(earg)) + # pylint: enable=W0703 + self.module.exit_json(changed=changed) +@@ -267,4 +269,5 @@ def main(): + + # import module snippets + from ansible.module_utils.basic import * ++from ansible.module_utils.pycompat24 import get_exception + main() +diff --git a/network/openvswitch_port.py b/network/openvswitch_port.py +index c2224b5..d2bf31a 100644 +--- a/lib/ansible/modules/extras/network/openvswitch_port.py ++++ b/lib/ansible/modules/extras/network/openvswitch_port.py +@@ -204,7 +204,8 @@ class OVSPort(object): + changed = True + else: + changed = False +- except Exception, earg: ++ except Exception: ++ earg = get_exception() + self.module.fail_json(msg=str(earg)) + self.module.exit_json(changed=changed) + +@@ -235,7 +236,8 @@ class OVSPort(object): + external_id = fmt_opt % (self.port, key, value) + changed = self.set(external_id) or changed + ## +- except Exception, earg: ++ except Exception: ++ earg = get_exception() + self.module.fail_json(msg=str(earg)) + self.module.exit_json(changed=changed) + +@@ -269,4 +271,5 @@ def main(): + + # import module snippets + from ansible.module_utils.basic import * ++from ansible.module_utils.pycompat24 import get_exception + main() +-- +2.9.3 + diff --git a/ansible.spec b/ansible.spec index 2b52c9c..4fa73c9 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,12 +9,18 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif +%if 0%{?fedora} +%global with_python3 1 +%else +%global with_python3 0 +%endif + %{!?python_sitelib: %global python_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.2.0 -Release: 0.1.rc1%{?dist} +Release: 0.2.rc1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -31,6 +37,12 @@ Source100: get-unittests.sh # Upstream issue: https://github.com/ansible/ansible/issues/11536 Patch0: ansible-2.1.0.0-control_path.patch +# Make the Ansible cli script work with our addition of python version (upstreamed in 2.3) +Patch1: 0001-Handle-downstream-version-additions.patch + +# Upstream change to fix python3 compilation for openvswitch modules +Patch2: 0001-Make-openvswitch-pass-py3-sanity-check.patch + # 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 @@ -47,7 +59,6 @@ Requires: python26-PyYAML Requires: python26-paramiko Requires: python26-jinja2 Requires: python26-keyczar -Requires: python26-httplib2 %else @@ -60,8 +71,6 @@ BuildRequires: python-setuptools BuildRequires: PyYAML BuildRequires: python-paramiko BuildRequires: python-keyczar -BuildRequires: python-httplib2 -BuildRequires: python-setuptools BuildRequires: python-six BuildRequires: python-nose BuildRequires: python-coverage @@ -126,6 +135,61 @@ 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. + +%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. +%package -n ansible-python3 +Summary: SSH-based configuration management, deployment, and task execution system +BuildRequires: python3-devel +BuildRequires: python3-setuptools + +# For tests +BuildRequires: python3-PyYAML +BuildRequires: python3-paramiko +# accelerate is the only thing that makes keyczar mandatory. Since accelerate +# is deprecated, just ignore it +#BuildRequires: python-keyczar +BuildRequires: python3-six +BuildRequires: python3-nose +BuildRequires: python3-pytest +BuildRequires: python3-coverage +BuildRequires: python3-mock +BuildRequires: python3-boto3 +BuildRequires: python3-botocore +BuildRequires: python3-passlib +BuildRequires: python3-jinja2 + +Requires: python3-PyYAML +Requires: python3-paramiko +# 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: sshpass +%endif + + +%if 0%{?with_python3} +%description -n ansible-python3 + +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 # with_python3 + + %prep %setup -q @@ -135,6 +199,9 @@ are transferred to managed machines automatically. %patch0 -p1 %endif +%patch1 -p1 +%patch2 -p1 + %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -142,25 +209,55 @@ are transferred to managed machines automatically. # Unittests tar -xJvf %{SOURCE1} +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%endif # with_python3 + %build %{__python2} setup.py build +%if 0%{?with_python3} +%py3_build +%endif # with_python3 + %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 + mv $i $i-%{python3_version} +done +%endif # with_python3 + %{__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 +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/ -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible_plugins/{action,callback,connection,lookup,vars,filter}_plugins + %check # RHEL <= 6 doesn't have a new enough python-mock to run the tests %if 0%{?fedora} || 0%{?rhel} >= 7 make tests -%endif + +%if 0%{?with_python3} +pushd %{py3dir} +make tests +%endif # python3 + +%endif # New enough Fedora/RHEL + %clean rm -rf $RPM_BUILD_ROOT @@ -169,11 +266,29 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* +%exclude %{_bindir}/ansible*%{python3_version} +%config(noreplace) %{_sysconfdir}/ansible/ +%doc README.md PKG-INFO COPYING CHANGELOG.md +%doc %{_mandir}/man1/ansible* + +%files -n ansible-python3 +%defattr(-,root,root,-) +%{python3_sitelib}/ansible* +%{_bindir}/ansible*%{python3_version} %config(noreplace) %{_sysconfdir}/ansible/ %doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* %changelog +* Wed Mar 8 2017 Toshio Kuratomi - - 2.2.2.0-0.2.rc1 +- Add a python3 ansible package. Note that upstream doesn't intend for the library + to be used by third parties so this is really just for the executables. It's not + strictly required that the executables be built for both python2 and python3 but + we do need to get testing of the python3 version to know if it's stable enough to + go into the next Fedora. We also want the python2 version available in case a user + has to get something done and the python3 version is too buggy. +- Fix Ansible cli scripts to handle appended python version + * Wed Feb 22 2017 Kevin Fenzi - 2.2.2.0-0.1.rc1 - Update to 2.2.2.0 rc1. Fixes bug #1421485 From 4a0ea48c8df2f1896a5b6bea5e24ed5d9dd44410 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Mon, 27 Mar 2017 11:43:26 -0700 Subject: [PATCH 108/366] Add a symlink for ansible executables to be accessed via python major version (ie: ansible-3) in addition to python-major-minor (ansible-3.6) --- ansible.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 4fa73c9..3cbdfe3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.2.0 -Release: 0.2.rc1%{?dist} +Release: 0.3.rc1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -229,6 +229,7 @@ popd for i in $RPM_BUILD_ROOT/%{_bindir}/ansible* ; do mv $i $i-%{python3_version} + ln -s %{_bindir}/$(basename $i)-%{python3_version} $i-3 done %endif # with_python3 @@ -236,6 +237,7 @@ done 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 mkdir -p $RPM_BUILD_ROOT/etc/ansible/ @@ -266,7 +268,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* -%exclude %{_bindir}/ansible*%{python3_version} +%exclude %{_bindir}/ansible*-3* %config(noreplace) %{_sysconfdir}/ansible/ %doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* @@ -274,12 +276,16 @@ rm -rf $RPM_BUILD_ROOT %files -n ansible-python3 %defattr(-,root,root,-) %{python3_sitelib}/ansible* -%{_bindir}/ansible*%{python3_version} +%{_bindir}/ansible*-3* %config(noreplace) %{_sysconfdir}/ansible/ %doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* %changelog +* Mon Mar 27 2017 Toshio Kuratomi - - 2.2.2.0-0.3.rc1 +- Add a symlink for ansible executables to be accessed via python major version + (ie: ansible-3) in addition to python-major-minor (ansible-3.6) + * Wed Mar 8 2017 Toshio Kuratomi - - 2.2.2.0-0.2.rc1 - Add a python3 ansible package. Note that upstream doesn't intend for the library to be used by third parties so this is really just for the executables. It's not From 962ab22adce172ea2fe89807fefd656fe77ef294 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Mon, 27 Mar 2017 15:08:11 -0700 Subject: [PATCH 109/366] Add python-crypto and python3-crypto as explicit requirements --- ansible.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 3cbdfe3..0f36176 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.2.0 -Release: 0.3.rc1%{?dist} +Release: 0.4.rc1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -69,6 +69,7 @@ BuildRequires: python-setuptools # We don't run tests on epel6, so don't bother pulling these in there. %if (0%{?fedora} || 0%{?rhel} > 6) BuildRequires: PyYAML +BuildRequires: python-crypto BuildRequires: python-paramiko BuildRequires: python-keyczar BuildRequires: python-six @@ -95,6 +96,7 @@ BuildRequires: python-jinja2 %endif Requires: PyYAML +Requires: python-crypto Requires: python-paramiko Requires: python-keyczar Requires: python-httplib2 @@ -152,6 +154,7 @@ BuildRequires: python3-setuptools # For tests BuildRequires: python3-PyYAML BuildRequires: python3-paramiko +BuildRequires: python3-crypto # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #BuildRequires: python-keyczar @@ -167,6 +170,7 @@ BuildRequires: python3-jinja2 Requires: python3-PyYAML Requires: python3-paramiko +Requires: python3-crypto # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #Requires: python3-keyczar @@ -282,6 +286,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Mon Mar 27 2017 Toshio Kuratomi - - 2.2.2.0-0.4.rc1 +- Add python-crypto and python3-crypto as explicit requirements + * Mon Mar 27 2017 Toshio Kuratomi - - 2.2.2.0-0.3.rc1 - Add a symlink for ansible executables to be accessed via python major version (ie: ansible-3) in addition to python-major-minor (ansible-3.6) From 508047a71ea5d6b1ae3b8a58e9742d48b2b3e7e2 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 28 Mar 2017 19:30:38 -0700 Subject: [PATCH 110/366] 2.2.2.0 final Add new patch to fix unittests --- ...-for-tests-run-with-no-.ssh-user-dir.patch | 68 ++++++++++++++++++ ...ke-openvswitch-pass-py3-sanity-check.patch | 70 ------------------- ansible.spec | 19 +++-- 3 files changed, 81 insertions(+), 76 deletions(-) create mode 100644 0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch delete mode 100644 0001-Make-openvswitch-pass-py3-sanity-check.patch diff --git a/0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch b/0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch new file mode 100644 index 0000000..8bc97f3 --- /dev/null +++ b/0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch @@ -0,0 +1,68 @@ +From 212a1b305da847798557c73b24417a8615c0245e Mon Sep 17 00:00:00 2001 +From: Toshio Kuratomi +Date: Tue, 28 Mar 2017 16:21:06 -0700 +Subject: [PATCH] Fix for tests run with no .ssh user dir + +When building in automated build systems, there are sometimes cases +where the user doing the building does not have a .ssh directory. In +this case, we need to mock out some os.path functions so that the +add_host_key() function we're testing won't complain or try to create +one. +--- + test/units/module_utils/test_known_hosts.py | 29 ++++++++++++++++++----------- + 1 file changed, 18 insertions(+), 11 deletions(-) + +diff --git a/test/units/module_utils/test_known_hosts.py b/test/units/module_utils/test_known_hosts.py +index 0bc8e55..afd93fc 100644 +--- a/test/units/module_utils/test_known_hosts.py ++++ b/test/units/module_utils/test_known_hosts.py +@@ -16,12 +16,13 @@ + # You should have received a copy of the GNU General Public License + # along with Ansible. If not, see . + +-from ansible.compat.tests import unittest +-from ansible.module_utils import known_hosts +- + import json ++import os.path ++ + import ansible.module_utils.basic +-from ansible.compat.tests.mock import Mock ++from ansible.compat.tests import unittest ++from ansible.compat.tests.mock import Mock, patch ++from ansible.module_utils import known_hosts + from units.mock.procenv import swap_stdin_and_argv + + +@@ -91,15 +92,21 @@ class TestAnsibleModuleKnownHosts(unittest.TestCase): + ansible.module_utils.basic._ANSIBLE_ARGS = None + self.module = ansible.module_utils.basic.AnsibleModule(argument_spec=dict()) + ++ get_bin_path = Mock() ++ get_bin_path.return_value = keyscan_cmd = "/custom/path/ssh-keyscan" ++ self.module.get_bin_path = get_bin_path ++ + run_command = Mock() + run_command.return_value = (0, "Needs output, otherwise thinks ssh-keyscan timed out'", "") + self.module.run_command = run_command + +- get_bin_path = Mock() +- get_bin_path.return_value = keyscan_cmd = "/custom/path/ssh-keyscan" +- self.module.get_bin_path = get_bin_path ++ append_to_file = Mock() ++ append_to_file.return_value = (None,) ++ self.module.append_to_file = append_to_file + +- for u in self.urls: +- if self.urls[u]['is_ssh_url']: +- known_hosts.add_host_key(self.module, self.urls[u]['get_fqdn'], port=self.urls[u]['port']) +- run_command.assert_called_with(keyscan_cmd + self.urls[u]['add_host_key_cmd']) ++ with patch('os.path.isdir', return_value=True): ++ with patch('os.path.exists', return_value=True): ++ for u in self.urls: ++ if self.urls[u]['is_ssh_url']: ++ known_hosts.add_host_key(self.module, self.urls[u]['get_fqdn'], port=self.urls[u]['port']) ++ run_command.assert_called_with(keyscan_cmd + self.urls[u]['add_host_key_cmd']) +-- +2.9.3 + diff --git a/0001-Make-openvswitch-pass-py3-sanity-check.patch b/0001-Make-openvswitch-pass-py3-sanity-check.patch deleted file mode 100644 index 7f5ebbe..0000000 --- a/0001-Make-openvswitch-pass-py3-sanity-check.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 18098ad055c3159adcbe1a151bbd1f3b71b653f5 Mon Sep 17 00:00:00 2001 -From: Toshio Kuratomi -Date: Wed, 8 Mar 2017 12:32:47 -0800 -Subject: [PATCH] Make openvswitch* pass py3 sanity check - -(cherry picked from 7f4fdba0c6ab1a00e8be2fc517173d898f305a23) - -diff --git a/network/openvswitch_bridge.py b/network/openvswitch_bridge.py -index 68528dd..abe89df 100644 ---- a/lib/ansible/modules/extras/network/openvswitch_bridge.py -+++ b/lib/ansible/modules/extras/network/openvswitch_bridge.py -@@ -143,7 +143,8 @@ class OVSBridge(object): - changed = True - elif self.state == 'present' and not self.exists(): - changed = True -- except Exception, earg: -+ except Exception: -+ earg = get_exception() - self.module.fail_json(msg=str(earg)) - - # pylint: enable=W0703 -@@ -189,7 +190,8 @@ class OVSBridge(object): - self.set_external_id(key, None)): - changed = True - -- except Exception, earg: -+ except Exception: -+ earg = get_exception() - self.module.fail_json(msg=str(earg)) - # pylint: enable=W0703 - self.module.exit_json(changed=changed) -@@ -267,4 +269,5 @@ def main(): - - # import module snippets - from ansible.module_utils.basic import * -+from ansible.module_utils.pycompat24 import get_exception - main() -diff --git a/network/openvswitch_port.py b/network/openvswitch_port.py -index c2224b5..d2bf31a 100644 ---- a/lib/ansible/modules/extras/network/openvswitch_port.py -+++ b/lib/ansible/modules/extras/network/openvswitch_port.py -@@ -204,7 +204,8 @@ class OVSPort(object): - changed = True - else: - changed = False -- except Exception, earg: -+ except Exception: -+ earg = get_exception() - self.module.fail_json(msg=str(earg)) - self.module.exit_json(changed=changed) - -@@ -235,7 +236,8 @@ class OVSPort(object): - external_id = fmt_opt % (self.port, key, value) - changed = self.set(external_id) or changed - ## -- except Exception, earg: -+ except Exception: -+ earg = get_exception() - self.module.fail_json(msg=str(earg)) - self.module.exit_json(changed=changed) - -@@ -269,4 +271,5 @@ def main(): - - # import module snippets - from ansible.module_utils.basic import * -+from ansible.module_utils.pycompat24 import get_exception - main() --- -2.9.3 - diff --git a/ansible.spec b/ansible.spec index 0f36176..6959cd2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,11 +20,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.2.0 -Release: 0.4.rc1%{?dist} +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ -Source0: http://releases.ansible.com/ansible/%{name}-%{version}-0.1.rc1.tar.gz +Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # To retrieve the unittests, run: # ./get-unittests.sh 2.2.2.0 v2.2.2.0-1 # Replace the first parameter with the version you want in the tarball name @@ -41,7 +41,9 @@ Patch0: ansible-2.1.0.0-control_path.patch Patch1: 0001-Handle-downstream-version-additions.patch # Upstream change to fix python3 compilation for openvswitch modules -Patch2: 0001-Make-openvswitch-pass-py3-sanity-check.patch +#Patch2: 0001-Make-openvswitch-pass-py3-sanity-check.patch +# Upstream fix to a unittest +Patch2: 0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -74,6 +76,7 @@ BuildRequires: python-paramiko BuildRequires: python-keyczar BuildRequires: python-six BuildRequires: python-nose +BuildRequires: python-pytest BuildRequires: python-coverage BuildRequires: python-mock BuildRequires: python-boto3 @@ -197,6 +200,9 @@ This package installs versions of ansible that execute on Python3. %prep %setup -q +# Unittests +tar -xJvf %{SOURCE1} + # RHEL7 doesn't have a recent enough ssh client to use this patch (needs to # support %C in ControlPath). So only apply it on Fedora. %if 0%{?fedora} @@ -210,9 +216,6 @@ This package installs versions of ansible that execute on Python3. %patch100 -p1 %endif -# Unittests -tar -xJvf %{SOURCE1} - %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} @@ -286,6 +289,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %changelog +* Tue Mar 28 2017 Toshio Kuratomi - - 2.2.2.0-1 +- 2.2.2.0 final +- Add new patch to fix unittests + * Mon Mar 27 2017 Toshio Kuratomi - - 2.2.2.0-0.4.rc1 - Add python-crypto and python3-crypto as explicit requirements From eac32495feeb20410d34c57a71b21df5cdc5e50d Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 28 Mar 2017 19:55:54 -0700 Subject: [PATCH 111/366] Remember to upload the new tarballs --- .gitignore | 1 + sources | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e710c6e..2cc7d68 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /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 diff --git a/sources b/sources index e9677d5..83eb0ce 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (ansible-2.2.2.0-0.1.rc1.tar.gz) = 6c6f94dac5549dee821a7dd0a961f37521c6ccff30ba057dfedba9a5ee920c2aceb090535925179d8ed7a39cc880e6c6cfe94626981cf5e5bb2a31b4a1ec153e -SHA512 (ansible-unittests-2.2.2.0.tar.xz) = 8eb4f57839f2a835cbf7fb2cbd58058940875cc0bd7681c105cf5f210220a0f8fbfae6004e55e2550c350dcd47daa6f96aca17b495372f128f6d71190271d5e4 +SHA512 (ansible-unittests-2.2.2.0.tar.xz) = 015659abb9f59a6193768c77c82eeae785ac8d84fa8380c5e05697eaf24e0cc531540e51f766309d16a8987b5d82427fc926cd3d4f96f324ccb36adc42b4fca9 +SHA512 (ansible-2.2.2.0.tar.gz) = e5d902e6c8d67c2b5e1e907dffab7a36505cc96a9748915dd8340f78b6bf5ced2efe2153f621ecceafc75750729d3e2e26c9c7c95b3a6d15838e6c36de8b8b60 From e63d7304e7467a1e224063ecc9b5e830fc63747d Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 28 Mar 2017 23:00:06 -0600 Subject: [PATCH 112/366] Conditionalize python3 files for epel builds. --- ansible.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 6959cd2..3495854 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -280,6 +280,7 @@ rm -rf $RPM_BUILD_ROOT %doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* +%if 0%{?with_python3} %files -n ansible-python3 %defattr(-,root,root,-) %{python3_sitelib}/ansible* @@ -287,8 +288,12 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/ansible/ %doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* +%endif # python3 %changelog +* Tue Mar 28 2017 Kevin Fenzi - 2.2.2.0-2 +- Conditionalize python3 files for epel builds. + * Tue Mar 28 2017 Toshio Kuratomi - - 2.2.2.0-1 - 2.2.2.0 final - Add new patch to fix unittests From e81e13bd7885cbc7628496cf422556df63a24b76 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 28 Mar 2017 23:42:01 -0600 Subject: [PATCH 113/366] Deal with RHEL7 pytest vs python-pytest. Rebase epel6 newer jinja patch. Conditionalize exclude for RHEL6 rpm. --- ansible-newer-jinja.patch | 10 +++++----- ansible.spec | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch index 47d61e8..08f1773 100644 --- a/ansible-newer-jinja.patch +++ b/ansible-newer-jinja.patch @@ -1,11 +1,11 @@ -diff -up ansible-2.0.0.2/setup.py.bak ansible-2.0.0.2/setup.py ---- ansible-2.0.0.2/setup.py.bak 2016-02-04 21:35:01.448634875 -0800 -+++ ansible-2.0.0.2/setup.py 2016-02-04 21:35:21.766665402 -0800 -@@ -22,7 +22,7 @@ setup(name='ansible', +diff -Nur ansible-2.2.2.0.orig/setup.py ansible-2.2.2.0/setup.py +--- ansible-2.2.2.0.orig/setup.py 2017-03-27 14:33:16.000000000 -0600 ++++ ansible-2.2.2.0/setup.py 2017-03-28 23:20:16.248133620 -0600 +@@ -22,7 +22,7 @@ license='GPLv3', # Ansible will also make use of a system copy of python-six if installed but use a # Bundled copy if it's not. -- install_requires=['paramiko', 'jinja2 < 2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], +- install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], + install_requires=['paramiko', 'jinja2 >= 2.6, < 2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], package_dir={ '': 'lib' }, packages=find_packages('lib'), diff --git a/ansible.spec b/ansible.spec index 3495854..afa5929 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.2.2.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -76,12 +76,17 @@ BuildRequires: python-paramiko BuildRequires: python-keyczar BuildRequires: python-six BuildRequires: python-nose -BuildRequires: python-pytest BuildRequires: python-coverage BuildRequires: python-mock BuildRequires: python-boto3 BuildRequires: python-botocore BuildRequires: python-passlib +# rhel7 does not have python-pytest but has pytest +%if 0%{?rhel} > 6 +BuildRequires: pytest +%else +BuildRequires: python-pytest +%endif %endif %if (0%{?rhel} && 0%{?rhel} <= 6) @@ -275,7 +280,9 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %{python_sitelib}/ansible* %{_bindir}/ansible* +%if 0%{?with_python3} %exclude %{_bindir}/ansible*-3* +%endif # python3 %config(noreplace) %{_sysconfdir}/ansible/ %doc README.md PKG-INFO COPYING CHANGELOG.md %doc %{_mandir}/man1/ansible* @@ -291,6 +298,11 @@ rm -rf $RPM_BUILD_ROOT %endif # python3 %changelog +* Tue Mar 28 2017 Kevin Fenzi - 2.2.2.0-3 +- Deal with RHEL7 pytest vs python-pytest. +- Rebase epel6 newer jinja patch. +- Conditionalize exclude for RHEL6 rpm. + * Tue Mar 28 2017 Kevin Fenzi - 2.2.2.0-2 - Conditionalize python3 files for epel builds. From 645b44d0eeca0e37e6c6758c2f595fcafcc8e77d Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 12 Apr 2017 12:36:52 -0700 Subject: [PATCH 114/366] Update to 2.3.0 Remove upstreamed patches Remove controlpersist socket path path as a custom solution was included upstream Run the unittests from the upstream tarball now instead of having to download separately Build a documentation subpackage --- .gitignore | 1 + ...-for-tests-run-with-no-.ssh-user-dir.patch | 68 ------------ ...-Handle-downstream-version-additions.patch | 56 ---------- ansible-newer-jinja.patch | 24 ++--- ansible.spec | 102 ++++++++++++------ get-unittests.sh | 20 ---- sources | 3 +- 7 files changed, 84 insertions(+), 190 deletions(-) delete mode 100644 0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch delete mode 100644 0001-Handle-downstream-version-additions.patch delete mode 100755 get-unittests.sh diff --git a/.gitignore b/.gitignore index 2cc7d68..87f810a 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ /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 diff --git a/0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch b/0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch deleted file mode 100644 index 8bc97f3..0000000 --- a/0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 212a1b305da847798557c73b24417a8615c0245e Mon Sep 17 00:00:00 2001 -From: Toshio Kuratomi -Date: Tue, 28 Mar 2017 16:21:06 -0700 -Subject: [PATCH] Fix for tests run with no .ssh user dir - -When building in automated build systems, there are sometimes cases -where the user doing the building does not have a .ssh directory. In -this case, we need to mock out some os.path functions so that the -add_host_key() function we're testing won't complain or try to create -one. ---- - test/units/module_utils/test_known_hosts.py | 29 ++++++++++++++++++----------- - 1 file changed, 18 insertions(+), 11 deletions(-) - -diff --git a/test/units/module_utils/test_known_hosts.py b/test/units/module_utils/test_known_hosts.py -index 0bc8e55..afd93fc 100644 ---- a/test/units/module_utils/test_known_hosts.py -+++ b/test/units/module_utils/test_known_hosts.py -@@ -16,12 +16,13 @@ - # You should have received a copy of the GNU General Public License - # along with Ansible. If not, see . - --from ansible.compat.tests import unittest --from ansible.module_utils import known_hosts -- - import json -+import os.path -+ - import ansible.module_utils.basic --from ansible.compat.tests.mock import Mock -+from ansible.compat.tests import unittest -+from ansible.compat.tests.mock import Mock, patch -+from ansible.module_utils import known_hosts - from units.mock.procenv import swap_stdin_and_argv - - -@@ -91,15 +92,21 @@ class TestAnsibleModuleKnownHosts(unittest.TestCase): - ansible.module_utils.basic._ANSIBLE_ARGS = None - self.module = ansible.module_utils.basic.AnsibleModule(argument_spec=dict()) - -+ get_bin_path = Mock() -+ get_bin_path.return_value = keyscan_cmd = "/custom/path/ssh-keyscan" -+ self.module.get_bin_path = get_bin_path -+ - run_command = Mock() - run_command.return_value = (0, "Needs output, otherwise thinks ssh-keyscan timed out'", "") - self.module.run_command = run_command - -- get_bin_path = Mock() -- get_bin_path.return_value = keyscan_cmd = "/custom/path/ssh-keyscan" -- self.module.get_bin_path = get_bin_path -+ append_to_file = Mock() -+ append_to_file.return_value = (None,) -+ self.module.append_to_file = append_to_file - -- for u in self.urls: -- if self.urls[u]['is_ssh_url']: -- known_hosts.add_host_key(self.module, self.urls[u]['get_fqdn'], port=self.urls[u]['port']) -- run_command.assert_called_with(keyscan_cmd + self.urls[u]['add_host_key_cmd']) -+ with patch('os.path.isdir', return_value=True): -+ with patch('os.path.exists', return_value=True): -+ for u in self.urls: -+ if self.urls[u]['is_ssh_url']: -+ known_hosts.add_host_key(self.module, self.urls[u]['get_fqdn'], port=self.urls[u]['port']) -+ run_command.assert_called_with(keyscan_cmd + self.urls[u]['add_host_key_cmd']) --- -2.9.3 - diff --git a/0001-Handle-downstream-version-additions.patch b/0001-Handle-downstream-version-additions.patch deleted file mode 100644 index 54de411..0000000 --- a/0001-Handle-downstream-version-additions.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0bc2d1f25860956f713ef0bdc86e67141360090d Mon Sep 17 00:00:00 2001 -From: Toshio Kuratomi -Date: Wed, 8 Mar 2017 14:06:29 -0800 -Subject: [PATCH] Handle downstream version additions - -Some downstreams want to ship multiple versions of ansible (Either to -have multiple ansible versions or to have a version that uses python3.X -and a version that uses python2.x). When they do this, they append -a version number to the cli scripts in /usr/bin. This patch will remove -those version numbers before trying to find the ansible python module to -import for this commandline ---- - bin/ansible | 26 ++++++++++++++++---------- - 1 file changed, 16 insertions(+), 10 deletions(-) - -diff --git a/bin/ansible b/bin/ansible -index 22dd449..24550b9 100755 ---- a/bin/ansible -+++ b/bin/ansible -@@ -69,17 +69,23 @@ if __name__ == '__main__': - display.debug("starting run") - - sub = None -+ target = me.split('-') -+ if target[-1][0].isdigit(): -+ # Remove any version or pthon version info as downstreams -+ # sometimes add that -+ target = target[:-1] -+ -+ if len(target) > 1: -+ sub = target[1] -+ myclass = "%sCLI" % sub.capitalize() -+ elif target[0] == 'ansible': -+ sub = 'adhoc' -+ myclass = 'AdHocCLI' -+ else: -+ raise AnsibleError("Unknown Ansible alias: %s" % me) -+ - try: -- if me.find('-') != -1: -- target = me.split('-') -- if len(target) > 1: -- sub = target[1] -- myclass = "%sCLI" % sub.capitalize() -- mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass) -- elif me == 'ansible': -- from ansible.cli.adhoc import AdHocCLI as mycli -- else: -- raise AnsibleError("Unknown Ansible alias: %s" % me) -+ mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass) - except ImportError as e: - # ImportError members have changed in py3 - if 'msg' in dir(e): --- -2.9.3 - diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch index 08f1773..575c161 100644 --- a/ansible-newer-jinja.patch +++ b/ansible-newer-jinja.patch @@ -1,12 +1,12 @@ -diff -Nur ansible-2.2.2.0.orig/setup.py ansible-2.2.2.0/setup.py ---- ansible-2.2.2.0.orig/setup.py 2017-03-27 14:33:16.000000000 -0600 -+++ ansible-2.2.2.0/setup.py 2017-03-28 23:20:16.248133620 -0600 -@@ -22,7 +22,7 @@ - license='GPLv3', - # Ansible will also make use of a system copy of python-six if installed but use a - # Bundled copy if it's not. -- install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], -+ install_requires=['paramiko', 'jinja2 >= 2.6, < 2.9', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], - package_dir={ '': 'lib' }, - packages=find_packages('lib'), - package_data={ +diff -up ansible-2.3.0.0/requirements.txt.bak ansible-2.3.0.0/requirements.txt +--- ansible-2.3.0.0/requirements.txt.bak 2017-04-12 08:37:59.217167604 -0700 ++++ ansible-2.3.0.0/requirements.txt 2017-04-12 08:38:33.969286602 -0700 +@@ -3,7 +3,7 @@ + # 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 + pycrypto >= 2.6 diff --git a/ansible.spec b/ansible.spec index afa5929..67122ee 100644 --- a/ansible.spec +++ b/ansible.spec @@ -19,31 +19,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.2.2.0 -Release: 3%{?dist} +Version: 2.3.0.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# To retrieve the unittests, run: -# ./get-unittests.sh 2.2.2.0 v2.2.2.0-1 -# Replace the first parameter with the version you want in the tarball name -# Replace the second parameter with the git tag or hash that you want to sync with -Source1: ansible-unittests-%{version}.tar.xz -Source100: get-unittests.sh - -# Patch control_path in the example config file to use %C so that it is shorter. -# Helps with paths that exceed the system length. -# Upstream issue: https://github.com/ansible/ansible/issues/11536 -Patch0: ansible-2.1.0.0-control_path.patch - -# Make the Ansible cli script work with our addition of python version (upstreamed in 2.3) -Patch1: 0001-Handle-downstream-version-additions.patch - -# Upstream change to fix python3 compilation for openvswitch modules -#Patch2: 0001-Make-openvswitch-pass-py3-sanity-check.patch -# Upstream fix to a unittest -Patch2: 0001-Fix-for-tests-run-with-no-.ssh-user-dir.patch +# Needed for unittests to run. Will be in future upstream tarballs. +Source1: .coveragerc # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -67,6 +50,9 @@ Requires: python26-keyczar BuildRequires: python2-devel BuildRequires: python-setuptools +# For building docs +BuildRequires: python-sphinx + # For tests # We don't run tests on epel6, so don't bother pulling these in there. %if (0%{?fedora} || 0%{?rhel} > 6) @@ -84,8 +70,12 @@ BuildRequires: python-passlib # rhel7 does not have python-pytest but has pytest %if 0%{?rhel} > 6 BuildRequires: pytest +#BuildRequires: python-pytest-xdist +#BuildRequires: python-pytest-mock %else BuildRequires: python-pytest +BuildRequires: python-pytest-xdist +BuildRequires: python-pytest-mock %endif %endif @@ -169,6 +159,8 @@ BuildRequires: python3-crypto BuildRequires: python3-six BuildRequires: python3-nose BuildRequires: python3-pytest +BuildRequires: python3-pytest-xdist +BuildRequires: python3-pytest-mock BuildRequires: python3-coverage BuildRequires: python3-mock BuildRequires: python3-boto3 @@ -201,21 +193,25 @@ are transferred to managed machines automatically. This package installs versions of ansible that execute on Python3. %endif # with_python3 +%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 %prep %setup -q # Unittests -tar -xJvf %{SOURCE1} - -# RHEL7 doesn't have a recent enough ssh client to use this patch (needs to -# support %C in ControlPath). So only apply it on Fedora. -%if 0%{?fedora} -%patch0 -p1 -%endif - -%patch1 -p1 -%patch2 -p1 +#tar -xJvf %{SOURCE1} +cp %{SOURCE1} . %if 0%{?rhel} == 6 %patch100 -p1 @@ -228,11 +224,17 @@ cp -a . %{py3dir} %build %{__python2} setup.py build +# Build docs +# EPEL6/7 don't have a recent enough sphinx to build the docs +%if 0%{?fedora} || 0%{?rhel} >= 8 + make webdocs +%endif %if 0%{?with_python3} %py3_build %endif # with_python3 + %install %if 0%{?with_python3} pushd %{py3dir} @@ -259,14 +261,35 @@ 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%{?fedora} || 0%{?rhel} >= 8 + cp -pr docs/docsite/_build/html . +%endif + %check # RHEL <= 6 doesn't have a new enough python-mock to run the tests -%if 0%{?fedora} || 0%{?rhel} >= 7 +# Currently RHEL <= 7 doesn't have pytest-xdist or a new enough pytest +# Fedora 25 doesn't have a new enough pytest +%if 0%{?fedora} >= 26 || 0%{?rhel} >= 8 +if test -z $(which pytest) ; then + mkdir tests_bin + pushd tests_bin + ln -s `which py.test` pytest + export PATH=$PATH:$(pwd) + popd +fi make tests %if 0%{?with_python3} pushd %{py3dir} +if test -z $(which pytest) ; then + mkdir tests_bin + pushd tests_bin + ln -s `which py.test` pytest + export PATH=$PATH:$(pwd) + popd +fi make tests %endif # python3 @@ -297,7 +320,22 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/ansible* %endif # python3 +%files -n ansible-doc +%doc rst +%if 0%{?fedora} || 0%{?rhel} >= 8 +%doc html +%endif + %changelog +* Wed Apr 12 2017 Toshio Kuratomi - 2.3.0.0-1 +- Update to 2.3.0 +- Remove upstreamed patches +- Remove controlpersist socket path path as a custom solution was included + upstream +- Run the unittests from the upstream tarball now instead of having to download + separately +- Build a documentation subpackage + * Tue Mar 28 2017 Kevin Fenzi - 2.2.2.0-3 - Deal with RHEL7 pytest vs python-pytest. - Rebase epel6 newer jinja patch. diff --git a/get-unittests.sh b/get-unittests.sh deleted file mode 100755 index 88ffcdc..0000000 --- a/get-unittests.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -VERSION="$1" -TAG="$2" - -if test -d ansible-temp ; then - pushd ansible-temp - git checkout devel - git pull --rebase - popd -else - git clone https://github.com/ansible/ansible.git ansible-temp -fi - -pushd ansible-temp -if test -n "$TAG" ; then - git checkout "$TAG" -fi -popd -tar -cJvf "ansible-unittests-$VERSION.tar.xz" -C ansible-temp/ test/units diff --git a/sources b/sources index 83eb0ce..a8c679e 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (ansible-unittests-2.2.2.0.tar.xz) = 015659abb9f59a6193768c77c82eeae785ac8d84fa8380c5e05697eaf24e0cc531540e51f766309d16a8987b5d82427fc926cd3d4f96f324ccb36adc42b4fca9 -SHA512 (ansible-2.2.2.0.tar.gz) = e5d902e6c8d67c2b5e1e907dffab7a36505cc96a9748915dd8340f78b6bf5ced2efe2153f621ecceafc75750729d3e2e26c9c7c95b3a6d15838e6c36de8b8b60 +SHA512 (ansible-2.3.0.0.tar.gz) = 88ac28befefd7a70c36d8c33bc1aba1b0a5ffdea4bddd0b9e6c5488c70057662812208c221e47721c5a194fc30282a33490f196a719d9eb6d9b1e7dcfd1ff941 From 513e7945017fa45ab0a96fdf219e82f4aa4a9aaa Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 12 Apr 2017 12:49:02 -0700 Subject: [PATCH 115/366] One more file needed. Old patch removed --- .coveragerc | 24 ++++++++++++++++++++++++ ansible-2.1.0.0-control_path.patch | 11 ----------- 2 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 .coveragerc delete mode 100644 ansible-2.1.0.0-control_path.patch diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..698302a --- /dev/null +++ b/.coveragerc @@ -0,0 +1,24 @@ +# 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 diff --git a/ansible-2.1.0.0-control_path.patch b/ansible-2.1.0.0-control_path.patch deleted file mode 100644 index 7183dd3..0000000 --- a/ansible-2.1.0.0-control_path.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur ansible-2.1.0.0.orig/examples/ansible.cfg ansible-2.1.0.0/examples/ansible.cfg ---- ansible-2.1.0.0.orig/examples/ansible.cfg 2016-05-25 07:00:55.000000000 -0600 -+++ ansible-2.1.0.0/examples/ansible.cfg 2016-05-25 08:58:31.768143613 -0600 -@@ -286,6 +286,7 @@ - # Example: - # control_path = %(directory)s/%%h-%%r - #control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r -+control_path = %(directory)s/ansible-ssh-%%C - - # Enabling pipelining reduces the number of SSH operations required to - # execute a module on the remote server. This can result in a significant From 1535cd952817d55239bed8eba5ededbb850c6a84 Mon Sep 17 00:00:00 2001 From: James Hogarth Date: Wed, 19 Apr 2017 15:49:00 +0100 Subject: [PATCH 116/366] backport fix for GH upstream issue 22572 until it is in a release --- ansible-pr-23633.patch | 23 +++++++++++++++++++++++ ansible.spec | 9 ++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 ansible-pr-23633.patch diff --git a/ansible-pr-23633.patch b/ansible-pr-23633.patch new file mode 100644 index 0000000..71682de --- /dev/null +++ b/ansible-pr-23633.patch @@ -0,0 +1,23 @@ +From 8a2ca28f73d9e5f64dab0bdbdd445a2ea3caef30 Mon Sep 17 00:00:00 2001 +From: Pat Lathem +Date: Sat, 15 Apr 2017 09:40:54 -0500 +Subject: [PATCH] Make sure to only remove the first directory in the path. The + previous code could affect the entire path and even filenames. + +--- + lib/ansible/galaxy/role.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/ansible/galaxy/role.py b/lib/ansible/galaxy/role.py +index 67bdc95..2a4783f 100644 +--- a/lib/ansible/galaxy/role.py ++++ b/lib/ansible/galaxy/role.py +@@ -316,7 +316,7 @@ def install(self): + # bits that might be in the file for security purposes + # and drop any containing directory, as mentioned above + if member.isreg() or member.issym(): +- parts = member.name.replace(archive_parent_dir, "").split(os.sep) ++ parts = member.name.split(os.sep)[1:] + final_parts = [] + for part in parts: + if part != '..' and '~' not in part and '$' not in part: diff --git a/ansible.spec b/ansible.spec index 67122ee..26dcee3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.3.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -28,6 +28,9 @@ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # Needed for unittests to run. Will be in future upstream tarballs. Source1: .coveragerc +# Fixes a regression in 2.3.0 - see https://github.com/ansible/ansible/issues/22572 +Patch0: ansible-pr-23633.patch + # 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 @@ -208,6 +211,7 @@ This package installs extensive documentation for ansible %prep %setup -q +%patch0 -p1 # Unittests #tar -xJvf %{SOURCE1} @@ -327,6 +331,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Apr 19 2017 James Hogarth - 2.3.0.0-2 +- Backport hotfix to fix ansible-galaxy regression https://github.com/ansible/ansible/issues/22572 + * Wed Apr 12 2017 Toshio Kuratomi - 2.3.0.0-1 - Update to 2.3.0 - Remove upstreamed patches From 9c0928d7a6c4c449e7291dfc8341dcb472fdef25 Mon Sep 17 00:00:00 2001 From: James Hogarth Date: Wed, 19 Apr 2017 21:53:11 +0100 Subject: [PATCH 117/366] update backport patch to the one actually merged upstream --- ansible-pr-23633.patch | 23 ----------------------- ansible-pr-23703.patch | 33 +++++++++++++++++++++++++++++++++ ansible.spec | 7 +++++-- 3 files changed, 38 insertions(+), 25 deletions(-) delete mode 100644 ansible-pr-23633.patch create mode 100644 ansible-pr-23703.patch diff --git a/ansible-pr-23633.patch b/ansible-pr-23633.patch deleted file mode 100644 index 71682de..0000000 --- a/ansible-pr-23633.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 8a2ca28f73d9e5f64dab0bdbdd445a2ea3caef30 Mon Sep 17 00:00:00 2001 -From: Pat Lathem -Date: Sat, 15 Apr 2017 09:40:54 -0500 -Subject: [PATCH] Make sure to only remove the first directory in the path. The - previous code could affect the entire path and even filenames. - ---- - lib/ansible/galaxy/role.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/ansible/galaxy/role.py b/lib/ansible/galaxy/role.py -index 67bdc95..2a4783f 100644 ---- a/lib/ansible/galaxy/role.py -+++ b/lib/ansible/galaxy/role.py -@@ -316,7 +316,7 @@ def install(self): - # bits that might be in the file for security purposes - # and drop any containing directory, as mentioned above - if member.isreg() or member.issym(): -- parts = member.name.replace(archive_parent_dir, "").split(os.sep) -+ parts = member.name.split(os.sep)[1:] - final_parts = [] - for part in parts: - if part != '..' and '~' not in part and '$' not in part: diff --git a/ansible-pr-23703.patch b/ansible-pr-23703.patch new file mode 100644 index 0000000..9426e22 --- /dev/null +++ b/ansible-pr-23703.patch @@ -0,0 +1,33 @@ +From b9ee0c547797f253771489542f0f5ac08bf04bf6 Mon Sep 17 00:00:00 2001 +From: Timo Benk +Date: Wed, 19 Apr 2017 20:15:20 +0200 +Subject: [PATCH] fix ansible galaxy file mangling (#23703) + +without this patch, ansible-galaxy will mangle files containing +the archive parent directory name, eg 'owncloud/files/owncloud.cron' +will become 'owncloud/files/.cron'. + +The previous code could affect the entire path and even filenames. +If a file path has the top level dir name as a substring, galaxy +replaces it with ''. In one example, the archive top level dir +is 'go', so 'files/go-bin.sh' becomes 'files/-bin.sh'. + +Fixes #22572, #23694, #23623 +(cherry picked from commit 79943b86a1ee9338049149824bbb12f99d8186ee) +--- + lib/ansible/galaxy/role.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/ansible/galaxy/role.py b/lib/ansible/galaxy/role.py +index 67bdc95..3b89176 100644 +--- a/lib/ansible/galaxy/role.py ++++ b/lib/ansible/galaxy/role.py +@@ -316,7 +316,7 @@ def install(self): + # bits that might be in the file for security purposes + # and drop any containing directory, as mentioned above + if member.isreg() or member.issym(): +- parts = member.name.replace(archive_parent_dir, "").split(os.sep) ++ parts = member.name.replace(archive_parent_dir, "", 1).split(os.sep) + final_parts = [] + for part in parts: + if part != '..' and '~' not in part and '$' not in part: diff --git a/ansible.spec b/ansible.spec index 26dcee3..5b9112d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.3.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -29,7 +29,7 @@ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz Source1: .coveragerc # Fixes a regression in 2.3.0 - see https://github.com/ansible/ansible/issues/22572 -Patch0: ansible-pr-23633.patch +Patch0: ansible-pr-23703.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -331,6 +331,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Apr 19 2017 James Hogarth - 2.3.0.0-3 +- Update backported patch to the one actually merged upstream + * Wed Apr 19 2017 James Hogarth - 2.3.0.0-2 - Backport hotfix to fix ansible-galaxy regression https://github.com/ansible/ansible/issues/22572 From 93d2d6582ead004a77077041b03de962f8850fd2 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 1 Jun 2017 15:37:11 -0600 Subject: [PATCH 118/366] Update to 2.3.1.0. --- .gitignore | 1 + ansible-pr-23703.patch | 33 --------------------------------- ansible.spec | 17 +++++------------ sources | 2 +- 4 files changed, 7 insertions(+), 46 deletions(-) delete mode 100644 ansible-pr-23703.patch diff --git a/.gitignore b/.gitignore index 87f810a..6b8fb84 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ /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 diff --git a/ansible-pr-23703.patch b/ansible-pr-23703.patch deleted file mode 100644 index 9426e22..0000000 --- a/ansible-pr-23703.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b9ee0c547797f253771489542f0f5ac08bf04bf6 Mon Sep 17 00:00:00 2001 -From: Timo Benk -Date: Wed, 19 Apr 2017 20:15:20 +0200 -Subject: [PATCH] fix ansible galaxy file mangling (#23703) - -without this patch, ansible-galaxy will mangle files containing -the archive parent directory name, eg 'owncloud/files/owncloud.cron' -will become 'owncloud/files/.cron'. - -The previous code could affect the entire path and even filenames. -If a file path has the top level dir name as a substring, galaxy -replaces it with ''. In one example, the archive top level dir -is 'go', so 'files/go-bin.sh' becomes 'files/-bin.sh'. - -Fixes #22572, #23694, #23623 -(cherry picked from commit 79943b86a1ee9338049149824bbb12f99d8186ee) ---- - lib/ansible/galaxy/role.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/ansible/galaxy/role.py b/lib/ansible/galaxy/role.py -index 67bdc95..3b89176 100644 ---- a/lib/ansible/galaxy/role.py -+++ b/lib/ansible/galaxy/role.py -@@ -316,7 +316,7 @@ def install(self): - # bits that might be in the file for security purposes - # and drop any containing directory, as mentioned above - if member.isreg() or member.issym(): -- parts = member.name.replace(archive_parent_dir, "").split(os.sep) -+ parts = member.name.replace(archive_parent_dir, "", 1).split(os.sep) - final_parts = [] - for part in parts: - if part != '..' and '~' not in part and '$' not in part: diff --git a/ansible.spec b/ansible.spec index 5b9112d..60d9508 100644 --- a/ansible.spec +++ b/ansible.spec @@ -19,17 +19,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.3.0.0 -Release: 3%{?dist} +Version: 2.3.1.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# Needed for unittests to run. Will be in future upstream tarballs. -Source1: .coveragerc - -# Fixes a regression in 2.3.0 - see https://github.com/ansible/ansible/issues/22572 -Patch0: ansible-pr-23703.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -211,11 +206,6 @@ This package installs extensive documentation for ansible %prep %setup -q -%patch0 -p1 - -# Unittests -#tar -xJvf %{SOURCE1} -cp %{SOURCE1} . %if 0%{?rhel} == 6 %patch100 -p1 @@ -331,6 +321,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Thu Jun 01 2017 Kevin Fenzi - 2.3.1.0-1 +- Update to 2.3.1.0. + * Wed Apr 19 2017 James Hogarth - 2.3.0.0-3 - Update backported patch to the one actually merged upstream diff --git a/sources b/sources index a8c679e..479edf9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.3.0.0.tar.gz) = 88ac28befefd7a70c36d8c33bc1aba1b0a5ffdea4bddd0b9e6c5488c70057662812208c221e47721c5a194fc30282a33490f196a719d9eb6d9b1e7dcfd1ff941 +SHA512 (ansible-2.3.1.0.tar.gz) = 7b4b33c56a15c41d756f095944d7a0dbf894557350879430df21061b717b9574aae624a276bf7e1a13d043b718aeaccac1ce510a3cb085983311ddf06fa832bc From 54ddfccafc5d80d0cf97f2cb2babd280c922425f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 02:53:45 +0000 Subject: [PATCH 119/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 60d9508..7002501 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.3.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -321,6 +321,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 2.3.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Thu Jun 01 2017 Kevin Fenzi - 2.3.1.0-1 - Update to 2.3.1.0. From 3950c5bd62e720b992546311af4fef51a6e1d51a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 8 Aug 2017 11:37:04 -0700 Subject: [PATCH 120/366] Update to 2.3.2. Fixes bugs #1471017 #1461116 #1465586 --- .gitignore | 1 + ansible.spec | 13 ++++++++++--- sources | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6b8fb84..a080804 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 7002501..b738f15 100644 --- a/ansible.spec +++ b/ansible.spec @@ -19,12 +19,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.3.1.0 -Release: 2%{?dist} +Version: 2.3.2.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ -Source0: http://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +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. @@ -99,6 +99,8 @@ Requires: python-httplib2 Requires: python-setuptools Requires: python-six Requires: sshpass +# needed for json_query filter +Requires: python3-jmespath %endif %if 0%{?rhel} == 6 @@ -176,6 +178,8 @@ Requires: python3-setuptools Requires: python3-six Requires: python3-jinja2 Requires: sshpass +# needed for json_query filter +Requires: python3-jmespath %endif @@ -321,6 +325,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Tue Aug 08 2017 Kevin Fenzi - 2.3.2.0-1 +- Update to 2.3.2. Fixes bugs #1471017 #1461116 #1465586 + * Wed Jul 26 2017 Fedora Release Engineering - 2.3.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild diff --git a/sources b/sources index 479edf9..6532af3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.3.1.0.tar.gz) = 7b4b33c56a15c41d756f095944d7a0dbf894557350879430df21061b717b9574aae624a276bf7e1a13d043b718aeaccac1ce510a3cb085983311ddf06fa832bc +SHA512 (ansible-2.3.2.0.tar.gz) = 458506da8ae65a80b442834c6047f02eb92acf9f7dd4465c63b4360c4c4817a0f7c48c92a614b91760a54d036ed13f417edf3524bb8a34a8a53ceb11efc928ac From f6a5cb0b144edd9cf19f77564d31ff4a3e62eb71 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 8 Aug 2017 11:39:44 -0700 Subject: [PATCH 121/366] fix typo in jmespath requires --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index b738f15..7c8928b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -100,7 +100,7 @@ Requires: python-setuptools Requires: python-six Requires: sshpass # needed for json_query filter -Requires: python3-jmespath +Requires: python2-jmespath %endif %if 0%{?rhel} == 6 From 4a6a6cade0fd1d4392caffef2ba3d292b576e3f4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 19 Sep 2017 14:33:03 -0700 Subject: [PATCH 122/366] Update to 2.4.0. --- .gitignore | 1 + 30568.patch | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++ ansible.spec | 8 ++- sources | 2 +- 4 files changed, 178 insertions(+), 2 deletions(-) create mode 100644 30568.patch diff --git a/.gitignore b/.gitignore index a080804..4707613 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ /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 diff --git a/30568.patch b/30568.patch new file mode 100644 index 0000000..b1991e6 --- /dev/null +++ b/30568.patch @@ -0,0 +1,169 @@ +From 4a407ade9f00d9731df1b588d120b1634f07af4c Mon Sep 17 00:00:00 2001 +From: Toshio Kuratomi +Date: Tue, 19 Sep 2017 11:51:07 -0700 +Subject: [PATCH] Fix jenkins_plugin test for no net situations + +Unittests are sometimes run without network connectivity in build +systems. Make that work correctly by mocking out _get_url_data with the +expected return value. +--- + .../web_infrastructure/test_jenkins_plugin.py | 127 ++++++++++++++++++++- + 1 file changed, 122 insertions(+), 5 deletions(-) + +diff --git a/test/units/modules/web_infrastructure/test_jenkins_plugin.py b/test/units/modules/web_infrastructure/test_jenkins_plugin.py +index c7955b684f1d0..ea3adce478745 100644 +--- a/test/units/modules/web_infrastructure/test_jenkins_plugin.py ++++ b/test/units/modules/web_infrastructure/test_jenkins_plugin.py +@@ -1,5 +1,5 @@ + import collections +-import mock ++from io import BytesIO + + from ansible.modules.web_infrastructure.jenkins_plugin import JenkinsPlugin + +@@ -8,24 +8,141 @@ def pass_function(*args, **kwargs): + pass + + ++GITHUB_DATA = {"url": u'https://api.github.com/repos/ansible/ansible', ++ "response": b""" ++{ ++ "id": 3638964, ++ "name": "ansible", ++ "full_name": "ansible/ansible", ++ "owner": { ++ "login": "ansible", ++ "id": 1507452, ++ "avatar_url": "https://avatars2.githubusercontent.com/u/1507452?v=4", ++ "gravatar_id": "", ++ "url": "https://api.github.com/users/ansible", ++ "html_url": "https://github.com/ansible", ++ "followers_url": "https://api.github.com/users/ansible/followers", ++ "following_url": "https://api.github.com/users/ansible/following{/other_user}", ++ "gists_url": "https://api.github.com/users/ansible/gists{/gist_id}", ++ "starred_url": "https://api.github.com/users/ansible/starred{/owner}{/repo}", ++ "subscriptions_url": "https://api.github.com/users/ansible/subscriptions", ++ "organizations_url": "https://api.github.com/users/ansible/orgs", ++ "repos_url": "https://api.github.com/users/ansible/repos", ++ "events_url": "https://api.github.com/users/ansible/events{/privacy}", ++ "received_events_url": "https://api.github.com/users/ansible/received_events", ++ "type": "Organization", ++ "site_admin": false ++ }, ++ "private": false, ++ "html_url": "https://github.com/ansible/ansible", ++ "description": "Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy.", ++ "fork": false, ++ "url": "https://api.github.com/repos/ansible/ansible", ++ "forks_url": "https://api.github.com/repos/ansible/ansible/forks", ++ "keys_url": "https://api.github.com/repos/ansible/ansible/keys{/key_id}", ++ "collaborators_url": "https://api.github.com/repos/ansible/ansible/collaborators{/collaborator}", ++ "teams_url": "https://api.github.com/repos/ansible/ansible/teams", ++ "hooks_url": "https://api.github.com/repos/ansible/ansible/hooks", ++ "issue_events_url": "https://api.github.com/repos/ansible/ansible/issues/events{/number}", ++ "events_url": "https://api.github.com/repos/ansible/ansible/events", ++ "assignees_url": "https://api.github.com/repos/ansible/ansible/assignees{/user}", ++ "branches_url": "https://api.github.com/repos/ansible/ansible/branches{/branch}", ++ "tags_url": "https://api.github.com/repos/ansible/ansible/tags", ++ "blobs_url": "https://api.github.com/repos/ansible/ansible/git/blobs{/sha}", ++ "git_tags_url": "https://api.github.com/repos/ansible/ansible/git/tags{/sha}", ++ "git_refs_url": "https://api.github.com/repos/ansible/ansible/git/refs{/sha}", ++ "trees_url": "https://api.github.com/repos/ansible/ansible/git/trees{/sha}", ++ "statuses_url": "https://api.github.com/repos/ansible/ansible/statuses/{sha}", ++ "languages_url": "https://api.github.com/repos/ansible/ansible/languages", ++ "stargazers_url": "https://api.github.com/repos/ansible/ansible/stargazers", ++ "contributors_url": "https://api.github.com/repos/ansible/ansible/contributors", ++ "subscribers_url": "https://api.github.com/repos/ansible/ansible/subscribers", ++ "subscription_url": "https://api.github.com/repos/ansible/ansible/subscription", ++ "commits_url": "https://api.github.com/repos/ansible/ansible/commits{/sha}", ++ "git_commits_url": "https://api.github.com/repos/ansible/ansible/git/commits{/sha}", ++ "comments_url": "https://api.github.com/repos/ansible/ansible/comments{/number}", ++ "issue_comment_url": "https://api.github.com/repos/ansible/ansible/issues/comments{/number}", ++ "contents_url": "https://api.github.com/repos/ansible/ansible/contents/{+path}", ++ "compare_url": "https://api.github.com/repos/ansible/ansible/compare/{base}...{head}", ++ "merges_url": "https://api.github.com/repos/ansible/ansible/merges", ++ "archive_url": "https://api.github.com/repos/ansible/ansible/{archive_format}{/ref}", ++ "downloads_url": "https://api.github.com/repos/ansible/ansible/downloads", ++ "issues_url": "https://api.github.com/repos/ansible/ansible/issues{/number}", ++ "pulls_url": "https://api.github.com/repos/ansible/ansible/pulls{/number}", ++ "milestones_url": "https://api.github.com/repos/ansible/ansible/milestones{/number}", ++ "notifications_url": "https://api.github.com/repos/ansible/ansible/notifications{?since,all,participating}", ++ "labels_url": "https://api.github.com/repos/ansible/ansible/labels{/name}", ++ "releases_url": "https://api.github.com/repos/ansible/ansible/releases{/id}", ++ "deployments_url": "https://api.github.com/repos/ansible/ansible/deployments", ++ "created_at": "2012-03-06T14:58:02Z", ++ "updated_at": "2017-09-19T18:10:54Z", ++ "pushed_at": "2017-09-19T18:04:51Z", ++ "git_url": "git://github.com/ansible/ansible.git", ++ "ssh_url": "git@github.com:ansible/ansible.git", ++ "clone_url": "https://github.com/ansible/ansible.git", ++ "svn_url": "https://github.com/ansible/ansible", ++ "homepage": "https://www.ansible.com/", ++ "size": 91174, ++ "stargazers_count": 25552, ++ "watchers_count": 25552, ++ "language": "Python", ++ "has_issues": true, ++ "has_projects": true, ++ "has_downloads": true, ++ "has_wiki": false, ++ "has_pages": false, ++ "forks_count": 8893, ++ "mirror_url": null, ++ "open_issues_count": 4283, ++ "forks": 8893, ++ "open_issues": 4283, ++ "watchers": 25552, ++ "default_branch": "devel", ++ "organization": { ++ "login": "ansible", ++ "id": 1507452, ++ "avatar_url": "https://avatars2.githubusercontent.com/u/1507452?v=4", ++ "gravatar_id": "", ++ "url": "https://api.github.com/users/ansible", ++ "html_url": "https://github.com/ansible", ++ "followers_url": "https://api.github.com/users/ansible/followers", ++ "following_url": "https://api.github.com/users/ansible/following{/other_user}", ++ "gists_url": "https://api.github.com/users/ansible/gists{/gist_id}", ++ "starred_url": "https://api.github.com/users/ansible/starred{/owner}{/repo}", ++ "subscriptions_url": "https://api.github.com/users/ansible/subscriptions", ++ "organizations_url": "https://api.github.com/users/ansible/orgs", ++ "repos_url": "https://api.github.com/users/ansible/repos", ++ "events_url": "https://api.github.com/users/ansible/events{/privacy}", ++ "received_events_url": "https://api.github.com/users/ansible/received_events", ++ "type": "Organization", ++ "site_admin": false ++ }, ++ "network_count": 8893, ++ "subscribers_count": 1733 ++} ++""" ++ } ++ ++ + def test__get_json_data(mocker): + "test the json conversion of _get_url_data" + +- url = 'https://api.github.com/repos/ansible/ansible' + timeout = 30 + params = { +- 'url': url, ++ 'url': GITHUB_DATA['url'], + 'timeout': timeout + } +- module = mock.Mock() ++ module = mocker.Mock() + module.params = params + + JenkinsPlugin._csrf_enabled = pass_function + JenkinsPlugin._get_installed_plugins = pass_function ++ JenkinsPlugin._get_url_data = mocker.Mock() ++ JenkinsPlugin._get_url_data.return_value = BytesIO(GITHUB_DATA['response']) + jenkins_plugin = JenkinsPlugin(module) + + json_data = jenkins_plugin._get_json_data( +- "{url}".format(url=url), ++ "{url}".format(url=GITHUB_DATA['url']), + 'CSRF') + + assert isinstance(json_data, collections.Mapping) diff --git a/ansible.spec b/ansible.spec index 7c8928b..6743944 100644 --- a/ansible.spec +++ b/ansible.spec @@ -19,13 +19,15 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.3.2.0 +Version: 2.4.0.0 Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# jenkins test tries to download data from github. +Patch0: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/30568.patch # 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 @@ -211,6 +213,7 @@ This package installs extensive documentation for ansible %prep %setup -q +%patch0 -p1 %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -325,6 +328,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Tue Sep 19 2017 Kevin Fenzi - 2.4.0.0-1 +- 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 diff --git a/sources b/sources index 6532af3..e0df187 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.3.2.0.tar.gz) = 458506da8ae65a80b442834c6047f02eb92acf9f7dd4465c63b4360c4c4817a0f7c48c92a614b91760a54d036ed13f417edf3524bb8a34a8a53ceb11efc928ac +SHA512 (ansible-2.4.0.0.tar.gz) = 78717b19599bdd46a7285b0b2a4c9d0d5b4cb86fd41dcf0b3340cf65945a55fae4508097058098fbeab871422c31d4f37ab4cd149abfd0af5add6004f65a207b From c9b6b49c75df0bbefc4df7f671465a67166fa487 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 26 Sep 2017 15:56:06 -0700 Subject: [PATCH 123/366] Rebase rhel6 jinja2 patch. Conditionalize jmespath to work around amazon linux issues. Fixes bug #1494640 --- ansible-newer-jinja.patch | 8 ++++---- ansible.spec | 19 ++++++++----------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch index 575c161..815b411 100644 --- a/ansible-newer-jinja.patch +++ b/ansible-newer-jinja.patch @@ -1,6 +1,6 @@ -diff -up ansible-2.3.0.0/requirements.txt.bak ansible-2.3.0.0/requirements.txt ---- ansible-2.3.0.0/requirements.txt.bak 2017-04-12 08:37:59.217167604 -0700 -+++ ansible-2.3.0.0/requirements.txt 2017-04-12 08:38:33.969286602 -0700 +diff -Nur ansible-2.4.0.0.orig/requirements.txt ansible-2.4.0.0/requirements.txt +--- ansible-2.4.0.0.orig/requirements.txt 2017-09-18 19:57:14.000000000 -0700 ++++ ansible-2.4.0.0/requirements.txt 2017-09-24 12:06:01.891861185 -0700 @@ -3,7 +3,7 @@ # packages. Thus, this should be the loosest set possible (only required # packages, not optional ones, and with the widest range of versions that could @@ -9,4 +9,4 @@ diff -up ansible-2.3.0.0/requirements.txt.bak ansible-2.3.0.0/requirements.txt +jinja2 >= 2.6 PyYAML paramiko - pycrypto >= 2.6 + cryptography diff --git a/ansible.spec b/ansible.spec index 6743944..6700357 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.4.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -37,16 +37,6 @@ Patch100: ansible-newer-jinja.patch Url: http://ansible.com BuildArch: noarch -%if 0%{?rhel} && 0%{?rhel} <= 5 -BuildRequires: python26-devel - -Requires: python26-PyYAML -Requires: python26-paramiko -Requires: python26-jinja2 -Requires: python26-keyczar - -%else - BuildRequires: python2-devel BuildRequires: python-setuptools @@ -101,7 +91,10 @@ 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 @@ -328,6 +321,10 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Sep 25 2017 Kevin Fenzi - 2.4.0.0-2 +- Rebase rhel6 jinja2 patch. +- 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. From e2fb1a1b13dd4e88333dd299148f757fcff57238 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 12 Oct 2017 23:22:54 -0700 Subject: [PATCH 124/366] clog --- ansible.spec | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 6700357..b862755 100644 --- a/ansible.spec +++ b/ansible.spec @@ -20,7 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.4.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -236,8 +236,15 @@ pushd %{py3dir} popd for i in $RPM_BUILD_ROOT/%{_bindir}/ansible* ; do - mv $i $i-%{python3_version} - ln -s %{_bindir}/$(basename $i)-%{python3_version} $i-3 + if [ $(basename $i) = "ansible-connection" -o $(basename $i) = "ansible" ] ; then + mv $i $i-%{python3_version} + ln -s %{_bindir}/$(basename $i)-%{python3_version} $i-3 + 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 + fi done %endif # with_python3 @@ -321,6 +328,10 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Thu Oct 12 2017 Toshio Kuratomi - - 2.4.0.0-3 +- Fix Python3 subpackage to symlink to the python3 versions of the scripts + instead of the python2 version + * Mon Sep 25 2017 Kevin Fenzi - 2.4.0.0-2 - Rebase rhel6 jinja2 patch. - Conditionalize jmespath to work around amazon linux issues. Fixes bug #1494640 From 304bfb8f0f721d204f037292a115665a8f5e0d15 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 26 Oct 2017 14:29:33 -0700 Subject: [PATCH 125/366] Update to 2.4.1 --- .gitignore | 1 + ansible.spec | 10 +++++----- sources | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 4707613..ca34ba7 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index b862755..0ee7813 100644 --- a/ansible.spec +++ b/ansible.spec @@ -19,15 +19,13 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.4.0.0 -Release: 3%{?dist} +Version: 2.4.1.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# jenkins test tries to download data from github. -Patch0: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/30568.patch # 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 @@ -206,7 +204,6 @@ This package installs extensive documentation for ansible %prep %setup -q -%patch0 -p1 %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -328,6 +325,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Thu Oct 26 2017 Kevin Fenzi - 2.4.1.0-1 +- Update to 2.4.1 + * Thu Oct 12 2017 Toshio Kuratomi - - 2.4.0.0-3 - Fix Python3 subpackage to symlink to the python3 versions of the scripts instead of the python2 version diff --git a/sources b/sources index e0df187..c72fe91 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.4.0.0.tar.gz) = 78717b19599bdd46a7285b0b2a4c9d0d5b4cb86fd41dcf0b3340cf65945a55fae4508097058098fbeab871422c31d4f37ab4cd149abfd0af5add6004f65a207b +SHA512 (ansible-2.4.1.0.tar.gz) = 86bda43d912fc6b9cbf662e7e9e3ca3178ac577bc7857c5dfc0e68a7083d76ad405b0ca9b34f680a0d635b87e0bf5dc8cbdeefb93174242e1942eabb74b07f1d From 009e3041c8d3616bd683cb6f3aca1c0945e2099a Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Fri, 27 Oct 2017 17:07:20 -0500 Subject: [PATCH 126/366] Add %with_docs macro. Add a single macro which replaces the %if 0%{?fedora} || 0%{?rhel} >= 8 lines used to decide if docs should be built. This allows you to also define %with_docs to 0 to do a much quicker package build for local testing. --- ansible.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 0ee7813..142db17 100644 --- a/ansible.spec +++ b/ansible.spec @@ -9,6 +9,12 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif +%if 0%{?fedora} || 0%{?rhel} >= 8 +%global with_docs 1 +%else +%global with_docs 0 +%endif + %if 0%{?fedora} %global with_python3 1 %else @@ -217,7 +223,7 @@ cp -a . %{py3dir} %{__python2} setup.py build # Build docs # EPEL6/7 don't have a recent enough sphinx to build the docs -%if 0%{?fedora} || 0%{?rhel} >= 8 +%if %with_docs make webdocs %endif @@ -260,7 +266,7 @@ 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%{?fedora} || 0%{?rhel} >= 8 +%if %with_docs cp -pr docs/docsite/_build/html . %endif @@ -320,7 +326,7 @@ rm -rf $RPM_BUILD_ROOT %files -n ansible-doc %doc rst -%if 0%{?fedora} || 0%{?rhel} >= 8 +%if %with_docs %doc html %endif From 9b892e818b7bfa86b642a5b3da335d37be69d3ec Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 30 Oct 2017 16:31:13 -0700 Subject: [PATCH 127/366] Add PR to conditionalize docs building. Thanks tibbs! Fix up el6 patches --- ansible-newer-jinja.patch | 12 +++++++----- ansible.spec | 14 +++++++++++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch index 815b411..c393067 100644 --- a/ansible-newer-jinja.patch +++ b/ansible-newer-jinja.patch @@ -1,7 +1,7 @@ -diff -Nur ansible-2.4.0.0.orig/requirements.txt ansible-2.4.0.0/requirements.txt ---- ansible-2.4.0.0.orig/requirements.txt 2017-09-18 19:57:14.000000000 -0700 -+++ ansible-2.4.0.0/requirements.txt 2017-09-24 12:06:01.891861185 -0700 -@@ -3,7 +3,7 @@ +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) @@ -9,4 +9,6 @@ diff -Nur ansible-2.4.0.0.orig/requirements.txt ansible-2.4.0.0/requirements.txt +jinja2 >= 2.6 PyYAML paramiko - cryptography +-cryptography ++pycrypto >= 2.6 + setuptools diff --git a/ansible.spec b/ansible.spec index 142db17..10264cf 100644 --- a/ansible.spec +++ b/ansible.spec @@ -26,7 +26,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.4.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -41,6 +41,14 @@ Patch100: ansible-newer-jinja.patch Url: http://ansible.com BuildArch: noarch +%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 @@ -331,6 +339,10 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Oct 30 2017 Kevin Fenzi kevin@scrye.com - 2.4.1.0-2 +- Add PR to conditionalize docs building. Thanks tibbs! +- Fix up el6 patches + * Thu Oct 26 2017 Kevin Fenzi - 2.4.1.0-1 - Update to 2.4.1 From b8340b93700a58fb964f79cb75153978124fd4bc Mon Sep 17 00:00:00 2001 From: Miroslav Vadkerti Date: Fri, 10 Nov 2017 11:28:13 -0500 Subject: [PATCH 128/366] Make sure python-pytest-xdist is pulled for > RHEL7 Needed for tests to pass. Signed-off-by: Miroslav Vadkerti --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 10264cf..de959c1 100644 --- a/ansible.spec +++ b/ansible.spec @@ -70,7 +70,7 @@ BuildRequires: python-boto3 BuildRequires: python-botocore BuildRequires: python-passlib # rhel7 does not have python-pytest but has pytest -%if 0%{?rhel} > 6 +%if 0%{?rhel} == 7 BuildRequires: pytest #BuildRequires: python-pytest-xdist #BuildRequires: python-pytest-mock From 4aebe9cd1068690ad9d92eaef16b768db510b64b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 29 Nov 2017 14:32:18 -0800 Subject: [PATCH 129/366] Update to 2.4.2. See https://github.com/ansible/ansible/blob/stable-2.4/CHANGELOG.md for full changes. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ca34ba7..e70e740 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index de959c1..ba64974 100644 --- a/ansible.spec +++ b/ansible.spec @@ -25,8 +25,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.4.1.0 -Release: 2%{?dist} +Version: 2.4.2.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -339,6 +339,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Nov 29 2017 Kevin Fenzi - 2.4.2.0-1 +- Update to 2.4.2. See https://github.com/ansible/ansible/blob/stable-2.4/CHANGELOG.md for full changes. + * Mon Oct 30 2017 Kevin Fenzi kevin@scrye.com - 2.4.1.0-2 - Add PR to conditionalize docs building. Thanks tibbs! - Fix up el6 patches diff --git a/sources b/sources index c72fe91..ce4adbf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.4.1.0.tar.gz) = 86bda43d912fc6b9cbf662e7e9e3ca3178ac577bc7857c5dfc0e68a7083d76ad405b0ca9b34f680a0d635b87e0bf5dc8cbdeefb93174242e1942eabb74b07f1d +SHA512 (ansible-2.4.2.0.tar.gz) = 32a075959dca01e184d9c3988fc9c491e904e7627a38e3527c37a8b26340f331bd294cacfe7353d339d15488857ba5ee1b36d9ae4ebeb8b5827934a73f4b42b0 From cd4462fa908eca22ba7bc3a14c23fe7d99475542 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Mon, 8 Jan 2018 11:02:44 -0800 Subject: [PATCH 130/366] Update conditional --- ansible.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index ba64974..6dc5960 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,7 +15,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %global with_docs 0 %endif -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} >= 8 %global with_python3 1 %else %global with_python3 0 @@ -26,7 +26,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.4.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -339,6 +339,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Jan 08 2018 Troy Dawson - 2.4.2.0-2 +- Update conditional + * Wed Nov 29 2017 Kevin Fenzi - 2.4.2.0-1 - Update to 2.4.2. See https://github.com/ansible/ansible/blob/stable-2.4/CHANGELOG.md for full changes. From 0cb7596531a42a90f2fe33810e77afb236f04cad Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 31 Jan 2018 21:50:04 -0800 Subject: [PATCH 131/366] Update to 2.4.3. See https://github.com/ansible/ansible/blob/stable-2.4/CHANGELOG.md for full changes. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e70e740..f207365 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 6dc5960..93b3b16 100644 --- a/ansible.spec +++ b/ansible.spec @@ -25,8 +25,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.4.2.0 -Release: 2%{?dist} +Version: 2.4.3.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -339,6 +339,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Jan 31 2018 Kevin Fenzi - 2.4.3.0-1 +- Update to 2.4.3. See https://github.com/ansible/ansible/blob/stable-2.4/CHANGELOG.md for full changes. + * Mon Jan 08 2018 Troy Dawson - 2.4.2.0-2 - Update conditional diff --git a/sources b/sources index ce4adbf..899b214 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.4.2.0.tar.gz) = 32a075959dca01e184d9c3988fc9c491e904e7627a38e3527c37a8b26340f331bd294cacfe7353d339d15488857ba5ee1b36d9ae4ebeb8b5827934a73f4b42b0 +SHA512 (ansible-2.4.3.0.tar.gz) = a7cda358c67c519c7e5ba248bf47070f21a27203fb29d70d9d75ecf027ba1275d71c0f96493e047281211d172a3be8273d7e08144446284695fb0bc8b94daa82 From 0138e412b353966be27aa66dc0a5e83ae2c45518 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 02:19:19 +0000 Subject: [PATCH 132/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_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 93b3b16..426a3a0 100644 --- a/ansible.spec +++ b/ansible.spec @@ -26,7 +26,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.4.3.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -339,6 +339,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 2.4.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Jan 31 2018 Kevin Fenzi - 2.4.3.0-1 - Update to 2.4.3. See https://github.com/ansible/ansible/blob/stable-2.4/CHANGELOG.md for full changes. From 97f43a151947663a21fc7728668d1eac7024d2c4 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 13 Feb 2018 23:01:41 +0100 Subject: [PATCH 133/366] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- ansible.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 426a3a0..24ef351 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,6 @@ %endif %if 0%{?rhel} <= 5 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %endif %if 0%{?fedora} || 0%{?rhel} >= 8 From 76098deb209c2ded74922cb997f96fdef96e18c1 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 07:50:03 +0100 Subject: [PATCH 134/366] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- ansible.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index 24ef351..5bd5e27 100644 --- a/ansible.spec +++ b/ansible.spec @@ -307,9 +307,6 @@ make tests %endif # New enough Fedora/RHEL -%clean -rm -rf $RPM_BUILD_ROOT - %files %defattr(-,root,root) %{python_sitelib}/ansible* From 0ad4f4982a675f384437dc3ddf2e2cd075808e62 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 27 Mar 2018 09:56:39 -0700 Subject: [PATCH 135/366] Update to 2.5.0. Fixes bug #1559852 Spec changes/improvements with tests, docs, and conditionals. --- .gitignore | 1 + ...5d8ae9831c272d16ce0ae2a57ccff3b445c7.patch | 21 +++ ...6de19ae66263c3623d82db6b93d7d112018a.patch | 62 +++++++ ansible.spec | 156 ++++++++++++------ ...508caa6e99aafb8691b148b41371105d12e7.patch | 41 +++++ sources | 2 +- 6 files changed, 232 insertions(+), 51 deletions(-) create mode 100644 28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch create mode 100644 4b406de19ae66263c3623d82db6b93d7d112018a.patch create mode 100644 f237508caa6e99aafb8691b148b41371105d12e7.patch diff --git a/.gitignore b/.gitignore index f207365..db2219e 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ /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 diff --git a/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch b/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch new file mode 100644 index 0000000..2bea93b --- /dev/null +++ b/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch @@ -0,0 +1,21 @@ +From 28015d8ae9831c272d16ce0ae2a57ccff3b445c7 Mon Sep 17 00:00:00 2001 +From: Brian Coca +Date: Tue, 13 Feb 2018 17:43:26 -0500 +Subject: [PATCH] ensure cli dir exists before saving files to it + +--- + docs/docsite/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/docs/docsite/Makefile b/docs/docsite/Makefile +index 3bb3c454c35..4b5d8d9d203 100644 +--- a/docs/docsite/Makefile ++++ b/docs/docsite/Makefile +@@ -74,6 +74,7 @@ clean: + + # TODO: make generate_man output dir cli option + cli: $(GENERATE_CLI) ++ mkdir -p rst/cli + PYTHONPATH=../../lib $(GENERATE_CLI) --template-file=../templates/cli_rst.j2 --output-dir=rst/cli/ --output-format rst ../../lib/ansible/cli/*.py + + keywords: $(FORMATTER) ../templates/playbooks_keywords.rst.j2 diff --git a/4b406de19ae66263c3623d82db6b93d7d112018a.patch b/4b406de19ae66263c3623d82db6b93d7d112018a.patch new file mode 100644 index 0000000..b8601c3 --- /dev/null +++ b/4b406de19ae66263c3623d82db6b93d7d112018a.patch @@ -0,0 +1,62 @@ +From 4b406de19ae66263c3623d82db6b93d7d112018a Mon Sep 17 00:00:00 2001 +From: Matt Davis +Date: Fri, 23 Mar 2018 05:04:13 -0700 +Subject: [PATCH] pick up missing plugin docs boolean coercion backport + +--- + docs/templates/plugin.rst.j2 | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/docs/templates/plugin.rst.j2 b/docs/templates/plugin.rst.j2 +index 106d82b64ff..2572232c79c 100644 +--- a/docs/templates/plugin.rst.j2 ++++ b/docs/templates/plugin.rst.j2 +@@ -107,7 +107,7 @@ Parameters + {# default / choices #} + +
+- {# Recalculate choices and boolean values #} ++ {# Turn boolean values in 'yes' and 'no' values #} + {% if value.default is defined %} + {% if value.default == true %} + {% set _x = value.update({'default': 'yes'}) %} +@@ -122,10 +122,16 @@ Parameters + {% if value.choices %} +
    Choices: + {% for choice in value.choices %} +- {% if (value.default is string and choice == value.default) or (value.default is iterable and choice in value.default) %} +-
  • @{ choice | escape }@ ←
  • ++ {# Turn boolean values in 'yes' and 'no' values #} ++ {% if choice == true %} ++ {% set choice = 'yes' %} ++ {% elif choice == false %} ++ {% set choice = 'no' %} ++ {% endif %} ++ {% if (value.default is string and value.default == choice) or (value.default is iterable and value.default is not string and choice in value.default) %} ++
  • @{ choice | escape }@ ←
  • + {% else %} +-
  • @{ choice | escape }@
  • ++
  • @{ choice | escape }@
  • + {% endif %} + {% endfor %} +
+@@ -305,7 +311,6 @@ Common return values are documented :ref:`here `, the foll +
+ {% for i in range(1, loop.depth) %} +
 
+-
+ {% endfor %} +
+ @{ key }@ +@@ -324,9 +329,9 @@ Common return values are documented :ref:`here `, the foll + {% endfor %} + {% endif %} +
+- {% if value.sample is defined and value.sample %} ++ {% if value.sample is defined and value.sample %} +
Sample:
+- {# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #} ++ {# TODO: The sample should be escaped, using |escape or |htmlify, but both mess things up beyond repair with dicts #} +
@{ value.sample | replace('\n', '\n ') | html_ify }@
+ {% endif %} +
diff --git a/ansible.spec b/ansible.spec index 5bd5e27..904d077 100644 --- a/ansible.spec +++ b/ansible.spec @@ -5,31 +5,39 @@ %global __python2 /usr/bin/python2.6 %endif -%if 0%{?rhel} <= 5 -%endif - +# RHEL 6 and 7 do not have BuildRequires to build docs %if 0%{?fedora} || 0%{?rhel} >= 8 %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 -%{!?python_sitelib: %global python_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +# 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 Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.4.3.0 -Release: 2%{?dist} +Version: 2.5.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# Docs fixes from master branch +Patch0: https://github.com/ansible/ansible/commit/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch +Patch1: https://github.com/ansible/ansible/commit/f237508caa6e99aafb8691b148b41371105d12e7.patch +Patch2: https://github.com/ansible/ansible/commit/4b406de19ae66263c3623d82db6b93d7d112018a.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -40,6 +48,14 @@ Patch100: ansible-newer-jinja.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. +# +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 @@ -51,8 +67,10 @@ Requires: python26-jinja2 BuildRequires: python2-devel BuildRequires: python-setuptools -# For building docs +# For building docs/tests +BuildRequires: git-core BuildRequires: python-sphinx +BuildRequires: asciidoc # For tests # We don't run tests on epel6, so don't bother pulling these in there. @@ -68,15 +86,16 @@ BuildRequires: python-mock BuildRequires: python-boto3 BuildRequires: python-botocore BuildRequires: python-passlib +# Fedora only docs building +BuildRequires: python2-sphinx-theme-alabaster # rhel7 does not have python-pytest but has pytest %if 0%{?rhel} == 7 BuildRequires: pytest -#BuildRequires: python-pytest-xdist -#BuildRequires: python-pytest-mock %else BuildRequires: python-pytest BuildRequires: python-pytest-xdist BuildRequires: python-pytest-mock +BuildRequires: python-packaging %endif %endif @@ -125,22 +144,16 @@ BuildRequires: python-crypto2.6 BuildRequires: python-simplejson %endif -# -# This is needed to update the old ansible-firewall package that is no -# longer needed. Note that you should also remove ansible-node-firewall manually -# Where you still have it installed. -# -Provides: ansible-fireball = %{version}-%{release} -Obsoletes: ansible-fireball < 1.2.4 %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 @@ -150,8 +163,16 @@ are transferred to managed machines automatically. # 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 @@ -159,6 +180,13 @@ BuildRequires: python3-setuptools BuildRequires: python3-PyYAML BuildRequires: python3-paramiko BuildRequires: python3-crypto +BuildRequires: python3-packaging + +# For Docs/tests +BuildRequires: git-core +BuildRequires: python3-sphinx +BuildRequires: python3-sphinx-theme-alabaster +BuildRequires: asciidoc # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #BuildRequires: python-keyczar @@ -167,6 +195,7 @@ BuildRequires: python3-nose BuildRequires: python3-pytest BuildRequires: python3-pytest-xdist BuildRequires: python3-pytest-mock +BuildRequires: python3-requests BuildRequires: python3-coverage BuildRequires: python3-mock BuildRequires: python3-boto3 @@ -186,11 +215,13 @@ Requires: python3-jinja2 Requires: sshpass # needed for json_query filter Requires: python3-jmespath -%endif -%if 0%{?with_python3} +%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 @@ -199,7 +230,7 @@ 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 # with_python3 +%endif # python3 %package -n ansible-doc Summary: Documentation for Ansible @@ -217,6 +248,10 @@ This package installs extensive documentation for ansible %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -227,15 +262,25 @@ cp -a . %{py3dir} %endif # with_python3 %build +%if 0%{?with_python2} %{__python2} setup.py build -# Build docs -# EPEL6/7 don't have a recent enough sphinx to build the docs -%if %with_docs - make webdocs %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 + pathfix.py -i %{__python3} -p docs/bin + make PYTHON=/usr/bin/python3 webdocs +%endif +%endif + +popd %endif # with_python3 @@ -247,23 +292,32 @@ popd for i in $RPM_BUILD_ROOT/%{_bindir}/ansible* ; do if [ $(basename $i) = "ansible-connection" -o $(basename $i) = "ansible" ] ; then - mv $i $i-%{python3_version} + %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 mkdir -p $RPM_BUILD_ROOT/etc/ansible/ mkdir -p $RPM_BUILD_ROOT/etc/ansible/roles/ @@ -274,7 +328,9 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . %if %with_docs - cp -pr docs/docsite/_build/html . + pushd %{py3dir} + cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html + popd %endif @@ -282,50 +338,43 @@ cp -pr docs/docsite/rst . # 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%{?fedora} >= 26 || 0%{?rhel} >= 8 -if test -z $(which pytest) ; then - mkdir tests_bin - pushd tests_bin - ln -s `which py.test` pytest - export PATH=$PATH:$(pwd) - popd -fi -make tests +%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 test -z $(which pytest) ; then - mkdir tests_bin - pushd tests_bin - ln -s `which py.test` pytest - export PATH=$PATH:$(pwd) - popd -fi -make tests +ln -s /usr/bin/pytest-3 bin/pytest +make PYTHON=/usr/bin/python3 tests-py3 +popd %endif # python3 -%endif # New enough Fedora/RHEL %files %defattr(-,root,root) +%if 0%{?with_python2} %{python_sitelib}/ansible* +%endif %{_bindir}/ansible* -%if 0%{?with_python3} +%if 0%{?with_python3} && 0%{?with_python2} %exclude %{_bindir}/ansible*-3* -%endif # python3 +%endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.md PKG-INFO COPYING CHANGELOG.md +%doc README.md PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst %doc %{_mandir}/man1/ansible* %if 0%{?with_python3} +%if 0%{?with_python2} %files -n ansible-python3 %defattr(-,root,root,-) -%{python3_sitelib}/ansible* -%{_bindir}/ansible*-3* %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.md PKG-INFO COPYING CHANGELOG.md +%doc README.md PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst %doc %{_mandir}/man1/ansible* +%{_bindir}/ansible*-3* +%endif # python2 +%{python3_sitelib}/ansible* %endif # python3 %files -n ansible-doc @@ -335,6 +384,13 @@ make tests %endif %changelog +* Sat Mar 24 2018 Kevin Fenzi - 2.5.0-1 +- Update to 2.5.0. Fixes bug #1559852 +- Spec changes/improvements with tests, docs, and conditionals. + +* Fri Mar 16 2018 Miro Hrončok - 2.4.3.0-3 +- Don't build and ship Python 2 bits on EL > 7 and Fedora > 29 + * Wed Feb 07 2018 Fedora Release Engineering - 2.4.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/f237508caa6e99aafb8691b148b41371105d12e7.patch b/f237508caa6e99aafb8691b148b41371105d12e7.patch new file mode 100644 index 0000000..8293780 --- /dev/null +++ b/f237508caa6e99aafb8691b148b41371105d12e7.patch @@ -0,0 +1,41 @@ +From f237508caa6e99aafb8691b148b41371105d12e7 Mon Sep 17 00:00:00 2001 +From: Dag Wieers +Date: Thu, 22 Mar 2018 22:33:51 +0100 +Subject: [PATCH] Fix nested parameters in module docs (#37793) + +(cherry picked from commit 69c0f96112de16e45cd089d765d43c1573116d35) +--- + docs/templates/plugin.rst.j2 | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/docs/templates/plugin.rst.j2 b/docs/templates/plugin.rst.j2 +index 84bc5a4f66c..106d82b64ff 100644 +--- a/docs/templates/plugin.rst.j2 ++++ b/docs/templates/plugin.rst.j2 +@@ -95,7 +95,7 @@ Parameters + +
+ {% for i in range(1, loop.depth) %} +-
++
 
+ {% endfor %} +
+ @{ key }@ +@@ -240,7 +240,7 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a + +
+ {% for i in range(1, loop.depth) %} +-
++
 
+ {% endfor %} +
+ @{ key }@ +@@ -304,7 +304,7 @@ Common return values are documented :ref:`here `, the foll + +
+ {% for i in range(1, loop.depth) %} +-
++
 
+
+ {% endfor %} +
diff --git a/sources b/sources index 899b214..d895de3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.4.3.0.tar.gz) = a7cda358c67c519c7e5ba248bf47070f21a27203fb29d70d9d75ecf027ba1275d71c0f96493e047281211d172a3be8273d7e08144446284695fb0bc8b94daa82 +SHA512 (ansible-2.5.0.tar.gz) = 93dee0404c5de0a9c8c5b8987f1fb2dbacceb848e8d5b4c70c5a6692d6fe8e9d4bec67d592071346f458b46b9ed2d800609a080d7d4b16266943f32d56a19220 From 58093071f2e3a9e37b208cacf675d4f535eb8d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 27 Mar 2018 19:50:06 +0200 Subject: [PATCH 136/366] Only pull in asciidoc if with_docs --- ansible.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ansible.spec b/ansible.spec index 904d077..fd25a7d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -69,8 +69,10 @@ BuildRequires: python-setuptools # For building docs/tests BuildRequires: git-core +%if %with_docs BuildRequires: python-sphinx BuildRequires: asciidoc +%endif # For tests # We don't run tests on epel6, so don't bother pulling these in there. @@ -184,9 +186,11 @@ BuildRequires: python3-packaging # For Docs/tests BuildRequires: git-core +%if %with_docs BuildRequires: python3-sphinx BuildRequires: python3-sphinx-theme-alabaster BuildRequires: asciidoc +%endif # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #BuildRequires: python-keyczar From e2424d921c5e8818b0d5ac3b5d5b65ca43fa8b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 27 Mar 2018 19:50:29 +0200 Subject: [PATCH 137/366] Make test runner use python3 with python3 tests --- ansible.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ansible.spec b/ansible.spec index fd25a7d..781faa5 100644 --- a/ansible.spec +++ b/ansible.spec @@ -350,6 +350,10 @@ make PYTHON=/usr/bin/python2 tests %if 0%{?with_python3} pushd %{py3dir} ln -s /usr/bin/pytest-3 bin/pytest +# Fedora 26 does not have pathfix ¯\_(ツ)_/¯ +%if (0%{?fedora} > 26) + pathfix.py -i %{__python3} -p test/runner +%endif make PYTHON=/usr/bin/python3 tests-py3 popd %endif # python3 From a6000519c3f9c160e5fddd3824fe5afd76dcecc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 27 Mar 2018 19:52:53 +0200 Subject: [PATCH 138/366] Use python3 test/runner within python3 docs --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 781faa5..5d726cc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -279,7 +279,7 @@ pushd %{py3dir} %if (0%{?fedora} == 26) make PYTHON=/usr/bin/python2 webdocs %else - pathfix.py -i %{__python3} -p docs/bin + pathfix.py -i %{__python3} -p docs/bin test/runner make PYTHON=/usr/bin/python3 webdocs %endif %endif From 0913a71f0d9a8908fcdce9235cf4802dfb8b9f3f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 27 Mar 2018 11:17:17 -0700 Subject: [PATCH 139/366] Some additional python3 fixes. Thanks churchyard! --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 5d726cc..10a50b0 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -392,6 +392,9 @@ popd %endif %changelog +* Tue Mar 27 2018 Kevin Fenzi - 2.5.0-2 +- Some additional python3 fixes. Thanks churchyard! + * Sat Mar 24 2018 Kevin Fenzi - 2.5.0-1 - Update to 2.5.0. Fixes bug #1559852 - Spec changes/improvements with tests, docs, and conditionals. From 71867a79f8262b37b1b34d18d14a4b12605c455b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 27 Mar 2018 21:57:56 +0200 Subject: [PATCH 140/366] Use sphinx-build-3 with python3 docs --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 10a50b0..863f577 100644 --- a/ansible.spec +++ b/ansible.spec @@ -280,7 +280,7 @@ pushd %{py3dir} make PYTHON=/usr/bin/python2 webdocs %else pathfix.py -i %{__python3} -p docs/bin test/runner - make PYTHON=/usr/bin/python3 webdocs + make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs %endif %endif From a2b2fcc56a82e385b2a07b86b021b295b0ec1cfb Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 18 Apr 2018 19:18:59 -0700 Subject: [PATCH 141/366] Update to 2.5.1 with bugfixes. Fixes: #1569270 #1569153 #1566004 #1566001 --- .gitignore | 1 + ansible.spec | 15 +++++++-------- sources | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index db2219e..7b4cb0d 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 863f577..436a211 100644 --- a/ansible.spec +++ b/ansible.spec @@ -28,16 +28,14 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.5.0 -Release: 2%{?dist} +Version: 2.5.1 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # Docs fixes from master branch Patch0: https://github.com/ansible/ansible/commit/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch -Patch1: https://github.com/ansible/ansible/commit/f237508caa6e99aafb8691b148b41371105d12e7.patch -Patch2: https://github.com/ansible/ansible/commit/4b406de19ae66263c3623d82db6b93d7d112018a.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -253,8 +251,6 @@ This package installs extensive documentation for ansible %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 %if 0%{?rhel} == 6 %patch100 -p1 @@ -370,7 +366,7 @@ popd %exclude %{_bindir}/ansible*-3* %endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.md PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst %doc %{_mandir}/man1/ansible* %if 0%{?with_python3} @@ -378,7 +374,7 @@ popd %files -n ansible-python3 %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.md PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst %doc %{_mandir}/man1/ansible* %{_bindir}/ansible*-3* %endif # python2 @@ -392,6 +388,9 @@ popd %endif %changelog +* Wed Apr 18 2018 Kevin Fenzi - 2.5.1-1 +- Update to 2.5.1 with bugfixes. Fixes: #1569270 #1569153 #1566004 #1566001 + * Tue Mar 27 2018 Kevin Fenzi - 2.5.0-2 - Some additional python3 fixes. Thanks churchyard! diff --git a/sources b/sources index d895de3..2a22428 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.5.0.tar.gz) = 93dee0404c5de0a9c8c5b8987f1fb2dbacceb848e8d5b4c70c5a6692d6fe8e9d4bec67d592071346f458b46b9ed2d800609a080d7d4b16266943f32d56a19220 +SHA512 (ansible-2.5.1.tar.gz) = d5ed9ba4bb514b79254a79a89d1572e80c5cfb1db2a67a980184aa3c26ff407f5c5c9bd0efa24f0e00af451d955f3b0d8d9ad3026be71ba7ad12487a1631ad9a From a23f12abbf847fa959d9e66d4d8c546c678d7967 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 26 Apr 2018 13:17:02 -0700 Subject: [PATCH 142/366] Update to 2.5.2 with bugfixes. --- .gitignore | 1 + ansible.spec | 9 ++++----- sources | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 7b4cb0d..56385de 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ /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 diff --git a/ansible.spec b/ansible.spec index 436a211..3bd3976 100644 --- a/ansible.spec +++ b/ansible.spec @@ -28,14 +28,12 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.5.1 +Version: 2.5.2 Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# Docs fixes from master branch -Patch0: https://github.com/ansible/ansible/commit/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -250,8 +248,6 @@ This package installs extensive documentation for ansible %prep %setup -q -%patch0 -p1 - %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -388,6 +384,9 @@ popd %endif %changelog +* Thu Apr 26 2018 Kevin Fenzi - 2.5.2-1 +- Update to 2.5.2 with bugfixes. + * Wed Apr 18 2018 Kevin Fenzi - 2.5.1-1 - Update to 2.5.1 with bugfixes. Fixes: #1569270 #1569153 #1566004 #1566001 diff --git a/sources b/sources index 2a22428..0d2c819 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.5.1.tar.gz) = d5ed9ba4bb514b79254a79a89d1572e80c5cfb1db2a67a980184aa3c26ff407f5c5c9bd0efa24f0e00af451d955f3b0d8d9ad3026be71ba7ad12487a1631ad9a +SHA512 (ansible-2.5.2.tar.gz) = 25568665b96ee9d7ca0888dadd90de178a9cc1da7dba07acb682ca4455ef91622344958ec2000eafbb4cfda87aec325be77d3d5b395aa4bbc2d180fad1a90a34 From 0b2629626ad12116e5884c98d7bb4c0134e00123 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 17 May 2018 19:01:12 -0700 Subject: [PATCH 143/366] Update to 2.5.3. Fixes bug #1579577 and #1574221 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 56385de..4adc35d 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ /ansible-2.5.0.tar.gz /ansible-2.5.1.tar.gz /ansible-2.5.2.tar.gz +/ansible-2.5.3.tar.gz diff --git a/ansible.spec b/ansible.spec index 3bd3976..54d9964 100644 --- a/ansible.spec +++ b/ansible.spec @@ -28,7 +28,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.5.2 +Version: 2.5.3 Release: 1%{?dist} Group: Development/Libraries @@ -384,6 +384,9 @@ popd %endif %changelog +* Thu May 17 2018 Kevin Fenzi - 2.5.3-1 +- Update to 2.5.3. Fixes bug #1579577 and #1574221 + * Thu Apr 26 2018 Kevin Fenzi - 2.5.2-1 - Update to 2.5.2 with bugfixes. diff --git a/sources b/sources index 0d2c819..b74cecb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.5.2.tar.gz) = 25568665b96ee9d7ca0888dadd90de178a9cc1da7dba07acb682ca4455ef91622344958ec2000eafbb4cfda87aec325be77d3d5b395aa4bbc2d180fad1a90a34 +SHA512 (ansible-2.5.3.tar.gz) = 74aa767118773aa557cd43f2a9e17322d7a6b45ea643a9175fe4f613fd4566453dc6f1859768fce179db3331b3beba103e89dfe4eae66ed82b1a83cd7d261269 From abe4d03c6da55ac7de5ab09ca17c2aa3366148f6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 15 Jun 2018 13:40:08 -0700 Subject: [PATCH 144/366] Update to 2.5.5. Fixes bug #1580530 and #1584927 Fixes 1588855,1590200 (fedora) and 1588855,1590199 (epel) CVE-2018-10855 (security bug with no_log handling) --- .gitignore | 1 + ...5d8ae9831c272d16ce0ae2a57ccff3b445c7.patch | 21 --- 30568.patch | 169 ------------------ ...6de19ae66263c3623d82db6b93d7d112018a.patch | 62 ------- ansible.spec | 14 +- ...508caa6e99aafb8691b148b41371105d12e7.patch | 41 ----- sources | 2 +- 7 files changed, 15 insertions(+), 295 deletions(-) delete mode 100644 28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch delete mode 100644 30568.patch delete mode 100644 4b406de19ae66263c3623d82db6b93d7d112018a.patch delete mode 100644 f237508caa6e99aafb8691b148b41371105d12e7.patch diff --git a/.gitignore b/.gitignore index 4adc35d..12dbebf 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ /ansible-2.5.1.tar.gz /ansible-2.5.2.tar.gz /ansible-2.5.3.tar.gz +/ansible-2.5.5.tar.gz diff --git a/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch b/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch deleted file mode 100644 index 2bea93b..0000000 --- a/28015d8ae9831c272d16ce0ae2a57ccff3b445c7.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 28015d8ae9831c272d16ce0ae2a57ccff3b445c7 Mon Sep 17 00:00:00 2001 -From: Brian Coca -Date: Tue, 13 Feb 2018 17:43:26 -0500 -Subject: [PATCH] ensure cli dir exists before saving files to it - ---- - docs/docsite/Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/docs/docsite/Makefile b/docs/docsite/Makefile -index 3bb3c454c35..4b5d8d9d203 100644 ---- a/docs/docsite/Makefile -+++ b/docs/docsite/Makefile -@@ -74,6 +74,7 @@ clean: - - # TODO: make generate_man output dir cli option - cli: $(GENERATE_CLI) -+ mkdir -p rst/cli - PYTHONPATH=../../lib $(GENERATE_CLI) --template-file=../templates/cli_rst.j2 --output-dir=rst/cli/ --output-format rst ../../lib/ansible/cli/*.py - - keywords: $(FORMATTER) ../templates/playbooks_keywords.rst.j2 diff --git a/30568.patch b/30568.patch deleted file mode 100644 index b1991e6..0000000 --- a/30568.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 4a407ade9f00d9731df1b588d120b1634f07af4c Mon Sep 17 00:00:00 2001 -From: Toshio Kuratomi -Date: Tue, 19 Sep 2017 11:51:07 -0700 -Subject: [PATCH] Fix jenkins_plugin test for no net situations - -Unittests are sometimes run without network connectivity in build -systems. Make that work correctly by mocking out _get_url_data with the -expected return value. ---- - .../web_infrastructure/test_jenkins_plugin.py | 127 ++++++++++++++++++++- - 1 file changed, 122 insertions(+), 5 deletions(-) - -diff --git a/test/units/modules/web_infrastructure/test_jenkins_plugin.py b/test/units/modules/web_infrastructure/test_jenkins_plugin.py -index c7955b684f1d0..ea3adce478745 100644 ---- a/test/units/modules/web_infrastructure/test_jenkins_plugin.py -+++ b/test/units/modules/web_infrastructure/test_jenkins_plugin.py -@@ -1,5 +1,5 @@ - import collections --import mock -+from io import BytesIO - - from ansible.modules.web_infrastructure.jenkins_plugin import JenkinsPlugin - -@@ -8,24 +8,141 @@ def pass_function(*args, **kwargs): - pass - - -+GITHUB_DATA = {"url": u'https://api.github.com/repos/ansible/ansible', -+ "response": b""" -+{ -+ "id": 3638964, -+ "name": "ansible", -+ "full_name": "ansible/ansible", -+ "owner": { -+ "login": "ansible", -+ "id": 1507452, -+ "avatar_url": "https://avatars2.githubusercontent.com/u/1507452?v=4", -+ "gravatar_id": "", -+ "url": "https://api.github.com/users/ansible", -+ "html_url": "https://github.com/ansible", -+ "followers_url": "https://api.github.com/users/ansible/followers", -+ "following_url": "https://api.github.com/users/ansible/following{/other_user}", -+ "gists_url": "https://api.github.com/users/ansible/gists{/gist_id}", -+ "starred_url": "https://api.github.com/users/ansible/starred{/owner}{/repo}", -+ "subscriptions_url": "https://api.github.com/users/ansible/subscriptions", -+ "organizations_url": "https://api.github.com/users/ansible/orgs", -+ "repos_url": "https://api.github.com/users/ansible/repos", -+ "events_url": "https://api.github.com/users/ansible/events{/privacy}", -+ "received_events_url": "https://api.github.com/users/ansible/received_events", -+ "type": "Organization", -+ "site_admin": false -+ }, -+ "private": false, -+ "html_url": "https://github.com/ansible/ansible", -+ "description": "Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy.", -+ "fork": false, -+ "url": "https://api.github.com/repos/ansible/ansible", -+ "forks_url": "https://api.github.com/repos/ansible/ansible/forks", -+ "keys_url": "https://api.github.com/repos/ansible/ansible/keys{/key_id}", -+ "collaborators_url": "https://api.github.com/repos/ansible/ansible/collaborators{/collaborator}", -+ "teams_url": "https://api.github.com/repos/ansible/ansible/teams", -+ "hooks_url": "https://api.github.com/repos/ansible/ansible/hooks", -+ "issue_events_url": "https://api.github.com/repos/ansible/ansible/issues/events{/number}", -+ "events_url": "https://api.github.com/repos/ansible/ansible/events", -+ "assignees_url": "https://api.github.com/repos/ansible/ansible/assignees{/user}", -+ "branches_url": "https://api.github.com/repos/ansible/ansible/branches{/branch}", -+ "tags_url": "https://api.github.com/repos/ansible/ansible/tags", -+ "blobs_url": "https://api.github.com/repos/ansible/ansible/git/blobs{/sha}", -+ "git_tags_url": "https://api.github.com/repos/ansible/ansible/git/tags{/sha}", -+ "git_refs_url": "https://api.github.com/repos/ansible/ansible/git/refs{/sha}", -+ "trees_url": "https://api.github.com/repos/ansible/ansible/git/trees{/sha}", -+ "statuses_url": "https://api.github.com/repos/ansible/ansible/statuses/{sha}", -+ "languages_url": "https://api.github.com/repos/ansible/ansible/languages", -+ "stargazers_url": "https://api.github.com/repos/ansible/ansible/stargazers", -+ "contributors_url": "https://api.github.com/repos/ansible/ansible/contributors", -+ "subscribers_url": "https://api.github.com/repos/ansible/ansible/subscribers", -+ "subscription_url": "https://api.github.com/repos/ansible/ansible/subscription", -+ "commits_url": "https://api.github.com/repos/ansible/ansible/commits{/sha}", -+ "git_commits_url": "https://api.github.com/repos/ansible/ansible/git/commits{/sha}", -+ "comments_url": "https://api.github.com/repos/ansible/ansible/comments{/number}", -+ "issue_comment_url": "https://api.github.com/repos/ansible/ansible/issues/comments{/number}", -+ "contents_url": "https://api.github.com/repos/ansible/ansible/contents/{+path}", -+ "compare_url": "https://api.github.com/repos/ansible/ansible/compare/{base}...{head}", -+ "merges_url": "https://api.github.com/repos/ansible/ansible/merges", -+ "archive_url": "https://api.github.com/repos/ansible/ansible/{archive_format}{/ref}", -+ "downloads_url": "https://api.github.com/repos/ansible/ansible/downloads", -+ "issues_url": "https://api.github.com/repos/ansible/ansible/issues{/number}", -+ "pulls_url": "https://api.github.com/repos/ansible/ansible/pulls{/number}", -+ "milestones_url": "https://api.github.com/repos/ansible/ansible/milestones{/number}", -+ "notifications_url": "https://api.github.com/repos/ansible/ansible/notifications{?since,all,participating}", -+ "labels_url": "https://api.github.com/repos/ansible/ansible/labels{/name}", -+ "releases_url": "https://api.github.com/repos/ansible/ansible/releases{/id}", -+ "deployments_url": "https://api.github.com/repos/ansible/ansible/deployments", -+ "created_at": "2012-03-06T14:58:02Z", -+ "updated_at": "2017-09-19T18:10:54Z", -+ "pushed_at": "2017-09-19T18:04:51Z", -+ "git_url": "git://github.com/ansible/ansible.git", -+ "ssh_url": "git@github.com:ansible/ansible.git", -+ "clone_url": "https://github.com/ansible/ansible.git", -+ "svn_url": "https://github.com/ansible/ansible", -+ "homepage": "https://www.ansible.com/", -+ "size": 91174, -+ "stargazers_count": 25552, -+ "watchers_count": 25552, -+ "language": "Python", -+ "has_issues": true, -+ "has_projects": true, -+ "has_downloads": true, -+ "has_wiki": false, -+ "has_pages": false, -+ "forks_count": 8893, -+ "mirror_url": null, -+ "open_issues_count": 4283, -+ "forks": 8893, -+ "open_issues": 4283, -+ "watchers": 25552, -+ "default_branch": "devel", -+ "organization": { -+ "login": "ansible", -+ "id": 1507452, -+ "avatar_url": "https://avatars2.githubusercontent.com/u/1507452?v=4", -+ "gravatar_id": "", -+ "url": "https://api.github.com/users/ansible", -+ "html_url": "https://github.com/ansible", -+ "followers_url": "https://api.github.com/users/ansible/followers", -+ "following_url": "https://api.github.com/users/ansible/following{/other_user}", -+ "gists_url": "https://api.github.com/users/ansible/gists{/gist_id}", -+ "starred_url": "https://api.github.com/users/ansible/starred{/owner}{/repo}", -+ "subscriptions_url": "https://api.github.com/users/ansible/subscriptions", -+ "organizations_url": "https://api.github.com/users/ansible/orgs", -+ "repos_url": "https://api.github.com/users/ansible/repos", -+ "events_url": "https://api.github.com/users/ansible/events{/privacy}", -+ "received_events_url": "https://api.github.com/users/ansible/received_events", -+ "type": "Organization", -+ "site_admin": false -+ }, -+ "network_count": 8893, -+ "subscribers_count": 1733 -+} -+""" -+ } -+ -+ - def test__get_json_data(mocker): - "test the json conversion of _get_url_data" - -- url = 'https://api.github.com/repos/ansible/ansible' - timeout = 30 - params = { -- 'url': url, -+ 'url': GITHUB_DATA['url'], - 'timeout': timeout - } -- module = mock.Mock() -+ module = mocker.Mock() - module.params = params - - JenkinsPlugin._csrf_enabled = pass_function - JenkinsPlugin._get_installed_plugins = pass_function -+ JenkinsPlugin._get_url_data = mocker.Mock() -+ JenkinsPlugin._get_url_data.return_value = BytesIO(GITHUB_DATA['response']) - jenkins_plugin = JenkinsPlugin(module) - - json_data = jenkins_plugin._get_json_data( -- "{url}".format(url=url), -+ "{url}".format(url=GITHUB_DATA['url']), - 'CSRF') - - assert isinstance(json_data, collections.Mapping) diff --git a/4b406de19ae66263c3623d82db6b93d7d112018a.patch b/4b406de19ae66263c3623d82db6b93d7d112018a.patch deleted file mode 100644 index b8601c3..0000000 --- a/4b406de19ae66263c3623d82db6b93d7d112018a.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 4b406de19ae66263c3623d82db6b93d7d112018a Mon Sep 17 00:00:00 2001 -From: Matt Davis -Date: Fri, 23 Mar 2018 05:04:13 -0700 -Subject: [PATCH] pick up missing plugin docs boolean coercion backport - ---- - docs/templates/plugin.rst.j2 | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -diff --git a/docs/templates/plugin.rst.j2 b/docs/templates/plugin.rst.j2 -index 106d82b64ff..2572232c79c 100644 ---- a/docs/templates/plugin.rst.j2 -+++ b/docs/templates/plugin.rst.j2 -@@ -107,7 +107,7 @@ Parameters - {# default / choices #} - -
-- {# Recalculate choices and boolean values #} -+ {# Turn boolean values in 'yes' and 'no' values #} - {% if value.default is defined %} - {% if value.default == true %} - {% set _x = value.update({'default': 'yes'}) %} -@@ -122,10 +122,16 @@ Parameters - {% if value.choices %} -
    Choices: - {% for choice in value.choices %} -- {% if (value.default is string and choice == value.default) or (value.default is iterable and choice in value.default) %} --
  • @{ choice | escape }@ ←
  • -+ {# Turn boolean values in 'yes' and 'no' values #} -+ {% if choice == true %} -+ {% set choice = 'yes' %} -+ {% elif choice == false %} -+ {% set choice = 'no' %} -+ {% endif %} -+ {% if (value.default is string and value.default == choice) or (value.default is iterable and value.default is not string and choice in value.default) %} -+
  • @{ choice | escape }@ ←
  • - {% else %} --
  • @{ choice | escape }@
  • -+
  • @{ choice | escape }@
  • - {% endif %} - {% endfor %} -
-@@ -305,7 +311,6 @@ Common return values are documented :ref:`here `, the foll -
- {% for i in range(1, loop.depth) %} -
 
--
- {% endfor %} -
- @{ key }@ -@@ -324,9 +329,9 @@ Common return values are documented :ref:`here `, the foll - {% endfor %} - {% endif %} -
-- {% if value.sample is defined and value.sample %} -+ {% if value.sample is defined and value.sample %} -
Sample:
-- {# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #} -+ {# TODO: The sample should be escaped, using |escape or |htmlify, but both mess things up beyond repair with dicts #} -
@{ value.sample | replace('\n', '\n ') | html_ify }@
- {% endif %} -
diff --git a/ansible.spec b/ansible.spec index 54d9964..a4f876a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -28,7 +28,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.5.3 +Version: 2.5.5 Release: 1%{?dist} Group: Development/Libraries @@ -94,6 +94,8 @@ BuildRequires: python-pytest BuildRequires: python-pytest-xdist BuildRequires: python-pytest-mock BuildRequires: python-packaging +BuildRequires: python2-pexpect +BuildRequires: python2-winrm %endif %endif @@ -179,6 +181,8 @@ BuildRequires: python3-PyYAML BuildRequires: python3-paramiko BuildRequires: python3-crypto BuildRequires: python3-packaging +BuildRequires: python3-pexpect +BuildRequires: python3-winrm # For Docs/tests BuildRequires: git-core @@ -384,6 +388,14 @@ popd %endif %changelog +* Thu Jun 14 2018 Kevin Fenzi - 2.5.5-1 +- Update to 2.5.5. Fixes bug #1580530 and #1584927 +- Fixes 1588855,1590200 (fedora) and 1588855,1590199 (epel) + CVE-2018-10855 (security bug with no_log handling) + +* Thu May 31 2018 Kevin Fenzi - 2.5.4-1 +- Update to 2.5.4. Fixes bug #1584927 + * Thu May 17 2018 Kevin Fenzi - 2.5.3-1 - Update to 2.5.3. Fixes bug #1579577 and #1574221 diff --git a/f237508caa6e99aafb8691b148b41371105d12e7.patch b/f237508caa6e99aafb8691b148b41371105d12e7.patch deleted file mode 100644 index 8293780..0000000 --- a/f237508caa6e99aafb8691b148b41371105d12e7.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f237508caa6e99aafb8691b148b41371105d12e7 Mon Sep 17 00:00:00 2001 -From: Dag Wieers -Date: Thu, 22 Mar 2018 22:33:51 +0100 -Subject: [PATCH] Fix nested parameters in module docs (#37793) - -(cherry picked from commit 69c0f96112de16e45cd089d765d43c1573116d35) ---- - docs/templates/plugin.rst.j2 | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/docs/templates/plugin.rst.j2 b/docs/templates/plugin.rst.j2 -index 84bc5a4f66c..106d82b64ff 100644 ---- a/docs/templates/plugin.rst.j2 -+++ b/docs/templates/plugin.rst.j2 -@@ -95,7 +95,7 @@ Parameters - -
- {% for i in range(1, loop.depth) %} --
-+
 
- {% endfor %} -
- @{ key }@ -@@ -240,7 +240,7 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a - -
- {% for i in range(1, loop.depth) %} --
-+
 
- {% endfor %} -
- @{ key }@ -@@ -304,7 +304,7 @@ Common return values are documented :ref:`here `, the foll - -
- {% for i in range(1, loop.depth) %} --
-+
 
-
- {% endfor %} -
diff --git a/sources b/sources index b74cecb..9c7c09e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.5.3.tar.gz) = 74aa767118773aa557cd43f2a9e17322d7a6b45ea643a9175fe4f613fd4566453dc6f1859768fce179db3331b3beba103e89dfe4eae66ed82b1a83cd7d261269 +SHA512 (ansible-2.5.5.tar.gz) = a3d50539d2a109dc0bbcdb440e0800b917f63141dce935e6426cb6bdc51e3a93e02f05c23714c24ab00b19842a86677b8d2f2455d20ca15410fa8d3c8ba379ca From fe7c2e786f334bf7ee52d4541af948f89a3a8877 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 15 Jun 2018 17:12:24 -0700 Subject: [PATCH 145/366] Stop building docs on F27 as python-jinja2 is too old there. --- ansible.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index a4f876a..1ec5312 100644 --- a/ansible.spec +++ b/ansible.spec @@ -6,7 +6,8 @@ %endif # RHEL 6 and 7 do not have BuildRequires to build docs -%if 0%{?fedora} || 0%{?rhel} >= 8 +# Fedora 27 and older have too old a jinja2 to build docs +%if 0%{?fedora} > 27 || 0%{?rhel} >= 8 %global with_docs 1 %else %global with_docs 0 @@ -29,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.5.5 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -80,6 +81,7 @@ BuildRequires: python-keyczar BuildRequires: python-six BuildRequires: python-nose BuildRequires: python-coverage +BuildRequires: python-requests BuildRequires: python-mock BuildRequires: python-boto3 BuildRequires: python-botocore @@ -388,6 +390,9 @@ popd %endif %changelog +* Fri Jun 15 2018 Kevin Fenzi - 2.5.5-2 +- Stop building docs on F27 as python-jinja2 is too old there. + * Thu Jun 14 2018 Kevin Fenzi - 2.5.5-1 - Update to 2.5.5. Fixes bug #1580530 and #1584927 - Fixes 1588855,1590200 (fedora) and 1588855,1590199 (epel) From e465ba5998148d5e8c90bbd705ce33ff24922e00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 10:39:36 +0200 Subject: [PATCH 146/366] Rebuilt for Python 3.7 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 1ec5312..11e4716 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.5.5 -Release: 2%{?dist} +Release: 3%{?dist} Group: Development/Libraries License: GPLv3+ @@ -390,6 +390,9 @@ popd %endif %changelog +* Tue Jun 19 2018 Miro Hrončok - 2.5.5-3 +- Rebuilt for Python 3.7 + * Fri Jun 15 2018 Kevin Fenzi - 2.5.5-2 - Stop building docs on F27 as python-jinja2 is too old there. From 480bd7547b9f33c976e6ff73324da62c55fffacf Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Mon, 25 Jun 2018 20:22:28 -0700 Subject: [PATCH 147/366] Fixees docs building * Upstream patch to build docs with older jinja2 (Fedora 27) * Build changes to build only rst docs for modules and plugins when a distro doesn't have modern enough packages to build the documentation. (EPEL7) --- ...upport-building-docs-with-old-jinja2.patch | 194 ++++++++++++++++++ ansible.spec | 32 ++- 2 files changed, 217 insertions(+), 9 deletions(-) create mode 100644 0001-Changes-to-support-building-docs-with-old-jinja2.patch diff --git a/0001-Changes-to-support-building-docs-with-old-jinja2.patch b/0001-Changes-to-support-building-docs-with-old-jinja2.patch new file mode 100644 index 0000000..0ba8fae --- /dev/null +++ b/0001-Changes-to-support-building-docs-with-old-jinja2.patch @@ -0,0 +1,194 @@ +From e348dc28e922c29e0ab1fd61be24ecc6616e34ed Mon Sep 17 00:00:00 2001 +From: Toshio Kuratomi +Date: Mon, 25 Jun 2018 11:27:15 -0700 +Subject: [PATCH] Changes to support building docs with old jinja2 + +This commit: fa5c0282a4816c4dd48e80b983ffc1e14506a1f5 relied upon +features present in Jinja-2.10 and above. The changes here allow us to +build the *rst* with older versions of jinja2. +--- + docs/bin/plugin_formatter.py | 30 +++++++++++++++++ + docs/templates/plugin.rst.j2 | 80 ++++++++++++++++++++++---------------------- + 2 files changed, 70 insertions(+), 40 deletions(-) + +diff --git a/docs/bin/plugin_formatter.py b/docs/bin/plugin_formatter.py +index 5df8b3d86e..330a7540ab 100755 +--- a/docs/bin/plugin_formatter.py ++++ b/docs/bin/plugin_formatter.py +@@ -85,6 +85,28 @@ pp = PrettyPrinter() + display = Display() + + ++# kludge_ns gives us a kludgey way to set variables inside of loops that need to be visible outside ++# the loop. We can get rid of this when we no longer need to build docs with less than Jinja-2.10 ++# http://jinja.pocoo.org/docs/2.10/templates/#assignments ++# With Jinja-2.10 we can use jinja2's namespace feature, restoring the namespace template portion ++# of: fa5c0282a4816c4dd48e80b983ffc1e14506a1f5 ++NS_MAP = {} ++ ++ ++def to_kludge_ns(key, value): ++ NS_MAP[key] = value ++ return "" ++ ++ ++def from_kludge_ns(key): ++ return NS_MAP[key] ++ ++ ++# The max filter was added in Jinja2-2.10. Until we can require that version, use this ++def do_max(seq): ++ return max(seq) ++ ++ + def rst_ify(text): + ''' convert symbols like I(this is in italics) to valid restructured text ''' + +@@ -298,6 +320,14 @@ def jinja2_environment(template_dir, typ, plugin_type): + trim_blocks=True) + env.globals['xline'] = rst_xline + ++ # Can be removed (and template switched to use namespace) when we no longer need to build ++ # with +- {# Pre-compute the nesting depth to allocate columns #} +- {% set ns = namespace(maxdepth=1) %} +- {% for key, value in options|dictsort recursive %} +- {% set ns.maxdepth = [loop.depth, ns.maxdepth] | max %} +- {% if value.suboptions %} +- {% if value.suboptions.items %} +- @{ loop(value.suboptions.items()) }@ +- {% elif value.suboptions[0].items %} +- @{ loop(value.suboptions[0].items()) }@ +- {% endif %} +- {% endif %} +- {% endfor %} +- {# Header of the documentation #} ++ {# Pre-compute the nesting depth to allocate columns -#} ++ @{ to_kludge_ns('maxdepth', 1) -}@ ++ {% for key, value in options|dictsort recursive -%} ++ @{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@ ++ {% if value.suboptions -%} ++ {% if value.suboptions.items -%} ++ @{ loop(value.suboptions.items()) -}@ ++ {% elif value.suboptions[0].items -%} ++ @{ loop(value.suboptions[0].items()) -}@ ++ {% endif -%} ++ {% endif -%} ++ {% endfor -%} ++ {# Header of the documentation -#} + +- Parameter ++ Parameter + Choices/Defaults + {% if plugin_type != 'module' %} + Configuration +@@ -116,7 +116,7 @@ Parameters + + {% endfor %} + {# parameter name with required and/or introduced label #} +- ++ + @{ key }@ + {% if value.get('required', False) %}
required
{% endif %} + {% if value.version_added %}
(added in @{value.version_added}@)
{% endif %} +@@ -246,19 +246,19 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a + + + {# Pre-compute the nesting depth to allocate columns #} +- {% set ns = namespace(maxdepth=1) %} ++ @{ to_kludge_ns('maxdepth', 1) -}@ + {% for key, value in returnfacts|dictsort recursive %} +- {% set ns.maxdepth = [loop.depth, ns.maxdepth] | max %} +- {% if value.contains %} +- {% if value.contains.items %} +- @{ loop(value.contains.items()) }@ +- {% elif value.contains[0].items %} +- @{ loop(value.contains[0].items()) }@ +- {% endif %} +- {% endif %} +- {% endfor %} ++ @{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@ ++ {% if value.contains -%} ++ {% if value.contains.items -%} ++ @{ loop(value.contains.items()) -}@ ++ {% elif value.contains[0].items -%} ++ @{ loop(value.contains[0].items()) -}@ ++ {% endif -%} ++ {% endif -%} ++ {% endfor -%} + +- ++ + + + +@@ -267,7 +267,7 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a + {% for i in range(1, loop.depth) %} + + {% endfor %} +- +@@ -317,19 +317,19 @@ Common return values are documented :ref:`here `, the foll + .. raw:: html + +
FactFactReturnedDescription
++ + @{ key }@ +
@{ value.type }@
+
+- {% set ns = namespace(maxdepth=1) %} +- {% for key, value in returndocs|dictsort recursive %} +- {% set ns.maxdepth = [loop.depth, ns.maxdepth] | max %} +- {% if value.contains %} +- {% if value.contains.items %} +- @{ loop(value.contains.items()) }@ +- {% elif value.contains[0].items %} +- @{ loop(value.contains[0].items()) }@ +- {% endif %} +- {% endif %} +- {% endfor %} ++ @{ to_kludge_ns('maxdepth', 1) -}@ ++ {% for key, value in returndocs|dictsort recursive -%} ++ @{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@ ++ {% if value.contains -%} ++ {% if value.contains.items -%} ++ @{ loop(value.contains.items()) -}@ ++ {% elif value.contains[0].items -%} ++ @{ loop(value.contains[0].items()) -}@ ++ {% endif -%} ++ {% endif -%} ++ {% endfor -%} + +- ++ + + + +@@ -338,7 +338,7 @@ Common return values are documented :ref:`here `, the foll + {% for i in range(1, loop.depth) %} + + {% endfor %} +- +-- +2.14.4 + diff --git a/ansible.spec b/ansible.spec index 11e4716..7e90faa 100644 --- a/ansible.spec +++ b/ansible.spec @@ -7,7 +7,7 @@ # 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 +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 %global with_docs 1 %else %global with_docs 0 @@ -30,12 +30,15 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.5.5 -Release: 3%{?dist} +Release: 4%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# Allow building docs with Jinja < 2.10 +# https://github.com/ansible/ansible/pull/41918 +Patch0: 0001-Changes-to-support-building-docs-with-old-jinja2.patch # 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 @@ -254,6 +257,7 @@ This package installs extensive documentation for ansible %prep %setup -q +%patch0 -p1 %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -273,18 +277,23 @@ 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 - pathfix.py -i %{__python3} -p docs/bin test/runner - make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs -%endif + # Fedora 26 does not have pathfix, so build docs with python2 + %if (0%{?fedora} == 26) + make PYTHON=/usr/bin/python2 webdocs + %else + 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 +%endif %install %if 0%{?with_python3} @@ -390,6 +399,11 @@ popd %endif %changelog +* Mon Jun 25 2018 Toshio Kuratomi - - 2.5.5-4 +- Upstream patch to build docs with older jinja2 (Fedora 27) +- Build changes to build only rst docs for modules and plugins when a distro + doesn't have modern enough packages to build the documentation. (EPEL7) + * Tue Jun 19 2018 Miro Hrončok - 2.5.5-3 - Rebuilt for Python 3.7 From 33bc425b6be330ada2148a84926a0f1f1d65da01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 Jun 2018 16:21:18 +0200 Subject: [PATCH 148/366] Rebuilt for Python 3.7 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 7e90faa..6314730 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.5.5 -Release: 4%{?dist} +Release: 5%{?dist} Group: Development/Libraries License: GPLv3+ @@ -399,6 +399,9 @@ popd %endif %changelog +* Tue Jun 26 2018 Miro Hrončok - 2.5.5-5 +- Rebuilt for Python 3.7 + * Mon Jun 25 2018 Toshio Kuratomi - - 2.5.5-4 - Upstream patch to build docs with older jinja2 (Fedora 27) - Build changes to build only rst docs for modules and plugins when a distro From 1ab45ffa76eec340d07b8b26c5c5d13a07d2dd24 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 28 Jun 2018 18:52:22 -0700 Subject: [PATCH 149/366] Update to 2.6.0. Fixes bug #1596424 --- .gitignore | 1 + ...upport-building-docs-with-old-jinja2.patch | 194 ------------------ ansible.spec | 15 +- sources | 2 +- 4 files changed, 9 insertions(+), 203 deletions(-) delete mode 100644 0001-Changes-to-support-building-docs-with-old-jinja2.patch diff --git a/.gitignore b/.gitignore index 12dbebf..4bbd780 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ /ansible-2.5.2.tar.gz /ansible-2.5.3.tar.gz /ansible-2.5.5.tar.gz +/ansible-2.6.0.tar.gz diff --git a/0001-Changes-to-support-building-docs-with-old-jinja2.patch b/0001-Changes-to-support-building-docs-with-old-jinja2.patch deleted file mode 100644 index 0ba8fae..0000000 --- a/0001-Changes-to-support-building-docs-with-old-jinja2.patch +++ /dev/null @@ -1,194 +0,0 @@ -From e348dc28e922c29e0ab1fd61be24ecc6616e34ed Mon Sep 17 00:00:00 2001 -From: Toshio Kuratomi -Date: Mon, 25 Jun 2018 11:27:15 -0700 -Subject: [PATCH] Changes to support building docs with old jinja2 - -This commit: fa5c0282a4816c4dd48e80b983ffc1e14506a1f5 relied upon -features present in Jinja-2.10 and above. The changes here allow us to -build the *rst* with older versions of jinja2. ---- - docs/bin/plugin_formatter.py | 30 +++++++++++++++++ - docs/templates/plugin.rst.j2 | 80 ++++++++++++++++++++++---------------------- - 2 files changed, 70 insertions(+), 40 deletions(-) - -diff --git a/docs/bin/plugin_formatter.py b/docs/bin/plugin_formatter.py -index 5df8b3d86e..330a7540ab 100755 ---- a/docs/bin/plugin_formatter.py -+++ b/docs/bin/plugin_formatter.py -@@ -85,6 +85,28 @@ pp = PrettyPrinter() - display = Display() - - -+# kludge_ns gives us a kludgey way to set variables inside of loops that need to be visible outside -+# the loop. We can get rid of this when we no longer need to build docs with less than Jinja-2.10 -+# http://jinja.pocoo.org/docs/2.10/templates/#assignments -+# With Jinja-2.10 we can use jinja2's namespace feature, restoring the namespace template portion -+# of: fa5c0282a4816c4dd48e80b983ffc1e14506a1f5 -+NS_MAP = {} -+ -+ -+def to_kludge_ns(key, value): -+ NS_MAP[key] = value -+ return "" -+ -+ -+def from_kludge_ns(key): -+ return NS_MAP[key] -+ -+ -+# The max filter was added in Jinja2-2.10. Until we can require that version, use this -+def do_max(seq): -+ return max(seq) -+ -+ - def rst_ify(text): - ''' convert symbols like I(this is in italics) to valid restructured text ''' - -@@ -298,6 +320,14 @@ def jinja2_environment(template_dir, typ, plugin_type): - trim_blocks=True) - env.globals['xline'] = rst_xline - -+ # Can be removed (and template switched to use namespace) when we no longer need to build -+ # with -- {# Pre-compute the nesting depth to allocate columns #} -- {% set ns = namespace(maxdepth=1) %} -- {% for key, value in options|dictsort recursive %} -- {% set ns.maxdepth = [loop.depth, ns.maxdepth] | max %} -- {% if value.suboptions %} -- {% if value.suboptions.items %} -- @{ loop(value.suboptions.items()) }@ -- {% elif value.suboptions[0].items %} -- @{ loop(value.suboptions[0].items()) }@ -- {% endif %} -- {% endif %} -- {% endfor %} -- {# Header of the documentation #} -+ {# Pre-compute the nesting depth to allocate columns -#} -+ @{ to_kludge_ns('maxdepth', 1) -}@ -+ {% for key, value in options|dictsort recursive -%} -+ @{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@ -+ {% if value.suboptions -%} -+ {% if value.suboptions.items -%} -+ @{ loop(value.suboptions.items()) -}@ -+ {% elif value.suboptions[0].items -%} -+ @{ loop(value.suboptions[0].items()) -}@ -+ {% endif -%} -+ {% endif -%} -+ {% endfor -%} -+ {# Header of the documentation -#} - -- -+ - - {% if plugin_type != 'module' %} - -@@ -116,7 +116,7 @@ Parameters - - {% endfor %} - {# parameter name with required and/or introduced label #} --
KeyKeyReturnedDescription
  ++ + @{ key }@ +
@{ value.type }@
+
ParameterParameterChoices/DefaultsConfiguration -+ - @{ key }@ - {% if value.get('required', False) %}
required
{% endif %} - {% if value.version_added %}
(added in @{value.version_added}@)
{% endif %} -@@ -246,19 +246,19 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a - - - {# Pre-compute the nesting depth to allocate columns #} -- {% set ns = namespace(maxdepth=1) %} -+ @{ to_kludge_ns('maxdepth', 1) -}@ - {% for key, value in returnfacts|dictsort recursive %} -- {% set ns.maxdepth = [loop.depth, ns.maxdepth] | max %} -- {% if value.contains %} -- {% if value.contains.items %} -- @{ loop(value.contains.items()) }@ -- {% elif value.contains[0].items %} -- @{ loop(value.contains[0].items()) }@ -- {% endif %} -- {% endif %} -- {% endfor %} -+ @{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@ -+ {% if value.contains -%} -+ {% if value.contains.items -%} -+ @{ loop(value.contains.items()) -}@ -+ {% elif value.contains[0].items -%} -+ @{ loop(value.contains[0].items()) -}@ -+ {% endif -%} -+ {% endif -%} -+ {% endfor -%} - -- -+ - - - -@@ -267,7 +267,7 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a - {% for i in range(1, loop.depth) %} - - {% endfor %} -- -@@ -317,19 +317,19 @@ Common return values are documented :ref:`here `, the foll - .. raw:: html - -
FactFactReturnedDescription
-+ - @{ key }@ -
@{ value.type }@
-
-- {% set ns = namespace(maxdepth=1) %} -- {% for key, value in returndocs|dictsort recursive %} -- {% set ns.maxdepth = [loop.depth, ns.maxdepth] | max %} -- {% if value.contains %} -- {% if value.contains.items %} -- @{ loop(value.contains.items()) }@ -- {% elif value.contains[0].items %} -- @{ loop(value.contains[0].items()) }@ -- {% endif %} -- {% endif %} -- {% endfor %} -+ @{ to_kludge_ns('maxdepth', 1) -}@ -+ {% for key, value in returndocs|dictsort recursive -%} -+ @{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@ -+ {% if value.contains -%} -+ {% if value.contains.items -%} -+ @{ loop(value.contains.items()) -}@ -+ {% elif value.contains[0].items -%} -+ @{ loop(value.contains[0].items()) -}@ -+ {% endif -%} -+ {% endif -%} -+ {% endfor -%} - -- -+ - - - -@@ -338,7 +338,7 @@ Common return values are documented :ref:`here `, the foll - {% for i in range(1, loop.depth) %} - - {% endfor %} -- --- -2.14.4 - diff --git a/ansible.spec b/ansible.spec index 6314730..6b7841d 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,16 +29,13 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.5.5 -Release: 5%{?dist} +Version: 2.6.0 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# Allow building docs with Jinja < 2.10 -# https://github.com/ansible/ansible/pull/41918 -Patch0: 0001-Changes-to-support-building-docs-with-old-jinja2.patch # 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 @@ -257,7 +254,6 @@ This package installs extensive documentation for ansible %prep %setup -q -%patch0 -p1 %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -377,7 +373,7 @@ popd %exclude %{_bindir}/ansible*-3* %endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.6.rst %doc %{_mandir}/man1/ansible* %if 0%{?with_python3} @@ -385,7 +381,7 @@ popd %files -n ansible-python3 %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.5.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.6.rst %doc %{_mandir}/man1/ansible* %{_bindir}/ansible*-3* %endif # python2 @@ -399,6 +395,9 @@ popd %endif %changelog +* Thu Jun 28 2018 Kevin Fenzi - 2.6.0-1 +- Update to 2.6.0. Fixes bug #1596424 + * Tue Jun 26 2018 Miro Hrončok - 2.5.5-5 - Rebuilt for Python 3.7 diff --git a/sources b/sources index 9c7c09e..ff1c866 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.5.5.tar.gz) = a3d50539d2a109dc0bbcdb440e0800b917f63141dce935e6426cb6bdc51e3a93e02f05c23714c24ab00b19842a86677b8d2f2455d20ca15410fa8d3c8ba379ca +SHA512 (ansible-2.6.0.tar.gz) = 0c7353eeb4a65b21439489ef8a101bb0455d24d88904011460548bfba218688b4a1fdc1d61d60d611c2bcce7f1c301c0d6bcb9f3e9db12eaf9c9ef2f96994af9 From faa2d9d7280f7df6de7b459b0c1ce1e916b11b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 2 Jul 2018 18:25:57 +0200 Subject: [PATCH 150/366] Rebuilt for Python 3.7 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 6b7841d..eb4a620 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -395,6 +395,9 @@ popd %endif %changelog +* Mon Jul 02 2018 Miro Hrončok - 2.6.0-2 +- Rebuilt for Python 3.7 + * Thu Jun 28 2018 Kevin Fenzi - 2.6.0-1 - Update to 2.6.0. Fixes bug #1596424 From 8697fb9a62d7fa1f2c79895882ffa46bff4c62ca Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 6 Jul 2018 08:48:11 -0700 Subject: [PATCH 151/366] Update to 2.6.1. Fixes bug #1598602 Fixes CVE-2018-10874 and CVE-2018-10875 --- .gitignore | 1 + ansible.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4bbd780..f37bba4 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ /ansible-2.5.3.tar.gz /ansible-2.5.5.tar.gz /ansible-2.6.0.tar.gz +/ansible-2.6.1.tar.gz diff --git a/ansible.spec b/ansible.spec index eb4a620..97ef025 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,8 +29,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.6.0 -Release: 2%{?dist} +Version: 2.6.1 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -395,6 +395,10 @@ popd %endif %changelog +* Thu Jul 05 2018 Kevin Fenzi - 2.6.1-1 +- Update to 2.6.1. Fixes bug #1598602 +- Fixes CVE-2018-10874 and CVE-2018-10875 + * Mon Jul 02 2018 Miro Hrončok - 2.6.0-2 - Rebuilt for Python 3.7 diff --git a/sources b/sources index ff1c866..58c53db 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.6.0.tar.gz) = 0c7353eeb4a65b21439489ef8a101bb0455d24d88904011460548bfba218688b4a1fdc1d61d60d611c2bcce7f1c301c0d6bcb9f3e9db12eaf9c9ef2f96994af9 +SHA512 (ansible-2.6.1.tar.gz) = 1235e12a510317665956bfae9e0d03814083a24ba6e5c98072437e50b4a596437a173b32d9d5af37b4b9e168e35045fdb65e65276fdc830f473ab1f42dcba2d2 From ba6171ef3bdd9dfc4116ee2d1b704008afa0b043 Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 00:10:36 -0500 Subject: [PATCH 152/366] Remove needless use of %defattr --- ansible.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/ansible.spec b/ansible.spec index 97ef025..7a09b0a 100644 --- a/ansible.spec +++ b/ansible.spec @@ -364,7 +364,6 @@ popd %files -%defattr(-,root,root) %if 0%{?with_python2} %{python_sitelib}/ansible* %endif @@ -379,7 +378,6 @@ popd %if 0%{?with_python3} %if 0%{?with_python2} %files -n ansible-python3 -%defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/ansible/ %doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.6.rst %doc %{_mandir}/man1/ansible* From 705da8247a9d7937bbdc7acda95f8aa394c093e6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 20:14:50 +0000 Subject: [PATCH 153/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_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 7a09b0a..6fe15b4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.6.1 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv3+ @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Thu Jul 05 2018 Kevin Fenzi - 2.6.1-1 - Update to 2.6.1. Fixes bug #1598602 - Fixes CVE-2018-10874 and CVE-2018-10875 From 939db19edfe41dbe0fefe500eb9141939ba02f5f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 28 Jul 2018 13:02:43 -0700 Subject: [PATCH 154/366] Update to 2.6.2. Fixes bug #1609486 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f37bba4..1c6027b 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ /ansible-2.5.5.tar.gz /ansible-2.6.0.tar.gz /ansible-2.6.1.tar.gz +/ansible-2.6.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 6fe15b4..058a192 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,8 +29,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.6.1 -Release: 2%{?dist} +Version: 2.6.2 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ @@ -393,6 +393,9 @@ popd %endif %changelog +* Sat Jul 28 2018 Kevin Fenzi - 2.6.2-1 +- Update to 2.6.2. Fixes bug #1609486 + * Thu Jul 12 2018 Fedora Release Engineering - 2.6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 58c53db..44253a3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.6.1.tar.gz) = 1235e12a510317665956bfae9e0d03814083a24ba6e5c98072437e50b4a596437a173b32d9d5af37b4b9e168e35045fdb65e65276fdc830f473ab1f42dcba2d2 +SHA512 (ansible-2.6.2.tar.gz) = 2283d69be267474e839af44e0e7a14a5532cadef7d65baa2af4045cb93d88b76890b735a78cce348916c04f5dc3c2ed78deb22bb8d94d0c0c0306180d79b1a9b From 0b1ca38b6d5a54416f890875ab09ee3fde680cec Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 29 Jul 2018 23:11:12 +0200 Subject: [PATCH 155/366] =?UTF-8?q?%{python=5Fsitelib}=20=E2=86=92=20%{pyt?= =?UTF-8?q?hon2=5Fsitelib}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Igor Gnatenko --- ansible.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 058a192..807a13e 100644 --- a/ansible.spec +++ b/ansible.spec @@ -365,7 +365,7 @@ popd %files %if 0%{?with_python2} -%{python_sitelib}/ansible* +%{python2_sitelib}/ansible* %endif %{_bindir}/ansible* %if 0%{?with_python3} && 0%{?with_python2} From 846d5d3d5c757d2123278957ae20ffc8fcbcd992 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 17 Aug 2018 14:00:05 -0700 Subject: [PATCH 156/366] Upgrade to 2.6.3. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1c6027b..d29a080 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ /ansible-2.6.0.tar.gz /ansible-2.6.1.tar.gz /ansible-2.6.2.tar.gz +/ansible-2.6.3.tar.gz diff --git a/ansible.spec b/ansible.spec index 807a13e..589840b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.6.2 +Version: 2.6.3 Release: 1%{?dist} Group: Development/Libraries @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Aug 16 2018 Kevin Fenzi - 2.6.3-1 +- Upgrade to 2.6.3. + * Sat Jul 28 2018 Kevin Fenzi - 2.6.2-1 - Update to 2.6.2. Fixes bug #1609486 diff --git a/sources b/sources index 44253a3..b603ee8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.6.2.tar.gz) = 2283d69be267474e839af44e0e7a14a5532cadef7d65baa2af4045cb93d88b76890b735a78cce348916c04f5dc3c2ed78deb22bb8d94d0c0c0306180d79b1a9b +SHA512 (ansible-2.6.3.tar.gz) = f34052379b892d5dff5e170e4237d4595ecf9d951226cc928fc092e253f5fa9f492a6e953ff09ed63b19ddb0f2b8df66ac738c2f48923e6d5b1dcc96fc2799c9 From c5bcbb1191ec4adf6860dc9e1f52ebe31d4a9f42 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 7 Sep 2018 13:02:31 -0700 Subject: [PATCH 157/366] Update to 2.6.4. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d29a080..346ab2b 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ /ansible-2.6.1.tar.gz /ansible-2.6.2.tar.gz /ansible-2.6.3.tar.gz +/ansible-2.6.4.tar.gz diff --git a/ansible.spec b/ansible.spec index 589840b..dcb1097 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.6.3 +Version: 2.6.4 Release: 1%{?dist} Group: Development/Libraries @@ -393,6 +393,9 @@ popd %endif %changelog +* Fri Sep 07 2018 Kevin Fenzi - 2.6.4-1 +- Update to 2.6.4. + * Thu Aug 16 2018 Kevin Fenzi - 2.6.3-1 - Upgrade to 2.6.3. diff --git a/sources b/sources index b603ee8..a06d623 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.6.3.tar.gz) = f34052379b892d5dff5e170e4237d4595ecf9d951226cc928fc092e253f5fa9f492a6e953ff09ed63b19ddb0f2b8df66ac738c2f48923e6d5b1dcc96fc2799c9 +SHA512 (ansible-2.6.4.tar.gz) = b3dc3469dd7e34e3b39b3382df65c3684a44be0515f68861997a4d0e5fce44d64000bc0da0b38fd3d27b45aa1ec3973da581482e0de54c5cc41eb761b230b116 From bd5a9e23828b841f8ba9c5b69f905cbf1544546e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 28 Sep 2018 17:24:21 -0700 Subject: [PATCH 158/366] Update to 2.6.5. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 346ab2b..3f47fb3 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ /ansible-2.6.2.tar.gz /ansible-2.6.3.tar.gz /ansible-2.6.4.tar.gz +/ansible-2.6.5.tar.gz diff --git a/ansible.spec b/ansible.spec index dcb1097..89d12df 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.6.4 +Version: 2.6.5 Release: 1%{?dist} Group: Development/Libraries @@ -393,6 +393,9 @@ popd %endif %changelog +* Fri Sep 28 2018 Kevin Fenzi - 2.6.5-1 +- Update to 2.6.5. + * Fri Sep 07 2018 Kevin Fenzi - 2.6.4-1 - Update to 2.6.4. diff --git a/sources b/sources index a06d623..47a3d47 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.6.4.tar.gz) = b3dc3469dd7e34e3b39b3382df65c3684a44be0515f68861997a4d0e5fce44d64000bc0da0b38fd3d27b45aa1ec3973da581482e0de54c5cc41eb761b230b116 +SHA512 (ansible-2.6.5.tar.gz) = 3cab1d14abb3d173722ee76699ac778188481d575d589fb9e85541689a806b6f3eece9b1c5122cd863b46da56ed5cc3c32faaa143826ab3bd3e7a6cc06cbe2fe From e13444f763bf9d18948fddcb2653c817142905b1 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 4 Oct 2018 19:28:25 -0700 Subject: [PATCH 159/366] Update to 2.7.0 --- .gitignore | 1 + ansible.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 3f47fb3..c76dbd0 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ /ansible-2.6.3.tar.gz /ansible-2.6.4.tar.gz /ansible-2.6.5.tar.gz +/ansible-2.7.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 89d12df..ffc6a75 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.6.5 +Version: 2.7.0 Release: 1%{?dist} Group: Development/Libraries @@ -372,14 +372,14 @@ popd %exclude %{_bindir}/ansible*-3* %endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ -%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.6.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.7.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.6.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.7.rst %doc %{_mandir}/man1/ansible* %{_bindir}/ansible*-3* %endif # python2 @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Oct 04 2018 Kevin Fenzi - 2.7.0-1 +- Update to 2.7.0 + * Fri Sep 28 2018 Kevin Fenzi - 2.6.5-1 - Update to 2.6.5. diff --git a/sources b/sources index 47a3d47..a8aac85 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.6.5.tar.gz) = 3cab1d14abb3d173722ee76699ac778188481d575d589fb9e85541689a806b6f3eece9b1c5122cd863b46da56ed5cc3c32faaa143826ab3bd3e7a6cc06cbe2fe +SHA512 (ansible-2.7.0.tar.gz) = a5e0e0b87bb2fa8fbc76825733a5c6afe642d4602be80466e5f28324e90be4487fd1c300e567a164222f171bd9eac65b7b36ca9b6fe4bebfcbd2c24dd60049ad From 0a0a1b491040478d5ce9956b921cc9bc696c737f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 31 Oct 2018 19:34:29 -0700 Subject: [PATCH 160/366] Update to 2.7.1. --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c76dbd0..f5f7e97 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ /ansible-2.6.4.tar.gz /ansible-2.6.5.tar.gz /ansible-2.7.0.tar.gz +/ansible-2.7.1.tar.gz diff --git a/ansible.spec b/ansible.spec index ffc6a75..3a50bf4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.0 +Version: 2.7.1 Release: 1%{?dist} Group: Development/Libraries @@ -356,6 +356,7 @@ ln -s /usr/bin/pytest-3 bin/pytest # Fedora 26 does not have pathfix ¯\_(ツ)_/¯ %if (0%{?fedora} > 26) pathfix.py -i %{__python3} -p test/runner + pathfix.py -i %{__python3} -p bin/ansible-test %endif make PYTHON=/usr/bin/python3 tests-py3 popd @@ -393,6 +394,9 @@ popd %endif %changelog +* Mon Oct 29 2018 Kevin Fenzi - 2.7.1-1 +- Update to 2.7.1. + * Thu Oct 04 2018 Kevin Fenzi - 2.7.0-1 - Update to 2.7.0 diff --git a/sources b/sources index a8aac85..98fbe98 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.0.tar.gz) = a5e0e0b87bb2fa8fbc76825733a5c6afe642d4602be80466e5f28324e90be4487fd1c300e567a164222f171bd9eac65b7b36ca9b6fe4bebfcbd2c24dd60049ad +SHA512 (ansible-2.7.1.tar.gz) = 263ebc5fb172c7eda0cc703508ba06a5a6ab197923597a616bcdf28b8bc673ff6117c72cbff4546a1f3628656b0c4d7dd05c34c75e68b9a0d9c29ea9b5a4162f From 54fb90d8516444a37921f51eaad0890005766812 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 15 Nov 2018 16:05:23 -0800 Subject: [PATCH 161/366] Update to 2.7.2. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f5f7e97..67c9c9b 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ /ansible-2.6.5.tar.gz /ansible-2.7.0.tar.gz /ansible-2.7.1.tar.gz +/ansible-2.7.2.tar.gz diff --git a/ansible.spec b/ansible.spec index 3a50bf4..0feb99b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.1 +Version: 2.7.2 Release: 1%{?dist} Group: Development/Libraries @@ -394,6 +394,9 @@ popd %endif %changelog +* Thu Nov 15 2018 Kevin Fenzi - 2.7.2-1 +- Update to 2.7.2. + * Mon Oct 29 2018 Kevin Fenzi - 2.7.1-1 - Update to 2.7.1. diff --git a/sources b/sources index 98fbe98..3896d9e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.1.tar.gz) = 263ebc5fb172c7eda0cc703508ba06a5a6ab197923597a616bcdf28b8bc673ff6117c72cbff4546a1f3628656b0c4d7dd05c34c75e68b9a0d9c29ea9b5a4162f +SHA512 (ansible-2.7.2.tar.gz) = ee1dcacfdf6af8124b3b000acecb7dcfbf4f221eefbd3165c109e03c8ce7efee56ad643f143a1d159c1ac539536490a15547a9d0635b3c7daae2c9cbda7bc824 From 84826f80b60475c69249393d922c925a02fb48c3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 29 Nov 2018 20:18:36 -0800 Subject: [PATCH 162/366] Update to 2.7.3 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 67c9c9b..65cb13c 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ /ansible-2.7.0.tar.gz /ansible-2.7.1.tar.gz /ansible-2.7.2.tar.gz +/ansible-2.7.3.tar.gz diff --git a/ansible.spec b/ansible.spec index 0feb99b..ad8542b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.2 +Version: 2.7.3 Release: 1%{?dist} Group: Development/Libraries @@ -394,6 +394,9 @@ popd %endif %changelog +* Thu Nov 29 2018 Kevin Fenzi - 2.7.3-1 +- Update to 2.7.3 + * Thu Nov 15 2018 Kevin Fenzi - 2.7.2-1 - Update to 2.7.2. diff --git a/sources b/sources index 3896d9e..f45ba6a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.2.tar.gz) = ee1dcacfdf6af8124b3b000acecb7dcfbf4f221eefbd3165c109e03c8ce7efee56ad643f143a1d159c1ac539536490a15547a9d0635b3c7daae2c9cbda7bc824 +SHA512 (ansible-2.7.3.tar.gz) = 23705716870abd54d54d27e065189cc5158b89ef4b68ff3c0683a043319d7a33fc1b11b419a914b7514ae059ad4c8c482be99a6fed50df7dbe7708706d3efdee From 45a0270360f90416c96bb163e796c7c5094dbea4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 3 Dec 2018 09:01:32 -0800 Subject: [PATCH 163/366] Update to 2.7.4 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 65cb13c..644c830 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ /ansible-2.7.1.tar.gz /ansible-2.7.2.tar.gz /ansible-2.7.3.tar.gz +/ansible-2.7.4.tar.gz diff --git a/ansible.spec b/ansible.spec index ad8542b..a72702b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.3 +Version: 2.7.4 Release: 1%{?dist} Group: Development/Libraries @@ -394,6 +394,9 @@ popd %endif %changelog +* Mon Dec 03 2018 Kevin Fenzi - 2.7.4-1 +- Update to 2.7.4 + * Thu Nov 29 2018 Kevin Fenzi - 2.7.3-1 - Update to 2.7.3 diff --git a/sources b/sources index f45ba6a..0764305 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.3.tar.gz) = 23705716870abd54d54d27e065189cc5158b89ef4b68ff3c0683a043319d7a33fc1b11b419a914b7514ae059ad4c8c482be99a6fed50df7dbe7708706d3efdee +SHA512 (ansible-2.7.4.tar.gz) = 4b7cb202577e3c87ec89598ec9a81ebac4b60f62f670322c24b655f5f3a7fab4657c27cce6cfa4f1bb41e7d60f7f6cf80251d86fcb36b1312f6f3ad47be777c9 From ea48493b3ba3d0626fc80ffaf705bfd0f90f878f Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 13 Dec 2018 21:51:08 -0800 Subject: [PATCH 164/366] Update to 2.7.5 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 644c830..e7d5faa 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ /ansible-2.7.2.tar.gz /ansible-2.7.3.tar.gz /ansible-2.7.4.tar.gz +/ansible-2.7.5.tar.gz diff --git a/ansible.spec b/ansible.spec index a72702b..5208072 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.4 +Version: 2.7.5 Release: 1%{?dist} Group: Development/Libraries @@ -394,6 +394,9 @@ popd %endif %changelog +* Thu Dec 13 2018 Kevin Fenzi - 2.7.5-1 +- Update to 2.7.5 + * Mon Dec 03 2018 Kevin Fenzi - 2.7.4-1 - Update to 2.7.4 diff --git a/sources b/sources index 0764305..d7b6378 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.4.tar.gz) = 4b7cb202577e3c87ec89598ec9a81ebac4b60f62f670322c24b655f5f3a7fab4657c27cce6cfa4f1bb41e7d60f7f6cf80251d86fcb36b1312f6f3ad47be777c9 +SHA512 (ansible-2.7.5.tar.gz) = b3a8a2c10e42f4dcf0f3867901eaaf555e6b9bcbd808b91765a8825db3ec49d618d8893f244d52e49e944d0900a876bbb31b3a7b89d636e435e94cd4b281be18 From 13994104e09594638c5f537aa1e240a90d8b1ba5 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 17 Jan 2019 12:31:09 -0800 Subject: [PATCH 165/366] Update to 2.7.6. --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e7d5faa..0f1bc81 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ /ansible-2.7.3.tar.gz /ansible-2.7.4.tar.gz /ansible-2.7.5.tar.gz +/ansible-2.7.6.tar.gz diff --git a/ansible.spec b/ansible.spec index 5208072..6c3d507 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.5 +Version: 2.7.6 Release: 1%{?dist} Group: Development/Libraries @@ -394,6 +394,9 @@ popd %endif %changelog +* Thu Jan 17 2019 Kevin Fenzi - 2.7.6-1 +- Update to 2.7.6. + * Thu Dec 13 2018 Kevin Fenzi - 2.7.5-1 - Update to 2.7.5 diff --git a/sources b/sources index d7b6378..c1a5a05 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.5.tar.gz) = b3a8a2c10e42f4dcf0f3867901eaaf555e6b9bcbd808b91765a8825db3ec49d618d8893f244d52e49e944d0900a876bbb31b3a7b89d636e435e94cd4b281be18 +SHA512 (ansible-2.7.6.tar.gz) = db0813009b4683b74bf4dda640adc3dad750e053c3a87f97c6e61a2a5ea7668ea51e97ec204ddcdba6f09733bb399f824f87f365b74c35315b979603c99a6b70 From 37aabf9e3298e28f48d866bb0c55157fc1640db4 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:38 +0100 Subject: [PATCH 166/366] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- ansible.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 6c3d507..48495bb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -32,7 +32,6 @@ Summary: SSH-based configuration management, deployment, and task execution syst Version: 2.7.6 Release: 1%{?dist} -Group: Development/Libraries License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz From 9430570ef243fa5509ccb3d6d7ffe81f7710e5f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 13:20:54 +0000 Subject: [PATCH 167/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_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 48495bb..0c99624 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.7.6 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 2.7.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jan 17 2019 Kevin Fenzi - 2.7.6-1 - Update to 2.7.6. From 2edc7bdbc3b97ed0e3941c27e2868768528b0c5a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 7 Feb 2019 19:15:59 -0800 Subject: [PATCH 168/366] Update to 2.7.7. Fixes bug #1673761 --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0f1bc81..9976578 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,4 @@ /ansible-2.7.4.tar.gz /ansible-2.7.5.tar.gz /ansible-2.7.6.tar.gz +/ansible-2.7.7.tar.gz diff --git a/ansible.spec b/ansible.spec index 0c99624..69bf1e9 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,8 +29,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.6 -Release: 2%{?dist} +Version: 2.7.7 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Feb 07 2019 Kevin Fenzi - 2.7.7-1 +- Update to 2.7.7. Fixes bug #1673761 + * Thu Jan 31 2019 Fedora Release Engineering - 2.7.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index c1a5a05..de255c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.6.tar.gz) = db0813009b4683b74bf4dda640adc3dad750e053c3a87f97c6e61a2a5ea7668ea51e97ec204ddcdba6f09733bb399f824f87f365b74c35315b979603c99a6b70 +SHA512 (ansible-2.7.7.tar.gz) = 41e007ccc5b22eaa1a7aa9c16f8d012268cbd1055b5c10a204134b7707ab7bf205aab04efccda9fb5497034896542d29ba253ad4ea09b4755b665bada22b4c54 From 2143042bb2b92f275474607a92db70329bbf4431 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 21 Feb 2019 14:48:41 -0800 Subject: [PATCH 169/366] Update to 2.7.8. Fixes bug #1679787 Fix for CVE-2019-3828 --- .gitignore | 1 + ansible.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9976578..51beeb8 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ /ansible-2.7.5.tar.gz /ansible-2.7.6.tar.gz /ansible-2.7.7.tar.gz +/ansible-2.7.8.tar.gz diff --git a/ansible.spec b/ansible.spec index 69bf1e9..7edf7f6 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.7 +Version: 2.7.8 Release: 1%{?dist} License: GPLv3+ @@ -393,6 +393,10 @@ popd %endif %changelog +* Thu Feb 21 2019 Kevin Fenzi - 2.7.8-1 +- Update to 2.7.8. Fixes bug #1679787 +- Fix for CVE-2019-3828 + * Thu Feb 07 2019 Kevin Fenzi - 2.7.7-1 - Update to 2.7.7. Fixes bug #1673761 diff --git a/sources b/sources index de255c2..5981a09 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.7.tar.gz) = 41e007ccc5b22eaa1a7aa9c16f8d012268cbd1055b5c10a204134b7707ab7bf205aab04efccda9fb5497034896542d29ba253ad4ea09b4755b665bada22b4c54 +SHA512 (ansible-2.7.8.tar.gz) = f3501ce8b642f83fe3d5e21cdfa26bce8611e92bc6e68e40b3a7ff2443c7d8ee0b2175981c92a5e83f9ce8c5d7d75aac95106a237bb9325c66319d96a790009a From 4d4088c690592782d3dafe6e6c61dfda0add5394 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 14 Mar 2019 17:04:09 -0700 Subject: [PATCH 170/366] Update to 2.7.9. Fixes bug #1688974 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 51beeb8..2cba98a 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,4 @@ /ansible-2.7.6.tar.gz /ansible-2.7.7.tar.gz /ansible-2.7.8.tar.gz +/ansible-2.7.9.tar.gz diff --git a/ansible.spec b/ansible.spec index 7edf7f6..be658cb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.8 +Version: 2.7.9 Release: 1%{?dist} License: GPLv3+ @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Mar 14 2019 Kevin Fenzi - 2.7.9-1 +- Update to 2.7.9. Fixes bug #1688974 + * Thu Feb 21 2019 Kevin Fenzi - 2.7.8-1 - Update to 2.7.8. Fixes bug #1679787 - Fix for CVE-2019-3828 diff --git a/sources b/sources index 5981a09..14b1d4b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.8.tar.gz) = f3501ce8b642f83fe3d5e21cdfa26bce8611e92bc6e68e40b3a7ff2443c7d8ee0b2175981c92a5e83f9ce8c5d7d75aac95106a237bb9325c66319d96a790009a +SHA512 (ansible-2.7.9.tar.gz) = 4d39c7d4eb97264ce8f92812fb986b24af0c663efa6d8cd1d9a4cb25731d55e7518e503c04764e62d0458916b601baaa7acc623f9f83ce8b93e7f22900e29a53 From 903ddc6cadae3b2b41aa3e34df6d571b478fa26b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 4 Apr 2019 11:27:18 -0700 Subject: [PATCH 171/366] Update to 2.7.10. Fixes bug #1696379 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2cba98a..351549f 100644 --- a/.gitignore +++ b/.gitignore @@ -74,3 +74,4 @@ /ansible-2.7.7.tar.gz /ansible-2.7.8.tar.gz /ansible-2.7.9.tar.gz +/ansible-2.7.10.tar.gz diff --git a/ansible.spec b/ansible.spec index be658cb..06211ad 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.9 +Version: 2.7.10 Release: 1%{?dist} License: GPLv3+ @@ -393,6 +393,9 @@ popd %endif %changelog +* Thu Apr 04 2019 Kevin Fenzi - 2.7.10-1 +- Update to 2.7.10. Fixes bug #1696379 + * Thu Mar 14 2019 Kevin Fenzi - 2.7.9-1 - Update to 2.7.9. Fixes bug #1688974 diff --git a/sources b/sources index 14b1d4b..6115f58 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.9.tar.gz) = 4d39c7d4eb97264ce8f92812fb986b24af0c663efa6d8cd1d9a4cb25731d55e7518e503c04764e62d0458916b601baaa7acc623f9f83ce8b93e7f22900e29a53 +SHA512 (ansible-2.7.10.tar.gz) = 4d58ef080c8ee02ef36eb3116ec89e4542b5b4042262953b2001081601fe1066237191cce5e647f354efa9e1933cf5010519d049e678a90e8ca08620cd1788a5 From 1d151a007ff592472d60665a2ae0a78d088620f1 Mon Sep 17 00:00:00 2001 From: Till Maas Date: Tue, 9 Apr 2019 08:43:39 +0000 Subject: [PATCH 172/366] Properly own paths in /usr/share/ansible This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1697869 --- ansible.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ansible.spec b/ansible.spec index 06211ad..d1b0667 100644 --- a/ansible.spec +++ b/ansible.spec @@ -327,6 +327,8 @@ done mkdir -p $RPM_BUILD_ROOT/etc/ansible/ mkdir -p $RPM_BUILD_ROOT/etc/ansible/roles/ +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible/roles/ +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible/inventory/ cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ cp examples/ansible.cfg $RPM_BUILD_ROOT/etc/ansible/ mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 @@ -372,6 +374,7 @@ popd %exclude %{_bindir}/ansible*-3* %endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ +%{_datadir}/ansible %doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.7.rst %doc %{_mandir}/man1/ansible* From dd5aeac51a83b1c06e1d186b5c18c613857b215c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 23 Apr 2019 15:11:24 -0700 Subject: [PATCH 173/366] Update to 2.8.0 beta 1. --- .gitignore | 1 + ansible.spec | 32 ++++++++++++++++++-------------- sources | 2 +- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 351549f..b479813 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,4 @@ /ansible-2.7.8.tar.gz /ansible-2.7.9.tar.gz /ansible-2.7.10.tar.gz +/ansible-2.8.0b1.tar.gz diff --git a/ansible.spec b/ansible.spec index d1b0667..e5d773b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,11 +29,11 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.7.10 -Release: 1%{?dist} +Version: 2.8.0 +Release: 0.1b%{?dist} License: GPLv3+ -Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +Source0: https://releases.ansible.com/ansible/%{name}-%{version}b1.tar.gz # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -66,7 +66,7 @@ BuildRequires: python-setuptools # For building docs/tests BuildRequires: git-core %if %with_docs -BuildRequires: python-sphinx +BuildRequires: python3-sphinx BuildRequires: asciidoc %endif @@ -86,7 +86,7 @@ BuildRequires: python-boto3 BuildRequires: python-botocore BuildRequires: python-passlib # Fedora only docs building -BuildRequires: python2-sphinx-theme-alabaster +BuildRequires: python3-sphinx-theme-alabaster # rhel7 does not have python-pytest but has pytest %if 0%{?rhel} == 7 BuildRequires: pytest @@ -184,6 +184,8 @@ BuildRequires: python3-crypto BuildRequires: python3-packaging BuildRequires: python3-pexpect BuildRequires: python3-winrm +BuildRequires: python3-httmock +BuildRequires: python3-gitlab # For Docs/tests BuildRequires: git-core @@ -251,7 +253,7 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%setup -q +%setup -q -n %{name}-%{version}b1 %if 0%{?rhel} == 6 %patch100 -p1 @@ -337,7 +339,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . %if %with_docs pushd %{py3dir} - cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html + cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}b1/html popd %endif @@ -354,11 +356,10 @@ make PYTHON=/usr/bin/python2 tests %if 0%{?with_python3} pushd %{py3dir} ln -s /usr/bin/pytest-3 bin/pytest -# Fedora 26 does not have pathfix ¯\_(ツ)_/¯ -%if (0%{?fedora} > 26) - pathfix.py -i %{__python3} -p test/runner - pathfix.py -i %{__python3} -p bin/ansible-test -%endif +pathfix.py -i %{__python3} -p test/runner +pathfix.py -i %{__python3} -p bin/ansible-test +# This test needs a module not packaged in Fedora so disable it. +rm -f test/units/modules/cloud/cloudstack/test_cs_traffic_type.py make PYTHON=/usr/bin/python3 tests-py3 popd %endif # python3 @@ -375,14 +376,14 @@ popd %endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ %{_datadir}/ansible -%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.7.rst +%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.7.rst +%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.8.rst %doc %{_mandir}/man1/ansible* %{_bindir}/ansible*-3* %endif # python2 @@ -396,6 +397,9 @@ popd %endif %changelog +* Mon Apr 22 2019 Kevin Fenzi - 2.8.0-0.1b +- Update to 2.8.0 beta 1. + * Thu Apr 04 2019 Kevin Fenzi - 2.7.10-1 - Update to 2.7.10. Fixes bug #1696379 diff --git a/sources b/sources index 6115f58..f4623f8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.7.10.tar.gz) = 4d58ef080c8ee02ef36eb3116ec89e4542b5b4042262953b2001081601fe1066237191cce5e647f354efa9e1933cf5010519d049e678a90e8ca08620cd1788a5 +SHA512 (ansible-2.8.0b1.tar.gz) = b1e968ccff2291e1d16fae6093041d0c4e34f1d1ffdd0aac9b02d5a8e2a3750d61298ca1447f2349af69b761c8c80e9e2538cee0ae56b5278ee4cbf344811f35 From 8b902e61ebe3e8015e490cb613a0c52752a78cca Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 26 Apr 2019 17:51:59 -0700 Subject: [PATCH 174/366] Update to 2.8.0 rc1. --- .gitignore | 1 + ansible.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index b479813..aba343f 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,4 @@ /ansible-2.7.9.tar.gz /ansible-2.7.10.tar.gz /ansible-2.8.0b1.tar.gz +/ansible-2.8.0rc1.tar.gz diff --git a/ansible.spec b/ansible.spec index e5d773b..6f752eb 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,10 +30,10 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.0 -Release: 0.1b%{?dist} +Release: 0.2rc1%{?dist} License: GPLv3+ -Source0: https://releases.ansible.com/ansible/%{name}-%{version}b1.tar.gz +Source0: https://releases.ansible.com/ansible/%{name}-%{version}rc1.tar.gz # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -253,7 +253,7 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%setup -q -n %{name}-%{version}b1 +%setup -q -n %{name}-%{version}rc1 %if 0%{?rhel} == 6 %patch100 -p1 @@ -339,7 +339,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . %if %with_docs pushd %{py3dir} - cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}b1/html + cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}rc1/html popd %endif @@ -397,6 +397,9 @@ popd %endif %changelog +* Fri Apr 26 2019 Kevin Fenzi - 2.8.0-0.2rc1 +- Update to 2.8.0 rc1. + * Mon Apr 22 2019 Kevin Fenzi - 2.8.0-0.1b - Update to 2.8.0 beta 1. diff --git a/sources b/sources index f4623f8..d610fb2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.0b1.tar.gz) = b1e968ccff2291e1d16fae6093041d0c4e34f1d1ffdd0aac9b02d5a8e2a3750d61298ca1447f2349af69b761c8c80e9e2538cee0ae56b5278ee4cbf344811f35 +SHA512 (ansible-2.8.0rc1.tar.gz) = 00e51b5098d1e0b41bf05c200a285cac3ffb80ece72c66440c05af6ed36df104faebbbcc484995753b8a521d3f5f18ae773b0d568cdfe4bd87b2fd8aabb8a512 From 9d6cf8591962d9c3ae951858070dcba706df85dc Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 2 May 2019 12:17:16 -0700 Subject: [PATCH 175/366] Upgrade to 2.8.0rc2 Signed-off-by: Kevin Fenzi --- ansible.spec | 11 +++++++---- sources | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ansible.spec b/ansible.spec index 6f752eb..a83a56b 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,10 +30,10 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.0 -Release: 0.2rc1%{?dist} +Release: 0.3rc2%{?dist} License: GPLv3+ -Source0: https://releases.ansible.com/ansible/%{name}-%{version}rc1.tar.gz +Source0: https://releases.ansible.com/ansible/%{name}-%{version}rc2.tar.gz # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -253,7 +253,7 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%setup -q -n %{name}-%{version}rc1 +%setup -q -n %{name}-%{version}rc2 %if 0%{?rhel} == 6 %patch100 -p1 @@ -339,7 +339,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . %if %with_docs pushd %{py3dir} - cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}rc1/html + cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}rc2/html popd %endif @@ -397,6 +397,9 @@ popd %endif %changelog +* Thu May 02 2019 Kevin Fenzi - 2.8.0-0.3rc2 +- Update to 2.8.0 rc2. + * Fri Apr 26 2019 Kevin Fenzi - 2.8.0-0.2rc1 - Update to 2.8.0 rc1. diff --git a/sources b/sources index d610fb2..0c3d250 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.0rc1.tar.gz) = 00e51b5098d1e0b41bf05c200a285cac3ffb80ece72c66440c05af6ed36df104faebbbcc484995753b8a521d3f5f18ae773b0d568cdfe4bd87b2fd8aabb8a512 +SHA512 (ansible-2.8.0rc2.tar.gz) = 346542ed1b3f7a9cbc1045e1ba2fa72659c3af2b40797efc24a50e8e23d437ccd7a7f9d984e870c95a53301809e88203c2f9226f3c79cca51b28134fae609a8d From e68e4c128411ceba16d7cd6b02f98cb181217bd6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 2 May 2019 12:22:08 -0700 Subject: [PATCH 176/366] test commit Signed-off-by: Kevin Fenzi From ff2dcbbae5d69ac979d16dc685d968d3ad359b15 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 10 May 2019 16:21:49 -0700 Subject: [PATCH 177/366] Update to 2.8.0 rc3. --- .gitignore | 1 + ansible.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index aba343f..4ddaaff 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,4 @@ /ansible-2.7.10.tar.gz /ansible-2.8.0b1.tar.gz /ansible-2.8.0rc1.tar.gz +/ansible-2.8.0rc3.tar.gz diff --git a/ansible.spec b/ansible.spec index a83a56b..aa1e8d2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,10 +30,10 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.0 -Release: 0.3rc2%{?dist} +Release: 0.4rc3%{?dist} License: GPLv3+ -Source0: https://releases.ansible.com/ansible/%{name}-%{version}rc2.tar.gz +Source0: https://releases.ansible.com/ansible/%{name}-%{version}rc3.tar.gz # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -253,7 +253,7 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%setup -q -n %{name}-%{version}rc2 +%setup -q -n %{name}-%{version}rc3 %if 0%{?rhel} == 6 %patch100 -p1 @@ -339,7 +339,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . %if %with_docs pushd %{py3dir} - cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}rc2/html + cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}rc3/html popd %endif @@ -397,6 +397,9 @@ popd %endif %changelog +* Fri May 10 2019 Kevin Fenzi - 2.8.0-0.4rc3 +- Update to 2.8.0 rc3. + * Thu May 02 2019 Kevin Fenzi - 2.8.0-0.3rc2 - Update to 2.8.0 rc2. diff --git a/sources b/sources index 0c3d250..1dc7f06 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.0rc2.tar.gz) = 346542ed1b3f7a9cbc1045e1ba2fa72659c3af2b40797efc24a50e8e23d437ccd7a7f9d984e870c95a53301809e88203c2f9226f3c79cca51b28134fae609a8d +SHA512 (ansible-2.8.0rc3.tar.gz) = bb9e2a885d2f19ed8b477d65bde636d7d3fe1540b1a5c6b84e5ce38d35973a68bfe7ffd8b43a8daa5b82bedcbbc4b3392eeeefb264b98cadb03b6f8fce2e4bec From 9c1450c49cd7e83ea9b3add38875fe27713ecdb3 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 16 Apr 2019 10:43:58 -0700 Subject: [PATCH 178/366] Ansible's default config specifies several directories in datadir Own all of the /usr/share directories that are in the default config in lib/ansible/config/base.yml for other rpm packages to drop their plugins, roles, and collections into. --- ansible.spec | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/ansible.spec b/ansible.spec index aa1e8d2..0682fd3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -327,10 +327,43 @@ for i in $RPM_BUILD_ROOT/%{_bindir}/{ansible,ansible-console,ansible-doc,ansible done %endif +# Create system directories that Ansible defines as default locations in +# ansible/config/base.yml +DATADIR_LOCATIONS='%{_datadir}/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/ -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible/roles/ -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ansible/inventory/ + cp examples/hosts $RPM_BUILD_ROOT/etc/ansible/ cp examples/ansible.cfg $RPM_BUILD_ROOT/etc/ansible/ mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 @@ -375,7 +408,7 @@ popd %exclude %{_bindir}/ansible*-3* %endif # python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ -%{_datadir}/ansible +%{_datadir}/ansible/ %doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.8.rst %doc %{_mandir}/man1/ansible* From 7e6de233978861385294ae7a70de387e8bf266f9 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 17 May 2019 09:32:48 -0700 Subject: [PATCH 179/366] Update to 2.8.0 final. Add datadirs for other packages to land ansible files in. --- .gitignore | 1 + ansible.spec | 12 ++++++++---- sources | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 4ddaaff..58218a5 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,4 @@ /ansible-2.8.0b1.tar.gz /ansible-2.8.0rc1.tar.gz /ansible-2.8.0rc3.tar.gz +/ansible-2.8.0.tar.gz diff --git a/ansible.spec b/ansible.spec index 0682fd3..1fa83f4 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,10 +30,10 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.0 -Release: 0.4rc3%{?dist} +Release: 1%{?dist} License: GPLv3+ -Source0: https://releases.ansible.com/ansible/%{name}-%{version}rc3.tar.gz +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. @@ -253,7 +253,7 @@ are transferred to managed machines automatically. This package installs extensive documentation for ansible %prep -%setup -q -n %{name}-%{version}rc3 +%setup -q -n %{name}-%{version} %if 0%{?rhel} == 6 %patch100 -p1 @@ -372,7 +372,7 @@ cp -v docs/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1/ cp -pr docs/docsite/rst . %if %with_docs pushd %{py3dir} - cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}rc3/html + cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html popd %endif @@ -430,6 +430,10 @@ popd %endif %changelog +* Fri May 17 2019 Kevin Fenzi - 2.8.0-1 +- 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 - Update to 2.8.0 rc3. diff --git a/sources b/sources index 1dc7f06..19fd2bd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.0rc3.tar.gz) = bb9e2a885d2f19ed8b477d65bde636d7d3fe1540b1a5c6b84e5ce38d35973a68bfe7ffd8b43a8daa5b82bedcbbc4b3392eeeefb264b98cadb03b6f8fce2e4bec +SHA512 (ansible-2.8.0.tar.gz) = fab8a0ac00e947e47ab606bee0a15e8c031f900b5e6fc68540429db0035ffdf3144e18e1d2265ac07bbea0a78873b85c43e636ee51ecfe14f3d612d2c54eb29c From 5dca638ca374e008630ad72f54fe4c8747fe3d6b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 17 May 2019 11:46:53 -0700 Subject: [PATCH 180/366] Fixes for various releases build/test issues. --- 56596.patch | 32 ++++++++++++++++++++++++++++++++ ansible.spec | 22 ++++++++++++++++++++-- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 56596.patch diff --git a/56596.patch b/56596.patch new file mode 100644 index 0000000..7e10b96 --- /dev/null +++ b/56596.patch @@ -0,0 +1,32 @@ +From 949c35911e92b5bce1d21c7ed93425ccddd527fd Mon Sep 17 00:00:00 2001 +From: Matt Martz +Date: Fri, 17 May 2019 12:48:58 -0500 +Subject: [PATCH] Add compat tojson filter for jinja2 versions missing it + +--- + docs/bin/plugin_formatter.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/docs/bin/plugin_formatter.py b/docs/bin/plugin_formatter.py +index 1774aca70281..83a00639ee88 100755 +--- a/docs/bin/plugin_formatter.py ++++ b/docs/bin/plugin_formatter.py +@@ -11,6 +11,7 @@ + + import datetime + import glob ++import json + import optparse + import os + import re +@@ -399,6 +400,10 @@ def jinja2_environment(template_dir, typ, plugin_type): + # Jinja < 2.10 + env.filters['max'] = do_max + ++ if 'tojson' not in env.filters: ++ # Jinja < 2.9 ++ env.filters['tojson'] = json.dumps ++ + templates = {} + if typ == 'rst': + env.filters['rst_ify'] = rst_ify diff --git a/ansible.spec b/ansible.spec index 1fa83f4..c3cdcb2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,11 +30,16 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz +# This patch adds compat for the tojson filter in jinja2 +# Older versions do not have this filer. +# Upstream at https://github.com/ansible/ansible/pull/56596 +Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/56596.patch + # 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 @@ -85,11 +90,14 @@ 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 @@ -255,6 +263,8 @@ This package installs extensive documentation for ansible %prep %setup -q -n %{name}-%{version} +%patch1 -p1 + %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -393,12 +403,17 @@ pathfix.py -i %{__python3} -p test/runner pathfix.py -i %{__python3} -p bin/ansible-test # 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 + popd %endif # python3 - %files %if 0%{?with_python2} %{python2_sitelib}/ansible* @@ -430,6 +445,9 @@ popd %endif %changelog +* Fri May 17 2019 Kevin Fenzi - 2.8.0-2 +- Fixes for various releases build/test issues. + * Fri May 17 2019 Kevin Fenzi - 2.8.0-1 - Update to 2.8.0 final. - Add datadirs for other packages to land ansible files in. From 5015e6892fa64b5df5e62826cd5cfd57d72ddfc3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 9 Jun 2019 00:04:10 -0700 Subject: [PATCH 181/366] Update to 2.8.1. Fixes bug #1718131 Sync up Requires/Buildrequires with upstream. Add patch for python 3.8 building. Fixes bug #1712531 Add patch for CVE-2019-10156. --- .gitignore | 1 + 56806.patch | 70 +++++++++++++++ 57188.patch | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++ ansible.spec | 35 +++++--- sources | 2 +- 5 files changed, 342 insertions(+), 13 deletions(-) create mode 100644 56806.patch create mode 100644 57188.patch diff --git a/.gitignore b/.gitignore index 58218a5..ea5930d 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,4 @@ /ansible-2.8.0rc1.tar.gz /ansible-2.8.0rc3.tar.gz /ansible-2.8.0.tar.gz +/ansible-2.8.1.tar.gz diff --git a/56806.patch b/56806.patch new file mode 100644 index 0000000..2fa1666 --- /dev/null +++ b/56806.patch @@ -0,0 +1,70 @@ +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/lib/ansible/modules/network/dellos9/dellos9_facts.py b/lib/ansible/modules/network/dellos9/dellos9_facts.py +index b7abedf5527d..5818644430b6 100644 +--- a/lib/ansible/modules/network/dellos9/dellos9_facts.py ++++ b/lib/ansible/modules/network/dellos9/dellos9_facts.py +@@ -252,13 +252,13 @@ def populate(self): + data = self.responses[0] + interfaces = self.parse_interfaces(data) + +- for key in interfaces.keys(): ++ for key in list(interfaces.keys()): + if "ManagementEthernet" in key: + temp_parsed = interfaces[key] + del interfaces[key] + interfaces.update(self.parse_mgmt_interfaces(temp_parsed)) + +- for key in interfaces.keys(): ++ for key in list(interfaces.keys()): + if "Vlan" in key: + temp_parsed = interfaces[key] + del interfaces[key] diff --git a/57188.patch b/57188.patch new file mode 100644 index 0000000..c309bb1 --- /dev/null +++ b/57188.patch @@ -0,0 +1,247 @@ +From 8254c266f962d5febe46396d5083bb9c1da74840 Mon Sep 17 00:00:00 2001 +From: Brian Coca +Date: Tue, 4 Jun 2019 08:43:15 -0400 +Subject: [PATCH 1/2] just dont pass locals + + - also fix globals + - added tests +--- + changelogs/fragments/fix_safe_eval.yml | 2 + + lib/ansible/template/__init__.py | 2 +- + lib/ansible/template/safe_eval.py | 8 ++- + .../targets/template/corner_cases.yml | 51 +++++++++++++++++++ + test/integration/targets/template/runme.sh | 4 ++ + 5 files changed, 64 insertions(+), 3 deletions(-) + create mode 100644 changelogs/fragments/fix_safe_eval.yml + create mode 100644 test/integration/targets/template/corner_cases.yml + +diff --git a/changelogs/fragments/fix_safe_eval.yml b/changelogs/fragments/fix_safe_eval.yml +new file mode 100644 +index 000000000000..19220b34ffb1 +--- /dev/null ++++ b/changelogs/fragments/fix_safe_eval.yml +@@ -0,0 +1,2 @@ ++bugfixes: ++ - Handle improper variable substitution that was happening in safe_eval, it was always meant to just do 'type enforcement' and have Jinja2 deal with all variable interpolation. Also see CVE-2019-10156 +diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py +index f88b7165db1f..ec4bf6771379 100644 +--- a/lib/ansible/template/__init__.py ++++ b/lib/ansible/template/__init__.py +@@ -543,7 +543,7 @@ def template(self, variable, convert_bare=False, preserve_trailing_newlines=True + # if this looks like a dictionary or list, convert it to such using the safe_eval method + if (result.startswith("{") and not result.startswith(self.environment.variable_start_string)) or \ + result.startswith("[") or result in ("True", "False"): +- eval_results = safe_eval(result, locals=self._available_variables, include_exceptions=True) ++ eval_results = safe_eval(result, include_exceptions=True) + if eval_results[1] is None: + result = eval_results[0] + if unsafe: +diff --git a/lib/ansible/template/safe_eval.py b/lib/ansible/template/safe_eval.py +index 9c70be4a897d..4f5b856180af 100644 +--- a/lib/ansible/template/safe_eval.py ++++ b/lib/ansible/template/safe_eval.py +@@ -42,10 +42,14 @@ def safe_eval(expr, locals=None, include_exceptions=False): + + # define certain JSON types + # eg. JSON booleans are unknown to python eval() +- JSON_TYPES = { ++ OUR_GLOBALS = { ++ '__builtins__': {}, # avoid global builtins as per eval docs + 'false': False, + 'null': None, + 'true': True, ++ # also add back some builtins we do need ++ 'True': True, ++ 'False': False, + } + + # this is the whitelist of AST nodes we are going to +@@ -138,7 +142,7 @@ def generic_visit(self, node, inside_call=False): + # Note: passing our own globals and locals here constrains what + # callables (and other identifiers) are recognized. this is in + # addition to the filtering of builtins done in CleansingNodeVisitor +- result = eval(compiled, JSON_TYPES, dict(locals)) ++ result = eval(compiled, OUR_GLOBALS, dict(locals)) + + if include_exceptions: + return (result, None) +diff --git a/test/integration/targets/template/corner_cases.yml b/test/integration/targets/template/corner_cases.yml +new file mode 100644 +index 000000000000..48782f79590c +--- /dev/null ++++ b/test/integration/targets/template/corner_cases.yml +@@ -0,0 +1,51 @@ ++- name: test tempating corner cases ++ hosts: localhost ++ gather_facts: false ++ vars: ++ empty_list: [] ++ dont: I SHOULD NOT BE TEMPLATED ++ other: I WORK ++ tasks: ++ - name: 'ensure we are not interpolating data from outside of j2 delmiters' ++ assert: ++ that: ++ - '"I SHOULD NOT BE TEMPLATED" not in adjacent' ++ - globals1 == "[[], globals()]" ++ - globals2 == "[[], globals]" ++ vars: ++ adjacent: "{{ empty_list }} + [dont]" ++ globals1: "[{{ empty_list }}, globals()]" ++ globals2: "[{{ empty_list }}, globals]" ++ ++ - name: 'ensure we can add lists' ++ assert: ++ that: ++ - (empty_list + [other]) == [other] ++ - (empty_list + [other, other]) == [other, other] ++ - (dont_exist|default([]) + [other]) == [other] ++ - ([other] + [empty_list, other]) == [other, [], other] ++ ++ - name: 'ensure comments go away and we still dont interpolate in string' ++ assert: ++ that: ++ - 'comm1 == " + [dont]"' ++ - 'comm2 == " #} + [dont]"' ++ vars: ++ comm1: '{# {{nothing}} {# #} + [dont]' ++ comm2: "{# {{nothing}} {# #} #} + [dont]" ++ ++ - name: test additions with facts, set them up ++ set_fact: ++ inames: [] ++ iname: "{{ prefix ~ '-options' }}" ++ iname_1: "{{ prefix ~ '-options-1' }}" ++ vars: ++ prefix: 'bo' ++ ++ - name: add the facts ++ set_fact: ++ inames: '{{ inames + [iname, iname_1] }}' ++ ++ - assert: ++ that: ++ - inames == ['bo-options', 'bo-options-1'] +diff --git a/test/integration/targets/template/runme.sh b/test/integration/targets/template/runme.sh +index 2b58bc92dd3e..c4f50b1c7e28 100755 +--- a/test/integration/targets/template/runme.sh ++++ b/test/integration/targets/template/runme.sh +@@ -12,3 +12,7 @@ ansible-playbook ansible_managed.yml -c ansible_managed.cfg -i ../../inventory + + # Test for #42585 + ANSIBLE_ROLES_PATH=../ ansible-playbook custom_template.yml -i ../../inventory -e @../../integration_config.yml -v "$@" ++ ++ ++# Test for several corner cases #57188 ++ansible-playbook corner_cases.yml -v "$@" + +From fbda0028750a17a032d83dad9d1fb284f9ea68a4 Mon Sep 17 00:00:00 2001 +From: Brian Coca +Date: Thu, 6 Jun 2019 13:26:14 -0400 +Subject: [PATCH 2/2] fixed tests + +--- + .../targets/docker_image/tasks/tests/old-options.yml | 2 +- + test/integration/targets/meraki_static_route/tasks/main.yml | 6 +++--- + test/integration/targets/netapp_eseries_host/tasks/run.yml | 4 ++-- + test/integration/targets/postgresql/tasks/main.yml | 2 +- + test/legacy/ovs.yaml | 4 ++-- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/test/integration/targets/docker_image/tasks/tests/old-options.yml b/test/integration/targets/docker_image/tasks/tests/old-options.yml +index 5571cf96fabc..5824a56d1fec 100644 +--- a/test/integration/targets/docker_image/tasks/tests/old-options.yml ++++ b/test/integration/targets/docker_image/tasks/tests/old-options.yml +@@ -5,7 +5,7 @@ + + - name: Registering image name + set_fact: +- inames: "{{ inames }} + [iname]" ++ inames: "{{ inames + [iname]}}" + + #################################################################### + ## build ########################################################### +diff --git a/test/integration/targets/meraki_static_route/tasks/main.yml b/test/integration/targets/meraki_static_route/tasks/main.yml +index 322e36f855e7..10ba31eab975 100644 +--- a/test/integration/targets/meraki_static_route/tasks/main.yml ++++ b/test/integration/targets/meraki_static_route/tasks/main.yml +@@ -35,7 +35,7 @@ + register: create_route + + - set_fact: +- route_ids: "{{ route_ids }} + [ '{{ create_route.data.id }}' ]" ++ route_ids: "{{ route_ids + [create_route.data.id] }}" + + - name: Create second static_route + meraki_static_route: +@@ -50,7 +50,7 @@ + register: second_create + + - set_fact: +- route_ids: "{{ route_ids }} + [ '{{ second_create.data.id }}' ]" ++ route_ids: "{{ route_ids + [second_create.data.id] }}" + + - assert: + that: +@@ -167,4 +167,4 @@ + state: absent + org_name: '{{test_org_name}}' + net_name: IntTestNetwork +- delegate_to: localhost +\ No newline at end of file ++ delegate_to: localhost +diff --git a/test/integration/targets/netapp_eseries_host/tasks/run.yml b/test/integration/targets/netapp_eseries_host/tasks/run.yml +index fd0a8d5fa209..70519b4b9423 100644 +--- a/test/integration/targets/netapp_eseries_host/tasks/run.yml ++++ b/test/integration/targets/netapp_eseries_host/tasks/run.yml +@@ -204,7 +204,7 @@ + set_fact: + port_info: [] + - set_fact: +- port_info: "{{ port_info }} + [{{ item[0] |combine(item[1]) }}]" ++ port_info: "{{ port_info + [item[0] |combine(item[1])] }}" + loop: "{{ tmp }}" + + # Compile list of expected host port information for verifying changes +@@ -225,7 +225,7 @@ + set_fact: + expected_port_info: [] + - set_fact: +- expected_port_info: "{{ expected_port_info }} + [{{ item[0] |combine(item[1]) }}]" ++ expected_port_info: "{{ expected_port_info + [ item[0] |combine(item[1]) ] }}" + loop: "{{ tmp }}" + + # Verify that each host object has the expected protocol type and address/port +diff --git a/test/integration/targets/postgresql/tasks/main.yml b/test/integration/targets/postgresql/tasks/main.yml +index d395b2820f13..5d3a21b61e71 100644 +--- a/test/integration/targets/postgresql/tasks/main.yml ++++ b/test/integration/targets/postgresql/tasks/main.yml +@@ -235,7 +235,7 @@ + - 'yes' + + - set_fact: +- encryption_values: '{{ encryption_values }} + ["no"]' ++ encryption_values: '{{ encryption_values + ["no"]}}' + when: postgres_version_resp.stdout is version('10', '<=') + + - include: test_password.yml +diff --git a/test/legacy/ovs.yaml b/test/legacy/ovs.yaml +index 4eff414f1de8..35d3acc0fd2f 100644 +--- a/test/legacy/ovs.yaml ++++ b/test/legacy/ovs.yaml +@@ -22,7 +22,7 @@ + when: "limit_to in ['*', 'openvswitch_db']" + rescue: + - set_fact: +- failed_modules: "{{ failed_modules }} + [ 'openvswitch_db' ]" ++ failed_modules: "{{ failed_modules + [ 'openvswitch_db' ]}}" + test_failed: true + + +@@ -33,4 +33,4 @@ + - name: Has any previous test failed? + fail: + msg: "One or more tests failed, check log for details" +- when: test_failed +\ No newline at end of file ++ when: test_failed diff --git a/ansible.spec b/ansible.spec index c3cdcb2..a81fb1f 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,16 +29,19 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.0 -Release: 2%{?dist} +Version: 2.8.1 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# This patch adds compat for the tojson filter in jinja2 -# Older versions do not have this filer. -# Upstream at https://github.com/ansible/ansible/pull/56596 -Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/56596.patch +# Patch for CVE-2019-10156 +# https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/57188 +Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/57188.patch + +# Patch for python 3.8 +# https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/56806 +Patch2: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/56806.patch # Patch to utilize a newer jinja2 package on epel6 # Non-upstreamable as it creates a dependency on a specific version of jinja. @@ -79,9 +82,9 @@ BuildRequires: asciidoc # We don't run tests on epel6, so don't bother pulling these in there. %if (0%{?fedora} || 0%{?rhel} > 6) BuildRequires: PyYAML -BuildRequires: python-crypto +BuildRequires: python2-cryptography +BuildRequires: python2-crypto BuildRequires: python-paramiko -BuildRequires: python-keyczar BuildRequires: python-six BuildRequires: python-nose BuildRequires: python-coverage @@ -123,9 +126,8 @@ BuildRequires: python-jinja2 %endif Requires: PyYAML -Requires: python-crypto +Requires: python2-cryptography Requires: python-paramiko -Requires: python-keyczar Requires: python-httplib2 Requires: python-setuptools Requires: python-six @@ -188,7 +190,9 @@ BuildRequires: python3-setuptools # For tests BuildRequires: python3-PyYAML BuildRequires: python3-paramiko +BuildRequires: python3-cryptography BuildRequires: python3-crypto +BuildRequires: python3-pbkdf2 BuildRequires: python3-packaging BuildRequires: python3-pexpect BuildRequires: python3-winrm @@ -220,7 +224,7 @@ BuildRequires: python3-jinja2 Requires: python3-PyYAML Requires: python3-paramiko -Requires: python3-crypto +Requires: python3-cryptography # accelerate is the only thing that makes keyczar mandatory. Since accelerate # is deprecated, just ignore it #Requires: python3-keyczar @@ -263,7 +267,8 @@ This package installs extensive documentation for ansible %prep %setup -q -n %{name}-%{version} -%patch1 -p1 +%patch1 -p1 +%patch2 -p1 %if 0%{?rhel} == 6 %patch100 -p1 @@ -445,6 +450,12 @@ popd %endif %changelog +* Sun Jun 09 2019 Kevin Fenzi - 2.8.1-1 +- Update to 2.8.1. Fixes bug #1718131 +- Sync up Requires/Buildrequires with upstream. +- Add patch for python 3.8 building. Fixes bug #1712531 +- Add patch for CVE-2019-10156. + * Fri May 17 2019 Kevin Fenzi - 2.8.0-2 - Fixes for various releases build/test issues. diff --git a/sources b/sources index 19fd2bd..a8d56b7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.0.tar.gz) = fab8a0ac00e947e47ab606bee0a15e8c031f900b5e6fc68540429db0035ffdf3144e18e1d2265ac07bbea0a78873b85c43e636ee51ecfe14f3d612d2c54eb29c +SHA512 (ansible-2.8.1.tar.gz) = 08be80584edfe28f11fe750735ade117deaf3a7c98fe15fb2fa0e3a5ed0c3f98cd126b60386e51d15ce275e8f1fc3eda0177bb56e0823b2f2b7702cc0e35be92 From 57f52d457f909f3330257c8ae0c55044e4215379 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 20 Jul 2019 16:52:08 -0700 Subject: [PATCH 182/366] Update to 2.8.2. Fixes bug #1726846 --- .gitignore | 1 + 56596.patch | 32 ------- 56806.patch | 70 --------------- 57188.patch | 247 --------------------------------------------------- ansible.spec | 51 ++++++----- sources | 2 +- 6 files changed, 27 insertions(+), 376 deletions(-) delete mode 100644 56596.patch delete mode 100644 56806.patch delete mode 100644 57188.patch diff --git a/.gitignore b/.gitignore index ea5930d..f6d3531 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,4 @@ /ansible-2.8.0rc3.tar.gz /ansible-2.8.0.tar.gz /ansible-2.8.1.tar.gz +/ansible-2.8.2.tar.gz diff --git a/56596.patch b/56596.patch deleted file mode 100644 index 7e10b96..0000000 --- a/56596.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 949c35911e92b5bce1d21c7ed93425ccddd527fd Mon Sep 17 00:00:00 2001 -From: Matt Martz -Date: Fri, 17 May 2019 12:48:58 -0500 -Subject: [PATCH] Add compat tojson filter for jinja2 versions missing it - ---- - docs/bin/plugin_formatter.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/docs/bin/plugin_formatter.py b/docs/bin/plugin_formatter.py -index 1774aca70281..83a00639ee88 100755 ---- a/docs/bin/plugin_formatter.py -+++ b/docs/bin/plugin_formatter.py -@@ -11,6 +11,7 @@ - - import datetime - import glob -+import json - import optparse - import os - import re -@@ -399,6 +400,10 @@ def jinja2_environment(template_dir, typ, plugin_type): - # Jinja < 2.10 - env.filters['max'] = do_max - -+ if 'tojson' not in env.filters: -+ # Jinja < 2.9 -+ env.filters['tojson'] = json.dumps -+ - templates = {} - if typ == 'rst': - env.filters['rst_ify'] = rst_ify diff --git a/56806.patch b/56806.patch deleted file mode 100644 index 2fa1666..0000000 --- a/56806.patch +++ /dev/null @@ -1,70 +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/lib/ansible/modules/network/dellos9/dellos9_facts.py b/lib/ansible/modules/network/dellos9/dellos9_facts.py -index b7abedf5527d..5818644430b6 100644 ---- a/lib/ansible/modules/network/dellos9/dellos9_facts.py -+++ b/lib/ansible/modules/network/dellos9/dellos9_facts.py -@@ -252,13 +252,13 @@ def populate(self): - data = self.responses[0] - interfaces = self.parse_interfaces(data) - -- for key in interfaces.keys(): -+ for key in list(interfaces.keys()): - if "ManagementEthernet" in key: - temp_parsed = interfaces[key] - del interfaces[key] - interfaces.update(self.parse_mgmt_interfaces(temp_parsed)) - -- for key in interfaces.keys(): -+ for key in list(interfaces.keys()): - if "Vlan" in key: - temp_parsed = interfaces[key] - del interfaces[key] diff --git a/57188.patch b/57188.patch deleted file mode 100644 index c309bb1..0000000 --- a/57188.patch +++ /dev/null @@ -1,247 +0,0 @@ -From 8254c266f962d5febe46396d5083bb9c1da74840 Mon Sep 17 00:00:00 2001 -From: Brian Coca -Date: Tue, 4 Jun 2019 08:43:15 -0400 -Subject: [PATCH 1/2] just dont pass locals - - - also fix globals - - added tests ---- - changelogs/fragments/fix_safe_eval.yml | 2 + - lib/ansible/template/__init__.py | 2 +- - lib/ansible/template/safe_eval.py | 8 ++- - .../targets/template/corner_cases.yml | 51 +++++++++++++++++++ - test/integration/targets/template/runme.sh | 4 ++ - 5 files changed, 64 insertions(+), 3 deletions(-) - create mode 100644 changelogs/fragments/fix_safe_eval.yml - create mode 100644 test/integration/targets/template/corner_cases.yml - -diff --git a/changelogs/fragments/fix_safe_eval.yml b/changelogs/fragments/fix_safe_eval.yml -new file mode 100644 -index 000000000000..19220b34ffb1 ---- /dev/null -+++ b/changelogs/fragments/fix_safe_eval.yml -@@ -0,0 +1,2 @@ -+bugfixes: -+ - Handle improper variable substitution that was happening in safe_eval, it was always meant to just do 'type enforcement' and have Jinja2 deal with all variable interpolation. Also see CVE-2019-10156 -diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py -index f88b7165db1f..ec4bf6771379 100644 ---- a/lib/ansible/template/__init__.py -+++ b/lib/ansible/template/__init__.py -@@ -543,7 +543,7 @@ def template(self, variable, convert_bare=False, preserve_trailing_newlines=True - # if this looks like a dictionary or list, convert it to such using the safe_eval method - if (result.startswith("{") and not result.startswith(self.environment.variable_start_string)) or \ - result.startswith("[") or result in ("True", "False"): -- eval_results = safe_eval(result, locals=self._available_variables, include_exceptions=True) -+ eval_results = safe_eval(result, include_exceptions=True) - if eval_results[1] is None: - result = eval_results[0] - if unsafe: -diff --git a/lib/ansible/template/safe_eval.py b/lib/ansible/template/safe_eval.py -index 9c70be4a897d..4f5b856180af 100644 ---- a/lib/ansible/template/safe_eval.py -+++ b/lib/ansible/template/safe_eval.py -@@ -42,10 +42,14 @@ def safe_eval(expr, locals=None, include_exceptions=False): - - # define certain JSON types - # eg. JSON booleans are unknown to python eval() -- JSON_TYPES = { -+ OUR_GLOBALS = { -+ '__builtins__': {}, # avoid global builtins as per eval docs - 'false': False, - 'null': None, - 'true': True, -+ # also add back some builtins we do need -+ 'True': True, -+ 'False': False, - } - - # this is the whitelist of AST nodes we are going to -@@ -138,7 +142,7 @@ def generic_visit(self, node, inside_call=False): - # Note: passing our own globals and locals here constrains what - # callables (and other identifiers) are recognized. this is in - # addition to the filtering of builtins done in CleansingNodeVisitor -- result = eval(compiled, JSON_TYPES, dict(locals)) -+ result = eval(compiled, OUR_GLOBALS, dict(locals)) - - if include_exceptions: - return (result, None) -diff --git a/test/integration/targets/template/corner_cases.yml b/test/integration/targets/template/corner_cases.yml -new file mode 100644 -index 000000000000..48782f79590c ---- /dev/null -+++ b/test/integration/targets/template/corner_cases.yml -@@ -0,0 +1,51 @@ -+- name: test tempating corner cases -+ hosts: localhost -+ gather_facts: false -+ vars: -+ empty_list: [] -+ dont: I SHOULD NOT BE TEMPLATED -+ other: I WORK -+ tasks: -+ - name: 'ensure we are not interpolating data from outside of j2 delmiters' -+ assert: -+ that: -+ - '"I SHOULD NOT BE TEMPLATED" not in adjacent' -+ - globals1 == "[[], globals()]" -+ - globals2 == "[[], globals]" -+ vars: -+ adjacent: "{{ empty_list }} + [dont]" -+ globals1: "[{{ empty_list }}, globals()]" -+ globals2: "[{{ empty_list }}, globals]" -+ -+ - name: 'ensure we can add lists' -+ assert: -+ that: -+ - (empty_list + [other]) == [other] -+ - (empty_list + [other, other]) == [other, other] -+ - (dont_exist|default([]) + [other]) == [other] -+ - ([other] + [empty_list, other]) == [other, [], other] -+ -+ - name: 'ensure comments go away and we still dont interpolate in string' -+ assert: -+ that: -+ - 'comm1 == " + [dont]"' -+ - 'comm2 == " #} + [dont]"' -+ vars: -+ comm1: '{# {{nothing}} {# #} + [dont]' -+ comm2: "{# {{nothing}} {# #} #} + [dont]" -+ -+ - name: test additions with facts, set them up -+ set_fact: -+ inames: [] -+ iname: "{{ prefix ~ '-options' }}" -+ iname_1: "{{ prefix ~ '-options-1' }}" -+ vars: -+ prefix: 'bo' -+ -+ - name: add the facts -+ set_fact: -+ inames: '{{ inames + [iname, iname_1] }}' -+ -+ - assert: -+ that: -+ - inames == ['bo-options', 'bo-options-1'] -diff --git a/test/integration/targets/template/runme.sh b/test/integration/targets/template/runme.sh -index 2b58bc92dd3e..c4f50b1c7e28 100755 ---- a/test/integration/targets/template/runme.sh -+++ b/test/integration/targets/template/runme.sh -@@ -12,3 +12,7 @@ ansible-playbook ansible_managed.yml -c ansible_managed.cfg -i ../../inventory - - # Test for #42585 - ANSIBLE_ROLES_PATH=../ ansible-playbook custom_template.yml -i ../../inventory -e @../../integration_config.yml -v "$@" -+ -+ -+# Test for several corner cases #57188 -+ansible-playbook corner_cases.yml -v "$@" - -From fbda0028750a17a032d83dad9d1fb284f9ea68a4 Mon Sep 17 00:00:00 2001 -From: Brian Coca -Date: Thu, 6 Jun 2019 13:26:14 -0400 -Subject: [PATCH 2/2] fixed tests - ---- - .../targets/docker_image/tasks/tests/old-options.yml | 2 +- - test/integration/targets/meraki_static_route/tasks/main.yml | 6 +++--- - test/integration/targets/netapp_eseries_host/tasks/run.yml | 4 ++-- - test/integration/targets/postgresql/tasks/main.yml | 2 +- - test/legacy/ovs.yaml | 4 ++-- - 5 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/test/integration/targets/docker_image/tasks/tests/old-options.yml b/test/integration/targets/docker_image/tasks/tests/old-options.yml -index 5571cf96fabc..5824a56d1fec 100644 ---- a/test/integration/targets/docker_image/tasks/tests/old-options.yml -+++ b/test/integration/targets/docker_image/tasks/tests/old-options.yml -@@ -5,7 +5,7 @@ - - - name: Registering image name - set_fact: -- inames: "{{ inames }} + [iname]" -+ inames: "{{ inames + [iname]}}" - - #################################################################### - ## build ########################################################### -diff --git a/test/integration/targets/meraki_static_route/tasks/main.yml b/test/integration/targets/meraki_static_route/tasks/main.yml -index 322e36f855e7..10ba31eab975 100644 ---- a/test/integration/targets/meraki_static_route/tasks/main.yml -+++ b/test/integration/targets/meraki_static_route/tasks/main.yml -@@ -35,7 +35,7 @@ - register: create_route - - - set_fact: -- route_ids: "{{ route_ids }} + [ '{{ create_route.data.id }}' ]" -+ route_ids: "{{ route_ids + [create_route.data.id] }}" - - - name: Create second static_route - meraki_static_route: -@@ -50,7 +50,7 @@ - register: second_create - - - set_fact: -- route_ids: "{{ route_ids }} + [ '{{ second_create.data.id }}' ]" -+ route_ids: "{{ route_ids + [second_create.data.id] }}" - - - assert: - that: -@@ -167,4 +167,4 @@ - state: absent - org_name: '{{test_org_name}}' - net_name: IntTestNetwork -- delegate_to: localhost -\ No newline at end of file -+ delegate_to: localhost -diff --git a/test/integration/targets/netapp_eseries_host/tasks/run.yml b/test/integration/targets/netapp_eseries_host/tasks/run.yml -index fd0a8d5fa209..70519b4b9423 100644 ---- a/test/integration/targets/netapp_eseries_host/tasks/run.yml -+++ b/test/integration/targets/netapp_eseries_host/tasks/run.yml -@@ -204,7 +204,7 @@ - set_fact: - port_info: [] - - set_fact: -- port_info: "{{ port_info }} + [{{ item[0] |combine(item[1]) }}]" -+ port_info: "{{ port_info + [item[0] |combine(item[1])] }}" - loop: "{{ tmp }}" - - # Compile list of expected host port information for verifying changes -@@ -225,7 +225,7 @@ - set_fact: - expected_port_info: [] - - set_fact: -- expected_port_info: "{{ expected_port_info }} + [{{ item[0] |combine(item[1]) }}]" -+ expected_port_info: "{{ expected_port_info + [ item[0] |combine(item[1]) ] }}" - loop: "{{ tmp }}" - - # Verify that each host object has the expected protocol type and address/port -diff --git a/test/integration/targets/postgresql/tasks/main.yml b/test/integration/targets/postgresql/tasks/main.yml -index d395b2820f13..5d3a21b61e71 100644 ---- a/test/integration/targets/postgresql/tasks/main.yml -+++ b/test/integration/targets/postgresql/tasks/main.yml -@@ -235,7 +235,7 @@ - - 'yes' - - - set_fact: -- encryption_values: '{{ encryption_values }} + ["no"]' -+ encryption_values: '{{ encryption_values + ["no"]}}' - when: postgres_version_resp.stdout is version('10', '<=') - - - include: test_password.yml -diff --git a/test/legacy/ovs.yaml b/test/legacy/ovs.yaml -index 4eff414f1de8..35d3acc0fd2f 100644 ---- a/test/legacy/ovs.yaml -+++ b/test/legacy/ovs.yaml -@@ -22,7 +22,7 @@ - when: "limit_to in ['*', 'openvswitch_db']" - rescue: - - set_fact: -- failed_modules: "{{ failed_modules }} + [ 'openvswitch_db' ]" -+ failed_modules: "{{ failed_modules + [ 'openvswitch_db' ]}}" - test_failed: true - - -@@ -33,4 +33,4 @@ - - name: Has any previous test failed? - fail: - msg: "One or more tests failed, check log for details" -- when: test_failed -\ No newline at end of file -+ when: test_failed diff --git a/ansible.spec b/ansible.spec index a81fb1f..bfaff17 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,20 +29,12 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.1 +Version: 2.8.2 Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz -# Patch for CVE-2019-10156 -# https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/57188 -Patch1: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/57188.patch - -# Patch for python 3.8 -# https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/56806 -Patch2: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/56806.patch - # 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 @@ -73,10 +65,6 @@ BuildRequires: python-setuptools # For building docs/tests BuildRequires: git-core -%if %with_docs -BuildRequires: python3-sphinx -BuildRequires: asciidoc -%endif # For tests # We don't run tests on epel6, so don't bother pulling these in there. @@ -163,7 +151,8 @@ 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 +%endif +# python2 %if 0%{?with_python3} @@ -204,6 +193,7 @@ BuildRequires: git-core %if %with_docs BuildRequires: python3-sphinx BuildRequires: python3-sphinx-theme-alabaster +BuildRequires: python3-sphinx-notfound-page BuildRequires: asciidoc %endif # accelerate is the only thing that makes keyczar mandatory. Since accelerate @@ -249,7 +239,8 @@ 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 +%endif +# python3 %package -n ansible-doc Summary: Documentation for Ansible @@ -267,9 +258,6 @@ This package installs extensive documentation for ansible %prep %setup -q -n %{name}-%{version} -%patch1 -p1 -%patch2 -p1 - %if 0%{?rhel} == 6 %patch100 -p1 %endif @@ -277,7 +265,8 @@ This package installs extensive documentation for ansible %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} -%endif # with_python3 +%endif +# with_python3 %build %if 0%{?with_python2} @@ -299,7 +288,8 @@ pushd %{py3dir} %endif popd -%endif # with_python3 +%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 @@ -331,7 +321,8 @@ for i in $RPM_BUILD_ROOT/%{_bindir}/ansible* ; do %endif fi done -%endif # with_python3 +%endif +# with_python3 %if 0%{?with_python2} %{__python2} setup.py install --root=$RPM_BUILD_ROOT @@ -399,7 +390,8 @@ cp -pr docs/docsite/rst . %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 +%endif +# New enough Fedora with python2 %if 0%{?with_python3} pushd %{py3dir} @@ -416,7 +408,8 @@ rm -f test/units/modules/source_control/test_gitlab_runner.py make PYTHON=/usr/bin/python3 tests-py3 popd -%endif # python3 +%endif +# python3 %files @@ -426,7 +419,8 @@ popd %{_bindir}/ansible* %if 0%{?with_python3} && 0%{?with_python2} %exclude %{_bindir}/ansible*-3* -%endif # python3 and 2 +%endif +# python3 and 2 %config(noreplace) %{_sysconfdir}/ansible/ %{_datadir}/ansible/ %doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.8.rst @@ -439,9 +433,11 @@ popd %doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-v2.8.rst %doc %{_mandir}/man1/ansible* %{_bindir}/ansible*-3* -%endif # python2 +%endif +# python2 %{python3_sitelib}/ansible* -%endif # python3 +%endif +# python3 %files -n ansible-doc %doc rst @@ -450,6 +446,9 @@ popd %endif %changelog +* Wed Jul 03 2019 Kevin Fenzi - 2.8.2-1 +- Update to 2.8.2. Fixes bug #1726846 + * Sun Jun 09 2019 Kevin Fenzi - 2.8.1-1 - Update to 2.8.1. Fixes bug #1718131 - Sync up Requires/Buildrequires with upstream. diff --git a/sources b/sources index a8d56b7..b99f84a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.1.tar.gz) = 08be80584edfe28f11fe750735ade117deaf3a7c98fe15fb2fa0e3a5ed0c3f98cd126b60386e51d15ce275e8f1fc3eda0177bb56e0823b2f2b7702cc0e35be92 +SHA512 (ansible-2.8.2.tar.gz) = 02cd8fd214f61041914abeebf2395f16acf370e110bdef0181689f604f06504902f9a05a2413877a31680528af539f078e2cd7b7f2eebe2389c9aa441b063305 From fc79e9a34d5e3da0636fbf8874fce23f3b9fd1e1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 17:56:15 +0000 Subject: [PATCH 183/366] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_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 bfaff17..9c05bdc 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -446,6 +446,9 @@ popd %endif %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 2.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Wed Jul 03 2019 Kevin Fenzi - 2.8.2-1 - Update to 2.8.2. Fixes bug #1726846 From 2d743f6ba6c96a63ed75c84ad03124664e5e7ce3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 25 Jul 2019 18:03:58 -0700 Subject: [PATCH 184/366] Update to 2.8.3. --- .gitignore | 1 + ansible-newer-jinja.patch | 14 -------------- ansible.spec | 7 +++++-- sources | 2 +- 4 files changed, 7 insertions(+), 17 deletions(-) delete mode 100644 ansible-newer-jinja.patch diff --git a/.gitignore b/.gitignore index f6d3531..0147828 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ /ansible-2.8.0.tar.gz /ansible-2.8.1.tar.gz /ansible-2.8.2.tar.gz +/ansible-2.8.3.tar.gz 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 9c05bdc..193f724 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,8 +29,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.2 -Release: 2%{?dist} +Version: 2.8.3 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -446,6 +446,9 @@ popd %endif %changelog +* Thu Jul 25 2019 Kevin Fenzi - 2.8.3-1 +- Update to 2.8.3. + * Wed Jul 24 2019 Fedora Release Engineering - 2.8.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index b99f84a..eb4e5e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.2.tar.gz) = 02cd8fd214f61041914abeebf2395f16acf370e110bdef0181689f604f06504902f9a05a2413877a31680528af539f078e2cd7b7f2eebe2389c9aa441b063305 +SHA512 (ansible-2.8.3.tar.gz) = cee2c663577155269c4d762816590200224e87979411dc7486f5840783f23aaa688577a3f75e272c4875af30397bb383d11eaa7d122d5f304388d5b45ffb9b6f From 4a112e606fb64a24b8bc503c14978e4011e7b54a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 25 Jul 2019 19:45:02 -0700 Subject: [PATCH 185/366] Include mistakenly dropped patch. Signed-off-by: Kevin Fenzi --- ansible-newer-jinja.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 ansible-newer-jinja.patch diff --git a/ansible-newer-jinja.patch b/ansible-newer-jinja.patch new file mode 100644 index 0000000..c393067 --- /dev/null +++ b/ansible-newer-jinja.patch @@ -0,0 +1,14 @@ +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 From cbc7164914523b44fcd7a9bc6b9dd2a84d58e537 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 16 Aug 2019 13:48:06 -0700 Subject: [PATCH 186/366] Update to 2.8.4. Fixes CVE-2019-10217 and CVE-2019-10206 --- .gitignore | 1 + ansible.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0147828..260c4bf 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,4 @@ /ansible-2.8.1.tar.gz /ansible-2.8.2.tar.gz /ansible-2.8.3.tar.gz +/ansible-2.8.4.tar.gz diff --git a/ansible.spec b/ansible.spec index 193f724..2c01463 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,7 +29,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.3 +Version: 2.8.4 Release: 1%{?dist} License: GPLv3+ @@ -446,6 +446,9 @@ popd %endif %changelog +* Fri Aug 16 2019 Kevin Fenzi - 2.8.4-1 +- Update to 2.8.4. Fixes CVE-2019-10217 and CVE-2019-10206 + * Thu Jul 25 2019 Kevin Fenzi - 2.8.3-1 - Update to 2.8.3. diff --git a/sources b/sources index eb4e5e9..f32dc72 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.3.tar.gz) = cee2c663577155269c4d762816590200224e87979411dc7486f5840783f23aaa688577a3f75e272c4875af30397bb383d11eaa7d122d5f304388d5b45ffb9b6f +SHA512 (ansible-2.8.4.tar.gz) = 9efacbaf053acb8cf92ebe5bda982794ecbdbf55e33a4a292a68874b637eebe82406bfba129adf839354ee18aa809d45d77502f68b8e8d07358a48c9b5687b7e From acd75dd6c4e35daabb523fd43ab80a3dc930d9c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:01:08 +0200 Subject: [PATCH 187/366] Rebuilt for Python 3.8 --- ansible.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ansible.spec b/ansible.spec index 2c01463..8f2d7f2 100644 --- a/ansible.spec +++ b/ansible.spec @@ -30,7 +30,7 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.8.4 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -446,6 +446,9 @@ popd %endif %changelog +* Mon Aug 19 2019 Miro Hrončok - 2.8.4-2 +- Rebuilt for Python 3.8 + * Fri Aug 16 2019 Kevin Fenzi - 2.8.4-1 - Update to 2.8.4. Fixes CVE-2019-10217 and CVE-2019-10206 From a6b4355d577d519cf3b4d54b2f6055ca0580b606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 22 May 2019 21:38:03 +0200 Subject: [PATCH 188/366] Python 3.8 compatibility in docs See https://bugzilla.redhat.com/show_bug.cgi?id=1712531 and https://github.com/ansible/ansible/pull/56806 --- 56806.patch | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ ansible.spec | 7 +++++++ 2 files changed, 57 insertions(+) create mode 100644 56806.patch diff --git a/56806.patch b/56806.patch new file mode 100644 index 0000000..db06d26 --- /dev/null +++ b/56806.patch @@ -0,0 +1,50 @@ +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.spec b/ansible.spec index 8f2d7f2..0675b24 100644 --- a/ansible.spec +++ b/ansible.spec @@ -41,6 +41,11 @@ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz # upstream as they don't know what their customers are running. Patch100: ansible-newer-jinja.patch +# 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 @@ -262,6 +267,8 @@ This package installs extensive documentation for ansible %patch100 -p1 %endif +%patch101 -p1 + %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} From 0441d853b21a8ef4c9e7540de99304545e92150b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 13 Sep 2019 11:45:41 -0700 Subject: [PATCH 189/366] Update to 2.8.5. --- .gitignore | 1 + ansible.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 260c4bf..db2c392 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,4 @@ /ansible-2.8.2.tar.gz /ansible-2.8.3.tar.gz /ansible-2.8.4.tar.gz +/ansible-2.8.5.tar.gz diff --git a/ansible.spec b/ansible.spec index 0675b24..00b41c3 100644 --- a/ansible.spec +++ b/ansible.spec @@ -29,8 +29,8 @@ Name: ansible Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.8.4 -Release: 2%{?dist} +Version: 2.8.5 +Release: 1%{?dist} License: GPLv3+ Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz @@ -453,6 +453,9 @@ popd %endif %changelog +* Fri Sep 13 2019 Kevin Fenzi - 2.8.5-1 +- Update to 2.8.5. + * Mon Aug 19 2019 Miro Hrončok - 2.8.4-2 - Rebuilt for Python 3.8 diff --git a/sources b/sources index f32dc72..9528a50 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-2.8.4.tar.gz) = 9efacbaf053acb8cf92ebe5bda982794ecbdbf55e33a4a292a68874b637eebe82406bfba129adf839354ee18aa809d45d77502f68b8e8d07358a48c9b5687b7e +SHA512 (ansible-2.8.5.tar.gz) = 6555b9a3d3d8298410e54f7116d92fc1978bef185a5136cfb809c1942b08b96c562af9e0d6d1a25eee5a4024d309b6713ce27836857b428a7c362e26efb53777 From 88ed9f12192e8462526dacdd28d85aa749c34458 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 19 Oct 2019 13:20:08 -0700 Subject: [PATCH 190/366] 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 191/366] 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 192/366] 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 193/366] 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 194/366] 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 195/366] 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 196/366] 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 197/366] - 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 198/366] 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 199/366] 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 200/366] 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 201/366] 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 202/366] 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 203/366] 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 204/366] 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 205/366] 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 206/366] 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 207/366] 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 208/366] 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 209/366] 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 210/366] - 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 211/366] 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 212/366] 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 213/366] 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 214/366] 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 215/366] 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 216/366] 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 217/366] 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 218/366] 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 219/366] 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 220/366] 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 221/366] 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 222/366] - 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 223/366] 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 224/366] 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 225/366] 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 226/366] 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 227/366] 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 228/366] 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 229/366] 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 230/366] - 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 231/366] - 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 232/366] 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 233/366] 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 234/366] 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 235/366] 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 236/366] 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 237/366] 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 238/366] 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 239/366] 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 240/366] 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 241/366] 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 242/366] - 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 243/366] 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 244/366] 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 245/366] 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 246/366] 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 247/366] 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 248/366] 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 249/366] 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 250/366] 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 251/366] 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 252/366] 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 253/366] 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 254/366] 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 255/366] 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 256/366] 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 257/366] 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 258/366] 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 259/366] 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 260/366] 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 261/366] 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 262/366] 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 263/366] 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 264/366] 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 265/366] 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 266/366] 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 267/366] 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 268/366] 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 269/366] 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 270/366] 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 271/366] 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 272/366] 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 273/366] 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 274/366] 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 275/366] 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 276/366] 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 277/366] 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 278/366] 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 279/366] 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 280/366] 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 281/366] 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 282/366] 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 283/366] 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 284/366] 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 285/366] 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 286/366] 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 287/366] 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 288/366] 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 289/366] 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 290/366] 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 291/366] 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 292/366] 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 293/366] 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 294/366] 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 295/366] 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 296/366] 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 297/366] 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 298/366] 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 299/366] 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 300/366] 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 301/366] 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 302/366] 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 303/366] 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 304/366] 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 305/366] 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 306/366] 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 307/366] 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 308/366] 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 309/366] 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 310/366] 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 311/366] 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 312/366] 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 313/366] 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 314/366] 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 315/366] 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 316/366] 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 317/366] 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 318/366] 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 319/366] 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 320/366] 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 321/366] 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 322/366] 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 323/366] 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 324/366] 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 325/366] 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 326/366] 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 327/366] 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 328/366] 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 329/366] 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 330/366] 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 331/366] 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 332/366] 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 333/366] 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 334/366] 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 335/366] 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 336/366] 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 337/366] 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 338/366] 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 339/366] 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 340/366] 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 341/366] 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 342/366] 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 343/366] 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 344/366] 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 345/366] 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 346/366] 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 347/366] 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 348/366] 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 349/366] 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 350/366] 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 351/366] 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 352/366] 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 353/366] 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 354/366] 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 355/366] 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 356/366] 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 357/366] 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 358/366] 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 359/366] 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 360/366] 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 361/366] 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 362/366] 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 363/366] 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 364/366] 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 365/366] 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 366/366] 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.
KeyKeyReturnedDescription
  -+ - @{ key }@ -
@{ value.type }@
-