Bug 465511 (itext)

Summary: Review Request: itext - A Free Java-PDF library
Product: [Fedora] Fedora Reporter: Orcan Ogetbil <oget.fedora>
Component: Package ReviewAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, jochen, mtasaka, notting, rdieter, susi.lehtola, tcallawa
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: mtasaka: fedora-review+
gwync: fedora-cvs+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-14 05:04:21 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:
Bug Depends On: 465203, 465382, 466394    
Bug Blocks: 720156    
Attachments:
Description Flags
License analysis none

Description Orcan Ogetbil 2008-10-03 17:24:22 UTC
Spec URL: http://oget.fedorapeople.org/review/itext.spec
SRPM URL: http://oget.fedorapeople.org/review/itext-2.1.3-1.fc10.src.rpm
Description: 
iText is a library that allows you to generate
PDF files on the fly. The iText classes are very
useful for people who need to generate read-only,
platform independent documents containing text,
lists, tables and images. The library is especially
useful in combination with Java(TM) technology-based
Servlets: The look and feel of HTML is browser
dependent; with iText and PDF you can control
exactly how your servlet's output will look.
------------------------------------------------------------------------

This package had licensing problems in the past (
https://bugzilla.redhat.com/show_bug.cgi?id=176981
and especially
https://bugzilla.redhat.com/show_bug.cgi?id=236309
) which seem to be resolved according to the upstream author. The story can be found in the core/com/lowagie/text/misc_licenses.txt file inside the tarball.

Comment 1 Tom "spot" Callaway 2008-10-03 18:59:33 UTC
Nope. Licensing issues not resolved. Still has:

 * You acknowledge that this software is not designed or intended for
 * use in the design, construction, operation or maintenance of any
 * nuclear facility.

in:

src/core/com/lowagie/text/pdf/LZWDecoder.java
src/core/com/lowagie/text/pdf/codec/TIFFFaxDecoder.java
src/core/com/lowagie/text/pdf/codec/PngImage.java
src/core/com/lowagie/text/pdf/codec/TIFFDirectory.java
src/core/com/lowagie/text/pdf/codec/BmpImage.java
src/core/com/lowagie/text/pdf/codec/TIFFField.java
src/core/com/lowagie/text/pdf/codec/TIFFLZWDecoder.java

That clause is a use-restriction, which makes itext non-free.

Blocking FE-Legal.

Comment 2 Orcan Ogetbil 2008-10-03 19:40:42 UTC
I wasn't sure about the words "designed" or "intended". It used to be "licensed" and now it sounds more relaxed. 

But apparently it still is an issue. I am closing the bug and I'll submit the package to rpmfusion-nonfree.

Comment 3 Tom "spot" Callaway 2008-10-03 20:13:15 UTC
Well, wait, let me see what RH Legal thinks.

Comment 4 Tom "spot" Callaway 2008-10-03 20:36:17 UTC
I talked with RH Legal about it and we're now in agreement that the clause has been effectively altered to be a form of "warranty disclaimer".

Lifting FE-Legal, you should be okay from a licensing perspective.

Comment 5 Orcan Ogetbil 2008-10-03 21:29:55 UTC
Oops, sorry, I pulled the package from rpmfusion. 
It can be reviewed in here now.
And thanks for your time.

Comment 6 Mamoru TASAKA 2008-10-09 18:04:50 UTC
Created attachment 319888 [details]
License analysis

Well,

* About itext-no-rups.patch:
  - Would you explain what "it depends on proprietary com.sun classes"
    means?
    I am not familiar with Java, however as far as I checked quickly

    * About pdf-renderer.jar:
      Is it different from the below?
      https://pdf-renderer.dev.java.net/
      https://pdf-renderer.dev.java.net/files/documents/6008/113009/PDFRenderer-2008_10_05-src.zip
      It is available under LGPLv2+
    * About dom4j-1.6.1.jar
      Fedora has "dom4j" rpm, of which the license says BSD

