ansible/ansible.spec
Lars Vogdt 4d86097e4e - update to 1.6.3:
* The deprecated legacy variable templating system has been 
    finally removed. Use {{ foo }} always not $foo or ${foo}.
  * Any data file can also be JSON. Use sparingly -- with great power
    comes great responsibility. Starting file with "{" or "[" denotes JSON.
  * Added 'gathering' param for ansible.cfg to change the default
    gather_facts policy.
  * Accelerate improvements:
    + multiple users can connect with different keys, when 
      accelerate_multi_key = yes is specified in the ansible.cfg.
    + daemon lifetime is now based on the time from the last activity,
      not the time from the daemon's launch.
  * ansible-playbook now accepts --force-handlers to run handlers
    even if tasks result in failures.
  * Added VMWare support with the vsphere_guest module.
  * many new modules and ther notable changes, please read 
    /usr/share/doc/packages/ansible/CHANGELOG.md for details    
- use new upstream URL(s)
- require python-httplib2 and python-setuptools
- ignore "wrong" permissions of synchronize.py
- ignore rpmlint warning about requiring python-httplib2 explicitely

OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/ansible?expand=0&rev=24
2014-06-19 07:48:19 +00:00

136 lines
4.1 KiB
RPMSpec

#
# 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.6.3
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.bz2
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
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())")}
BuildRequires: python26-devel
BuildRequires: python26-setuptools
Requires: python26-PyYAML
Requires: python26-httplib2
Requires: python26-jinja2
Requires: python26-keyczar
Requires: python26-paramiko
%endif
%if 0%{?rhel} > 5 || 0%{?rhel_version} > 505
BuildRequires: python26-devel
BuildRequires: python26-setuptools
Requires: python26-PyYAML
Requires: python26-httplib2
Requires: python26-jinja2
Requires: python26-keyczar
Requires: python26-paramiko
%endif
#
# Fedora
#
%if 0%{?fedora}
BuildRequires: python-devel
BuildRequires: python-setuptools
Requires: PyYAML
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