ansible/ansible.spec

148 lines
4.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package ansible
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# 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.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: ansible
Version: 1.7.2
Release: 0
Summary: SSH-based configuration management, deployment, and orchestration engine
License: GPL-3.0+
Group: System/Management
Url: http://www.ansible.com/
# http://releases.ansible.com/ansible/ansible-%%{version}.tar.gz
Source0: %{name}-%{version}.tar.xz
Source1: %{name}-rpmlintrc
# https://raw.github.com/ansible/ansible/release%%{version}/CHANGELOG.md
Source2: CHANGELOG.md
Requires: sshpass
#
# (open)SUSE
#
%if 0%{?suse_version}
BuildRequires: python-devel
BuildRequires: python-setuptools
BuildRequires: xz
Requires: python-PyYAML
Requires: python-httplib2
Requires: python-jinja2
Requires: python-keyczar
Requires: python-setuptools
%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())")}
%if 0%{?rhel} == 5
%define __python /usr/bin/python26
%endif
BuildRequires: python26-devel
BuildRequires: python26-setuptools
Requires: python26-PyYAML
Requires: python26-httplib2
Requires: python26-httplib2
Requires: python26-jinja2
Requires: python26-keyczar
Requires: python26-paramiko
Requires: python26-setuptools
%endif
%if 0%{?rhel} > 5 || 0%{?rhel_version} > 505
BuildRequires: python26-devel
BuildRequires: python26-setuptools
Requires: python26-PyYAML
Requires: python26-httplib2
Requires: python26-httplib2
Requires: python26-jinja2
Requires: python26-keyczar
Requires: python26-paramiko
Requires: python26-setuptools
%endif
%if 0%{?rhel} == 6
Requires: python-crypto2.6
%endif
#
# Fedora
#
%if 0%{?fedora}
BuildRequires: python-devel
BuildRequires: python-setuptools
Requires: PyYAML
Requires: python-httplib2
Requires: python-httplib2
Requires: python-jinja2
Requires: python-keyczar
Requires: python-paramiko
Requires: python-setuptools
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%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
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{python_sitelib}/ansible*
%{_bindir}/ansible*
%dir %{_datadir}/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