rpms/pdftk/devel Makefile, 1.2, 1.3 import.log, NONE, 1.1 pdftk-1.41-gcc44.patch, NONE, 1.1 pdftk-1.41-make.patch, NONE, 1.1 pdftk-use-internal-itext.patch, NONE, 1.1 pdftk.spec, 1.13, 1.14 sources, 1.4, 1.5 .cvsignore, 1.3, 1.4 dead.package, 1.1, NONE

Jochen Schmitt s4504kr at fedoraproject.org
Tue Mar 10 21:16:17 UTC 2009


Author: s4504kr

Update of /cvs/extras/rpms/pdftk/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7330/devel

Modified Files:
	.cvsignore 
Added Files:
	Makefile import.log pdftk-1.41-gcc44.patch 
	pdftk-1.41-make.patch pdftk-use-internal-itext.patch 
	pdftk.spec sources 
Removed Files:
	dead.package 
Log Message:

Resurrecting pdftk




Index: Makefile
===================================================================
RCS file: Makefile
diff -N Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Makefile	10 Mar 2009 21:15:46 -0000	1.3
@@ -0,0 +1,21 @@
+# Makefile for source rpm: pdftk
+# $Id$
+NAME := pdftk
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)


--- NEW FILE import.log ---
pdftk-1_41-13_fc10:HEAD:pdftk-1.41-13.fc10.src.rpm:1236719570

pdftk-1.41-gcc44.patch:

--- NEW FILE pdftk-1.41-gcc44.patch ---
diff -up pdftk-1.41/pdftk/Makefile.RedHat.gcc44 pdftk-1.41/pdftk/Makefile.RedHat
--- pdftk-1.41/pdftk/Makefile.RedHat.gcc44	2009-03-05 21:25:40.000000000 +0100
+++ pdftk-1.41/pdftk/Makefile.RedHat	2009-03-05 21:26:15.000000000 +0100
@@ -26,7 +26,7 @@ export RM= rm
 # if you want pdftk to ask before overwriting a file, set
 # ASK_ABOUT_WARNINGS to true; otherwise: false; override this default
 # with the dont_ask or do_ask command-line options
-CPPFLAGS= ${RPM_OPT_FLAGS} -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -fdollars-in-identifiers -g -fpic
+CPPFLAGS= ${CFLAGS} -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -fdollars-in-identifiers -g -fpic
 CXXFLAGS= -lgcj
 
 # itext compiler flags

pdftk-1.41-make.patch:

--- NEW FILE pdftk-1.41-make.patch ---
diff -up pdftk-1.41/pdftk/Makefile.Base.conf pdftk-1.41/pdftk/Makefile.Base
--- pdftk-1.41/pdftk/Makefile.Base.conf	2009-03-04 18:08:15.000000000 +0100
+++ pdftk-1.41/pdftk/Makefile.Base	2009-03-04 18:08:42.000000000 +0100
@@ -15,7 +15,7 @@ export java_libs_root= ../java_libs
 # them into fonts.a resulted in none of these resources appearing in pdftk
 # (on MinGW gcj 3.4.1)
 #
