From 1ca734ad396ec2e4ff8362c4c2a05c34e0e83e792d4332ab618b0805eaa4a950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Mon, 2 Jun 2025 16:08:00 +0000 Subject: [PATCH] - Convert to pip-based build OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-parallax?expand=0&rev=50 --- .gitattributes | 23 +++ .gitignore | 1 + ...er-thread-can-only-be-started-once-b.patch | 26 +++ parallax-1.0.8.tar.gz | 3 + python-parallax.changes | 171 ++++++++++++++++++ python-parallax.spec | 76 ++++++++ 6 files changed, 300 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-Fix-manager-writer-thread-can-only-be-started-once-b.patch create mode 100644 parallax-1.0.8.tar.gz create mode 100644 python-parallax.changes create mode 100644 python-parallax.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Fix-manager-writer-thread-can-only-be-started-once-b.patch b/0001-Fix-manager-writer-thread-can-only-be-started-once-b.patch new file mode 100644 index 0000000..b0643d7 --- /dev/null +++ b/0001-Fix-manager-writer-thread-can-only-be-started-once-b.patch @@ -0,0 +1,26 @@ +From 4f8e3f0ef01a6a63deb51ff6adbd3ab0849d7903 Mon Sep 17 00:00:00 2001 +From: nicholasyang +Date: Fri, 3 Mar 2023 14:33:27 +0800 +Subject: [PATCH] Fix: manager: writer thread can only be started once + (bsc#1208817) + +--- + parallax/manager.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/parallax/manager.py b/parallax/manager.py +index eb4df20..58b2398 100644 +--- a/parallax/manager.py ++++ b/parallax/manager.py +@@ -98,8 +98,6 @@ class Manager(object): + writer = None + + try: +- if writer: +- writer.start() + if self.askpass: + pass_server = PasswordServer() + pass_server.start(self.iomap, self.limit, warn=self.warn_message) +-- +2.34.1 + diff --git a/parallax-1.0.8.tar.gz b/parallax-1.0.8.tar.gz new file mode 100644 index 0000000..ab8e174 --- /dev/null +++ b/parallax-1.0.8.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:071f4413a0d49838af19359f10dca161aabbbece81175ddae72a51618321f046 +size 15921 diff --git a/python-parallax.changes b/python-parallax.changes new file mode 100644 index 0000000..a650608 --- /dev/null +++ b/python-parallax.changes @@ -0,0 +1,171 @@ +------------------------------------------------------------------- +Mon Jun 2 16:05:55 UTC 2025 - Markéta Machová + +- Convert to pip-based build + +------------------------------------------------------------------- +Thu May 16 15:05:01 UTC 2024 - Dominique Leuenberger + +- Use %autosetup macro: allows us to eliminate usage of deprecated + %patchN syntax. + +------------------------------------------------------------------- +Fri Mar 3 07:13:28 UTC 2023 - XinLiang + +- Fix: manager: writer thread can only be started once (bsc#1208817) + Add patch 0001-Fix-manager-writer-thread-can-only-be-started-once-b.patch + +------------------------------------------------------------------- +Mon Nov 7 02:18:35 UTC 2022 - XinLiang + +- Fix: manager: file descriptor leakage +- Release 1.0.8 + +------------------------------------------------------------------- +Thu Nov 3 02:16:52 UTC 2022 - XinLiang + +- Release 1.0.7 +- Remove patches since already included: + Remove patch 0001-Add-ssh_key-option-used-by-i-option-of-ssh-scp.patch + Remove patch 0002-Change-format-of-scp-command-for-ipv6-compatible.patch + Remove patch 0003-Fix-task-Don-t-use-ssh-if-command-running-on-local-b.patch + Remove patch 0004-Fix-Error-inherit-from-Exception-instead-of-BaseExce.patch + Remove patch 0005-Dev-add-parallax.run-to-return-non-zero-rc-without-r.patch + +------------------------------------------------------------------- +Wed Sep 28 02:34:51 UTC 2022 - Nicholas Yang + +- Dev: add parallax.run() to return non-zero rc without raising exceptions + Add patch 0005-Dev-add-parallax.run-to-return-non-zero-rc-without-r.patch +- Fix: Error: inherit from Exception instead of BaseExceptin + Add patch 0004-Fix-Error-inherit-from-Exception-instead-of-BaseExce.patch + +------------------------------------------------------------------- +Thu Jul 28 01:42:06 UTC 2022 - XinLiang + +- Don't use ssh if command running on local (bsc#1200833) + Add patch 0003-Fix-task-Don-t-use-ssh-if-command-running-on-local-b.patch + +------------------------------------------------------------------- +Wed Aug 5 07:43:16 UTC 2020 - XinLiang + +- Change format of scp command for ipv6 compatible(bsc#1174894) + Add patch 0002-Change-format-of-scp-command-for-ipv6-compatible.patch + +------------------------------------------------------------------- +Tue May 19 02:32:03 UTC 2020 - XinLiang + +- Add ssh_key option used by -i option of ssh and scp(bsc#1169581) + Add patch 0001-Add-ssh_key-option-used-by-i-option-of-ssh-scp.patch + +------------------------------------------------------------------- +Wed Apr 1 08:54:34 UTC 2020 - Kristoffer Gronlund + +- Release 1.0.6 +- Replace preexec_fn as start_new_session +- No need to mask signals for subprocess call + +------------------------------------------------------------------- +Thu Aug 22 07:50:06 UTC 2019 - Kristoffer Gronlund + +- Release 1.0.5 +- Surpress warning messages when needed (bsc#1146748) +- Fix assert_ DeprecationWarning + +------------------------------------------------------------------- +Tue May 28 07:12:30 UTC 2019 - Kristoffer Gronlund + +- Work around hidden python packaging magic (bsc#1131136) + +------------------------------------------------------------------- +Tue Dec 18 09:40:49 UTC 2018 - kgronlund@suse.com + +- Obsolete old python-parallax package (bsc#1103832) + +------------------------------------------------------------------- +Mon Dec 10 12:30:31 UTC 2018 - Tomáš Chvátal + +- Fix Source URL +- Fix fdupes call + +------------------------------------------------------------------- +Fri Jul 27 14:41:09 UTC 2018 - jengelh@inai.de + +- Use noun phrase in summary. + +------------------------------------------------------------------- +Thu Jun 28 14:32:46 UTC 2018 - kgronlund@suse.com + +- Release 1.0.4 +- Fix super call for python2 (bsc#1099514) + +------------------------------------------------------------------- +Fri Nov 3 08:14:07 UTC 2017 - kgronlund@suse.com + +- Release 1.0.3 +- Add to_ascii function to convert byte message to str (bsc#1066330) + +------------------------------------------------------------------- +Mon Aug 28 12:57:29 UTC 2017 - kgronlund@suse.com + +- Release 1.0.2 +- Switch to new singlespec packaging + +------------------------------------------------------------------- +Thu Dec 8 17:14:48 UTC 2016 - kgronlund@suse.com + +- Fix broken build for non-SUSE distributions (again) + +------------------------------------------------------------------- +Mon Aug 15 14:51:56 UTC 2016 - toddrme2178@gmail.com + +- Fix update-alternatives implementation. + +------------------------------------------------------------------- +Wed Apr 27 08:49:44 UTC 2016 - kgronlund@suse.com + +- Fix broken package build for non-SUSE distributions + +------------------------------------------------------------------- +Mon Mar 7 08:48:52 UTC 2016 - kgronlund@suse.com + +- Add alternatives entry for parallax-askpass + +------------------------------------------------------------------- +Fri Jun 12 15:26:42 UTC 2015 - kgronlund@suse.com + +- Release 1.0.1 + + The host list expander function was not unicode-safe (bsc#934594) + + Clean up and update documentation for Options.inline (#1) + + Fix python3 error using askpass option (krig/parallel-ssh#1) + +------------------------------------------------------------------- +Thu Feb 12 16:47:44 UTC 2015 - kgronlund@suse.com + +- Release 1.0.0a3 + - Be more accepting with format of limit argument + - Fix incorrect name of options attribute + +------------------------------------------------------------------- +Sat Jan 3 12:54:21 UTC 2015 - p.drouand@gmail.com + +- Fix license to be SPDX compliant; applied license is BSD3 derived + +------------------------------------------------------------------- +Thu Dec 25 17:29:27 UTC 2014 - kgronlund@suse.com + +- Release 1.0.0a2 + - Prepend hostname on each line when -P is set (fate#318220) + - Fix quiet option after API patch + +------------------------------------------------------------------- +Thu Nov 20 07:33:26 UTC 2014 - kgronlund@suse.com + +- Revised packaging +- Removed dependency on xz + +------------------------------------------------------------------- +Wed Oct 15 14:23:38 UTC 2014 - kgronlund@suse.com + +- Initial release. + diff --git a/python-parallax.spec b/python-parallax.spec new file mode 100644 index 0000000..3d2b910 --- /dev/null +++ b/python-parallax.spec @@ -0,0 +1,76 @@ +# +# spec file for package python-parallax +# +# Copyright (c) 2025 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/ +# + + +%define oldpython python +Name: python-parallax +Version: 1.0.8 +Release: 0 +Summary: Python module for multi-node SSH command execution and file copy +License: BSD-3-Clause +Group: Development/Languages/Python +URL: https://github.com/krig/parallax/ +Source: https://files.pythonhosted.org/packages/source/p/parallax/parallax-%{version}.tar.gz +Patch1: 0001-Fix-manager-writer-thread-can-only-be-started-once-b.patch +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: openssh +Obsoletes: %{oldpython}-parallax < %{version} +BuildArch: noarch +%if 0%{?suse_version} +Requires(post): alts +Requires(postun): alts +%else +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +%endif +%python_subpackages + +%description +Parallax SSH provides an interface to executing commands on multiple +nodes at once using SSH. It also provides commands for sending and receiving files to +multiple nodes using SCP. + +%prep +%autosetup -p1 -n parallax-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/parallax-askpass + +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%post +%python_install_alternative parallax-askpass + +%postun +%python_uninstall_alternative parallax-askpass + +%files %{python_files} +%doc AUTHORS README.md +%license COPYING +%{python_sitelib}/parallax +%{python_sitelib}/parallax-%{version}*-info +%python_alternative %{_bindir}/parallax-askpass + +%changelog