python-invoke/python-invoke.spec
Tomáš Chvátal dd27f24869 Accepting request 602271 from home:badshah400:branches:devel:languages:python
- Update to version 0.22.1:
  * gh#pyinvoke/invoke#488: Account for additional I/O related
    OSError error strings when attempting to capture only this
    specific subtype of error.
  * gh#pyinvoke/invoke#437: When merging configuration levels
    together (which uses copy.copy by default), pass file objects
    by reference so they don’t get closed.
  * gh#pyinvoke/invoke#342: Accidentally hardcoded Collection
    instead of cls in Collection.from_module (an alternate
    constructor and therefore a classmethod.) This made it rather
    hard to properly subclass Collection.
  * gh#pyinvoke/invoke#469: Fix up the doc/example re: subclassing
    Config.
  * gh#pyinvoke/invoke#433: Add -dev and -nightly style Python
    versions to our Travis builds.
- Changes from version 0.22.0:
  * Iterable-type CLI args were actually still somewhat broken &
    were ‘eating’ values after themselves in the parser stream
    (thus e.g. preventing parsing of subsequent tasks or flags.)
  * gh#pyinvoke/invoke#364: Drop Python 2.6 and Python 3.3
    support, as these versions now account for only very low
    percentages of the userbase and are unsupported (or about to
    be unsupported) by the rest of the ecosystem, including pip.
- Update URL to upstream recommended.

OBS-URL: https://build.opensuse.org/request/show/602271
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-invoke?expand=0&rev=9
2018-04-28 13:39:18 +00:00

103 lines
3.3 KiB
RPMSpec

#
# spec file for package python-invoke
#
# Copyright (c) 2018 SUSE LINUX 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
# Tests have a dependency loop with python(2|3)-invocations
%bcond_with test
Name: python-invoke
Version: 0.22.1
Release: 0
Summary: Pythonic Task Execution
License: BSD-2-Clause
Group: Development/Languages/Python
Url: http://www.pyinvoke.org
Source: https://files.pythonhosted.org/packages/source/i/invoke/invoke-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%if %{with test}
BuildRequires: %{python_module invocations}
BuildRequires: %{python_module nose}
BuildRequires: python-mock
%endif
BuildArch: noarch
Requires(post): update-alternatives
Requires(postun): update-alternatives
%python_subpackages
%description
Invoke is a Python (2.7 and 3.4+) task execution tool & library, drawing
inspiration from various sources to arrive at a powerful & clean feature set.
* Like Ruby's Rake tool and Invoke's own predecessor Fabric 1.x, it provides a
clean, high level API for running shell commands and defining/organizing
task functions from a ``tasks.py`` file
* From GNU Make, it inherits an emphasis on minimal boilerplate for common
patterns and the ability to run multiple tasks in a single invocation::
$ invoke clean build
* Following the lead of most Unix CLI applications, it offers a traditional
flag-based style of command-line parsing, deriving flag names and value types
from task signatures (optionally, of course!)::
$ invoke clean --docs --bytecode build --docs --extra='**/*.pyo'
$ invoke clean -d -b build --docs -e '**/*.pyo'
$ invoke clean -db build -de '**/*.pyo'
* Like many of its predecessors, it offers advanced features as well --
namespacing, task aliasing, before/after hooks, parallel execution and more.
%prep
%setup -q -n invoke-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%python_clone -a %{buildroot}%{_bindir}/inv
%python_clone -a %{buildroot}%{_bindir}/invoke
%if %{with test}
%check
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
%{buildroot}%{_bindir}/inv-%{$python_bin_suffix} -l
}
%endif
%post
%{python_install_alternative inv invoke}
%postun
%python_uninstall_alternative inv
%files %{python_files}
%defattr(-,root,root)
%doc LICENSE README.rst
%python_alternative %{_bindir}/inv
%python_alternative %{_bindir}/invoke
%{python_sitelib}/invoke/
%{python_sitelib}/invoke-%{version}-py*
%changelog