Bug 497682

Summary: Review Request: libmemcached - Client library and command line tools for memcached server
Product: [Fedora] Fedora Reporter: Remi Collet <fedora>
Component: Package ReviewAssignee: Terje Røsten <terjeros>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, tcallawa, terjeros
Target Milestone: ---Flags: terjeros: fedora‑review+
tibbs: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.30-1.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-26 22:53:23 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 182235, 497688    

Description Remi Collet 2009-04-26 02:39:23 EDT
Spec URL: http://remi.fedorapeople.org/libmemcached.spec
SRPM URL: http://remi.fedorapeople.org/libmemcached-0.28-1.fc8.src.rpm
Mock log: http://remi.fedorapeople.org/libmemcached-mock.log
Koji Scratch build : http://koji.fedoraproject.org/koji/taskinfo?taskID=1321061

Description: 

libmemcached is a C client library to the memcached server
(http://danga.com/memcached). It has been designed to be light on memory
usage, and provide full access to server side methods.

It also implements several command line tools:

memcat - Copy the value of a key to standard output.
memflush - Flush the contents of your servers.
memrm - Remove a key(s) from the server.
memstat - Dump the stats of your servers to standard output.
memslap - Generate testing loads on a memcached cluster.
memcp - Copy files to memcached servers.
memerror - Creates human readable messages from libmemcached error codes.

---------
libmemcached is required by some memcached client.
I will submit php-pecl-memcached for review.
Comment 1 Terje Røsten 2009-04-27 12:10:52 EDT
Could not find any issues except license stuff.

Could you please check with Brian that all files have BSD license.

Seems like the hash files crc.c, hsieh_hash.c jenkins_hash.c md5.c and murmur_hash.c need special attention in this regard.
Comment 2 Remi Collet 2009-04-27 13:30:08 EDT
----------- Mail to Brian :
I haven't do a full license review of your code... (shame on me)

It's seems that some files are provided by external sources.

Have you some information about how do this license apply to your project :

crc.c => ??
hsieh_hash.c => http://www.azillionmonkeys.com/qed/weblicense.html
jenkins_hash.c => http://burtleburtle.net/bob/hash/index.html
md5.c => RSA ??
murmur_hash.c => http://murmurhash.googlepages.com/ is "public domain"

At least some of them (RSA notice) should be distributed in the
library/RPM documentation (perhaps a COPYING.xxx and in AUTHORS file).

------------ Response from Brian
We leave the external copyright in the top. All other code is BSD. If someone needed to chop something out they could with ease.
Comment 3 Terje Røsten 2009-04-28 16:40:28 EDT
I have sent a mail to spot to assist.
Comment 4 Tom "spot" Callaway 2009-04-28 16:51:25 EDT
Looking at those files:

crc.c: BSD [OK]
hsieh_hash.c: New license [Checking with RH Legal]
jenkins_hash.c: Copyright Only (I will interpret "Do NOT use for cryptographic purposes." as advice after the license, rather than license terms, since it conflicts with "You may use this code any way you wish". The upstream for this file should really change that line to say "We do not recommend that you use this code for cryptographic purposes.") [OK]
md5.c: BSD [OK]
murmur_hash.c: Public Domain [OK] (They really should have a proper declaration for PD on their website, but I'll let it slide)

As soon as I hear back on the hsieh licensing, I'll comment.
Comment 5 Tom "spot" Callaway 2009-04-28 20:07:03 EDT
Red Hat Legal says the hsieh licenses are non-free. Hopefully, you should be able to delete that hsieh_hash.c file in %pre without any difficulty.
Comment 6 Remi Collet 2009-04-29 02:39:44 EDT
@tom : thanks for this.

I will work on a build whithout hsieh_hash.c (I don't understand what you mean about %pre, should be deleted in %prep and Makefile patched to not try to use it)

Rehards
Comment 7 Remi Collet 2009-04-29 04:09:33 EDT
------------ Response from Brian
Thanks for the heads up. I'll look into adding a configure switch to disable it!
Comment 8 Tom "spot" Callaway 2009-04-29 08:18:20 EDT
I meant %prep, not %pre. :) Sorry!
Comment 9 Remi Collet 2009-05-01 02:35:06 EDT
Upstream have push a new configure with hsieh hash method disabled by default.

Here a updated RPM using this patch

Spec URL: http://remi.fedorapeople.org/libmemcached.spec
SRPM URL: http://remi.fedorapeople.org/libmemcached-0.28-2.fc8.src.rpm
Comment 10 Terje Røsten 2009-05-01 13:16:12 EDT
Thanks Remi, patch seems to work. 

Starting full review.

[ x=ok  -=dont't apply  !=please fix ?=may fix ]

MUST
 [x] rpmlint must be run on every package
 [x] package must be named according to the Package Naming Guidelines
 [x] spec file name must match the base package %{name}
 [-] package must meet the Packaging Guidelines
 [x] [BSD] package must be licensed with a Fedora approved license 
 [x] license field in the package spec file must match the actual license
 [x] includes the text of the license(s) in its own file: include in %doc
 [x] be written in American English
 [x] spec file for the package be legible
 [x] sources used to build the package must match the upstream source
 md5sum: 3e022f51301a73ddfc3df32de5b748b19fd97c65 : ok 
 [x] compile and build into binary rpms on at least one architecture
http://koji.fedoraproject.org/koji/taskinfo?taskID=1331611
 [-] not successfully compile an architecture: use ExcludeArch
 [x] all build dependencies must be listed in BuildRequires
 [-] spec file MUST handle locales properly
 [x] shared library files not in any default linker paths: ldconfig
 [-] relocatable package: the packager must state this fact
 [x] package must own all directories that it creates
 [x] not any duplicate files in the %files listing
 [x] permissions on files must be set properly
 [x] package must have a %clean section, which contains rm -rf %{buildroot}
 [x] consistently use macros
 [x] must contain code, or permissable content
 [-] large docs should go in a -doc subpackage
 [x] %doc must not affect the runtime of the application
 [x] header files must be in a -devel package
 [-] static libraries must be in a -static package
 [!] containing pkgconfig(.pc) files must 'Requires: pkgconfig'
  -devel package should have this added.
 [x] library files that end in .so: go in a -devel package
 [x] devel pkg: require base package using a fully versioned dependency
 [x] no .la libtool archives
 [-] gui app include a %{name}.desktop file
 [x] must not own files or directories already owned by other packages
 [x] %install includes rm -rf %{buildroot}
 [x]  filenames in rpm packages must be valid UTF-8
SHOULD
 [x] test that the package builds in mock
http://koji.fedoraproject.org/koji/taskinfo?taskID=1331611
 [x] compile and build into binary rpms on all archs
http://koji.fedoraproject.org/koji/taskinfo?taskID=1331611
 [+] package functions as described
 [x] those scriptlets are sane
 [x] subpackages require the base packag  fully versioned dep
 [x] pkgconfig(.pc) in devel
 [x] no explicit file dep outside /etc, /bin/, /sbin, /usr/{sbin,bin}


Add req on pkgconfig in -devel on importing and you are done.

  libmemcached is APPROVED
Comment 11 Remi Collet 2009-05-01 13:56:11 EDT
Thanks for the review and the head up on license.

New Package CVS Request
=======================
Package Name: libmemcached
Short Description: Client library and command line tools for memcached server
Owners: remi
Branches: F-10 F-11
InitialCC:
Comment 12 Dennis Gilmore 2009-05-01 16:58:04 EDT
CVS Done
Comment 13 Fedora Update System 2009-05-02 02:40:18 EDT
libmemcached-0.28-2.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/libmemcached-0.28-2.fc11
Comment 14 Fedora Update System 2009-05-02 02:41:26 EDT
libmemcached-0.28-2.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libmemcached-0.28-2.fc10
Comment 15 Fedora Update System 2009-05-02 12:31:00 EDT
libmemcached-0.28-2.fc10 has been pushed to the Fedora 10 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 libmemcached'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-4126
Comment 16 Fedora Update System 2009-05-09 00:07:50 EDT
libmemcached-0.28-2.fc11 has been pushed to the Fedora 11 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 libmemcached'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-4453
Comment 17 Fedora Update System 2009-05-19 14:38:03 EDT
libmemcached-0.29-1.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/libmemcached-0.29-1.fc11
Comment 18 Fedora Update System 2009-05-19 14:42:02 EDT
libmemcached-0.29-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libmemcached-0.29-1.fc10
Comment 19 Fedora Update System 2009-05-20 19:54:19 EDT
libmemcached-0.29-1.fc11 has been pushed to the Fedora 11 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 libmemcached'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-5236
Comment 20 Fedora Update System 2009-05-20 20:00:44 EDT
libmemcached-0.29-1.fc10 has been pushed to the Fedora 10 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 libmemcached'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-5268
Comment 21 Fedora Update System 2009-06-14 06:46:50 EDT
libmemcached-0.30-1.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/libmemcached-0.30-1.fc11
Comment 22 Fedora Update System 2009-06-14 06:48:05 EDT
libmemcached-0.30-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libmemcached-0.30-1.fc10
Comment 23 Fedora Update System 2009-06-15 21:28:16 EDT
libmemcached-0.30-1.fc10 has been pushed to the Fedora 10 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 libmemcached'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-6021
Comment 24 Fedora Update System 2009-06-15 22:37:28 EDT
libmemcached-0.30-1.fc11 has been pushed to the Fedora 11 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 libmemcached'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6437
Comment 25 Fedora Update System 2009-06-26 22:53:17 EDT
libmemcached-0.30-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Fedora Update System 2009-06-26 22:59:14 EDT
libmemcached-0.30-1.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 27 Remi Collet 2011-01-28 11:06:45 EST
Will build version 0.31 to have EVR < RHEL-6

Package Change Request
======================
Package Name: libmemcached
New Branches: EL-5
Owners: remi
InitialCC:
Comment 28 Remi Collet 2011-01-28 11:07:36 EST
Real branch name

Package Change Request
======================
Package Name: libmemcached
New Branches: el5
Owners: remi
InitialCC:
Comment 29 Jason Tibbitts 2011-01-28 19:32:22 EST
Git done (by process-git-requests).