* Thu Jul 13 2017 toddrme2178@gmail.com
- Implement single-spec version.
* Mon Jun 12 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 2015 aplanas@suse.com
- PATCH test-huge-piped-data-fix.patch
Partially disable test case
* Wed Jan 28 2015 aplanas@suse.com
- Fix %defattr, fixing SLE11SP3 building
* Fri Jan 02 2015 aplanas@suse.com
- Fix source URL
- Fix setup directory name
- PATCH test-coding-fix.patch
Use utf-8 enconding in the header
- PATCH test-multiple-pipes-fix.patch
Partially disable test case
- Remove BuildRequires python-devel
- Update to 1.11
* partially applied functions with functools.partial have been fixed for _out and _err callbacks #160
* _out or _err being callables no longer puts the running command in the background. to achieve the previous behavior, pass _bg=True to your command.
* deprecated _with contexts #195
* _timeout_signal allows you to specify your own signal to kill a timed-out process with. use a constant from the signal stdlib module. #171
* signal exceptions can now be caught by number or name. SignalException_9 == SignalException_SIGKILL
* child processes that timeout via _timeout raise sh.TimeoutException instead of sh.SignalExeception_9 #172
* fixed help(sh) from the python shell and pydoc sh from the command line. #173
* program names can no longer be shadowed by names that sh.py defines internally. removed the requirement of trailing underscores for programs that could have their names shadowed, like id.
* memory optimization when a child process's stdin is a newline-delimted string and our bufsize is newlines
* feature, _done special keyword argument that accepts a callback to be called when the command completes successfully #185
* bugfix for being unable to print a baked command in python3+ #176
* bugfix for cwd not existing and causing the child process to continue running parent process code #202
* child process is now guaranteed to exit on exception between fork and exec.
* fix python2 deprecation warning when running with -3 PR #165
* bugfix where sh.py was attempting to execute directories #196, PR #189
* only backgrounded processes will ignore SIGHUP
* allowed ok_code to take a range object. #PR 210
* added sh.args with context which allows overriding of all command defaults for the duration of that context.
* added sh.pushd with context which takes a directory name and changes to that directory for the duration of that with context. PR #206
* tests now include python 3.4 if available. tests also stop on the first python that suite that fails.
* SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGPIPE, SIGSYS have been added to the list of signals that throw an exception PR #201
* "callable" builtin has been faked for python3.1, which lacks it.
* "direct" option added to _piped special keyword argument, which allows sh to hand off a process's stdout fd directly to another process, instead of buffering its stdout internally, then handing it off. #119
* Fri May 02 2014 multyrealm@gmail.com
- update to 1.09
* Fixed encoding errors related to a system encoding "ascii". GH #123.
* Added exit_code attribute to SignalException and ErrorReturnCode exception
classes. GH #127.
* Making the default behavior of spawned processes to not be explicitly
killed when the parent python process ends. Also making the spawned process
ignore SIGHUP. GH #139.
* Made OSX sleep hack to apply to PY2 as well as PY3.
* Mon Jan 20 2014 mvyskocil@opensuse.org
- package python-sh 1.08 for openSUSE