forked from pool/python-Fabric
- [Feature] #684: Update how task wraps task functions to preserve additional metadata; this allows decorated functions to play nice with Sphinx autodoc. Thanks to Jaka Hudoklin for catch & patch. - [Bug] #749: Gracefully work around calls to fabric.version on systems lacking /bin/sh (which causes an OSError in subprocess.Popen calls.) - [Bug] #718: isinstance(foo, Bar) is used in main instead of type(foo) == Bar in order to fix some edge cases. Thanks to Mikhail Korobov. - [Bug] #693: Fixed edge case where abort driven failures within parallel tasks could result in a top level exception (a KeyError) regarding error handling. Thanks to Marcin Kuźmiński for the report. - [Support] #681: Fixed outdated docstring for runs_once which claimed it would get run multiple times in parallel mode. That behavior was fixed in an earlier release but the docs were not updated. Thanks to Jan Brauer for the catch. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=28
95 lines
3.0 KiB
RPMSpec
95 lines
3.0 KiB
RPMSpec
#
|
|
# spec file for package python-Fabric
|
|
#
|
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# 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: python-Fabric
|
|
Version: 1.5.0
|
|
Release: 0
|
|
Summary: Fabric is a simple, Pythonic tool for remote execution and deployment
|
|
License: BSD-2-Clause
|
|
Group: Development/Languages/Python
|
|
Url: http://fabfile.org
|
|
Source: Fabric-%{version}.tar.bz2
|
|
BuildRequires: python-devel
|
|
BuildRequires: python-distribute
|
|
#BuildRequires: python-fudge
|
|
#BuildRequires: python-ssh
|
|
Requires: python-distribute
|
|
Requires: python-ssh
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%if 0%{?suse_version} && 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
|
|
|
|
%description
|
|
Fabric is a Python (2.5 or higher) library and command-line tool for
|
|
streamlining the use of SSH for application deployment or systems
|
|
administration tasks.
|
|
|
|
It provides a basic suite of operations for executing local or remote shell
|
|
commands (normally or via sudo) and uploading/downloading files, as well as
|
|
auxiliary functionality such as prompting the running user for input, or
|
|
aborting execution.
|
|
|
|
Typical use involves creating a Python module containing one or more functions,
|
|
then executing them via the fab command-line tool. Below is a small but
|
|
complete "fabfile" containing a single task:
|
|
|
|
from fabric.api import run
|
|
|
|
def host_type():
|
|
run('uname -s')
|
|
|
|
Once a task is defined, it may be run on one or more servers, like so:
|
|
|
|
$ fab -H localhost,linuxbox host_type
|
|
[localhost] run: uname -s
|
|
[localhost] out: Darwin
|
|
[linuxbox] run: uname -s
|
|
[linuxbox] out: Linux
|
|
|
|
Done.
|
|
Disconnecting from localhost... done.
|
|
Disconnecting from linuxbox... done.
|
|
|
|
In addition to use via the fab tool, Fabric's components may be imported
|
|
into other Python code, providing a Pythonic interface to the SSH protocol
|
|
suite at a higher level than that provided by e.g. Paramiko (which
|
|
Fabric itself leverages.)
|
|
|
|
%prep
|
|
%setup -q -n Fabric-%{version}
|
|
|
|
%build
|
|
python setup.py build
|
|
|
|
%install
|
|
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
|
|
|
#%%check
|
|
#python setup.py test
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%doc AUTHORS LICENSE README.rst
|
|
%{_bindir}/fab
|
|
%{python_sitelib}/*
|
|
|
|
%changelog
|