123 lines
3.9 KiB
RPMSpec
123 lines
3.9 KiB
RPMSpec
%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 <liks11@chinaunicom.cn> - 2.9.0-1
|
|
- update to 2.9.0
|
|
|
|
* Tue Jan 12 2021 yanan li <liyanan32@huawei.com> - 2.5.5-1
|
|
- Package init
|
|
|