Bug 289176 - [NEW PORT] sysutils/py-clustershell: Python framework for efficient cluster administration
Summary: [NEW PORT] sysutils/py-clustershell: Python framework for efficient cluster a...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Thierry Thomas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-08-30 01:18 UTC by Generic Rikka
Modified: 2025-11-04 16:55 UTC (History)
1 user (show)

See Also:


Attachments
Adds sysutils/py-clustershell with required build files (1.47 KB, patch)
2025-08-30 01:20 UTC, Generic Rikka
no flags Details | Diff
Logs produced by poudriere testport on this new port (38.12 KB, text/plain)
2025-08-30 01:22 UTC, Generic Rikka
no flags Details
Logs produced by poudriere testport on this new port (40.10 KB, text/plain)
2025-10-02 02:52 UTC, Generic Rikka
no flags Details
Portfmt, portclippy, portlint output (2.92 KB, text/plain)
2025-10-02 02:55 UTC, Generic Rikka
no flags Details
Updated Patch according to feedback (2.28 KB, patch)
2025-11-03 19:32 UTC, Generic Rikka
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Generic Rikka 2025-08-30 01:18:59 UTC
ClusterShell is a Python framework for efficient cluster administration.
It provides high-level APIs and CLI tools (clush, nodeset) for parallel command
execution and manipulation of large node sets, used widely in HPC sites and
supercomputing centers.

ClusterShell is maintained by CEA and is deployed at universities, national
labs, and Tier-0 HPC facilities. It is also the origin of the "NodeSet" syntax
adopted by job schedulers such as Slurm.

WWW: https://cea-hpc.github.io/clustershell/

QA (done by submitter)

- poudriere testport 14.3-RELEASE amd64: OK (log attached)
- make stage-qa and make check-plist: OK
- portfmt, portclippy: clean
- Runtime: clush --help, nodeset --help, python3.11 -c "import ClusterShell" all OK
Comment 1 Generic Rikka 2025-08-30 01:20:51 UTC
Created attachment 263324 [details]
Adds sysutils/py-clustershell with required build files
Comment 2 Generic Rikka 2025-08-30 01:22:18 UTC
Created attachment 263325 [details]
Logs produced by poudriere testport on this new port
Comment 3 Generic Rikka 2025-10-02 02:52:43 UTC
Created attachment 264226 [details]
Logs produced by poudriere testport on this new port
Comment 4 Generic Rikka 2025-10-02 02:55:16 UTC
Created attachment 264227 [details]
Portfmt, portclippy, portlint output

Ignore the lowercase fatal during the portlint stage, these are just git errors.
Comment 5 Thierry Thomas freebsd_committer freebsd_triage 2025-11-03 17:52:54 UTC
Some remarks:

- no need to duplicate WWW in pkg-descr;

- we prefer to download the Python files from Pypi;

- Pypi has a more recent release 1.9.3
  https://pypi.org/project/ClusterShell/

- License is set to LGPL3, but LICENSE_FILE is LGPLv2.1?

- May I suggest to add USES+=pytest ? Except many "Black format check" it seems OK.
Comment 6 Generic Rikka 2025-11-03 17:57:05 UTC
(In reply to Thierry Thomas from comment #5)

Thank you, Thierry, for the detailed review!

I’ll incorporate all your remarks in the next update:

- Remove duplicate WWW entry from pkg-descr

- Switch to PyPI (CHEESESHOP) as the download source

- Update to the latest upstream release (1.9.3)

- Correct the LICENSE and LICENSE_FILE mismatch (my oversight there!)

- Add USES+= pytest for proper test integration

I’ll post a refreshed patch shortly once everything re-tests cleanly.
Thanks again for the thorough check!
Comment 7 Generic Rikka 2025-11-03 19:32:24 UTC
Created attachment 265138 [details]
Updated Patch according to feedback
Comment 8 Thierry Thomas freebsd_committer freebsd_triage 2025-11-04 16:54:32 UTC
Committed, thanks!
Comment 9 commit-hook freebsd_committer freebsd_triage 2025-11-04 16:55:14 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=01500980658a8984f080e924eaaa07516ad33ce5

commit 01500980658a8984f080e924eaaa07516ad33ce5
Author:     Generic Rikka <rikka.goering@outlook.de>
AuthorDate: 2025-11-04 13:09:49 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2025-11-04 16:53:28 +0000

    sysutils/py-clustershell: new port, Python framework for efficient cluster administration

    ClusterShell is a Python framework for efficient cluster administration.
    It provides high-level APIs and CLI tools (clush, nodeset) for parallel command
    execution and manipulation of large node sets, used widely in HPC sites and
    supercomputing centers.

    PR:             289176
    Reported by:    Generic Rikka

 sysutils/Makefile                        |  1 +
 sysutils/py-clustershell/Makefile (new)  | 20 ++++++++++++++++++++
 sysutils/py-clustershell/distinfo (new)  |  3 +++
 sysutils/py-clustershell/pkg-descr (new) |  3 +++
 4 files changed, 27 insertions(+)