Bug 690519

Summary: Review Request: snappy - Fast compression and decompression library
Product: [Fedora] Fedora Reporter: Martin Gieseking <martin.gieseking>
Component: Package ReviewAssignee: Susi Lehtola <susi.lehtola>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, nathaniel, notting, susi.lehtola
Target Milestone: ---Flags: susi.lehtola: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: snappy-1.0.0-3.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-29 03:55:04 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 Martin Gieseking 2011-03-24 14:56:42 UTC
Spec URL: http://mgieseki.fedorapeople.org/snappy/snappy.spec
SRPM URL: http://mgieseki.fedorapeople.org/snappy/snappy-1.0.0-1.fc14.src.rpm

Description:
Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable compression. For instance, compared to the fastest mode of zlib, Snappy is an order of magnitude faster for most inputs, but the resulting compressed files are anywhere from 20% to 100% bigger.

Comment 1 Susi Lehtola 2011-03-24 15:18:08 UTC
This looks pretty clean, assigning.

Comment 2 Susi Lehtola 2011-03-24 15:33:23 UTC
rpmlint output:
snappy.src: W: spelling-error %description -l en_US zlib -> lib, glib, z lib
snappy.src: W: invalid-url Source0: http://snappy.googlecode.com/files/snappy-1.0.0.tar.gz HTTP Error 404: Not Found
snappy.x86_64: W: spelling-error %description -l en_US zlib -> lib, glib, z lib
snappy-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 4 warnings.

MUST: The spec file for the package is legible and macros are used consistently. OK
MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}. OK
MUST: The package must be licensed with a Fedora approved license and meet the  Licensing Guidelines. OK

MUST: The License field in the package spec file must match the actual license. NEEDSWORK
- License is specified as ASL 2.0 in most of the source code files.
- However, some files do not mention a license at all, just the copyright.
- The included COPYING contains a BSD license.
=> License tag should read ASL 2.0 and BSD just to be on the safe side.

Please ask upstream to clarify the licensing.


MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK
9d83bdcf0c79a8de608fa969c2909204  snappy-1.0.0.tar.gz
9d83bdcf0c79a8de608fa969c2909204  ../SOURCES/snappy-1.0.0.tar.gz

MUST: The package MUST successfully compile and build into binary rpms. OK
MUST: The spec file MUST handle locales properly. N/A

MUST: Optflags are used and time stamps preserved. OK
- Although IMHO using
 CXXFLAGS="%{optflags} -DNDEBUG"
would be better.

MUST: Packages containing shared library files must call ldconfig. OK
MUST: A package must own all directories that it creates or require the package that owns the directory. OK
MUST: Files only listed once in %files listings. OK
MUST: Debuginfo package is complete. OK
MUST: Permissions on files must be set properly. OK
MUST: Large documentation files must go in a -doc subpackage. N/A

MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. NEEDSWORK
- Add COPYING to %doc.
- Please remove empty %doc line from -devel.

MUST: Header files must be in a -devel package. OK
MUST: Static libraries must be in a -static package. N/A
MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK
MUST: Packages does not contain any .la libtool archives. OK
MUST: Desktop files are installed properly. N/A
MUST: No file conflicts with other packages and no general names. OK
SHOULD: %{?dist} tag is used in release. OK
SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK
SHOULD: The package builds in mock. OK

The following don't matter if you're not targeting older versions of EPEL.
EPEL: Clean section exists. NEEDSWORK
EPEL: Buildroot cleaned before install. NEEDSWORK
EPEL: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A

Comment 3 Martin Gieseking 2011-03-24 15:56:11 UTC
> - License is specified as ASL 2.0 in most of the source code files.
> - However, some files do not mention a license at all, just the copyright.
> - The included COPYING contains a BSD license.
> => License tag should read ASL 2.0 and BSD just to be on the safe side.
> 
> Please ask upstream to clarify the licensing.


I already asked upstream to replace the BSD license text with the ASL 2.0 one:
http://code.google.com/p/snappy/issues/detail?id=20&can=1

It's a known issue that has already been fixed in the SVN repo. This is also true for the missing/incomplete copyright info in the source files.
Since the library is definitely licensed under ASL 2.0, I'd rather omit COPYING for now and add it as soon as a new release of snappy is available.



> MUST: Optflags are used and time stamps preserved. OK
> - Although IMHO using
>  CXXFLAGS="%{optflags} -DNDEBUG"
> would be better.

Sure. Fixed. 


> MUST: All relevant items are included in %doc. Items in %doc do not affect
> runtime of application. NEEDSWORK
> - Please remove empty %doc line from -devel.

Done.

New files:
Spec URL: http://mgieseki.fedorapeople.org/snappy/snappy.spec
SRPM URL: http://mgieseki.fedorapeople.org/snappy/snappy-1.0.0-2.fc14.src.rpm

Comment 4 Susi Lehtola 2011-03-24 18:03:52 UTC
(In reply to comment #3)
> I already asked upstream to replace the BSD license text with the ASL 2.0 one:
> http://code.google.com/p/snappy/issues/detail?id=20&can=1
> 
> It's a known issue that has already been fixed in the SVN repo. This is also
> true for the missing/incomplete copyright info in the source files.
> Since the library is definitely licensed under ASL 2.0, I'd rather omit COPYING
> for now and add it as soon as a new release of snappy is available.

Great. I'd still ask you to ship the correct COPYING (with the explanation) as %SOURCE1 and ship it in %doc.

Please do this before import to git. This package has been

APPROVED

Comment 5 Martin Gieseking 2011-03-24 18:12:06 UTC
> I'd still ask you to ship the correct COPYING (with the explanation) as
> %SOURCE1 and ship it in %doc.


Yes, that's not a problem and a good compromise. I'll add the file before importing the package into the Git repo.

Thank you very much for the immediate review!

Comment 6 Martin Gieseking 2011-03-24 18:26:06 UTC
New Package SCM Request
=======================
Package Name: snappy
Short Description: Fast compression and decompression library
Owners: mgieseki
Branches: f14 f15
InitialCC:

Comment 7 Jason Tibbitts 2011-03-24 19:07:09 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2011-03-24 19:41:56 UTC
snappy-1.0.0-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/snappy-1.0.0-3.fc14

Comment 9 Fedora Update System 2011-03-24 19:42:03 UTC
snappy-1.0.0-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/snappy-1.0.0-3.fc15

Comment 10 Fedora Update System 2011-03-25 06:46:42 UTC
snappy-1.0.0-3.fc15 has been pushed to the Fedora 15 testing repository.

Comment 11 Fedora Update System 2011-03-29 03:55:00 UTC
snappy-1.0.0-3.fc15 has been pushed to the Fedora 15 stable repository.

Comment 12 Fedora Update System 2011-04-02 22:53:48 UTC
snappy-1.0.0-3.fc14 has been pushed to the Fedora 14 stable repository.

Comment 13 Nathaniel McCallum 2012-01-17 16:39:09 UTC
Package Change Request
======================
Package Name: snappy
New Branches: el5 el6
Owners: mgieseki npmccallum

Comment 14 Gwyn Ciesla 2012-01-17 17:20:51 UTC
Git done (by process-git-requests).