Sync from SUSE:SLFO:Main python-sh revision 4d87f3e2dda907960b3be3812f5cdc52
This commit is contained in:
commit
7539025be0
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
321
python-sh.changes
Normal file
321
python-sh.changes
Normal file
@ -0,0 +1,321 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat May 6 20:58:14 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Upgrade to 2.0.3:
|
||||
List of changes is too long to enlist here, CHANGELOG.md is
|
||||
packaged.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 12:34:00 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add sle15_python_module_pythons (jsc#PED-68)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 19 01:02:26 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Switch to single spec version build for PSP
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 13 22:44:49 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Make calling of %{sle15modernpython} optional.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 24 07:52:44 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 1.14.3:
|
||||
* bugfix where `Command` was not aware of default call args when wrapping the
|
||||
module
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 6 11:40:10 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 1.14.2:
|
||||
* fix documentation link
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 8 21:25:24 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 1.14.1:
|
||||
* bugfix where setting _ok_code to not include 0, but 0 was the
|
||||
exit code #545
|
||||
- Changes for 1.14.0
|
||||
* _env now more lenient in accepting dictionary-like objects #527
|
||||
* None and False arguments now do not pass through to underlying
|
||||
command #525
|
||||
* Implemented find_spec on the fancy importer, which fixes some
|
||||
Python3.4+ issues #536
|
||||
- Drop all patches: they are no longer applicable
|
||||
* fix-sleep-path-in-test.patch
|
||||
* fix-test_general_signal.diff
|
||||
* fix-test_signal_group.diff
|
||||
* no-coverage.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 17 08:14:24 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 1.13.1:
|
||||
* regression fix if `_fg=False` [#520](https://github.com/amoffat/sh/issues/520)
|
||||
* minor Travis CI fixes [#492](https://github.com/amoffat/sh/pull/492)
|
||||
* bugfix for boolean long options not respecting `_long_prefix` [#488](https://github.com/amoffat/sh/pull/488)
|
||||
* fix deprecation warning on Python 3.6 regexes [#482](https://github.com/amoffat/sh/pull/482)
|
||||
* `_pass_fds` and `_close_fds` special kwargs for controlling file descriptor inheritance in child.
|
||||
* more efficiently closing inherited fds [#406](https://github.com/amoffat/sh/issues/406)
|
||||
* bugfix where passing invalid dictionary to `_env` will cause a mysterious child 255 exit code. [#497](https://github.com/amoffat/sh/pull/497)
|
||||
* bugfix where `_in` using 0 or `sys.stdin` wasn't behaving like a TTY, if it was in fact a TTY. [#514](https://github.com/amoffat/sh/issues/514)
|
||||
* bugfix where `help(sh)` raised an exception [#455](https://github.com/amoffat/sh/issues/455)
|
||||
* bugfix fixing broken interactive ssh tutorial from docs
|
||||
* change to automatic tty merging into a single pty if `_tty_in=True` and `_tty_out=True`
|
||||
* introducing `_unify_ttys`, default False, which allows explicit tty merging into single pty
|
||||
* contrib command for `ssh` connections requiring passwords
|
||||
* performance fix for polling output too fast when using `_iter` [#462](https://github.com/amoffat/sh/issues/462)
|
||||
* execution contexts can now be used in python shell [#466](https://github.com/amoffat/sh/pull/466)
|
||||
* bugfix `ErrorReturnCode` instances can now be pickled
|
||||
* bugfix passing empty string or `None` for `_in` hanged [#427](https://github.com/amoffat/sh/pull/427)
|
||||
* bugfix where passing a filename or file-like object to `_out` wasn't using os.dup2 [#449](https://github.com/amoffat/sh/issues/449)
|
||||
* regression make `_fg` work with `_cwd` again [#330](https://github.com/amoffat/sh/issues/330)
|
||||
* an invalid `_cwd` now raises a `ForkException` not an `OSError`.
|
||||
* AIX support [#477](https://github.com/amoffat/sh/issues/477)
|
||||
* added a `timeout=None` param to `RunningCommand.wait()` [#515](https://github.com/amoffat/sh/issues/515)
|
||||
- Re-enable tests.
|
||||
- Refresh no-coverage.patch, fix-test_general_signal.diff and
|
||||
fix-test_signal_group.diff
|
||||
- Add fix-sleep-path-in-test.patch to fix a test failure.
|
||||
- Drop no longer required patches,
|
||||
0001-Fix-tests-for-the-drop-the-unversion-python.patch,
|
||||
always-use-fully-versioned-python-command-in-tests.patch and
|
||||
pep-0538-test-fix.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 20 17:27:27 UTC 2020 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Switch off tests, upstream is dead
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 27 11:59:53 UTC 2019 - Alberto Planas Dominguez <aplanas@suse.com>
|
||||
|
||||
- Add patches to fix some tests:
|
||||
* fix-test_signal_group.diff
|
||||
* fix-test_general_signal.diff (bsc#1120329)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 1 13:16:33 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Add patches from Fedora:
|
||||
* always-use-fully-versioned-python-command-in-tests.patch
|
||||
* no-coverage.patch
|
||||
* 0001-Fix-tests-for-the-drop-the-unversion-python.patch
|
||||
* pep-0538-test-fix.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 4 12:54:15 UTC 2018 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Remove superfluous devel dependency for noarch package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 13 15:29:32 UTC 2017 - toddrme2178@gmail.com
|
||||
|
||||
- Implement single-spec version.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
|
||||
- PATCH test-huge-piped-data-fix.patch
|
||||
Partially disable test case
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 28 08:57:03 UTC 2015 - aplanas@suse.com
|
||||
|
||||
- Fix %defattr, fixing SLE11SP3 building
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 2 10:58:53 UTC 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 2 12:37:53 UTC 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 08:51:22 UTC 2014 - mvyskocil@opensuse.org
|
||||
|
||||
- package python-sh 1.08 for openSUSE
|
||||
|
67
python-sh.spec
Normal file
67
python-sh.spec
Normal file
@ -0,0 +1,67 @@
|
||||
#
|
||||
# spec file for package python-sh
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# 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 https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-sh
|
||||
Version: 2.0.3
|
||||
Release: 0
|
||||
Summary: Python subprocess interface
|
||||
License: MIT
|
||||
URL: https://github.com/amoffat/sh
|
||||
Source: https://files.pythonhosted.org/packages/source/s/sh/sh-%{version}.tar.gz
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module poetry-core}
|
||||
BuildRequires: %{python_module testsuite}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildArch: noarch
|
||||
%{?sle15_python_module_pythons}
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
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.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n sh-%{version}
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
%pyunittest -v test
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE.txt
|
||||
%doc CHANGELOG.md README.rst
|
||||
%{python_sitelib}/sh.py
|
||||
%pycache_only %{python_sitelib}/__pycache__/sh.*pyc
|
||||
%{python_sitelib}/sh-%{version}*-info
|
||||
|
||||
%changelog
|
BIN
sh-2.0.3.tar.gz
(Stored with Git LFS)
Normal file
BIN
sh-2.0.3.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user