ansible/ansible.spec
Lars Vogdt 33f54fb95b - update to 1.5:
Major features/changes:
  * when_foo which was previously deprecated is now removed, use 
    "when:" instead.  Code generates appropriate error suggestion.
  * include + with_items which was previously deprecated is now 
    removed, ditto.  Use with_nested / with_together, etc.
  * only_if, which is much older than when_foo and was deprecated, 
    is similarly removed.
  * ssh connection plugin is now more efficient if you add 
    'pipelining=True' in ansible.cfg under [ssh_connection], 
    see example.cfg
  * localhost/127.0.0.1 is not required to be in inventory if 
    referenced, if not in inventory, it does not implicitly appear 
    in the 'all' group.
  * git module has new parameters (accept_hostkey, key_file, ssh_opts) 
    to ease the usage of git and ssh protocols. 
  * when using accelerate mode, the daemon will now be restarted 
    when specifying a different remote_user between plays.
  * added no_log: option for tasks. When used, no logging information 
    will be sent to syslog during the module execution.
  * acl module now handles 'default' and allows for either shorthand 
    entry or specific fields per entry section
  * play_hosts is a new magic variable to provide a list of hosts 
    in scope for the current play.
  * ec2 module now accepts 'exact_count' and 'count_tag' as a way to 
    enforce a running number of nodes by tags.
  * all ec2 modules that work with Eucalyptus also now support a 
    'validate_certs' option, which can be set to 'off' for installations 
    using self-signed certs.
  * Start of new integration test infrastructure (WIP)

OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/ansible?expand=0&rev=19
2014-03-08 11:12:26 +00:00

128 lines
3.7 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}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
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())")}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%endif
%if 0%{?rhel} && 0%{?rhel} <= 5
BuildRequires: python2-devel
#BuildRequires: python26-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
%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,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,-)
%{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 %{_mandir}/man3/ansible*
%doc examples/playbooks
%changelog