Bug 560258 - Review Request: quazip - A simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package
Summary: Review Request: quazip - A simple C++ wrapper over Gilles Vollant's ZIP/UNZIP...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dan Horák
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 540838
TreeView+ depends on / blocked
 
Reported: 2010-01-30 16:37 UTC by Chen Lei
Modified: 2010-09-19 19:23 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-02-03 06:42:23 UTC
Type: ---
Embargoed:
dan: fedora-review+


Attachments (Terms of Use)

Description Chen Lei 2010-01-30 16:37:06 UTC
Description:

QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can
be used to access ZIP archives. It uses Trolltech's Qt toolkit.

QuaZIP allows you to access files inside ZIP archives using QIODevice API,
and - yes! - that means that you can also use QTextStream, QDataStream or
whatever you would like to use on your zipped files.

QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading
from and writing to ZIP archives.

SPEC:http://dl.dropbox.com/u/1338197/1/quazip.spec
SRPM:http://dl.dropbox.com/u/1338197/1/quazip-0.2.3-1.fc12.src.rpm

Quazip is also a requirement for building qtiplot 0.9.7.11.

Comment 1 Dan Horák 2010-01-30 17:20:28 UTC
QuaZIP source archive contains a copy of the already packaged minizip library, the build system must be patched to link with the system copy. The rest of the package/spec looks good. And last note - in my opinion it's superfluous to patch the "PREFIX" variable, it should work with this variable passed from the command line.

Comment 3 Chen Lei 2010-01-30 17:40:26 UTC
I'll patch it soon ^_^

Comment 4 Chen Lei 2010-01-30 17:47:13 UTC
It seems the minizip included in the quazip no the same as the one included in zlib.
See http://dl.dropbox.com/u/1338197/minizip.patch