-itext_libs=$(LIBDIR)/gcj/itext/itext-2.1.4.jar.so
+itext_libs=$(LIBDIR)/gcj/itext/itext-${ITEXTVERS}.jar.so
 
 # font metric files, included as resources
 afms= $(wildcard $(java_libs_root)/com/lowagie/text/pdf/fonts/*.afm)

pdftk-use-internal-itext.patch:

--- NEW FILE pdftk-use-internal-itext.patch ---
                                                                     
                                                                     
                                                                     
                                             
diff -r -u /tmp/pdftk-1.41/pdftk/attachments.cc ./pdftk/attachments.cc
--- /tmp/pdftk-1.41/pdftk/attachments.cc	2004-10-27 02:57:44.000000000 +0100
+++ ./pdftk/attachments.cc	2009-02-12 15:38:08.000000000 +0000
@@ -51,7 +51,11 @@
 
 #include "com/lowagie/text/Document.h"
 #include "com/lowagie/text/Rectangle.h"
+// Ewww, PdfName has a field called NULL.
+#undef NULL
 #include "com/lowagie/text/pdf/PdfName.h"
+#define NULL __null
+
 #include "com/lowagie/text/pdf/PdfString.h"
 #include "com/lowagie/text/pdf/PdfNumber.h"
 #include "com/lowagie/text/pdf/PdfArray.h"
@@ -148,8 +152,8 @@
 
 					itext::Rectangle* crop_box_p= 
 						input_reader_p->getCropBox( m_input_attach_file_pagenum );
-					float corner_top= crop_box_p->top()- margin;
-					float corner_left= crop_box_p->left()+ margin;
+					float corner_top= crop_box_p->getTop()- margin;
+					float corner_left= crop_box_p->getLeft()+ margin;
 
 					itext::PdfArray* annots_p= (itext::PdfArray*)
 						input_reader_p->getPdfObject( page_p->get( itext::PdfName::ANNOTS ) );
@@ -187,11 +191,11 @@
 								string filename= drop_path(*vit);
 
 								// wrap our location over page bounds, if needed
-								if( crop_box_p->right() < corner_left+ trans ) {
-									corner_left= crop_box_p->left()+ margin;
+								if( crop_box_p->getRight() < corner_left+ trans ) {
+									corner_left= crop_box_p->getLeft()+ margin;
 								}
-								if( corner_top- trans< crop_box_p->bottom() ) {
-									corner_top= crop_box_p->top()- margin;
+								if( corner_top- trans< crop_box_p->getBottom() ) {
+									corner_top= crop_box_p->getTop()- margin;
 								}
 
 								itext::Rectangle* annot_bbox_p= 
diff -r -u /tmp/pdftk-1.41/pdftk/Makefile.Base ./pdftk/Makefile.Base
--- /tmp/pdftk-1.41/pdftk/Makefile.Base	2006-10-25 00:44:06.000000000 +0100
+++ ./pdftk/Makefile.Base	2009-02-12 13:40:04.000000000 +0000
@@ -15,34 +15,12 @@
 # them into fonts.a resulted in none of these resources appearing in pdftk
 # (on MinGW gcj 3.4.1)
 #
-itext_libs= \
-$(java_libs_root)/com/lowagie/text/pdf/pdf.a \
-$(java_libs_root)/com/lowagie/text/text.a \
-$(java_libs_root)/com/lowagie/text/pdf/pdf.a \
-$(java_libs_root)/com/lowagie/text/pdf/codec/codec.a \
-$(java_libs_root)/com/lowagie/text/pdf/codec/wmf/wmf.a \
-$(java_libs_root)/com/lowagie/text/pdf/fonts/fonts.a \
-$(java_libs_root)/com/lowagie/text/markup/markup.a \
-$(java_libs_root)/com/lowagie/text/xml/xmp/xmp.a \
-$(java_libs_root)/com/lowagie/bc/asn1/asn1.a \
-$(java_libs_root)/com/lowagie/text/pdf/codec/postscript/postscript.a \
+itext_libs=$(LIBDIR)/gcj/itext/itext-2.1.4.jar.so
 
 # font metric files, included as resources
 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
 #
@@ -51,19 +29,18 @@
 all : java_libs pdftk
 
 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 -r -u /tmp/pdftk-1.41/pdftk/Makefile.RedHat ./pdftk/Makefile.RedHat
--- /tmp/pdftk-1.41/pdftk/Makefile.RedHat	2006-09-21 18:37:38.000000000 +0100
+++ ./pdftk/Makefile.RedHat	2009-02-12 12:18:43.000000000 +0000
@@ -26,12 +26,12 @@
 # if you want pdftk to ask before overwriting a file, set
 # ASK_ABOUT_WARNINGS to true; otherwise: false; override this default
 # with the dont_ask or do_ask command-line options
-CPPFLAGS= -O2 -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -fdollars-in-identifiers
+CPPFLAGS= ${RPM_OPT_FLAGS} -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -fdollars-in-identifiers -g -fpic
 CXXFLAGS= -lgcj
 
 # itext compiler flags
 # -O3 might cause pdftk to segfault on cat operation (gcc 3.4.4)
-export GCJFLAGS= -O2
+export GCJFLAGS= ${RPM_OPT_FLAGS}
 
 #
 export ARFLAGS= rs
diff -r -u /tmp/pdftk-1.41/pdftk/pdftk.cc ./pdftk/pdftk.cc
--- /tmp/pdftk-1.41/pdftk/pdftk.cc	2006-11-28 22:51:36.000000000 +0000
+++ ./pdftk/pdftk.cc	2009-02-12 16:28:33.000000000 +0000
@@ -50,7 +50,12 @@
 
 #include "com/lowagie/text/Document.h"
 #include "com/lowagie/text/Rectangle.h"
+
+// Ewww, PdfName has a field called NULL.
+#undef NULL
 #include "com/lowagie/text/pdf/PdfName.h"
+#define NULL __null
+
 #include "com/lowagie/text/pdf/PdfString.h"
 #include "com/lowagie/text/pdf/PdfNumber.h"
 #include "com/lowagie/text/pdf/PdfArray.h"
@@ -191,7 +196,8 @@
 		// store in this java object so the gc can trace it
 		g_dont_collect_p->addElement( reader );
 
-		input_pdf_p->m_authorized_b= ( !reader->encrypted || reader->passwordIsOwner );
+		input_pdf_p->m_authorized_b= ( !reader->encrypted // || reader->passwordIsOwner
+																	 );
 		if( !input_pdf_p->m_authorized_b ) {
 			open_success_b= false;
 		}
@@ -203,6 +209,7 @@
 		open_success_b= false;
 	}
 	catch( java::lang::Throwable* t_p ) { // unexpected error
+		t_p->printStackTrace();
 		cerr << "Error: Unexpected Exception in open_reader()" << endl;
 		open_success_b= false;
 							
@@ -2017,14 +2024,14 @@
 				output_doc_p->addCreator( jv_creator_p );
 
 				// un/compress output streams?
-				if( m_output_uncompress_b ) {
-					writer_p->filterStreams= true;
-					writer_p->compressStreams= false;
-				}
-				else if( m_output_compress_b ) {
-					writer_p->filterStreams= false;
-					writer_p->compressStreams= true;
-				}
+// 				if( m_output_uncompress_b ) {
+// 					writer_p->filterStreams= true;
+// 					writer_p->compressStreams= false;
+// 				}
+// 				else if( m_output_compress_b ) {
+// 					writer_p->filterStreams= false;
+// 					writer_p->compressStreams= true;
+// 				}
 
 				// encrypt output?
 				if( m_output_encryption_strength!= none_enc ||
@@ -2033,7 +2040,7 @@
 					{
 						// if no stregth is given, default to 128 bit,
 						// (which is incompatible w/ Acrobat 4)
-						bool bit128_b=
+						jboolean bit128_b=
 							( m_output_encryption_strength!= bits40_enc );
 
 						writer_p->setEncryption( output_user_pw_p,
@@ -2057,7 +2064,8 @@
 							input_reader_p->getPdfObject( trailer_p->get( itext::PdfName::ID ) );
 						if( file_id_p && file_id_p->isArray() ) {
 
-							writer_p->setFileID( file_id_p );
+							// Absent from itext-2.1.4
+// 							writer_p->setFileID( file_id_p );
 						}
 					}
 
@@ -2168,12 +2176,14 @@
 
 					// un/compress output streams?
 					if( m_output_uncompress_b ) {
-						writer_p->filterStreams= true;
-						writer_p->compressStreams= false;
+						// Absent from itext-2.1.4
+// 						writer_p->filterStreams= true;
+// 						writer_p->compressStreams= false;
 					}
 					else if( m_output_compress_b ) {
-						writer_p->filterStreams= false;
-						writer_p->compressStreams= true;
+						// Absent from itext-2.1.4
+// 						writer_p->filterStreams= false;
+// 						writer_p->compressStreams= true;
 					}
 
 					// encrypt output?
@@ -2183,7 +2193,7 @@
 						{
 							// if no stregth is given, default to 128 bit,
 							// (which is incompatible w/ Acrobat 4)
-							bool bit128_b=
+							jboolean bit128_b=
 								( m_output_encryption_strength!= bits40_enc );
 
 							writer_p->setEncryption( output_user_pw_p,
@@ -2403,13 +2413,15 @@
 				// un/compress output streams?
 				if( m_output_uncompress_b ) {
 					add_marks_to_pages( input_reader_p );
-					writer_p->filterStreams= true;
-					writer_p->compressStreams= false;
+					// Absent from itext-2.1.4
+// 					writer_p->filterStreams= true;
+// 					writer_p->compressStreams= false;
 				}
 				else if( m_output_compress_b ) {
 					remove_marks_from_pages( input_reader_p );
-					writer_p->filterStreams= false;
-					writer_p->compressStreams= true;
+					// Absent from itext-2.1.4
+// 					writer_p->filterStreams= false;
+// 					writer_p->compressStreams= true;
 				}
 
 				// encrypt output?
@@ -2420,13 +2432,13 @@
 
 						// if no stregth is given, default to 128 bit,
 						// (which is incompatible w/ Acrobat 4)
-						bool bit128_b=
+						jboolean bit128_b=
 							( m_output_encryption_strength!= bits40_enc );
 
 						writer_p->setEncryption( output_user_pw_p,
 																			output_owner_pw_p,
 																			m_output_user_perms,
-																			bit128_b );
+																		  bit128_b );
 					}
 
 				// fill form fields?
@@ -2435,8 +2447,11 @@
 					{
 						itext::AcroFields* fields_p= writer_p->getAcroFields();
 						fields_p->setGenerateAppearances( true ); // have iText create field appearances
-						if( fdf_reader_p && fields_p->setFields( fdf_reader_p ) ||
-								xfdf_reader_p && fields_p->setFields( xfdf_reader_p ) )
+						if( fdf_reader_p ) 
+							fields_p->setFields( fdf_reader_p );
+						if(	xfdf_reader_p )
+							fields_p->setFields( xfdf_reader_p );
+
 							{ // Rich Text input found
 
 								// set the PDF so that Acrobat will create appearances;
@@ -2486,16 +2501,16 @@
 							doc_page_size_p= doc_page_size_p->rotate();
 						}
 
-						jfloat h_scale= doc_page_size_p->width() / mark_page_size_p->width();
-						jfloat v_scale= doc_page_size_p->height() / mark_page_size_p->height();
+						jfloat h_scale= doc_page_size_p->getWidth() / mark_page_size_p->getWidth();
+						jfloat v_scale= doc_page_size_p->getHeight() / mark_page_size_p->getHeight();
 						jfloat mark_scale= (h_scale< v_scale) ? h_scale : v_scale;
 
-						jfloat h_trans= (jfloat)(doc_page_size_p->left()- mark_page_size_p->left()* mark_scale +
-																		 (doc_page_size_p->width()- 
-																			mark_page_size_p->width()* mark_scale) / 2.0);
-						jfloat v_trans= (jfloat)(doc_page_size_p->bottom()- mark_page_size_p->bottom()* mark_scale +
-																		 (doc_page_size_p->height()- 
-																			mark_page_size_p->height()* mark_scale) / 2.0);
+						jfloat h_trans= (jfloat)(doc_page_size_p->getLeft()- mark_page_size_p->getLeft()* mark_scale +
+																		 (doc_page_size_p->getWidth()- 
+																			mark_page_size_p->getWidth()* mark_scale) / 2.0);
+						jfloat v_trans= (jfloat)(doc_page_size_p->getBottom()- mark_page_size_p->getBottom()* mark_scale +
+																		 (doc_page_size_p->getHeight()- 
+																			mark_page_size_p->getHeight()* mark_scale) / 2.0);
           
 						com::lowagie::text::pdf::PdfContentByte* content_byte_p= 
 							( background_b ) ? writer_p->getUnderContent( ii ) : writer_p->getOverContent( ii );
@@ -2512,20 +2527,20 @@
 																					 0, -1* mark_scale,
 																					 mark_scale, 0,
 																					 h_trans, 
-																					 v_trans+ mark_page_size_p->height()* mark_scale );
+																					 v_trans+ mark_page_size_p->getHeight()* mark_scale );
 						}
 						else if( mark_page_rotation== 180 ) {
 							content_byte_p->addTemplate( mark_page_p, 
 																					 -1* mark_scale, 0,
 																					 0, -1* mark_scale,
-																					 h_trans+ mark_page_size_p->width()* mark_scale, 
-																					 v_trans+ mark_page_size_p->height()* mark_scale );
+																					 h_trans+ mark_page_size_p->getWidth()* mark_scale, 
+																					 v_trans+ mark_page_size_p->getHeight()* mark_scale );
 						}
 						else if( mark_page_rotation== 270 ) {
 							content_byte_p->addTemplate( mark_page_p, 
 																					 0, mark_scale,
 																					 -1* mark_scale, 0,
-																					 h_trans+ mark_page_size_p->width()* mark_scale, v_trans );
+																					 h_trans+ mark_page_size_p->getWidth()* mark_scale, v_trans );
 						}
 					}
 				}
@@ -2537,7 +2552,7 @@
 				}
 
 				// done; write output
-				writer_p->close();
+				writer_p->close(NULL);
 			}
 			break;
 
@@ -2663,15 +2678,15 @@
 			JvCreateJavaVM(NULL);
 			JvAttachCurrentThread(NULL, NULL);
 
-			JvInitClass(&java::System::class$);
-			JvInitClass(&java::util::ArrayList::class$);
-			JvInitClass(&java::util::Iterator::class$);
-
-			JvInitClass(&itext::PdfObject::class$);
-			JvInitClass(&itext::PdfName::class$);
-			JvInitClass(&itext::PdfDictionary::class$);
-			JvInitClass(&itext::PdfOutline::class$);
-			JvInitClass(&itext::PdfBoolean::class$);
+// 			JvInitClass(&java::System::class$);
+// 			JvInitClass(&java::util::ArrayList::class$);
+// 			JvInitClass(&java::util::Iterator::class$);
+
+// 			JvInitClass(&itext::PdfObject::class$);
+// 			JvInitClass(&itext::PdfName::class$);
+// 			JvInitClass(&itext::PdfDictionary::class$);
+// 			JvInitClass(&itext::PdfOutline::class$);
+// 			JvInitClass(&itext::PdfBoolean::class$);
 
 			TK_Session tk_session( argc, argv );
 
diff -r -u /tmp/pdftk-1.41/pdftk/report.cc ./pdftk/report.cc
--- /tmp/pdftk-1.41/pdftk/report.cc	2006-09-06 00:49:32.000000000 +0100
+++ ./pdftk/report.cc	2009-02-12 15:42:56.000000000 +0000
@@ -50,8 +50,13 @@
 
 #include "com/lowagie/text/Document.h"
 #include "com/lowagie/text/Rectangle.h"
+#undef NULL
+
+// Ewww, PdfName has a field called NULL.
 #include "com/lowagie/text/pdf/PdfObject.h"
 #include "com/lowagie/text/pdf/PdfName.h"
+#define NULL __null
+
 #include "com/lowagie/text/pdf/PdfString.h"
 #include "com/lowagie/text/pdf/PdfNumber.h"
 #include "com/lowagie/text/pdf/PdfArray.h"
@@ -1315,11 +1320,12 @@
 				if( xmp_str_p ) {
 					xmp_str_p->put( itext::PdfName::TYPE, itext::PdfName::METADATA );
 					xmp_str_p->put( itext::PdfName::SUBTYPE, itext::PdfName::XML );
-			
-					itext::PdfIndirectReference* xmp_str_ref_p=
-						(itext::PdfIndirectReference*)reader_p->getPRIndirectReference( xmp_str_p );
 
-					catalog_p->put( itext::PdfName::METADATA, xmp_str_ref_p );
+//				FIXME: PdfReader.getPRIndirectReference is absent from itext-2.1.4
+// 					itext::PdfIndirectReference* xmp_str_ref_p=
+// 						(itext::PdfIndirectReference*)reader_p->getPRIndirectReference( xmp_str_p );
+
+// 					catalog_p->put( itext::PdfName::METADATA, xmp_str_ref_p );
 				}
 				else {
 					ret_val_b= false;


Index: pdftk.spec
===================================================================
RCS file: pdftk.spec
diff -N pdftk.spec
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pdftk.spec	10 Mar 2009 21:15:47 -0000	1.14
@@ -0,0 +1,150 @@
+%define itextvers 2.1.5
+
+Summary:        The PDF Tool Kit
+Name:           pdftk
+Version:        1.41
+Release:        13%{?dist}
+License:        GPLv2+
+URL:            http://www.pdfhacks.com/pdftk/
+# Remove java-lib/com because it's contains licensing issue
+Source0:        http://www.pdfhacks.com/pdftk/%{name}-%{version}-noitext.tar.bz2
+Patch0:         pdftk-use-internal-itext.patch
+Patch1:         pdftk-1.41-make.patch
+Patch2:         pdftk-1.41-gcc44.patch
+Group:          Applications/Publishing
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires:  gcc-java
+BuildRequires:  libgcj-devel
+BuildRequires:  java-devel >= 1:1.6.0
+
+# Requires itext-2.1.4-3
+BuildRequires:  itext >= %{itextvers}
+
+%description
+If PDF is electronic paper, then pdftk is an electronic staple-remover,
+hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple
+tool for doing everyday things with PDF documents. Keep one in the top drawer
+of your desktop and use it to:
+
+   * Merge PDF Documents
+   * Split PDF Pages into a New Document
+   * Decrypt Input as Necessary (Password Required)
+   * Encrypt Output as Desired
+   * Burst a PDF Document into Single Pages
+   * Report on PDF Metrics, including Metadata and Bookmarks
+   * Uncompress and Re-Compress Page Streams
+   * Repair Corrupted PDF (Where Possible)
+
+Pdftk is also an example of how to use a library of Java classes in a
+stand-alone C++ program. Specifically, it demonstrates how GCJ and CNI allow
+C++ code to use iText's (itext-paulo) Java classes.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+rm -rf java_libs
+
+%build
+# Requires as a workaround for gcc BZ #39380
+export CFLAGS="${RPM_OPT_FLAGS} -O0"
+jar tf %{_javadir}/itext-%{itextvers}.jar | grep '\.class$' | sed 's/\.class//' | sed 's|/|\.|g' > classes
+    gjavah -d java_libs -cni -classpath=%{_javadir}/itext-%{itextvers}.jar \
+       `cat classes`
+    cd pdftk
+    make -f Makefile.RedHat LIBDIR=%{_libdir} %{?_smp_mflags} ITEXTVERS="%{itextvers}" 
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/%{_bindir}
+mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1
+install -m 0755 pdftk/pdftk $RPM_BUILD_ROOT/%{_bindir}/pdftk
+install -m 0644 debian/pdftk.1 $RPM_BUILD_ROOT/%{_mandir}/man1/pdftk.1
+# Fix the weird dependency, e.g.
+# /usr/lib64/gcj/itext/itext-x.y.z.jar.so()(64bit)  to
+# /usr/lib64/gcj/itext/itext-x.y.z.jar.so
+%define _use_internal_dependency_generator 0
+cat << \EOF > %{name}.req
+#!%{_buildshell}
+grep -v %{_docdir} - | %{__find_requires} $* \
+     | sed 's@\(itext-[0-9.]*\.jar\.so\)\(()(64bit)\)\?@\1@'
+EOF
+
+%define __find_requires %{_builddir}/%{name}-%{version}/%{name}.req
+chmod +x %{__find_requires}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc pdftk.1.html pdftk.1.txt
+%{_bindir}/*
+%{_mandir}/man1/*
+
+%changelog
+* Tue Mar 10 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-13
+- Move to iText-2.1.5
+
+* Thu Mar  5 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-12
+- Make sure, the -O0 will be used by the Makefile
+
+* Thu Mar  5 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-11
+- substitute %%{_datadir}/java into %%{_javadir} in build stanza
+
+* Thu Mar  5 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-10
+- Use -O0 as a workaround for a gcc bug
+
+* Sun Mar  1 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-9
+- Remove license text
+- Fix Dependencies
+- fix Tab/Space
+
+* Thu Feb 19 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-8
+- Add BR and Req. to itext-2.1.4-3
+
+* Sun Feb 15 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-7
+- Build pdftk agains system iText library
+
+* Sun Jan 25 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-6
+- Fix license tag
+
+* Wed Apr 11 2007 Thomas Fitzsimmons <fitzsim at redhat.com> 1.41-5
+- Build against system libgcj.
+- Patch build for new gcjh.
+- Resolves: rhbz#233682 rhbz#233489 rhbz#233514
+
+* Wed Feb 28 2007 Jochen Schmitt <Jochen herr-schmitt de> 1.41-4
+- Rebuild to solve broken deps
+
+* Mon Feb 26 2007 Jochen Schmitt <s4504kr at zeus.herr-schmitt.de> 1.41-3
+- Use $$RPM_OPT_FLAGS (#228945)
+
+* Wed Nov 29 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.41-2
+- New upstream release
+
+* Sun Sep  3 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.12-8
+- Rebuild for FC-6
+
+* Mon Jul 31 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.12-7
+- Rebuild
+
+* Sun Feb 12 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.12-6
+- Rebuild for FC5
+
+* Thu Dec 15 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-5
+- Rebuild
+- Remove strange '//SID' comment.
+
+* Sun Jul 31 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-3
+- Add literal GPL text as Source1
+
+* Wed Jul 27 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-2
+- Don't compress man page
+- Remove pdftk.1.notes
+- Add COPYRIGHT from debian/copyright
+
+* Tue Jul 26 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-1
+- Initial RPM release


Index: sources
===================================================================
RCS file: sources
diff -N sources
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sources	10 Mar 2009 21:15:47 -0000	1.5
@@ -0,0 +1 @@
+5da5c9387bdcc683eecdc54ea358c2e7  pdftk-1.41-noitext.tar.bz2


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/pdftk/devel/.cvsignore,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- .cvsignore	29 Nov 2006 21:39:30 -0000	1.3
+++ .cvsignore	10 Mar 2009 21:15:46 -0000	1.4
@@ -1 +1 @@
-pdftk-1.41.tar.bz2
+pdftk-1.41-noitext.tar.bz2


--- dead.package DELETED ---




More information about the fedora-extras-commits mailing list