Bug 487148 - Review Request: gearmand - A distributed job system
Summary: Review Request: gearmand - A distributed job system
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Lemenkov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-02-24 15:16 UTC by Ruben Kerkhof
Modified: 2009-05-24 09:17 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-05-13 15:24:55 UTC
Type: ---
Embargoed:
lemenkov: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Ruben Kerkhof 2009-02-24 15:16:49 UTC
Spec URL: http://ruben.fedorapeople.org/gearmand.spec
SRPM URL: http://ruben.fedorapeople.org/gearmand-0.3-1.fc11.src.rpm
Description:
Gearman provides a generic framework to farm out work to other machines
or dispatch function calls to machines that are better suited to do the work.
It allows you to do work in parallel, to load balance processing, and to
call functions between languages. It can be used in a variety of applications,
from high-availability web sites to the transport for database replication.
In other words, it is the nervous system for how distributed processing
communicates.

Comment 1 Ruben Kerkhof 2009-02-25 09:44:56 UTC
New version with init script:

Spec URL: http://ruben.fedorapeople.org/gearmand.spec
SRPM URL: http://ruben.fedorapeople.org/gearmand-0.3-2.fc11.src.rpm

Comment 2 Peter Lemenkov 2009-04-22 05:51:56 UTC
404 while retrieving files.

Comment 3 Ruben Kerkhof 2009-04-22 21:26:05 UTC
Oops, somehow they disappeared. Please try again.

Comment 4 Peter Lemenkov 2009-04-23 05:08:22 UTC
REVIEW:

+/- rpmlint is not silent:

[petro@host-12-116 Desktop]$ rpmlint *gearman*
gearmand.i586: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/gearmand
gearmand.i586: E: incoherent-subsys /etc/rc.d/init.d/gearmand gearmand}
4 packages and 0 specfiles checked; 1 errors, 1 warnings.
[petro@host-12-116 Desktop]$

The first warning may be omitted, hoewer I advice you to suppress it by adding necessary "# Default-Stop:" into init-script. You don't need even to assign some values to it.

The second message is false positive and may be simply ignored.

+ The package is named according to the Package Naming Guidelines.
+ The spec file name matches the base package %{name}, in the format %{name}.spec.
+ The package meets the Packaging Guidelines.
+ The package is licensed with a Fedora approved license and meets the Licensing Guidelines .
+ The License field in the package spec file matches the actual license.
+ The file, containing the text of the license(s) for the package, is included in %doc.
+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package matches the upstream source.

[petro@Sulaco SOURCES]$ md5sum gearmand-0.3.tar.gz*
6acf8b8ca7087a1264ba2a96d58fcc5d  gearmand-0.3.tar.gz
6acf8b8ca7087a1264ba2a96d58fcc5d  gearmand-0.3.tar.gz.1
[petro@Sulaco SOURCES]$ 

+ The package successfully compiles and builds into binary rpms on at least one primary architecture.

http://koji.fedoraproject.org/koji/taskinfo?taskID=1316249

- The package failed to build on ppc64, due to missing gogle-perftools-devel for this target. So ppc64 architectures should be listed in the spec in ExcludeArch, and bug should be filed in bugzilla, describing the reason that the package does not compile/build/work on that architecture. The bug number MUST be placed in a comment, next to the corresponding ExcludeArch line.

http://koji.fedoraproject.org/koji/getfile?taskID=1316252&name=root.log
http://cvs.fedoraproject.org/viewvc/rpms/google-perftools/devel/google-perftools.spec?view=markup

- All build dependencies are listed in BuildRequires, but it seems, that there is one missing "Requires: procps" (usage of pgrep in the init-script). 

+ The subpackage which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, calls ldconfig in %post and %postun.

- A package must own all directories that it creates. Unfortunately, you missed %{_includedir}/libgearman/ in the %files section of libgearman-devel subpackage. Please add it as %dir.

+ The package does not list any file more than once in the spec file's %files listings.
+ Permissions on files are set properly.
+ The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ The package consistently uses macros.
+ The package contains code, or permissable content.
+ No extremely large documentation files.
+ Anything, the package includes as %doc, does not affect the runtime of the application.
+ Header files are in a -devel package.
+ No static libraries.
+ The sub-package containing pkgconfig(.pc) files has 'Requires: pkgconfig'.
+ The library files that end in .so (without suffix) are in a -devel package. 
+ devel sub-package requires the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}.
+ The package does NOT contain any .la libtool archives.
+ Not a GUI application.
+ The package does not own files or directories already owned by other packages.
+ At the beginning of %install, the package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ All filenames in rpm packages are valid UTF-8.

Please fix issues, noted above.

Comment 5 Ruben Kerkhof 2009-04-29 14:25:05 UTC
Hi Peter, thanks for the review.
I've fixed all the issues mentioned above, and disabled building with tcmalloc (from google-perftools-devel) for ppc64.

In the meantime upstream released a new version.

New version here:
SPEC: http://ruben.fedorapeople.org/gearmand.spec
SRPM: http://ruben.fedorapeople.org/gearmand-0.5-1.fc11.src.rpm

Comment 6 Peter Lemenkov 2009-04-29 15:58:53 UTC
+ md5 correct

[petro@Sulaco SOURCES]$ md5sum gearmand-0.5.tar.gz*
41946441094bc260c46b1391ae6ef3a4  gearmand-0.5.tar.gz
41946441094bc260c46b1391ae6ef3a4  gearmand-0.5.tar.gz.1
[petro@Sulaco SOURCES]$

+ Issue with warning "missing-lsb-keyword" fixed.

+ Issue with unowned directories fixed

+ Koji scratchbuild
http://koji.fedoraproject.org/koji/taskinfo?taskID=1328821

APPROVED.

Comment 7 Ruben Kerkhof 2009-05-04 11:38:40 UTC
New Package CVS Request
=======================
Package Name: gearmand
Short Description: A distributed job system
Owners: ruben
Branches: F-11 EL-5

Comment 8 Kevin Fenzi 2009-05-04 20:38:30 UTC
cvs done.

Comment 9 Terje Røsten 2009-05-24 08:24:07 UTC
Hi guys, nice to see gearman in Fedora, however could you please take the time to
test the package a little bit?

The are several bugs in the init script:

[ -z "${PIDFILE}" ] && pidfile = "/var/run/gearmand/gearmand.pid"

Two bugs here: the directory /var/run/gearmand is not created by the package
and syntax error: no space around the = sign.

More bugs:

gearmand=/usr/bin/gearmand

gearmand is install in /usr/sbin not /usr/bin 

Might be a bug:

# config: /etc/sysconfig/gearmand

this file is not shipped in the package.

Comment 10 Peter Lemenkov 2009-05-24 09:17:43 UTC
Thanks for the feedback. I'll fix these issues ASAP.


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