ansible/ansible.spec

120 lines
3.5 KiB
RPMSpec

#
# spec file for package ansible
#
# Copyright 2013 by Lars Vogdt
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
Name: ansible
Version: 1.5
Release: 1
Summary: SSH-based configuration management, deployment, and orchestration engine
License: GPL-3.0+
Url: http://www.ansibleworks.com
Group: System/Management
# http://ansibleworks.com/releases/ansible-%%{version}.tar.gz
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
# https://raw.github.com/ansible/ansible/release%%{version}/CHANGELOG.md
Source2: CHANGELOG.md
#
# (open)SUSE
#
%if 0%{?suse_version}
BuildRequires: python-devel
Requires: python-PyYAML
Requires: python-jinja2
Requires: python-keyczar
Requires: sshpass
%if 0%{?suse_version} > 01020
BuildRequires: fdupes
Recommends: python-paramiko
%else
Requires: python-paramiko
%endif
%if 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
%endif
#
# RHEL
#
%if 0%{?rhel} && 0%{?rhel} <= 5
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
BuildRequires: python2-devel
Requires: python26-PyYAML
Requires: python26-paramiko
Requires: python26-jinja2
Requires: python26-keyczar
%endif
%if 0%{?rhel} > 5 || 0%{?rhel_version} > 505
BuildRequires: python2-devel
Requires: PyYAML
Requires: python-paramiko
Requires: python-jinja2
Requires: python-keyczar
%endif
#
# Fedora
#
%if 0%{?fedora}
BuildRequires: python2-devel
Requires: PyYAML
Requires: python-paramiko
Requires: python-jinja2
Requires: python-keyczar
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%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
install -m644 %{SOURCE2} .
%build
%{__python} setup.py build
%install
%{__python} setup.py install -O1 --prefix=%{_prefix} --root=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/ansible/
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/
mkdir -p %{buildroot}%{_datadir}/ansible
cp -vr library/* %{buildroot}%{_datadir}/ansible/
%if 0%{?suse_version} > 01020
%fdupes %{buildroot}
%endif
%files
%defattr(-,root,root,-)
%{python_sitelib}/ansible*
%{_bindir}/ansible*
%dir %{_datadir}/ansible
%{_datadir}/ansible/*
%config(noreplace) %{_sysconfdir}/%{name}
%doc README.md PKG-INFO COPYING CHANGELOG.md
%doc %{_mandir}/man1/ansible*
%doc examples/playbooks
%changelog