Comment 5 Dan Horák 2010-01-30 18:00:10 UTC
(In reply to comment #4)
> It seems the minizip included in the quazip no the same as the one included in
> zlib.
> See http://dl.dropbox.com/u/1338197/minizip.patch    

It's probably a local improvement, but I don't see any API incompatibility in the diff and thus the system copy can be used without any trouble.

Comment 6 Chen Lei 2010-01-30 18:03:05 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > It seems the minizip included in the quazip no the same as the one included in
> > zlib.
> > See http://dl.dropbox.com/u/1338197/minizip.patch    
> 
> It's probably a local improvement, but I don't see any API incompatibility in
> the diff and thus the system copy can be used without any trouble.    

See
http://quazip.svn.sourceforge.net/viewvc/quazip/tags/quazip-0-2-3/quazip/quazip/crypt.h?view=log
http://quazip.svn.sourceforge.net/viewvc/quazip/tags/quazip-0-2-3/quazip/quazip/unzip.c?view=log
http://quazip.svn.sourceforge.net/viewvc/quazip/tags/quazip-0-2-3/quazip/quazip/zip.c?view=log
It seems the minizip library included in quazip was modified to avoid several
warnings. It's newer than the one included in the official zlib.

Comment 7 Dan Horák 2010-01-30 18:44:49 UTC
Then such changes should be submitted to minizip upstream where everybody will profit and not carried in this local copy. In any case QuaZIP package must link with the system copy. Then there are 2 options - either submit the changes to upstream (if there is a known place) or open a new bug against zlib (minizip is subpackage of zlib) in Fedora and they can apply them locally and forward to the proper place.

Comment 8 Chen Lei 2010-01-30 19:05:56 UTC
Patch to use system-wide minizip library, I confirm the diff between quazip and zlib are useless.

SPEC:http://dl.dropbox.com/u/1338197/1/quazip.spec
SRPM:http://dl.dropbox.com/u/1338197/1/quazip-0.2.3-1.fc12.src.rpm
Still missing some BuildRequires, failed in koji but succeeded in my laptop

Comment 11 Dan Horák 2010-01-31 09:42:24 UTC
Taking for review and here some additional notes:
- I would change the Summary to: Qt wrapper for the minizip library
- packaging only the pregenerated html docs is sufficient, there is no need to generate the PDF and I would add the html docs to the devel subpackage
- you can remove the whole "documentation" part in the patch for the *.pro
- use %doc for packaging README, COPYING*, etc (it takes the files from the unpacked sources, no need to install them somewhere)

Comment 12 Chen Lei 2010-01-31 10:56:02 UTC
(In reply to comment #11)
> Taking for review and here some additional notes:
> - I would change the Summary to: Qt wrapper for the minizip library
> - packaging only the pregenerated html docs is sufficient, there is no need to
> generate the PDF and I would add the html docs to the devel subpackage
> - you can remove the whole "documentation" part in the patch for the *.pro
> - use %doc for packaging README, COPYING*, etc (it takes the files from the
> unpacked sources, no need to install them somewhere)    
Thanks, dan.
New spec:http://dl.dropbox.com/u/1338197/1/quazip.spec 
New srpm:http://dl.dropbox.com/u/1338197/1/quazip-0.2.3-3.fc12.src.rpm

Comment 13 Dan Horák 2010-01-31 15:59:36 UTC
formal review is here, see the notes below:

OK      source files match upstream:
            a091dcc3a4d57c2112bff65c2cac70f9f99fcded  quazip-0.2.3.tar.gz
OK      package meets naming and versioning guidelines.
OK      specfile is properly named, is cleanly written and uses macros consistently.
OK      dist tag is present.
BAD     license field matches the actual license.
OK      license is open source-compatible. License text included in package.
OK      latest version is being packaged.
OK*     BuildRequires are proper.
OK      compiler flags are appropriate.
OK      %clean is present.
OK      package builds in mock (Rawhide/x86_64).
BAD     debuginfo package looks complete.
OK      rpmlint is silent.
OK      final provides and requires look sane.
N/A     %check is present and all tests pass.
OK      shared libraries are added to the regular linker search paths, scriptlets exist
OK      owns the directories it creates.
OK      doesn't own any directories it shouldn't.
OK      no duplicates in %files.
OK      file permissions are appropriate.
OK      correct scriptlets present.
OK      code, not content.
OK      documentation is small, so no -docs subpackage is necessary.
OK      %docs are not necessary for the proper functioning of the package.
OK      headers in devel
OK      no pkgconfig files.
OK      no libtool .la droppings.
OK      not a GUI app.

- the library is dual-licensed, the right value is GPLv2+ or LGPLv2+
- you should package the pregenerated html doc and thus having doxygen and graphviz as BR: is redundant, also running doxygen is not needed and when it's needed then it must be done carefully because it can cause conflicts in multilib packages
- the "rm" command removing the internal copy of the minizip library is missing the path to the files and thus it's a no-op now
- please add a blank line between the changelog entries

Comment 14 Chen Lei 2010-02-01 05:49:58 UTC
(In reply to comment #13)
> formal review is here, see the notes below:
> 
>
BAD     debuginfo package looks complete.
> 
> - the library is dual-licensed, the right value is GPLv2+ or LGPLv2+
> - you should package the pregenerated html doc and thus having doxygen and
> graphviz as BR: is redundant, also running doxygen is not needed and when it's
> needed then it must be done carefully because it can cause conflicts in
> multilib packages
> - the "rm" command removing the internal copy of the minizip library is missing
> the path to the files and thus it's a no-op now
> - please add a blank line between the changelog entries    
I fixed all except changing debuginfo package to be looked complete, I don't know how to do it.
spec:http://dl.dropbox.com/u/1338197/1/quazip.spec 
srpm:http://dl.dropbox.com/u/1338197/1/quazip-0.2.3-4.fc12.src.rpm

Comment 15 Dan Horák 2010-02-01 08:01:11 UTC
I should be more clear about the badness in debuginfo - the problem was it included the internal "minizip" header files and it is fixes with the proper "rm" command. All issues are now fixes, the package is APPROVED. Just remove the commented out BuildRequires and commands before committing the spec file to CVS. Also passing QUADOCDIR to the qmake call is not required.

Comment 16 Chen Lei 2010-02-01 09:10:23 UTC
(In reply to comment #15)
> I should be more clear about the badness in debuginfo - the problem was it
> included the internal "minizip" header files and it is fixes with the proper
> "rm" command. All issues are now fixes, the package is APPROVED. Just remove
> the commented out BuildRequires and commands before committing the spec file to
> CVS. Also passing QUADOCDIR to the qmake call is not required.    

Thanks, dan!

Comment 17 Chen Lei 2010-02-01 09:12:53 UTC
New Package CVS Request
=======================
Package Name: quazip
Short Description: quazip is a simple Qt/C++ wrapper for the minizip library
Branches: F-12 F-11
InitialCC:

Comment 18 Kevin Fenzi 2010-02-02 00:08:29 UTC
There is no Owners: in your request. Please fix it and update.

Comment 19 Chen Lei 2010-02-02 02:36:20 UTC
New Package CVS Request
=======================
Package Name: quazip
Short Description: quazip is a simple Qt/C++ wrapper for the minizip library
Owners: supercyper
Branches: F-12 F-11
InitialCC:

Comment 20 Kevin Fenzi 2010-02-03 04:17:04 UTC
CVS done (by process-cvs-requests.py).

Comment 21 Chen Lei 2010-09-19 05:14:54 UTC
New Package CVS Request
=======================
Package Name: quazip
Short Description: Qt/C++ wrapper for the minizip library
Owners: supercyper
New Branches: el6

Comment 22 Kevin Fenzi 2010-09-19 19:23:16 UTC
Please use a "Package Change Request" for a change to an existing package?

http://fedoraproject.org/wiki/Package_SCM_admin_requests


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