ansible/ansible.spec
Lars Vogdt 574ac94240 - update to 1.2:
+ new feature: roles
  + massively improved variable support and conditionals
  + Pre and Post tasks provide greater controls to make rolling 
    updates even smoother
  + added 32 new modules: 
  ++ including a openSUSE package management module
  ++ added team chat notification modules for Flowdock, Hipchat, 
     Campfire, IRC, and more
  ++ added monitoring modules to interact with New Relic, Airbrake, 
     Pingdom, Pagerduty and Monit
- added CHANGELOG.md to /usr/share/doc/packages/ansible/ to have 
  the complete changelog at hand

OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/ansible?expand=0&rev=10
2013-06-30 20:24:00 +00:00

179 lines
5.0 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.2
Release: 1
Summary: SSH-based configuration management, deployment, and task execution system
License: GPL-3.0+
Url: http://ansible.github.com
Group: System/Management
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
# Downloaded via 'wget https://raw.github.com/ansible/ansible/devel/CHANGELOG.md'
Source2: CHANGELOG.md
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
# (open)SUSE
#
%if 0%{?suse_version}
BuildRequires: python-devel
Requires: python-PyYAML
Requires: python-jinja2
%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 ) || ( 0%{?rhel_version} && 0%{?rhel_version} <= 505 )
#BuildRequires: python26-devel
BuildRequires: python2-devel
Requires: python26-PyYAML
Requires: python26-paramiko
Requires: python26-jinja2
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif
%if 0%{?rhel} > 5 || 0%{?rhel_version} > 505
BuildRequires: python2-devel
Requires: PyYAML
Requires: python-paramiko
Requires: python-jinja2
%endif
#
# Fedora
#
%if 0%{?fedora}
BuildRequires: python2-devel
Requires: PyYAML
Requires: python-paramiko
Requires: python-jinja2
%endif
%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 fireball
Summary: Ansible fireball transport support
Group: System/Management
Requires: %{name} = %{version}
#
# RHEL
#
%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) || ( 0%{?rhel_version} && 0%{?rhel_version} <= 505 )
Requires: python26-keyczar
Requires: python26-zmq
#
# (open)SUSE | Fedora
#
%else
Requires: python-keyczar
%endif
# (open)SUSE
%if 0%{?suse_version}
Requires: python-pyzmq
%else
Requires: python-zmq
%endif
%description fireball
Ansible can optionally use a 0MQ based transport mechanism, which is
considerably faster than the standard ssh mechanism when there are
multiple actions, but requires additional supporting packages.
%package node-fireball
Summary: Ansible fireball transport - node end support
Group: System/Management
#
# RHEL
#
%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) || ( 0%{?rhel_version} && 0%{?rhel_version} <= 505 )
Requires: python26-keyczar
Requires: python26-zmq
#
# (open)SUSE | Fedora
#
%else
Requires: python-keyczar
Requires: python-pyzmq
%endif
%description node-fireball
Ansible can optionally use a 0MQ based transport mechanism, which has
additional requirements for nodes to use. This package includes those
requirements.
%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,man3}/
cp -v docs/man/man1/*.1 %{buildroot}%{_mandir}/man1/
cp -v docs/man/man3/*.3 %{buildroot}%{_mandir}/man3/
mkdir -p %{buildroot}%{_datadir}/ansible
cp -vr library/* %{buildroot}%{_datadir}/ansible/
%if 0%{?suse_version} > 01020
%fdupes %{buildroot}
%endif
%files
%defattr(-,root,root,-)
%doc README.md PKG-INFO COPYING CHANGELOG.md
%doc examples/playbooks
%doc %{_mandir}/man1/ansible*
%doc %{_mandir}/man3/ansible*
%dir %{_datadir}/ansible
%dir %{_sysconfdir}/%{name}
%{python_sitelib}/ansible*
%{_bindir}/ansible*
%config(noreplace) %{_sysconfdir}/ansible
%{_datadir}/ansible/*
%exclude %{_datadir}/ansible/utilities/fireball
%exclude %{_mandir}/man3/ansible.fireball.*
%files fireball
%defattr(-,root,root,-)
%{_datadir}/ansible/utilities/fireball
%doc %{_mandir}/man3/ansible.fireball.*
%files node-fireball
%defattr(-,root,root,-)
%doc README.md PKG-INFO COPYING
%changelog