* License
  - My analysis attached.
    The license tag should be
    "(LGPLv2+ or MPLv1.1) and and ASL2.0 and BSD and MIT"
     ( + "+ LGPLv2+ and CC-BY" if you build rups part)

* SourceURL
  - Please consider to use %version macro. With using this macro
    you probably won't have to change SourceURL when version 
    is upgraded.
    https://fedoraproject.org/wiki/Packaging/SourceURL#Using_.25.7Bversion.7D

* Requires
  - bouncycastle-mail Requires bouncycastle so
    "Requires: bouncycastle" is not needed.

* Provides
  - For upgrade path and so on, this type of Provides (Provides: iText)
    should be full EVR (Epoch-Version-Release) specific.

* GCJ AOT
  - For (Build)Requires/Scriptlets, please follow:
    https://fedoraproject.org/wiki/Packaging/GCJGuidelines

  ! By the way
--------------------------------------------------
%post -p %{_bindir}/rebuild-gcj-db
--------------------------------------------------
    cannot be used because this is a shell script.

* %prep
--------------------------------------------------
%prep
%setup -c -T -n %{name}-%{version}
gzip -dc %{SOURCE0} | tar xf -
--------------------------------------------------
  - can be:
--------------------------------------------------
%prep
%setup -q -c -T -a 0
--------------------------------------------------

* %defattr
  - We recommend %defattr(-,root,root,-)


* -javadoc subpackage
  - As javadoc package is for documentation, there is no need
    to mark %{_javadocdir}/%{name}-%{version} as %doc explicitly.

  - For Requires of javadoc subpackage please follow 
    %package javadoc section of
    https://fedoraproject.org/wiki/Packaging/Java#ant_2

Comment 7 Orcan Ogetbil 2008-10-10 03:04:51 UTC
Thank you for the review.

