%global with_docs 0 %global with_python3 1 %global common_desc \ 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. Name: ansible Summary: SSH-based configuration management, deployment, and task execution system Version: 2.9.0 Release: 1 License: Python-2.0 and MIT and GPL+ Url: http://ansible.com Source0: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz BuildArch: noarch Provides: ansible-fireball = %{version}-%{release} Obsoletes: ansible-fireball < 1.2.4 BuildRequires: python3-jinja2 python3-devel python3-packaging python3-pyyaml Requires: python3-PyYAML python3-crypto python3-paramiko python3-keyczar Requires: python3-setuptools python3-six sshpass python3-httplib2 Requires: python3-jmespath python3-jinja2 Recommends: %{name}-help = %{version}-%{release} %description %{common_desc} %if 0%{?with_python3} Provides: ansible-python3 = %{version}-%{release} Obsoletes: ansible-python3 < %{version}-%{release} BuildRequires: python3-devel python3-setuptools BuildRequires: python3-PyYAML python3-paramiko python3-crypto python3-packaging BuildRequires: python3-pexpect python3-winrm BuildRequires: git-core %if %with_docs BuildRequires: python3-sphinx python3-sphinx-theme-alabaster asciidoc %endif BuildRequires: python3-six python3-nose python3-pytest python3-pytest-xdist BuildRequires: python3-pytest-mock python3-requests python3-coverage python3-mock BuildRequires: python3-boto3 python3-botocore python3-passlib python3-jinja2 Requires: python3-PyYAML python3-paramiko python3-crypto python3-setuptools python3-six Requires: python3-jinja2 sshpass python3-jmespath %description %{common_desc} %endif %package -n ansible-help Summary: Documentation for Ansible Provides: %{name}-doc = %{name}-%{release} Obsoletes: %{name}-doc < %{name}-%{release} %description -n ansible-help %{common_desc} %prep %setup -q %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif %build %if 0%{?with_python3} pushd %{py3dir} %py3_build %if %with_docs pathfix.py -i %{__python3} -p docs/bin test/runner make PYTHON=/usr/bin/python3 SPHINXBUILD=sphinx-build-3 webdocs %endif popd %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 ln -s $(basename $i) $i-%{python3_version} ln -s %{_bindir}/$(basename $i)-%{python3_version} $i-3 fi done %endif 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 %with_docs pushd %{py3dir} cp -pr docs/docsite/_build/html %{_builddir}/%{name}-%{version}/html popd %endif %check %files %defattr(-,root,root) %{_bindir}/ansible* %config(noreplace) %{_sysconfdir}/ansible/ %doc %{_mandir}/man1/ansible* %if 0%{?with_python3} %{python3_sitelib}/ansible* %endif %files -n ansible-help %doc rst %if %with_docs %doc html %endif %changelog * Mon Jul 12 2021 liksh - 2.9.0-1 - update to 2.9.0 * Tue Jan 12 2021 yanan li - 2.5.5-1 - Package init