Files
ansible/ansible.spec

132 lines
3.9 KiB
RPMSpec
Raw Normal View History

#
# 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
- update to 1.3.4: Highlighted new features: + accelerated mode: An enhanced fireball mode that requires zero bootstrapping and fewer requirements plus adds capabilities like sudo commands. + role defaults: Allows roles to define a set of variables at the lowest priority. These variables can be overridden by any other variable. + new /etc/ansible/facts.d allows JSON or INI-style facts to be provided from the remote node, and supports executable fact programs in this dir. Files must end in *.fact. + added the ability to make undefined template variables raise errors (see ansible.cfg) + (DOCS PENDING) sudo: True/False and sudo_user: True/False can be set at include and role level + added changed_when: (expression) which allows overriding whether a result is changed or not and can work with registered expressions + --extra-vars can now take a file as input, e.g., "-e @filename" and can also be formatted as YAML + external inventory scripts may now return host variables in one pass, which allows them to be much more efficient for large numbers of hosts + if --forks exceeds the numbers of hosts, it will be automatically reduced. Set forks to 0 and you get "as many forks as I have hosts" out of the box. + enabled error_on_undefined_vars by default, which will make errors in playbooks more obvious + role dependencies -- one role can now pull in another, with parameters of its own. + added the ability to have tasks execute even during a check OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/ansible?expand=0&rev=11
2013-10-31 17:30:42 +00:00
Version: 1.3.4
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-1.3.4.tar.gz
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
# https://raw.github.com/ansible/ansible/release1.3.4/CHANGELOG.md
Source2: CHANGELOG.md
Obsoletes: fireball < 1.3.4
Obsoletes: node-fireball < 1.3.4
Provides: fireball = 1.3.4
Provides: node-fireball = 1.3.4
#
# (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