Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 594744 - Review Request: zint - A barcode generator and library
Summary: Review Request: zint - A barcode generator and library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Chen Lei
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-21 13:43 UTC by Martin Gieseking
Modified: 2010-07-06 17:32 UTC (History)
3 users (show)

Fixed In Version: zint-2.3.2-3.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-07-06 17:12:33 UTC
supercyper1: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Martin Gieseking 2010-05-21 13:43:16 UTC
Spec URL: http://fedorapeople.org/~mgieseki/zint/zint.spec
SRPM URL: http://fedorapeople.org/~mgieseki/zint/zint-2.3.1-1.fc12.src.rpm

Description: 
Zint is a C library for encoding data in several barcode variants. The
bundled command-line utility provides a simple interface to the library.
Features of the library:
- Over 50 symbologies including all ISO/IEC standards, like QR codes.
- Unicode translation for symbologies which support Latin-1 and 
  Kanji character sets.
- Full GS1 support including data verification and automated insertion of 
  FNC1 characters.
- Support for encoding binary data including NULL (ASCII 0) characters.
- Health Industry Barcode (HIBC) encoding capabilities.
- Output in PNG, EPS and SVG formats with user adjustable sizes and colors.
- Verification stage for SBN, ISBN and ISBN-13 data.

Comment 1 Martin Gieseking 2010-05-22 16:20:17 UTC
Spec URL: http://mgieseki.fedorapeople.org/zint/zint.spec
SRPM URL: http://mgieseki.fedorapeople.org/zint/zint-2.3.1-1.fc12.src.rpm

Here's an an updated version of the package. I've added a patch that fixes an export issue. 

koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2203302

The following spelling errors can be ignored. The call of exit() in libzint has been reported upstream and will be addressed, but this shouldn't be a blocker here.


$ rpmlint /home/martin/rpmbuild/RPMS/x86_64/zint-*.rpm
zint.x86_64: W: spelling-error Summary(en_US) barcode -> bar code, bar-code, barcarole
zint.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint.x86_64: W: spelling-error %description -l en_US symbologies -> symbolizes, symbolize, symbolism
zint.x86_64: W: shared-lib-calls-exit /usr/lib64/libzint.so.2.3.1 exit@GLIBC_2.2.5
zint.x86_64: W: spelling-error Summary(en_US) barcode -> bar code, bar-code, barcarole
zint.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint.x86_64: W: spelling-error %description -l en_US symbologies -> symbolizes, symbolize, symbolism
zint.x86_64: W: shared-lib-calls-exit /usr/lib64/libzint.so.2.3.1 exit@GLIBC_2.2.5
zint-devel.x86_64: W: spelling-error %description -l en_US ont -> not, Ont, int
zint-devel.x86_64: W: no-documentation
zint-devel.x86_64: W: spelling-error %description -l en_US ont -> not, Ont, int
zint-devel.x86_64: W: no-documentation
zint-qt.x86_64: W: spelling-error %description -l en_US barcodes -> bar codes, bar-codes, barcaroles
zint-qt.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint-qt.x86_64: W: no-documentation
zint-qt.x86_64: W: spelling-error %description -l en_US barcodes -> bar codes, bar-codes, barcaroles
zint-qt.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint-qt.x86_64: W: no-documentation
zint-qt-devel.x86_64: W: no-documentation
zint-qt-devel.x86_64: W: no-documentation
10 packages and 0 specfiles checked; 0 errors, 20 warnings.

Comment 2 Martin Gieseking 2010-05-22 16:23:21 UTC
Here are the correct URLs:

Spec URL: http://mgieseki.fedorapeople.org/zint/zint.spec
SRPM URL: http://mgieseki.fedorapeople.org/zint/zint-2.3.1-2.fc12.src.rpm

Comment 3 Chen Lei 2010-05-24 17:09:02 UTC
1.I suggest you to split shlibs into subpackages, e.g. zint-libs zint-qt-libs.
Fedora ships multilibs in x86_64 and ppc64.

2.%package -n zint-devel -> %package devel

3. I'll be better to include .desktop as Source1 in spec


4.%cmake CMakeLists.txt -> %cmake .

5.Group:     Applications/Engineering is not appropriate

6.For Source field, see 
http://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net