(In reply to comment #6)
> Created an attachment (id=319888) [details]
> License analysis
> 
> Well,
> 
> * About itext-no-rups.patch:
>   - Would you explain what "it depends on proprietary com.sun classes"
>     means?
>     I am not familiar with Java, however as far as I checked quickly
> 
>     * About pdf-renderer.jar:
>       Is it different from the below?
>       https://pdf-renderer.dev.java.net/
>      
> https://pdf-renderer.dev.java.net/files/documents/6008/113009/PDFRenderer-2008_10_05-src.zip
>       It is available under LGPLv2+
>     * About dom4j-1.6.1.jar
>       Fedora has "dom4j" rpm, of which the license says BSD
> 
First I thought the com.sun classes the program depends were internal java classes. But further investigation showed that these are actually pdf-renderer dependencies. I packaged pdf-renderer (Bug #466394) and made it block itext. I also enabled compilation of the rups libraries.

Thank you for pointing this out.

> * License
>   - My analysis attached.
>     The license tag should be
>     "(LGPLv2+ or MPLv1.1) and and ASL2.0 and BSD and MIT"
>      ( + "+ LGPLv2+ and CC-BY" if you build rups part)
> 
I made it (with rups) :
   License: (LGPLv2+ or MPLv1.1) and ASL 2.0 and BSD and MIT and LGPLv2+ and CC-BY

> * Provides
>   - For upgrade path and so on, this type of Provides (Provides: iText)
>     should be full EVR (Epoch-Version-Release) specific.
>
This package does not have a specified epoch, so I just changed it to
   Provides:   iText == %{version}-%{release}
Is this good enough?
-----------------------------------------------------------------------------

I fixed everything else you asked. The updated files are:

SPEC: http://oget.fedorapeople.org/review/itext.spec
SRPM: http://oget.fedorapeople.org/review/itext-2.1.3-2.fc10.src.rpm

Note that you need to build and install bouncycastle bouncycastle-mail from rawhide and pdf-renderer from Bug #466394 to build itext now.

There are some warnings while building the debuginfo package but I don't know if those are important. Are those fixable?

Comment 8 Mamoru TASAKA 2008-10-10 14:42:23 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > * Provides
> >   - For upgrade path and so on, this type of Provides (Provides: iText)
> >     should be full EVR (Epoch-Version-Release) specific.
> >
> This package does not have a specified epoch, so I just changed it to
>    Provides:   iText == %{version}-%{release}
> Is this good enough?
  - Yes.

> There are some warnings while building the debuginfo package but I don't know
> if those are important. Are those fixable?
  - Well, I don't know what aot-compile-rpm is doing exactly, so
    I don't know how to suppress these warnings for now...

Then:
* License
  - Please add the following files to %doc
-------------------------------------------------------------
rups/com/lowagie/rups/view/icons/copyright_notice.txt (CC-BY)
-------------------------------------------------------------

* native2ascii
  - mock build shows:
-------------------------------------------------------------
  2991  DEBUG: + find src/rtf/com/lowagie/text/rtf/parser/destinations/ -name '*.java' -exec native2ascii '{}' '{}' ';'
  2992  DEBUG: find: `native2ascii': Permission denied
  2993  DEBUG: find: `native2ascii': Permission denied
  2994  DEBUG: find: `native2ascii': Permission denied
  2995  DEBUG: find: 
  2996  DEBUG: `native2ascii': Permission denied
-------------------------------------------------------------
    Can these messages be ignored?

Other things seem okay, so I think I can approve this
package once pdf-renderer is approved.

Comment 9 Orcan Ogetbil 2008-10-10 21:08:44 UTC
* Added that copyright notice file

* Those messages can be ignored since the files that need to get fixed are getting fixed as far as the encoding is concerned.

The updated files are:
SPEC: http://oget.fedorapeople.org/review/itext.spec
SRPM: http://oget.fedorapeople.org/review/itext-2.1.3-3.fc10.src.rpm

Comment 10 Mamoru TASAKA 2008-10-11 07:27:14 UTC
Okay. Now I wait for bug 466394 side.

Comment 11 Mamoru TASAKA 2008-10-11 14:01:08 UTC
One misc issue
-----------------------------------------------------------
itext.i386: W: wrong-file-end-of-line-encoding /usr/share/doc/itext-2.1.3/copyright_notice.txt
-----------------------------------------------------------
- Please fix the window's-like end-of-line encoding of this file.
  "sed -i -e 's|\r||' <file>" or "dos2unix <file> (this case BR: dos2unix
  is needed) will fix this.

-----------------------------------------------------------
     This package (itext) is APPROVED by mtasaka
-----------------------------------------------------------

Comment 12 Orcan Ogetbil 2008-10-11 19:14:22 UTC
Oops, forgot to check the rpmlint in the last build. All fixed now.

New Package CVS Request
=======================
Package Name: itext
Short Description: A Free Java-PDF library
Owners: oget
Branches:
InitialCC:

Comment 13 Kevin Fenzi 2008-10-13 02:07:30 UTC
cvs done.

Comment 14 Rex Dieter 2008-10-13 17:47:55 UTC
looks kosher, unblocking pkg.

Comment 15 Mamoru TASAKA 2008-10-14 05:04:21 UTC
Now closing because this is requested for F-10 (for now) and
F-10 build is done by the submitter.

Comment 16 Susi Lehtola 2009-10-05 22:15:48 UTC
Can you build this for EL-5? I need it to update jmol to the 11.8 series.

Comment 17 Orcan Ogetbil 2009-10-06 02:06:11 UTC
Feel free to take it in EL. I have no interest in EL-*.

Comment 18 Susi Lehtola 2009-12-23 20:10:56 UTC
Whoops, this slipped under my radar.

I had a look at the requirements: to build itext in EL-5 three more packages would have to be built. Looks like too much work, I'll just have to deal with an older release of jmol in EL-5 for good.

Sorry for bothering you.

Comment 19 Jochen Schmitt 2011-07-12 15:52:47 UTC
Package Change Request
======================
Package Name: itext
New Branches: el5 el6
Owners: s4504kr

Comment 20 Gwyn Ciesla 2011-07-13 03:13:54 UTC
Git done (by process-git-requests).