Bug 612533 (qrencode)

Summary: Review Request: qrencode - Generate QR 2D barcodes
Product: [Fedora] Fedora Reporter: Tareq Al Jurf <taljurf>
Component: Package ReviewAssignee: Parag AN(पराग) <panemade>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 12CC: bowe, fedora-package-review, notting, panemade, peter, pwouters
Target Milestone: ---Flags: panemade: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: qrencode-3.1.1-4.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-15 21:02:15 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 Tareq Al Jurf 2010-07-08 13:18:24 UTC
Spec URL: http://taljurf.fedorapeople.org/Packages/i686/qrencode/qrencode.spec
SRPM URL: http://taljurf.fedorapeople.org/Packages/i686/qrencode/qrencode-3.1.1-1.fc12.src.rpm
Description: Qrencode is a utility software using libqrencode to encode string data in
a QR Code and save as a PNG image.

Comment 1 Parag AN(पराग) 2010-07-08 13:50:01 UTC
will take this for review.

Comment 2 Mamoru TASAKA 2010-07-08 16:36:15 UTC
*** Bug 509856 has been marked as a duplicate of this bug. ***

Comment 3 Parag AN(पराग) 2010-07-09 05:44:06 UTC
Tareq,

1)any particular reason to create -libs subpackage?

2) You need to fix rpath issue as reported by rpmlint.
qrencode.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/qrencode ['/usr/lib64']

see http://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath
and add following to %prep section
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

3) Good if you will use
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"

This will preserve the timestamps of files being copied from upstream tarball in rpm.

4) License looks to me LGPLv2+. All the source files *.c and *.h includes header for LGPLv2+ license.

Comment 4 Parag AN(पराग) 2010-07-12 08:34:48 UTC
(In reply to comment #3)
> Tareq,
> 
> 1)any particular reason to create -libs subpackage?
> 
> 2) You need to fix rpath issue as reported by rpmlint.
> qrencode.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/qrencode
> ['/usr/lib64']
> 
> see http://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath
> and add following to %prep section

Ah! this should be read as %build not %prep

Comment 7 Parag AN(पराग) 2010-07-13 04:43:43 UTC
1)rpmlint when run on above package gives

a)qrencode.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/qrencode ['/usr/lib64']
The binary or shared library defines `RPATH'. Usually this is a bad thing
because it hardcodes the path to search libraries and so makes it difficult to
move libraries around.  Most likely you will find a Makefile with a line like:
gcc test.o -o test -Wl,--rpath.  Also, sometimes configure scripts provide a
--disable-rpath flag to avoid this.

=> sed commands should be run after %configure and then make command. But this way tests are failing. So, I think we can use last approach given at http://fedoraproject.org/wiki/Packaging/Guidelines#Removing_Rpath and instead of  adding sed commands in %build, you can add following at the end of %install commands.

chrpath --delete $RPM_BUILD_ROOT%{_bindir}/qrencode


b)qrencode.x86_64: E: library-without-ldconfig-postin /usr/lib64/libqrencode.so.3.1.1
This package contains a library and provides no %post scriptlet containing a
call to ldconfig.
qrencode.x86_64: E: library-without-ldconfig-postun /usr/lib64/libqrencode.so.3.1.1
This package contains a library and provides no %postun scriptlet containing a
call to ldconfig.

==> When package contains libraries you need to use http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Shared_libraries
Use following

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig


2) If you have plan to build this only for devel branch then you can remove BuildRoot tag, %clean section and cleaning of buildroot in %install

See http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean

Comment 10 Parag AN(पराग) 2010-07-14 05:03:28 UTC
Review:
+ package builds in mock (rawhide i686).
koji Build =>http://koji.fedoraproject.org/koji/taskinfo?taskID=2316004
+ rpmlint is silent for SRPM and for RPM.
qrencode.src: W: spelling-error Summary(en_US) barcodes -> bar codes, bar-codes, barcaroles
qrencode.x86_64: W: spelling-error Summary(en_US) barcodes -> bar codes, bar-codes, barcaroles
qrencode-devel.x86_64: W: no-documentation
==> can be ignored.
+ source files match upstream url (sha1sum)
c3eb6c44553daa612a9bcf413d3cab7c46241373  qrencode-3.1.1.tar.gz
c3eb6c44553daa612a9bcf413d3cab7c46241373  qrencode-3.1.1.tar.gz.srpm
+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ license is open source-compatible.
+ License text is included in package.
+ %doc is present.
+ BuildRequires are proper.
+ %clean is present.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ no static libraries.
+ libqrencode.pc file present.
+ -devel subpackage exists.
+ no .la files.
+ no translations are available
+ Does owns the directories it creates.
+ ldconfig scriptlets present.
+ no duplicates in %files.
+ file permissions are appropriate.
+ make check, tests are successfully run.
+ Package qrencode-3.1.1-4.fc14.x86_64  =>
Provides: libqrencode.so.3()(64bit)
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libpng12.so.0()(64bit) libpng12.so.0(PNG12_0)(64bit) libqrencode.so.3()(64bit) 
+ Package qrencode-devel-3.1.1-4.fc14.x86_64 =>
Provides: pkgconfig(libqrencode) = 3.1.1
Requires: /usr/bin/pkg-config libqrencode.so.3()(64bit)
+ Not a GUI application

APPROVED.

Comment 11 Tareq Al Jurf 2010-07-14 09:09:58 UTC
New Package CVS Request
=======================
Package Name: qrencode
Short Description: Generate QR 2D barcodes
Owners: taljurf
Branches: F-12 F-13
InitialCC: taljurf

Comment 12 Kevin Fenzi 2010-07-14 16:50:13 UTC
CVS done (by process-cvs-requests.py).

Comment 13 Fedora Update System 2010-07-15 15:15:19 UTC
qrencode-3.1.1-4.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/qrencode-3.1.1-4.fc13

Comment 14 Fedora Update System 2010-07-15 15:16:51 UTC
qrencode-3.1.1-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/qrencode-3.1.1-4.fc12

Comment 15 Fedora Update System 2010-07-15 21:02:10 UTC
qrencode-3.1.1-4.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2010-07-15 21:02:46 UTC
qrencode-3.1.1-4.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Peter Gordon 2013-09-03 04:28:53 UTC
Package Change Request
======================
Package Name: qrencode
New Branches: EPEL-6
Owners: pwouters
InitialCC: pgordon fantom

Paul requested an EPEL-6 branch of qrencode via private email to me, intending it for a libreswan based VPN gateway. (Sounds nifty!)  -- Thanks.

Comment 18 Peter Gordon 2013-09-03 04:32:52 UTC
(Oops, didn't meant to change the assignee. Reverting...)

Comment 19 Gwyn Ciesla 2013-09-03 12:14:47 UTC
Git done (by process-git-requests).

Corrected branch name.