7.
BuildRequires: qt-devel >= 4.4
BuildRequires: desktop-file-utils

BR should not be added to subpackages.

Comment 4 Martin Gieseking 2010-05-24 18:24:12 UTC
Thanks for the comments, Chen Lei. I'll update the package in about a week when version 2.3.2 is out. It incorporates the locale patch and fixes the shared-lib-calls-exit issue.

(In reply to comment #3)
> 1.I suggest you to split shlibs into subpackages, e.g. zint-libs zint-qt-libs.
> Fedora ships multilibs in x86_64 and ppc64.

Yes, that's a good idea. However, it leads to 6 pretty small packages. If this is not a problem, I'll go with it.

> 3. I'll be better to include .desktop as Source1 in spec

I prefer keeping the desktop file in the spec. :) It's kind of personal preference, I think. I'll ask upstream to add it to the tarball, though.

> 7.
> BuildRequires: qt-devel >= 4.4
> BuildRequires: desktop-file-utils
> 
> BR should not be added to subpackages.    

Is there a hint about this in the guidelines? Technically, there's no difference whether the BRs are placed in the base package or a subpackage.

Comment 5 Chen Lei 2010-05-25 01:51:20 UTC
> > 3. I'll be better to include .desktop as Source1 in spec
> I prefer keeping the desktop file in the spec. :) It's kind of personal
> preference, I think. I'll ask upstream to add it to the tarball, though.

Historically, fedora packaging guideline only accepts including desktop file as a source file. But, recently incluing desktop file in spec is also accepted.

> > 7.
> > BuildRequires: qt-devel >= 4.4
> > BuildRequires: desktop-file-utils
> > 
> > BR should not be added to subpackages.    
> Is there a hint about this in the guidelines? Technically, there's no
> difference whether the BRs are placed in the base package or a subpackage.    

Adding BR to subpackages make no sense.

