Bug 625242 (clustershell)

Summary: Review Request: clustershell - Efficient cluster administration
Product: [Fedora] Fedora Reporter: Stephane Thiell <stephane.thiell>
Component: Package ReviewAssignee: Aurelien Bompard <gauret>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: fdc, fedora-package-review, gauret, martin.gieseking, notting, terje.rosten, tomspur
Target Milestone: ---Flags: gauret: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: clustershell-1.3.2-1.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-09-23 13:04:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stephane Thiell 2010-08-18 23:22:10 UTC
Spec URL: http://coral.thiell.com/uploads/clustershell-1.3.spec
SRPM URL: http://pypi.python.org/packages/source/C/ClusterShell/clustershell-1.3-1.fc12.src.rpm
Description: Event-based Python library to execute commands on cluster nodes in parallel depending on the selected engine and worker mechanisms. The library provides also advanced NodeSet and NodeGroups handling methods to ease and improve the administration of large compute clusters or server farms. Also, clush, clubak and nodeset, three convenient command-line tools are included.


Note: ClusterShell and especially its useful "clush" and "nodeset" commands are currently being used in production on several large Red Hat-based clusters at CEA in France and by some other HPC sites worldwide that uses Shine, a command line tool designed to setup and manage the Lustre file system. We would like to see ClusterShell added to Fedora Everything. I will do my best to meet your packaging requirements. This is my first package and I need a sponsor!


Thanks.

Comment 1 Stephane Thiell 2010-08-19 07:01:40 UTC
I've incluced the library API epydoc (HTML) documentation in the RPM itself, but it's quite large (6.2M) and should not always be needed. So the resulting RPM size is 1.8MB on F12. Building a RPM without the epydoc documentation makes it 128KB only so it's probably better. Maybe I should separate the HTML documentation in another RPM (like clustershell-docs, clustershell-apidoc or something similiar), or just give a pointer to a web site to browse and download API documentation. Advice welcomed! Be my sponsor!

Comment 2 Terje Røsten 2010-08-19 10:35:28 UTC
Seems like you have used python distutils to create the spec file. 

Don't do that, it produce a lot a unwanted stuff. 

See my comments and advice in bug #620862

You also need to add vim as buildreq, don't compress mans (rpm will do for you).

List mans like this (rpm will mark as %doc itself):

%{_mandir}/man1/clubak.1*

Use of --record=INSTALLED_FILES is not allowed.

Again, read comments in bug  #620862

Comment 3 Stephane Thiell 2010-08-20 10:10:36 UTC
Thank you Terje for this first review. I've been able to fix many things, please take a look at the release 2:

Spec URL: http://coral.thiell.com/uploads/fedora/2/clustershell.spec
SRPM URL: http://coral.thiell.com/uploads/fedora/2/clustershell-1.3-2.fc11.src.rpm

I've also removed the epydoc HTML doc from this RPM as it's pretty big and there is a way to access the library documentation with pydoc.

rpmlint result:

clustershell.noarch: W: file-not-utf8 /usr/share/doc/clustershell-1.3/Licence_CeCILL-C_V1-fr.txt
clustershell.noarch: W: file-not-utf8 /usr/share/doc/clustershell-1.3/Licence_CeCILL-C_V1-en.txt
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Comment 4 Stephane Thiell 2010-08-22 01:43:39 UTC
After reading other package submissions, I fixed some issues in this one (sorry for that, I should have done that before):
- Source0 is now a full URL to sourceforge package, so that we can check for upstream source matching (it's ok)
- converted license files text-encoding from latin1 to UTF-8 (with iconv) so that rpmlint reports no error at all:

$ rpmlint clustershell-1.3-3.fc11.noarch.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Updated files:

Spec URL: http://coral.thiell.com/uploads/fedora/3/clustershell.spec
SRPM URL: http://coral.thiell.com/uploads/fedora/3/clustershell-1.3-3.fc11.src.rpm

Comment 5 Thomas Spura 2010-08-22 11:49:17 UTC
Nice software...

I'm no sponsor, so just some comments for now:

- it would be much more readable, if you use the same indentation everywhere
  (but that's just costmetic)

- Buildroot tag is wrong:
  https://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag

  But if you don't want to make this a package in el5, you could also delete it completely.

- Please preserve timestamps, when copying files around (cp -a or install -p).

- First line: prefer global vs define,
  See:
  https://fedoraproject.org/wiki/Packaging/Guidelines#.25global_preferred_over_.25define

  You could use this macro:
  https://fedoraproject.org/wiki/Packaging:Python#Macros

- Please be a bit more explicit in %files:
  When using:
%{python_sitelib}/ClusterShell/
%{python_sitelib}/ClusterShell-*-py?.?.egg-info

you know, when building the egg failed.

Comment 6 Stephane Thiell 2010-08-22 14:55:11 UTC
Many thanks Thomas for your review.

Updated files:

Spec URL: http://coral.thiell.com/uploads/fedora/4/clustershell.spec
SRPM URL: http://coral.thiell.com/uploads/fedora/4/clustershell-1.3-4.fc11.src.rpm

Notes:
- I want to keep BuildRoot for now so that the spec can be used for el5 also. But I fixed it.
- I changed the %define for a %global definition for pythin_sitelib, as you told me. I took the recommended macro but removed the pythin_sitearch definition as I'm not using it.

Comment 7 Martin Gieseking 2010-09-02 14:43:21 UTC
Hi Stephane,

your package already looks pretty good. Here are just a couple of further things to consider:

- it's sufficient to use "%setup -q" in %prep

- I recommend to place the vim files in %{_datadir}/vim/vimfiles/syntax and
  %{_datadir}/vim/vimfiles/ftdetect, respectively. Thus, it's not necessary to
  detect the current vim version and the corresponding folder name. Also, you
  can drop BR: vim-common

- For proper directory ownership, I suggest to create a -vim subpackage 
  containing the .vim files. This package should require vim-common in order
  to create the vim data directories. 

- Your package should also own the directory %{_sysconfdir}/clustershell and
  not only its contents. Otherwise, rpm won't remove the directory when
  uninstalling the package. Hence, add %dir %{_sysconfdir}/clustershell to the 
  %files section.

Comment 8 Stephane Thiell 2010-09-03 22:05:35 UTC
Thanks Martin, much appreciated.

Updated files (also for new version 1.3.1):

Spec URL: http://coral.thiell.com/uploads/fedora/5/clustershell.spec
SRPM URL: http://coral.thiell.com/uploads/fedora/5/clustershell-1.3.1-1.fc13.src.rpm

Comment 9 Aurelien Bompard 2010-09-05 09:10:34 UTC
I'll be sponsoring Stephane.
Before I accept the request, there's something Martin asked for that you did not do in the last version: the vim subpackage. That would allow clustershell itself not to depend on vim.

Thanks a lot to all those who participated in this review.

Comment 10 Stephane Thiell 2010-09-05 10:42:38 UTC
Sorry about that, I've uploaded updated files:

Spec URL: http://coral.thiell.com/uploads/fedora/6/clustershell.spec
SRPM URL: http://coral.thiell.com/uploads/fedora/6/clustershell-1.3.1-2.fc13.src.rpm

The spec file now includes a -vim subpackage.

Thank you, Aurélien.

Comment 11 Aurelien Bompard 2010-09-05 13:57:58 UTC
Looks good, thanks.

Comment 12 Stephane Thiell 2010-09-10 21:40:57 UTC
New Package SCM Request
=======================
Package Name: clustershell
Short Description: Python framework for efficient cluster administration
Owners: sthiell
Branches: f12 f13 f14 el5 el6
InitialCC:

Comment 13 Kevin Fenzi 2010-09-11 19:52:13 UTC
Git done (by process-git-requests).

Comment 14 Fedora Update System 2010-09-12 18:43:54 UTC
clustershell-1.3.2-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/clustershell-1.3.2-1.fc14

Comment 15 Fedora Update System 2010-09-12 18:52:53 UTC
clustershell-1.3.2-1.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/clustershell-1.3.2-1.fc13

Comment 16 Fedora Update System 2010-09-12 18:54:13 UTC
clustershell-1.3.2-1.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/clustershell-1.3.2-1.fc12

Comment 17 Fedora Update System 2010-09-12 18:56:24 UTC
clustershell-1.3.2-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/clustershell-1.3.2-1.el5

Comment 18 Fedora Update System 2010-09-13 16:27:48 UTC
clustershell-1.3.2-1.el5 has been pushed to the Fedora EPEL 5 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update clustershell'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/clustershell-1.3.2-1.el5

Comment 19 Fedora Update System 2010-09-23 13:04:21 UTC
clustershell-1.3.2-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2010-09-24 20:39:49 UTC
clustershell-1.3.2-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2010-09-24 20:42:52 UTC
clustershell-1.3.2-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2010-09-29 21:22:35 UTC
clustershell-1.3.2-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.