2023-02-13 21:07:40 +00:00
|
|
|
%global __python3 /usr/bin/python3.11
|
|
|
|
%global python3_pkgversion 3.11
|
|
|
|
|
2021-08-09 17:47:35 +00:00
|
|
|
# We need this because we are no longer noarch, since our bundled deps might
|
|
|
|
# conceivably need to compile arch-specific things. But we currently have no
|
|
|
|
# useful debuginfo stuff.
|
|
|
|
%global debug_package %{nil}
|
|
|
|
|
|
|
|
# Disable shebang munging for specific paths. These files are data files.
|
|
|
|
# ansible-test munges the shebangs itself.
|
|
|
|
%global __brp_mangle_shebangs_exclude_from_file %{SOURCE1}
|
|
|
|
|
|
|
|
# RHEL and Fedora add -s to the shebang line. We do *not* use -s -E -S or -I
|
|
|
|
# with ansible because it has many optional features which users need to
|
|
|
|
# install libraries on their own to use. For instance, paramiko for the
|
|
|
|
# network connection plugins or winrm to talk to windows hosts.
|
|
|
|
# Set this to nil to remove -s
|
|
|
|
%define py_shbang_opts %{nil}
|
|
|
|
%define py2_shbang_opts %{nil}
|
|
|
|
%define py3_shbang_opts %{nil}
|
|
|
|
|
2023-02-13 21:07:40 +00:00
|
|
|
%define vendor_path %{buildroot}%{python3_sitelib}/ansible/_vendor/
|
|
|
|
%define vendor_pip %{__python3} -m pip install --no-deps -v --no-build-isolation --no-binary :all: -t %{vendor_path}
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
# These control which bundled dep versions we pin against
|
2022-06-27 14:51:56 +00:00
|
|
|
%global jinja2_version 3.1.2
|
2023-05-15 19:38:05 +00:00
|
|
|
%global markupsafe_version 2.1.2
|
|
|
|
%global packaging_version 21.3
|
|
|
|
%global pyparsing_version 3.0.7
|
|
|
|
%global resolvelib_version 1.0.1
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
Name: ansible-core
|
|
|
|
Summary: SSH-based configuration management, deployment, and task execution system
|
2023-05-15 19:38:05 +00:00
|
|
|
Version: 2.15.0
|
|
|
|
Release: 1%{?dist}
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
License: GPLv3+
|
2023-02-13 21:07:40 +00:00
|
|
|
Source0: https://files.pythonhosted.org/packages/source/a/ansible-core/ansible-core-%{version}.tar.gz
|
2021-08-09 17:47:35 +00:00
|
|
|
Source1: ansible-test-data-files.txt
|
|
|
|
|
|
|
|
# And bundled deps
|
2023-02-13 21:07:40 +00:00
|
|
|
Source2: https://files.pythonhosted.org/packages/source/J/Jinja2/Jinja2-%{jinja2_version}.tar.gz
|
|
|
|
Source3: https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-%{markupsafe_version}.tar.gz
|
|
|
|
Source4: https://files.pythonhosted.org/packages/source/p/packaging/packaging-%{packaging_version}.tar.gz
|
|
|
|
Source5: https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-%{pyparsing_version}.tar.gz
|
|
|
|
Source6: https://files.pythonhosted.org/packages/source/r/resolvelib/resolvelib-%{resolvelib_version}.tar.gz
|
2021-08-09 17:47:35 +00:00
|
|
|
|
2023-02-13 21:07:40 +00:00
|
|
|
Patch0: remove-bundled-deps-from-requirements.patch
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
URL: http://ansible.com
|
|
|
|
|
|
|
|
# We obsolete old ansible, and any version of ansible-base.
|
|
|
|
Obsoletes: ansible < 2.10.0
|
2023-02-13 21:07:40 +00:00
|
|
|
Obsoletes: ansible-base < 2.11.0
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
# ... and provide 'ansible' so that old packages still work without updated
|
|
|
|
# spec files.
|
2021-09-13 19:19:04 +00:00
|
|
|
# Provides: ansible
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
# Bundled provides that are sprinkled throughout the codebase.
|
|
|
|
Provides: bundled(python-backports-ssl_match_hostname) = 3.7.0.1
|
2022-06-23 15:43:28 +00:00
|
|
|
Provides: bundled(python-distro) = 1.6.0
|
2021-08-09 17:47:35 +00:00
|
|
|
Provides: bundled(python-selectors2) = 1.1.1
|
2022-06-23 15:43:28 +00:00
|
|
|
Provides: bundled(python-six) = 1.16.0
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
# Things we explicitly bundle via src rpm, and put in ansible._vendor
|
2022-06-23 15:43:28 +00:00
|
|
|
Provides: bundled(python-jinja2) = %{jinja2_version}
|
|
|
|
Provides: bundled(python-markupsafe) = %{markupsafe_version}
|
2021-08-09 17:47:35 +00:00
|
|
|
Provides: bundled(python-packaging) = %{packaging_version}
|
|
|
|
Provides: bundled(python-pyparsing) = %{pyparsing_version}
|
2023-02-13 21:07:40 +00:00
|
|
|
Provides: bundled(python-resolvelib) = %{resolvelib_version}
|
|
|
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
|
BuildRequires: python%{python3_pkgversion}-pip
|
|
|
|
BuildRequires: python%{python3_pkgversion}-pyyaml
|
|
|
|
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
|
|
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
|
|
|
BuildRequires: python%{python3_pkgversion}-wheel
|
2022-06-23 15:43:28 +00:00
|
|
|
BuildRequires: make git-core gcc
|
2021-08-09 17:47:35 +00:00
|
|
|
|
2022-05-13 20:09:20 +00:00
|
|
|
Requires: git-core
|
2023-02-13 21:07:40 +00:00
|
|
|
Requires: python%{python3_pkgversion}-PyYAML >= 5.1
|
|
|
|
Requires: python%{python3_pkgversion}-cryptography
|
2021-08-09 17:47:35 +00:00
|
|
|
Requires: sshpass
|
|
|
|
|
|
|
|
%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.
|
|
|
|
|
|
|
|
%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
|
2023-02-13 21:07:40 +00:00
|
|
|
%setup -q -b2 -b3 -b4 -b5 -b6 -n ansible-core-%{version}
|
|
|
|
%patch0 -p1
|
|
|
|
|
|
|
|
# Fix all Python shebangs recursively in ansible-test
|
|
|
|
%{py3_shebang_fix} test/lib/ansible_test
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
%build
|
2023-02-13 21:07:40 +00:00
|
|
|
%{py3_build}
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
%install
|
2023-02-13 21:07:40 +00:00
|
|
|
%{py3_install}
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
# Handle bundled deps:
|
|
|
|
%{vendor_pip} \
|
2023-02-13 21:07:40 +00:00
|
|
|
../Jinja2-%{jinja2_version}/ \
|
|
|
|
../MarkupSafe-%{markupsafe_version}/ \
|
|
|
|
../packaging-%{packaging_version}/ \
|
|
|
|
../pyparsing-%{pyparsing_version}/ \
|
|
|
|
../resolvelib-%{resolvelib_version}
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
# 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 %{buildroot}%{_datadir}/ansible/plugins/
|
|
|
|
for location in $DATADIR_LOCATIONS ; do
|
|
|
|
mkdir %{buildroot}"$location"
|
|
|
|
done
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/ansible/
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/ansible/roles/
|
|
|
|
|
|
|
|
cp examples/hosts %{buildroot}%{_sysconfdir}/ansible/
|
|
|
|
cp examples/ansible.cfg %{buildroot}%{_sysconfdir}/ansible/
|
|
|
|
mkdir -p %{buildroot}/%{_mandir}/man1/
|
|
|
|
|
|
|
|
cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/
|
|
|
|
|
|
|
|
cp -pr docs/docsite/rst .
|
|
|
|
cp -p lib/ansible_core.egg-info/PKG-INFO .
|
|
|
|
|
2023-02-01 20:04:08 +00:00
|
|
|
strip --strip-unneeded %{vendor_path}/markupsafe/_speedups%{python3_ext_suffix}
|
|
|
|
|
2021-08-09 17:47:35 +00:00
|
|
|
%files
|
|
|
|
%defattr(-,root,root)
|
|
|
|
%{_bindir}/ansible*
|
|
|
|
%exclude %{_bindir}/ansible-test
|
|
|
|
%config(noreplace) %{_sysconfdir}/ansible/
|
|
|
|
%doc README.rst PKG-INFO COPYING
|
|
|
|
%doc changelogs/CHANGELOG-v2.*.rst
|
|
|
|
%doc %{_mandir}/man1/ansible*
|
|
|
|
%{_datadir}/ansible/
|
2023-02-13 21:07:40 +00:00
|
|
|
%{python3_sitelib}/ansible*
|
|
|
|
%exclude %{python3_sitelib}/ansible_test
|
|
|
|
%exclude %{python3_sitelib}/ansible/_vendor/markupsafe/_speedups.c
|
2021-08-09 17:47:35 +00:00
|
|
|
|
|
|
|
%files -n ansible-test
|
|
|
|
%{_bindir}/ansible-test
|
2023-02-13 21:07:40 +00:00
|
|
|
%{python3_sitelib}/ansible_test
|
2021-08-09 17:47:35 +00:00
|
|
|
|
2023-01-31 23:28:39 +00:00
|
|
|
|
2021-08-09 17:47:35 +00:00
|
|
|
%changelog
|
2023-05-15 19:38:05 +00:00
|
|
|
* Mon May 15 2023 Dimitri Savineau <dsavinea@redhat.com> - 2.15.0-1
|
|
|
|
- ansible-core 2.15.0 release (rhbz#2204510)
|
|
|
|
- update bundled markupsafe to 2.1.2.
|
|
|
|
- update bundled packaging to 21.3.
|
|
|
|
- update bundled pyparsing to 3.0.7.
|
|
|
|
- update bundled resolvelib to 1.0.1.
|
|
|
|
- remove six runtime dependency.
|
|
|
|
|
2023-02-13 21:07:40 +00:00
|
|
|
* Mon Feb 13 2023 Dimitri Savineau <dsavinea@redhat.com> - 2.14.2-4
|
|
|
|
- rebuild with python 3.11 (rhbz#2169466)
|
|
|
|
- remove bundled dependencies from requirements file (rhbz#2152615)
|
|
|
|
- add bundled version of resolvelib
|
|
|
|
- use PyPi sources
|
|
|
|
- remove straightplugin
|
|
|
|
- add missing obsoletes constraint
|
|
|
|
|
2023-02-01 20:04:08 +00:00
|
|
|
* Wed Feb 01 2023 Dimitri Savineau <dsavinea@redhat.com> - 2.14.2-3
|
|
|
|
- fix debuginfo symbols from markupsafe dependency (rhbz#2166433)
|
|
|
|
|
2023-02-01 17:13:05 +00:00
|
|
|
* Wed Feb 01 2023 Christian Adams <chadams@redhat.com> - 2.14.2-2
|
|
|
|
- fix bogus date in changelog (rhbz#2165763)
|
|
|
|
|
|
|
|
* Tue Jan 31 2023 Christian Adams <chadams@redhat.com> - 2.14.2-1
|
2023-01-31 23:28:39 +00:00
|
|
|
- ansible-core 2.14.2 release (rhbz#2165763)
|
|
|
|
|
2022-12-07 15:28:55 +00:00
|
|
|
* Wed Dec 07 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.14.1-1
|
|
|
|
- ansible-core 2.14.1 release (rhbz#2151593)
|
|
|
|
|
2022-11-08 20:17:12 +00:00
|
|
|
* Tue Nov 08 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.14.0-1
|
|
|
|
- ansible-core 2.14.0 release (rhbz#2141116)
|
|
|
|
|
2022-11-07 20:06:52 +00:00
|
|
|
* Mon Nov 07 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.6-1
|
|
|
|
- ansible-core 2.13.6 release (rhbz#2140778)
|
|
|
|
- fix service_facts module parsing (rhbz#2128801)
|
|
|
|
|
2022-10-11 20:51:17 +00:00
|
|
|
* Tue Oct 11 2022 James Marshall <jamarsha@redhat.com> - 2.13.5-1
|
|
|
|
- ansible-core 2.13.5 release (rhbz#2133912)
|
|
|
|
|
2022-10-06 19:15:54 +00:00
|
|
|
* Thu Oct 06 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.4-1
|
|
|
|
- ansible-core 2.13.4 release (rhbz#2132807)
|
|
|
|
|
2022-08-15 21:31:52 +00:00
|
|
|
* Mon Aug 15 2022 James Marshall <jamarsha@redhat.com> - 2.13.3-1
|
|
|
|
- ansible-core 2.13.3 release (rhbz#2118458)
|
|
|
|
|
2022-07-18 16:31:31 +00:00
|
|
|
* Mon Jul 18 2022 James Marshall <jamarsha@redhat.com> - 2.13.2-1
|
|
|
|
- ansible-core 2.13.2 release (rhbz#2108229)
|
|
|
|
|
2022-06-27 14:51:56 +00:00
|
|
|
* Mon Jun 27 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.1-2
|
|
|
|
- Update bundled jinja2 version to 3.1.2 (rhbz#2101462)
|
|
|
|
|
2022-06-23 15:43:28 +00:00
|
|
|
* Wed Jun 22 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.1-1
|
|
|
|
- ansible-core 2.13.1 release (rhbz#2100242)
|
|
|
|
- add bundled version of jinja2 and markupsafe
|
|
|
|
|
2022-06-20 14:48:39 +00:00
|
|
|
* Mon Jun 20 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.7-1
|
|
|
|
- ansible-core 2.12.7 release (rhbz#2099317)
|
|
|
|
- remove legacy nightly configuration
|
|
|
|
|
2022-05-24 15:42:29 +00:00
|
|
|
* Tue May 24 2022 James Marshall <jamarsha@redhat.com> - 2.12.6-1
|
|
|
|
- ansible-core 2.12.6 release
|
|
|
|
|
2022-05-13 20:09:20 +00:00
|
|
|
* Fri May 13 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.5-2
|
|
|
|
- switch from git to git-core dependency (rhbz#2083386)
|
|
|
|
|
2022-05-09 17:30:36 +00:00
|
|
|
* Mon May 09 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.5-1
|
|
|
|
- ansible-core 2.12.5 release
|
|
|
|
|
2022-04-06 20:18:01 +00:00
|
|
|
* Wed Apr 06 2022 James Marshall <jamarsha@redhat.com> - 2.12.4-1
|
|
|
|
- ansible-core 2.12.4 release
|
|
|
|
|
2022-03-14 22:07:07 +00:00
|
|
|
* Mon Mar 14 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.3-1
|
|
|
|
- ansible-core 2.12.3 release
|
|
|
|
|
2022-02-02 00:33:22 +00:00
|
|
|
* Tue Feb 01 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-1
|
|
|
|
- ansible-core 2.12.2 release
|
|
|
|
|
2021-12-07 20:30:39 +00:00
|
|
|
* Tue Dec 07 2021 James Marshall <jamarsha@redhat.com> - 2.12.1-1
|
|
|
|
- ansible-core 2.12.1-1
|
|
|
|
|
2021-11-08 16:13:54 +00:00
|
|
|
* Mon Nov 08 2021 Dimitri Savineau <dsavinea@redhat.com> - 2.12.0-1
|
|
|
|
- ansible-core 2.12.0-1
|
|
|
|
|
2021-10-13 11:40:44 +00:00
|
|
|
* Tue Oct 12 2021 Christian Adams <chadams@redhat.com> - 2.11.6-1
|
|
|
|
- ansible-core 2.11.6-1, fix CVE-2021-3620, ansible-connection module
|
|
|
|
no long discloses sensitive info.
|
|
|
|
|
2021-10-08 12:48:44 +00:00
|
|
|
* Wed Oct 06 2021 Yanis Guenane <yguenane@redhat.com> - 2.11.5-3
|
|
|
|
- ansible-core 2.11.5-3, add virtual provide for straightplugin
|
|
|
|
|
2021-09-15 18:51:08 +00:00
|
|
|
* Wed Sep 15 2021 Josh Boyer <jwboyer@redhat.com> - 2.11.5-2
|
|
|
|
- ansible-core 2.11.5-2
|
2021-09-15 11:49:05 +00:00
|
|
|
|
2021-09-13 19:19:04 +00:00
|
|
|
* Mon Sep 13 2021 Josh Boyer <jwboyer@redhat.com> - 2.11.3-3
|
|
|
|
- Bump for build
|
|
|
|
|
2021-08-09 18:09:00 +00:00
|
|
|
* Wed Jul 21 2021 Paul Belanger <pabelanger@redhat.com> - 2.11.3-2
|
|
|
|
- Add git dependency for ansible-galaxy CLI command.
|
|
|
|
|
|
|
|
* Tue Jul 20 2021 Yanis Guenane <yguenane@redhat.com> - 2.11.3-1
|
|
|
|
- ansible-core 2.11.3-1
|
|
|
|
|
2021-08-09 17:47:35 +00:00
|
|
|
* Fri Jul 02 2021 Satoe Imaishi <simaishi@redhat.com> - 2.11.2-2
|
|
|
|
- Add man pages
|
|
|
|
|
|
|
|
* Tue Jun 29 2021 Paul Belanger <pabelanger@redhat.com> - 2.11.2-1
|
|
|
|
- ansible-core 2.11.2 released.
|
|
|
|
- Drop bundled version of resolvelib in favor of
|
|
|
|
python38-resolvelib.
|
|
|
|
|
|
|
|
* Wed Mar 31 2021 Rick Elrod <relrod@redhat.com> - 2.11.0b4-1
|
|
|
|
- ansible-core 2.11.0 beta 4
|
|
|
|
|
|
|
|
* Thu Mar 18 2021 Rick Elrod <relrod@redhat.com> - 2.11.0b2-3
|
|
|
|
- Try adding a Provides for old ansible.
|
|
|
|
|
|
|
|
* Thu Mar 18 2021 Rick Elrod <relrod@redhat.com> - 2.11.0b2-2
|
|
|
|
- Try Obsoletes instead of Conflicts.
|
|
|
|
|
|
|
|
* Thu Mar 18 2021 Rick Elrod <relrod@redhat.com> - 2.11.0b2-1
|
|
|
|
- ansible-core 2.11.0 beta 2
|
|
|
|
- Conflict with old ansible and ansible-base.
|
|
|
|
|
|
|
|
* Thu Mar 11 2021 Rick Elrod <relrod@redhat.com> - 2.11.0b1-1
|
|
|
|
- ansible-core 2.11.0 beta 1
|
|
|
|
|
|
|
|
* Mon Nov 30 2020 Rick Elrod <relrod@redhat.com> - 2.11.0-1
|
|
|
|
- ansible-core, beta
|
|
|
|
|
|
|
|
* Wed Jun 10 2020 Rick Elrod <relrod@redhat.com> - 2.10.0-1
|
|
|
|
- ansible-base, beta
|