Comment 6 Martin Gieseking 2010-05-25 05:49:28 UTC
(In reply to comment #5)
> Adding BR to subpackages make no sense.    

To me, it does make sense to indicate where the BRs are actually needed. As the rpm specification allows it, the question is if the Fedora guidelines want them kept together in the base package. However, it's not that important to me. I'll move them to the base package.

Comment 7 Martin Gieseking 2010-05-30 17:49:34 UTC
Spec URL: http://mgieseki.fedorapeople.org/zint/zint.spec
SRPM URL: http://mgieseki.fedorapeople.org/zint/zint-2.3.2-1.fc13.src.rpm

Updated to release 2.3.2.

koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2218169


$ rpmlint /var/lib/mock/fedora-13-x86_64/result/zint-*.rpm
zint.src: W: spelling-error Summary(en_US) barcode -> bar code, bar-code, barcarole
zint.src: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint.src: W: spelling-error %description -l en_US symbologies -> symbolizes, symbolize, symbolism
zint.x86_64: W: spelling-error Summary(en_US) barcode -> bar code, bar-code, barcarole
zint.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint.x86_64: W: spelling-error %description -l en_US symbologies -> symbolizes, symbolize, symbolism
zint.x86_64: W: no-manual-page-for-binary zint
zint-devel.x86_64: W: no-documentation
zint-libs.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint-libs.x86_64: W: no-documentation
zint-qt.x86_64: W: spelling-error %description -l en_US barcodes -> bar codes, bar-codes, barcaroles
zint-qt.x86_64: W: no-documentation
zint-qt.x86_64: W: no-manual-page-for-binary zint-qt
zint-qt-devel.x86_64: W: spelling-error %description -l en_US libs -> lobs, lib, lbs
zint-qt-devel.x86_64: W: no-documentation
zint-qt-libs.x86_64: W: spelling-error %description -l en_US barcode -> bar code, bar-code, barcarole
zint-qt-libs.x86_64: W: no-documentation
8 packages and 0 specfiles checked; 0 errors, 17 warnings.

Comment 8 Chen Lei 2010-06-11 12:52:37 UTC
The spec file is fine, except some trival issues:
1.
Explicit requires on shlibs is only needed on -devel subpackage, the mainpackage and -qt subpackage don't need this.
Requires: %{name}-libs = %{version}-%{release}
Requires:      %{name}-libs = %{version}-%{release}
2.
Group:     Applications/Multimedia seems not properly, I suggest to use Applications/Text.
See http://cvs.fedoraproject.org/viewvc/devel/barcode/barcode.spec?revision=1.13&view=markup

Comment 9 Martin Gieseking 2010-06-11 13:59:58 UTC
Thanks for taking this review and your comments. Here are the updated files:

Spec URL: http://mgieseki.fedorapeople.org/zint/zint.spec
SRPM URL: http://mgieseki.fedorapeople.org/zint/zint-2.3.2-2.fc13.src.rpm

Comment 10 Chen Lei 2010-06-12 09:53:30 UTC
formal review here:
+:ok, =:needs attention, -:needs fixing

MUST Items:
[+] MUST: rpmlint must be run on every package.
[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must meet the Packaging Guidelines. [FIXME?: covers this
list and more]
[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.
[+] MUST: The License field in the package spec file must match the actual
license.
[+] MUST: If (and only if) the source package includes the text of the
license(s) in its own file, then that file, containing the text of the
license(s) for the package must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
<<md5sum checksum>>b4f004198e50db31ab1a96ec8c60ff19
[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.
[+] MUST: All build dependencies must be listed in BuildRequires
[+] MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro.
[+] MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.
[+] MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory.
[+] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example. Every %files section must include a
%defattr(...) line.
[+] MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.
[+] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.
[+] MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.
[+] MUST: Packages must not own files or directories already owned by other
packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.


This package is approved.

After reconsideration of this package, I agree with you that -libs and -qt-libs subpackages are not necessary, you can merge them back with main package and -qt package.

From decription, I noticed "Zint is an Open Source barcode encoding and image generating library written entirely in C and released under GPLv3 or later
L", maybe the main role of zint is shlibs. So it may be more suitable to put libzint into mainpackage, then put zint program into -utils subpackage. Since zint and zint-libs is quite small, I think it's also acceptable to put them into one package, the same is for -qt and -qt-libs, the final choice is left for you.

Comment 11 Martin Gieseking 2010-06-13 07:59:04 UTC
Thanks for the review!

(In reply to comment #10)
> After reconsideration of this package, I agree with you that -libs and -qt-libs
> subpackages are not necessary, you can merge them back with main package and
> -qt package.

Yes, I think it's probably better to reduce the number of tiny subpackages and bundle the programs with their corresponding shlib (as in 2.3.1-1).

Thanks again.

Comment 12 Martin Gieseking 2010-06-13 08:01:26 UTC
New Package CVS Request
=======================
Package Name: zint
Short Description: A barcode generator
Owners: mgieseki
Branches: F-12 F-13
InitialCC:

Comment 13 Chen Lei 2010-06-13 09:57:52 UTC
(In reply to comment #11)
> Thanks for the review!
> 
> (In reply to comment #10)
> > After reconsideration of this package, I agree with you that -libs and -qt-libs
> > subpackages are not necessary, you can merge them back with main package and
> > -qt package.
> 
> Yes, I think it's probably better to reduce the number of tiny subpackages and
> bundle the programs with their corresponding shlib (as in 2.3.1-1).
> 
> Thanks again.    

From the manual of Zint, I realized that libzint and zint-qt are the main part of the Zint. zint command line utility and libQzint are not so important, they are pretty tiny.

Comment 14 Kevin Fenzi 2010-06-14 04:42:48 UTC
CVS done (by process-cvs-requests.py).

Comment 15 Fedora Update System 2010-06-14 07:58:35 UTC
zint-2.3.2-3.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/zint-2.3.2-3.fc12

Comment 16 Fedora Update System 2010-06-14 07:58:40 UTC
zint-2.3.2-3.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/zint-2.3.2-3.fc13

Comment 17 Fedora Update System 2010-06-14 17:11:53 UTC
zint-2.3.2-3.fc13 has been pushed to the Fedora 13 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 zint'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/zint-2.3.2-3.fc13

Comment 18 Fedora Update System 2010-06-14 17:18:40 UTC
zint-2.3.2-3.fc12 has been pushed to the Fedora 12 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 zint'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/zint-2.3.2-3.fc12

Comment 19 Fedora Update System 2010-07-06 17:12:27 UTC
zint-2.3.2-3.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2010-07-06 17:31:58 UTC
zint-2.3.2-3.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.


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