Bug 720435 - Review Request: epson-inkjet-printer-escpr - Drivers for Epson inkjet printers
Summary: Review Request: epson-inkjet-printer-escpr - Drivers for Epson inkjet printers
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Thomas Sailer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-11 15:55 UTC by Susi Lehtola
Modified: 2014-10-30 18:56 UTC (History)
5 users (show)

Fixed In Version: epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-09-08 07:01:08 UTC
Type: ---
Embargoed:
fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Susi Lehtola 2011-07-11 15:55:16 UTC
Spec URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/epson-inkjet-printer-escpr.spec

SRPM URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/epson-inkjet-printer-escpr-1.0.4-1.src.rpm

Description:
This package contains drivers for Epson Inkjet printers that use 
the New Generation Epson Printer Control Language.

For a detailed list of supported printers, please refer to
http://avasys.jp/english/linux_e/


rpmlint output:
epson-inkjet-printer-escpr.src:73: E: hardcoded-library-path in /usr/lib/cups/filter/epson-*
epson-inkjet-printer-escpr.src: W: invalid-url Source0: epson-inkjet-printer-escpr-1.0.4-1lsb3.2.tar.gz
epson-inkjet-printer-escpr.x86_64: E: binary-or-shlib-defines-rpath /usr/lib/cups/filter/epson-escpr ['/usr/lib64']
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_sp.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_cmd.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/str.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/csv.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_osdep.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_def.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/filter.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/pipsDef.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_osdep.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_api.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/optBase.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/wrapper.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/pips.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_rle.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_sp.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/err.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/mem.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/err.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/def.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/src/csv.c
epson-inkjet-printer-escpr-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 22 errors, 2 warnings.

