diff --git a/python-sh.changes b/python-sh.changes index 3db7adc..1a88ad2 100644 --- a/python-sh.changes +++ b/python-sh.changes @@ -1,3 +1,141 @@ +------------------------------------------------------------------- +Mon Jun 12 15:34:12 UTC 2017 - aplanas@suse.com + +- Remove test-huge-piped-data-fix.patch +- Remove test-coding-fix.patch +- Remove test-multiple-pipes-fix.patch +- Update 1.12.14 + * bugfix for poor sleep performance + [#378](https://github.com/amoffat/sh/issues/378) + * allow passing raw integer file descriptors for `_out` and `_err` + handlers + * bugfix for when `_tee` and `_out` are used, and the `_out` is a + tty or pipe [#384](https://github.com/amoffat/sh/issues/384) + * bugfix where python 3.3+ detected different arg counts for bound + method output callbacks + [#380](https://github.com/amoffat/sh/issues/380) +- Update 1.12.12, 1.12.13 + * pypi readme doc bugfix + [PR#377](https://github.com/amoffat/sh/pull/377) +- Update 1.12.11 + * bugfix for relative paths to `sh.Command` not expanding to + absolute paths [#372](https://github.com/amoffat/sh/issues/372) + * updated for python 3.6 + * bugfix for SIGPIPE not being handled correctly on pipelined + processes [#373](https://github.com/amoffat/sh/issues/373) +- Update 1.12.10 + * bugfix for file descriptors over 1024 + [#356](https://github.com/amoffat/sh/issues/356) + * bugfix when `_err_to_out` is True and `_out` is pipe or tty + [#365](https://github.com/amoffat/sh/issues/365) +- Update 1.12.9 + * added `_bg_exc` for silencing exceptions in background threads + [#350](https://github.com/amoffat/sh/pull/350) +- Update 1.12.8 + * bugfix for patched glob.glob on python3.5 + [#341](https://github.com/amoffat/sh/issues/341) +- Update 1.12.7 + * added `_out` and `_out_bufsize` validator + [#346](https://github.com/amoffat/sh/issues/346) + * bugfix for internal stdout thread running when it shouldn't + [#346](https://github.com/amoffat/sh/issues/346) +- Update 1.12.6 + * regression bugfix on timeout + [#344](https://github.com/amoffat/sh/issues/344) + * regression bugfix on `_ok_code=None` +- Update 1.12.5 + * further improvements on cpu usage +- Update 1.12.4 + * regression in cpu usage + [#339](https://github.com/amoffat/sh/issues/339) +- Update 1.12.3 + * fd leak regression and fix for flawed fd leak detection test + [#337](https://github.com/amoffat/sh/pull/337) +- Update 1.12.2 + * support for `io.StringIO` in python2 +- Update 1.12.1 + * added support for using raw file descriptors for `_in`, `_out`, + and `_err` + * removed `.close()`ing `_out` handler if FIFO detected +- Update 1.12.0 + * composed commands no longer propagate `_bg` + * better support for using `sys.stdin` and `sys.stdout` for `_in` + and `_out` + * bugfix where `which()` would not stop searching at the first valid + executable found in PATH + * added `_long_prefix` for programs whose long arguments start with + something other than `--` + [#278](https://github.com/amoffat/sh/pull/278) + * added `_log_msg` for advanced configuration of log message + [#311](https://github.com/amoffat/sh/pull/311) + * added `sh.contrib.sudo` + * added `_arg_preprocess` for advanced command wrapping + * alter callable `_in` arguments to signify completion with falsy + chunk + * bugfix where pipes passed into `_out` or `_err` were not flushed + on process end [#252](https://github.com/amoffat/sh/pull/252) + * deprecated `with sh.args(**kwargs)` in favor of `sh2 = + sh(**kwargs)` + * made `sh.pushd` thread safe + * added `.kill_group()` and `.signal_group()` methods for better + process control [#237](https://github.com/amoffat/sh/pull/237) + * added `new_session` special keyword argument for controlling + spawned process session + [#266](https://github.com/amoffat/sh/issues/266) + * bugfix better handling for EINTR on system calls + [#292](https://github.com/amoffat/sh/pull/292) + * bugfix where with-contexts were not threadsafe + [#247](https://github.com/amoffat/sh/issues/195) + * `_uid` new special keyword param for specifying the user id of the + process [#133](https://github.com/amoffat/sh/issues/133) + * bugfix where exceptions were swallowed by processes that weren't + waited on [#309](https://github.com/amoffat/sh/issues/309) + * bugfix where processes that dupd their stdout/stderr to a long + running child process would cause sh to hang + [#310](https://github.com/amoffat/sh/issues/310) + * improved logging output + [#323](https://github.com/amoffat/sh/issues/323) + * bugfix for python3+ where binary data was passed into a process's + stdin [#325](https://github.com/amoffat/sh/issues/325) + * Introduced execution contexts which allow baking of common special + keyword arguments into all commands + [#269](https://github.com/amoffat/sh/issues/269) + * `Command` and `which` now can take an optional `paths` parameter + which specifies the search paths + [#226](https://github.com/amoffat/sh/issues/226) + * `_preexec_fn` option for executing a function after the child + process forks but before it execs + [#260](https://github.com/amoffat/sh/issues/260) + * `_fg` reintroduced, with limited functionality. hurrah! + [#92](https://github.com/amoffat/sh/issues/92) + * bugfix where a command would block if passed a fd for stdin that + wasn't yet ready to read + [#253](https://github.com/amoffat/sh/issues/253) + * `_long_sep` can now take `None` which splits the long form + arguments into individual arguments + [#258](https://github.com/amoffat/sh/issues/258) + * making `_piped` perform "direct" piping by default (linking fds + together). this fixes memory problems + [#270](https://github.com/amoffat/sh/issues/270) + * bugfix where calling `next()` on an iterable process that has + raised `StopIteration`, hangs + [#273](https://github.com/amoffat/sh/issues/273) + * `sh.cd` called with no arguments no changes into the user's home + directory, like native `cd` + [#275](https://github.com/amoffat/sh/issues/275) + * `sh.glob` removed entirely. the rationale is correctness over + hand-holding. [#279](https://github.com/amoffat/sh/issues/279) + * added `_truncate_exc`, defaulting to `True`, which tells our + exceptions to truncate output. + * bugfix for exceptions whose messages contained unicode + * `_done` callback no longer assumes you want your command put in + the background. + * `_done` callback is now called asynchronously in a separate + thread. + * `_done` callback is called regardless of exception, which is + necessary in order to release held resources, for example a + process pool + ------------------------------------------------------------------- Fri Apr 10 10:05:57 UTC 2015 - aplanas@suse.com diff --git a/python-sh.spec b/python-sh.spec index f1277a9..326136b 100644 --- a/python-sh.spec +++ b/python-sh.spec @@ -1,7 +1,7 @@ # # spec file for package python-sh # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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 @@ -17,43 +17,30 @@ Name: python-sh -Version: 1.11 +Version: 1.12.14 Release: 0 Summary: Python subprocess interface License: MIT Group: Development/Languages/Python Url: https://github.com/amoffat/sh Source: https://pypi.python.org/packages/source/s/sh/sh-%{version}.tar.gz -# PATCH-FIX-UPSTREAM test-coding-fix.patch -- Use utf-8 coding -Patch0: test-coding-fix.patch -# PATCH-FIX-OPENSUSE test-multiple-pipes-fix.patch -- Partially disable test case -Patch1: test-multiple-pipes-fix.patch -# PATCH-FIX-OPENSUSE test-huge-piped-data-fix.patch -- Partially disable test case -Patch2: test-huge-piped-data-fix.patch 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 +BuildRequires: python-coverage BuildRequires: python-setuptools %description -sh (previously pbs) is a full-fledged subprocess -replacement for Python 2.6 - 3.2 that allows you to call -any program as if it were a function: +sh is a full-fledged subprocess replacement for Python 2.6 - 3.6, PyPy +and PyPy3 that allows you to call any program as if it were a +function: from sh import ifconfig print ifconfig("eth0") -sh is not a collection of system commands implemented in -Python. +sh is not a collection of system commands implemented in Python. %prep %setup -q -n sh-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build python setup.py build @@ -68,7 +55,7 @@ python test.py %files %defattr(-,root,root) -%doc AUTHORS.md CHANGELOG.md LICENSE.txt README.md +%doc CHANGELOG.md LICENSE.txt README.rst %{python_sitelib}/sh.py %{python_sitelib}/sh.pyc %{python_sitelib}/sh-%{version}-*.egg-info diff --git a/sh-1.11.tar.gz b/sh-1.11.tar.gz deleted file mode 100644 index c2aefe7..0000000 --- a/sh-1.11.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:590fb9b84abf8b1f560df92d73d87965f1e85c6b8330f8a5f6b336b36f0559a4 -size 36821 diff --git a/sh-1.12.14.tar.gz b/sh-1.12.14.tar.gz new file mode 100644 index 0000000..f4dd6c9 --- /dev/null +++ b/sh-1.12.14.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc +size 56861 diff --git a/test-coding-fix.patch b/test-coding-fix.patch deleted file mode 100644 index 9669f16..0000000 --- a/test-coding-fix.patch +++ /dev/null @@ -1,10 +0,0 @@ -Index: sh-1.11/test.py -=================================================================== ---- sh-1.11.orig/test.py -+++ sh-1.11/test.py -@@ -1,4 +1,4 @@ --# -*- coding: utf8 -*- -+# -*- coding: utf-8 -*- - - import os - from os.path import exists, join, realpath diff --git a/test-huge-piped-data-fix.patch b/test-huge-piped-data-fix.patch deleted file mode 100644 index ccb1cec..0000000 --- a/test-huge-piped-data-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: sh-1.11/test.py -=================================================================== ---- sh-1.11.orig/test.py -+++ sh-1.11/test.py -@@ -1153,7 +1153,7 @@ for i in range(42): - stdin.seek(0) - - out = tr(tr("[:lower:]", "[:upper:]", _in=data), "[:upper:]", "[:lower:]") -- self.assertTrue(out == data) -+ # self.assertTrue(out == data) - - - def test_tty_input(self): diff --git a/test-multiple-pipes-fix.patch b/test-multiple-pipes-fix.patch deleted file mode 100644 index 4d6f654..0000000 --- a/test-multiple-pipes-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: sh-1.11/test.py -=================================================================== ---- sh-1.11.orig/test.py -+++ sh-1.11/test.py -@@ -227,7 +227,7 @@ for l in "andrew": - - p.wait() - self.assertEqual("".join(derp.stdout), "werdna") -- self.assertTrue(all([t > .15 for t in derp.times])) -+ # self.assertTrue(all([t > .15 for t in derp.times])) - - - def test_manual_stdin_string(self):