Bug 511938 - Review Request: cld - Coarse locking daemon
Summary: Review Request: cld - Coarse locking daemon
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mike Bonnet
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-15 18:18 UTC by Jeff Garzik
Modified: 2013-07-03 02:36 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-07-20 17:19:36 UTC
Type: ---
Embargoed:
mikeb: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)
Updated cld spec file (2.40 KB, text/plain)
2009-07-16 19:03 UTC, Jeff Garzik
no flags Details
Updated cld SRPM (381.29 KB, application/x-rpm)
2009-07-16 19:04 UTC, Jeff Garzik
no flags Details
Updated cld spec file (2.60 KB, text/plain)
2009-07-16 23:00 UTC, Jeff Garzik
no flags Details
Updated cld SRPM (381.80 KB, application/x-rpm)
2009-07-16 23:05 UTC, Jeff Garzik
no flags Details
Updated cld spec file (2.85 KB, text/plain)
2009-07-17 18:49 UTC, Jeff Garzik
no flags Details
Updated cld SRPM (388.15 KB, application/x-rpm)
2009-07-17 18:51 UTC, Jeff Garzik
no flags Details

Description Jeff Garzik 2009-07-15 18:18:57 UTC
Spec URL: http://www.kernel.org/pub/software/network/distsrv/pkg/cld.spec
SRPM URL: http://www.kernel.org/pub/software/network/distsrv/pkg/cld-0.1git-2.fc10.src.rpm
Description: Coarse locking daemon

CLD is the core service for a computing cloud.  The general idea is described here:
http://linux.yyz.us/projects/cld.html

and it is quite like the closed source Google Chubby service (links to whitepapers at cld.html, above).

This package, cld, is required for another package, "tabled" (Amazon S3-compatible service).

Comment 1 Fabian Affolter 2009-07-16 08:30:40 UTC
Some quick comments on this spec file too.

-  You are mixing '$RPM_BUILD_ROOT' and '%{buildroot}' (as in #511941)
- 'Source0' should point to the upstream location of the source tarball.
  https://fedoraproject.org/wiki/Packaging/SourceURL
  If this is not possible add a comment about how the checkout from the VCS was done.
- 'Requires: pkgconfig' is missing in the -devel package
  https://fedoraproject.org/wiki/Packaging:Guidelines#Pkgconfig_Files

Comment 2 Jeff Garzik 2009-07-16 19:03:17 UTC
Created attachment 354036 [details]
Updated cld spec file

Comment 3 Jeff Garzik 2009-07-16 19:04:34 UTC
Created attachment 354037 [details]
Updated cld SRPM

I updated the specfile for review comments, plus a few other things I found re-reviewing the packaging guidelines.

Successful koji build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1480181

Comment 4 Mike Bonnet 2009-07-16 22:24:57 UTC
%{_sysconfdir}/sysconfig/cld should be %config(noreplace)

Mixing %{buildroot} and $RPM_BUILD_ROOT in %install

COPYING should be included in %doc

You might want to consider including the date and git revision in the Release (and removing git from the version) as outlined here:

https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Snapshot_packages

rpmlint output:

$ rpmlint -v *.rpm
cld.i586: I: checking
cld.i586: W: non-conffile-in-etc /etc/sysconfig/cld

 - Bogus warning.

cld.i586: W: service-default-enabled /etc/rc.d/init.d/cld

 - The service should not be enabled by default, according to:

  https://fedoraproject.org/wiki/Packaging/SysVInitScript

 - Also according to that page, it looks like the Default-Stop line is used incorrectly.

cld.i586: W: incoherent-subsys /etc/rc.d/init.d/cld $prog

 - Bogus.

cld.i586: W: service-default-enabled /etc/rc.d/init.d/cld

 - See above.

cld-debuginfo.i586: I: checking
cld-devel.i586: I: checking


License is good.

After the package review is complete you need to file bugs for ExlcludeArch'ing ppc and ppc64, mark them as blockers for FE-ExcludeArch-ppc and FE-ExcludeArch-ppc64 respectively, and reference the bug numbers in the spec file.  The comment about endianness is good enough as a placeholder for now.

Comment 5 Pete Zaitcev 2009-07-16 22:40:10 UTC
Where does the endianness issue come from? I don't see it mentioned
in any supporting materials. In theory CLD is endianness-clean, although
I don't a PPC to check it for real.

Comment 6 Jeff Garzik 2009-07-16 22:51:08 UTC
koji has the build failure, on both ppc and ppc64:
https://koji.fedoraproject.org/koji/taskinfo?taskID=1477924

Comment 7 Jeff Garzik 2009-07-16 23:00:59 UTC
Created attachment 354062 [details]
Updated cld spec file

Comment 8 Jeff Garzik 2009-07-16 23:05:20 UTC
Created attachment 354063 [details]
Updated cld SRPM

Feedback items pointed out:

1) %config(noreplace): done