Comment 1 Michal Nowak 2011-07-13 08:26:08 UTC
(In reply to comment #0)

> epson-inkjet-printer-escpr.src:73: E: hardcoded-library-path in
> /usr/lib/cups/filter/epson-*

Not good. Look here (https://fedoraproject.org/wiki/Packaging/RPMMacros) for info how to create a valid path via RPM macros.

> epson-inkjet-printer-escpr.src: W: invalid-url Source0:
> epson-inkjet-printer-escpr-1.0.4-1lsb3.2.tar.gz

Place correct URI here, e.g.: http://.../source.tar.gz

> epson-inkjet-printer-escpr.x86_64: E: binary-or-shlib-defines-rpath
> /usr/lib/cups/filter/epson-escpr ['/usr/lib64']

Look into packaging guidelines for other tips on how to remove RPATH.

> epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address
> /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_sp.h

I suggest you work with upstream to change the address -- but I guess it's acceptable for Fedora as it is now.

I doubt the version & release fields are OK. I suggest you change the version to "1.0.4-1lsb3.2" and release to "1".

> %defattr(-,root,root)

A bit old-style, I suggest to use %defattr(-,root,root, -).

Comment 2 Susi Lehtola 2011-07-13 10:27:18 UTC
(In reply to comment #1)
> (In reply to comment #0)
> > epson-inkjet-printer-escpr.src:73: E: hardcoded-library-path in
> > /usr/lib/cups/filter/epson-*
> 
> Not good. Look here (https://fedoraproject.org/wiki/Packaging/RPMMacros) for
> info how to create a valid path via RPM macros.

It's hardcoded, since the filters are architecture independent and are placed in /usr/lib even on 64-bit systems. Otherwise I would have of course used %{_libdir}.

> > epson-inkjet-printer-escpr.src: W: invalid-url Source0:
> > epson-inkjet-printer-escpr-1.0.4-1lsb3.2.tar.gz
> 
> Place correct URI here, e.g.: http://.../source.tar.gz

If you read the note, upstream doesn't release source tarballs.

I have now switched to using the source rpm as the source, which is a bit more messy than with the extracted tarball.
 
> > epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address
> > /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/lib/escpr_sp.h
> 
> I suggest you work with upstream to change the address -- but I guess it's
> acceptable for Fedora as it is now.
> 
> I doubt the version & release fields are OK. I suggest you change the version
> to "1.0.4-1lsb3.2" and release to "1".

Please note
http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Non-Numeric_Version_in_Release

> > %defattr(-,root,root)
> 
> A bit old-style, I suggest to use %defattr(-,root,root, -).

These are equivalent, but I have changed the style.

rpmlint is now at (omitting the fsf-address errors)
epson-inkjet-printer-escpr.src:2: E: hardcoded-library-path in /usr/lib/cups/filter
epson-inkjet-printer-escpr-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 21 errors, 1 warnings.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/epson-inkjet-printer-escpr.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/epson-inkjet-printer-escpr-1.0.4-2.1lsb3.2.fc15.src.rpm

Comment 3 Tim Waugh 2011-07-15 15:44:33 UTC
Note that none of the PPDs have 1284DeviceId attributes, so automatic driver installation will not work for this package.  I guess that's something that upstream needs to be educated about.

Regarding "/usr/lib/cups", I should probably get the cups-devel package to provide an rpm macro for driver packages to use.  Will do that...

Comment 4 Thomas Sailer 2011-08-27 21:57:20 UTC
Scratch Build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3305966

$ rpmlint epson-inkjet-printer-escpr.spec epson-inkjet-printer-escpr-devel-1.0.4-2.1lsb3.2.fc17.x86_64.rpm epson-inkjet-printer-escpr-debuginfo-1.0.4-2.1lsb3.2.fc17.x86_64.rpm epson-inkjet-printer-escpr-1.0.4-2.1lsb3.2.fc17.x86_64.rpm epson-inkjet-printer-escpr-1.0.4-2.1lsb3.2.fc15.src.rpm
epson-inkjet-printer-escpr.spec:2: E: hardcoded-library-path in /usr/lib/cups/filter
epson-inkjet-printer-escpr-devel.x86_64: W: no-documentation
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/def.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/csv.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/filter.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/str.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_def.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_sp.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/wrapper.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_osdep.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_sp.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_cmd.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/err.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/optBase.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/csv.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_api.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/str.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/err.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/mem.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/mem.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_rle.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/pipsDef.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_cmd.c
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_rle.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/src/pips.h
epson-inkjet-printer-escpr-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/epson-inkjet-printer-escpr-1.0.4/epson-inkjet-printer-escpr-1.0.4/lib/escpr_osdep.c
epson-inkjet-printer-escpr.src:2: E: hardcoded-library-path in /usr/lib/cups/filter
4 packages and 1 specfiles checked; 26 errors, 1 warnings.

Comment 5 Thomas Sailer 2011-08-27 22:04:53 UTC
What use is the devel package exactly? Can the library be used without header files?

Fedora review epson-inkjet-printer-escpr-1.0.4-2.1lsb3.2.fc15.src.rpm 2011-08-27

+ OK
! needs attention

+ rpmlint output
  The rpmlint warnings/errors listed above can be ignored and are normal
  for octave forge packages
+ Package is named according to Fedora Package Naming Guidelines
+ Specfile name matches the package base name
+ Package follows the Fedora packaging guidelines
+ License meets guidelines and is acceptable to Fedora
  GPLv2+
+ License matches the actual package license
+ The package contains the license file
+ Spec file is written in American English
+ Spec file is legible
+ Upstream sources match sources in the srpm
  49fb339fe9f164dea89ce8ceb07db43d  srpm/epson-inkjet-printer-escpr-1.0.4-1lsb3.2.src.rpm
  49fb339fe9f164dea89ce8ceb07db43d  upstream/epson-inkjet-printer-escpr-1.0.4-1lsb3.2.src.rpm

+ Package scratch-builds
n/a ExcludeArch bugs filed
+ BuildRequires list all build dependencies
n/a %find_lang instead of %{_datadir}/locale/*
n/a binary RPM with shared library files must call ldconfig in %post and
%postun
+ Does not use Prefix: /usr
+ Package owns all directories it creates
+ No duplicate files in %files
+ Consistent use of macros
+ Package must contain code or permissible content
n/a Large documentation files should go in -doc subpackage
+ Files marked %doc should not affect package
! Header files should be in -devel
n/a Static libraries should be in -static
n/a Packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
+ libfoo.so must go in -devel
+ -devel must require the fully versioned base
+ Packages should not contain libtool .la files
n/a Packages containing GUI apps must include %{name}.desktop file
+ Packages must not own files or directories owned by other packages
+ %install begins with rm -rf $RPM_BUILD_ROOT
+ Filenames must be valid UTF-8

Please notify upstream about the outdated FSF address

Comment 6 Susi Lehtola 2011-08-28 01:34:09 UTC
The address problem has been reported upstream along with the DeviceId issue. Still, the driver works just fine when it is installed, at least with my Stylus SX420W.

The comment about the necessity of the .so file is valid. I can't determine any use case for it without headers, so I just decided not to ship the .so at all for now.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/epson-inkjet-printer-escpr.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc15.src.rpm

Comment 7 Thomas Sailer 2011-08-28 17:30:09 UTC
Could you add a comment to the spec file documenting how you contacted upstream? i.e. bugtracking system URL, email message id, etc.

APPROVED by sailer

Comment 8 Susi Lehtola 2011-08-28 17:42:58 UTC
(In reply to comment #7)
> Could you add a comment to the spec file documenting how you contacted
> upstream? i.e. bugtracking system URL, email message id, etc.

Well, the contact was purely about cosmetic stuff, and doesn't affect anything in the specfile, so I don't think it is necessary to make any changes. If I were to patch the source (which doesn't really serve any purpose, since the fsf address is just in the comments), then a reference would of course be necessary.

Also, since I did the contact through the contact page on their website, I wouldn't have any reference in the first place.

Thanks for the review!

New Package SCM Request
=======================
Package Name: epson-inkjet-printer-escpr
Short Description: Drivers for Epson inkjet printers
Owners: jussilehtola
Branches: F-14 F-15 F-16
InitialCC:

Comment 9 Gwyn Ciesla 2011-08-29 12:02:12 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2011-08-29 13:27:09 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc14

Comment 11 Fedora Update System 2011-08-29 13:27:17 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc16

Comment 12 Fedora Update System 2011-08-29 13:27:26 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc15

Comment 13 Fedora Update System 2011-08-30 20:41:46 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc16 has been pushed to the Fedora 16 testing repository.

Comment 14 Fedora Update System 2011-09-08 07:00:59 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc14 has been pushed to the Fedora 14 stable repository.

Comment 15 Fedora Update System 2011-09-08 07:06:39 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc15 has been pushed to the Fedora 15 stable repository.

Comment 16 Fedora Update System 2011-09-09 17:12:44 UTC
epson-inkjet-printer-escpr-1.0.4-3.1lsb3.2.fc16 has been pushed to the Fedora 16 stable repository.

Comment 17 Orion Poplawski 2013-07-23 17:55:40 UTC
Package Change Request
======================
Package Name: epson-inkjet-printer-escpr
New Branches: el6
Owners: orion
InitialCC:

Comment 18 Gwyn Ciesla 2013-07-23 19:02:44 UTC
Git done (by process-git-requests).

Comment 19 Orion Poplawski 2014-10-30 17:51:04 UTC
Package Change Request
======================
Package Name: epson-inkjet-printer-escpr
New Branches: epel7
Owners: orion
InitialCC:

Comment 20 Gwyn Ciesla 2014-10-30 18:56:35 UTC
Git done (by process-git-requests).


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