diff --git a/pdftk-1.41-gcjh.patch b/pdftk-1.41-gcjh.patch new file mode 100644 index 0000000..0f35ec8 --- /dev/null +++ b/pdftk-1.41-gcjh.patch @@ -0,0 +1,171 @@ +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile ./java_libs/com/lowagie/bc/asn1/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile 2007-04-11 16:26:56.000000000 -0400 ++++ ./java_libs/com/lowagie/bc/asn1/Makefile 2007-04-11 16:29:32.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../..; $(GCJH) --classpath="." com/lowagie/bc/asn1/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile ./java_libs/com/lowagie/text/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile 2007-04-11 16:26:55.000000000 -0400 ++++ ./java_libs/com/lowagie/text/Makefile 2007-04-11 16:29:44.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../..; $(GCJH) --classpath="." com/lowagie/text/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile ./java_libs/com/lowagie/text/markup/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile 2007-04-11 16:26:56.000000000 -0400 ++++ ./java_libs/com/lowagie/text/markup/Makefile 2007-04-11 16:29:55.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../..; $(GCJH) --classpath="." com/lowagie/text/markup/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile ./java_libs/com/lowagie/text/pdf/codec/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile 2007-04-11 16:26:56.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/codec/Makefile 2007-04-11 16:30:16.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../../..; $(GCJH) --classpath="." com/lowagie/text/pdf/codec/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile ./java_libs/com/lowagie/text/pdf/codec/postscript/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile 2007-04-11 16:26:56.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/codec/postscript/Makefile 2007-04-11 16:30:34.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../../../..; $(GCJH) --classpath="." com/lowagie/text/pdf/codec/postscript/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile ./java_libs/com/lowagie/text/pdf/codec/wmf/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile 2007-04-11 16:26:56.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/codec/wmf/Makefile 2007-04-11 16:30:41.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../../../..; $(GCJH) --classpath="." com/lowagie/text/pdf/codec/wmf/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile ./java_libs/com/lowagie/text/pdf/fonts/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile 2007-04-11 16:26:56.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/fonts/Makefile 2007-04-11 16:30:52.000000000 -0400 +@@ -30,12 +30,13 @@ + %.o : %.afm + $(GCJ) -c --resource com/lowagie/text/pdf/fonts/$< $< -o $@ + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../../..; $(GCJH) --classpath="." com/lowagie/text/pdf/fonts/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile ./java_libs/com/lowagie/text/pdf/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile 2007-04-11 16:26:55.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/Makefile 2007-04-11 16:30:59.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../..; $(GCJH) --classpath="." com/lowagie/text/pdf/$* + + ## + # targets +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile ./java_libs/com/lowagie/text/xml/xmp/Makefile +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile 2007-04-11 16:26:55.000000000 -0400 ++++ ./java_libs/com/lowagie/text/xml/xmp/Makefile 2007-04-11 16:31:08.000000000 -0400 +@@ -21,12 +21,13 @@ + %.class : %.java + $(GCJ) $(GCJFLAGS) -C $< + ++.PRECIOUS: %.class ++ + # gcjh doesn't want the ".class" extension, so use + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ cd ../../../../..; $(GCJH) --classpath="." com/lowagie/text/xml/xmp/$* + + ## + # targets diff --git a/pdftk-1.41-system-libgcj.patch b/pdftk-1.41-system-libgcj.patch new file mode 100644 index 0000000..41be245 --- /dev/null +++ b/pdftk-1.41-system-libgcj.patch @@ -0,0 +1,134 @@ +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java ./java_libs/com/lowagie/text/pdf/PdfDate.java +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java 2007-04-11 14:38:47.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/PdfDate.java 2007-04-11 14:42:21.000000000 -0400 +@@ -73,11 +73,6 @@ + + public class PdfDate extends PdfString { + +- // ssteward; static builds of pdftk (Windows, gcc 3.3.1) would +- // omit this class because of its reference by reflection; +- // this treatment ensures that ld will include it +- private static Class c1= gnu.java.locale.Calendar.class; +- + private static final int dateSpace[] = {Calendar.YEAR, 4, 0, Calendar.MONTH, 2, -1, Calendar.DAY_OF_MONTH, 2, 0, + Calendar.HOUR_OF_DAY, 2, 0, Calendar.MINUTE, 2, 0, Calendar.SECOND, 2, 0}; + +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncodings.java ./java_libs/com/lowagie/text/pdf/PdfEncodings.java +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncodings.java 2007-04-11 14:38:46.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/PdfEncodings.java 2007-04-11 14:42:26.000000000 -0400 +@@ -62,9 +62,6 @@ + */ + public class PdfEncodings { + +- // ssteward +- protected static Class c1= gnu.gcj.convert.Input_UnicodeBig.class; +- + protected static final int CIDNONE = 0; + protected static final int CIDRANGE = 1; + protected static final int CIDCHAR = 2; +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java ./java_libs/com/lowagie/text/pdf/PdfEncryption.java +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java 2007-04-11 14:38:47.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/PdfEncryption.java 2007-04-11 14:43:02.000000000 -0400 +@@ -50,7 +50,7 @@ + + package com.lowagie.text.pdf; + +-import java_local.security.MessageDigest; // ssteward ++import java.security.MessageDigest; // ssteward + import com.lowagie.text.ExceptionConverter; + + /** +diff -ur ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/SimpleXMLParser.java ./java_libs/com/lowagie/text/pdf/SimpleXMLParser.java +--- ../pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/SimpleXMLParser.java 2007-04-11 14:38:47.000000000 -0400 ++++ ./java_libs/com/lowagie/text/pdf/SimpleXMLParser.java 2007-04-11 14:42:34.000000000 -0400 +@@ -71,12 +71,6 @@ + */ + public class SimpleXMLParser { + +- // ssteward +- // Input_UTF8 was being omitted from Windows static builds +- private static Class c1= gnu.gcj.convert.Input_UTF8.class; +- private static Class c2= gnu.gcj.convert.Input_8859_1.class; +- private static Class c3= gnu.gcj.convert.Input_ASCII.class; +- + private static final HashMap fIANA2JavaMap = new HashMap(); + private static final HashMap entityMap = new HashMap(); + +diff -ur ../pdftk-1.41.orig/java_libs/Makefile ./java_libs/Makefile +--- ../pdftk-1.41.orig/java_libs/Makefile 2007-04-11 14:38:47.000000000 -0400 ++++ ./java_libs/Makefile 2007-04-11 14:41:08.000000000 -0400 +@@ -13,13 +13,7 @@ + # append gcj flags + export GCJFLAGS+= --encoding=UTF-8 --classpath="$(java_libs_root)" + +-all : libgcj_local itext +- +-libgcj_local : +- $(MAKE) -C "$(java_libs_root)/gnu_local/java/security"; +- $(MAKE) -C "$(java_libs_root)/gnu_local/java/security/provider"; +- $(MAKE) -C "$(java_libs_root)/gnu/gcj/convert"; +- $(MAKE) -C "$(java_libs_root)/java_local/security"; ++all : itext + + itext : + $(MAKE) -C "$(java_libs_root)/com/lowagie/text"; +@@ -35,13 +29,7 @@ + $(MAKE) -C "$(java_libs_root)/com/lowagie/bc/asn1"; + $(MAKE) -C "$(java_libs_root)/com/lowagie/text/pdf/codec/postscript"; + +-clean : libgcj_local_clean itext_clean +- +-libgcj_local_clean : +- $(MAKE) -iC "$(java_libs_root)/gnu_local/java/security" clean; +- $(MAKE) -iC "$(java_libs_root)/gnu_local/java/security/provider" clean; +- $(MAKE) -iC "$(java_libs_root)/gnu/gcj/convert" clean; +- $(MAKE) -iC "$(java_libs_root)/java_local/security" clean; ++clean : itext_clean + + itext_clean : + $(MAKE) -iC "$(java_libs_root)/com/lowagie/text" clean; +diff -ur ../pdftk-1.41.orig/pdftk/Makefile.Base ./pdftk/Makefile.Base +--- ../pdftk-1.41.orig/pdftk/Makefile.Base 2007-04-11 14:38:46.000000000 -0400 ++++ ./pdftk/Makefile.Base 2007-04-11 14:40:16.000000000 -0400 +@@ -31,18 +31,6 @@ + afms= $(wildcard $(java_libs_root)/com/lowagie/text/pdf/fonts/*.afm) + afm_objects= $(patsubst %.afm, %.o, $(afms)) + +-# older versions of libgcj might not have the MD5 algorithm, +-# so I added it here; these *_local java files were grabbed from +-# libgcj CVS on March 7, 2004; diffed September 5, 2006 w/ gcc 4.1.1 +-# +-# gnu/gcj/convert/Input_UnicodeBig.java was grabbed March 26, 2004; diffed September 5, 2006 w/ gcc 4.1.1 +-# +-libgcj_local_libs = \ +-$(java_libs_root)/java_local/security/security.a \ +-$(java_libs_root)/gnu_local/java/security/provider/provider.a \ +-$(java_libs_root)/gnu_local/java/security/security.a \ +-$(java_libs_root)/gnu/gcj/convert/convert.a +- + # this must already be set according to your platform Makefile; + # we're just appending to it, here + # +@@ -53,17 +41,17 @@ + java_libs : + $(MAKE) -C $(java_libs_root) + +-attachments.o : attachments.cc attachments.h pdftk.h $(itext_libs) $(libgcj_local_libs) ++attachments.o : attachments.cc attachments.h pdftk.h $(itext_libs) + $(CXX) attachments.cc -I$(java_libs_root) $(CPPFLAGS) -c + +-report.o : report.cc report.h pdftk.h $(itext_libs) $(libgcj_local_libs) ++report.o : report.cc report.h pdftk.h $(itext_libs) + $(CXX) report.cc -I$(java_libs_root) $(CPPFLAGS) -c + +-pdftk.o : pdftk.cc pdftk.h attachments.h report.h $(itext_libs) $(libgcj_local_libs) ++pdftk.o : pdftk.cc pdftk.h attachments.h report.h $(itext_libs) + $(CXX) pdftk.cc -I$(java_libs_root) $(CPPFLAGS) -c + +-pdftk : pdftk.o attachments.o report.o $(itext_libs) $(libgcj_local_libs) $(afm_objects) +- $(CXX) pdftk.o attachments.o report.o $(itext_libs) $(libgcj_local_libs) $(afm_objects) -I$(java_libs_root) $(CPPFLAGS) $(CXXFLAGS) -o pdftk ++pdftk : pdftk.o attachments.o report.o $(itext_libs) $(afm_objects) ++ $(CXX) pdftk.o attachments.o report.o $(itext_libs) $(afm_objects) -I$(java_libs_root) $(CPPFLAGS) $(CXXFLAGS) -o pdftk + + install: + /usr/bin/install pdftk /usr/local/bin diff --git a/pdftk.spec b/pdftk.spec index 904c2c2..e85a66f 100644 --- a/pdftk.spec +++ b/pdftk.spec @@ -6,7 +6,9 @@ License: GPL URL: http://www.pdfhacks.com/pdftk/ Source0: http://www.pdfhacks.com/pdftk/%{name}-%{version}.tar.bz2 Source1: gpl.txt -Patch1: pdftk-1.41-rpmopt.patch +Patch0: pdftk-1.41-rpmopt.patch +Patch1: pdftk-1.41-system-libgcj.patch +Patch2: pdftk-1.41-gcjh.patch Group: Applications/Publishing BuildRoot: %{_tmppath}/%{name}-root BuildRequires: gcc-java @@ -33,7 +35,10 @@ C++ code to use iText's (itext-paulo) Java classes. %prep %setup -q -%patch1 -p1 -b .org +%patch0 -p1 -b .rpmopt +%patch1 -p0 -b .system-libgcj +%patch2 -p0 -b .gcjh +rm -rf java_libs/gnu_local java_libs/java_local java_libs/gnu %build unset CLASSPATH && cd pdftk && make -f Makefile.RedHat && cd - @@ -56,6 +61,11 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/* %changelog +* Wed Apr 11 2007 Thomas Fitzsimmons - 1.41-4 +- Build against system libgcj. +- Patch build for new gcjh. +- Resolves: rhbz#233682 rhbz#233489 rhbz#233514 + * Wed Feb 28 2007 Jochen Schmitt 1.41-4 - Rebuild to solve broken deps