2) mixing %{buildroot} and $RPM_BUILD_ROOT: you were looking at an older spec file, see "Updated cld spec file" attachment.

3) updated %doc

4) I included the git commit id.  The git suffix in the filename comes from the package's "make dist".

5) cleaned up the init.d chkconfig stuff

koji build completed successfully:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1480723

Comment 9 Mike Bonnet 2009-07-17 16:45:04 UTC
1) looks good

2) I still see this line in the specfile included in the srpm from comment #8:

find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'

That should be using "find %{buildroot} ..." instead.

3. looks good

4. That's a good addition.  I also meant changing the specfile version/release to reflect the git commit ID, something like:

Name: cld
Version: 0.1
Release: 0.1.git0df99419

This allows you to increment the release to 0.2.git<first 8 letters of next git commit ID> for the next release, etc.  When you get to a real release, you can then just use:

Release: 1

and the nvr-ordering will be preserved.  This is just a recommendation though, as long as subsequent updates preserve nvr-ordering, I'll leave the details up to you.

Note that you may also want to put the git commit ID in the filename of Source0, various tools will complain if the content of a tarball changes but the filename does not.

5. looks good

Comment 10 Jeff Garzik 2009-07-17 18:49:26 UTC
Created attachment 354188 [details]
Updated cld spec file

Comment 11 Jeff Garzik 2009-07-17 18:51:16 UTC
Created attachment 354189 [details]
Updated cld SRPM

I'm an idiot, and thought I had propagated RPM_BUILD_ROOT removal from tabled to cld and chunkd, but apparent not.  Sorry about that -- fixed now :)

Also, I changed the release version numbering scheme to be a bit more upgrade friendly.

koji successful build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1482738

Comment 12 Mike Bonnet 2009-07-17 19:02:41 UTC
Looks good, I think you're all set.  One minor issue, %{?dist} is generally not included in the %changelog because it gets expanded there too, and can cause unusual/nonsense NVRs to appear in the changelog across distro upgrades.

I'm approving this review.  Please follow the rest of the steps in the new package process, and let me know if you have any issues.  Don't forget to file the FE-ExcludeArch bugs for ppc and ppc64.

Comment 13 Jeff Garzik 2009-07-17 19:34:36 UTC
New Package CVS Request
=======================
Package Name: cld
Short Description: Coarse locking service
Owners: jgarzik zaitcev
Branches: F-10 F-11
InitialCC:

Comment 14 Jason Tibbitts 2009-07-17 19:53:49 UTC
CVS done.

Comment 15 Jeff Garzik 2009-07-17 22:28:32 UTC
Note, tabled (new pkg review bug #511944) requires this package and chunkd (new pkg review bug #511941) in order to build.

tabled and chunkd are largely similar in package structure to cld, as all three are server daemons with client libraries.

Comment 16 Jeff Garzik 2009-07-19 19:54:14 UTC
bug #512560 filed for the ppc/ppc64 build breakage.

cld is now appearing in rawhide, thanks!

Should you close this request, or should I?

Comment 17 Mike Bonnet 2009-07-20 16:19:14 UTC
Package review is complete, and cld is available in Koji.

https://koji.fedoraproject.org/koji/packageinfo?packageID=8850

You can go ahead and close this bug with NEXTRELEASE.


Note You need to log in before you can comment on or make changes to this bug.