diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6128dda --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/LICENSE-1.1.txt +/event-model.tgz +/fop-[0-9]*.[0-9]*-src.tar.gz +/fop-[0-9]*.[0-9]*-src.tar.gz.asc +/fop-[0-9]*.[0-9]*.pom diff --git a/0001-Main.patch b/0001-Main.patch new file mode 100644 index 0000000..5daaa4d --- /dev/null +++ b/0001-Main.patch @@ -0,0 +1,22 @@ +From: Michael Simacek +Date: Tue, 14 Jul 2015 16:54:43 +0200 +Subject: [PATCH] Main + + +diff --git a/fop-core/src/main/java/org/apache/fop/cli/Main.java b/fop-core/src/main/java/org/apache/fop/cli/Main.java +index a14d20c78..ef11c0839 100644 +--- a/fop-core/src/main/java/org/apache/fop/cli/Main.java ++++ b/fop-core/src/main/java/org/apache/fop/cli/Main.java +@@ -215,11 +215,7 @@ public final class Main { + * @param args the command line parameters + */ + public static void main(String[] args) { +- if (checkDependencies()) { +- startFOP(args); +- } else { +- startFOPWithDynamicClasspath(args); +- } ++ startFOP(args); + } + + /** diff --git a/0002-Use-sRGB.icc-color-profile-from-colord-package.patch b/0002-Use-sRGB.icc-color-profile-from-colord-package.patch new file mode 100644 index 0000000..fa3157b --- /dev/null +++ b/0002-Use-sRGB.icc-color-profile-from-colord-package.patch @@ -0,0 +1,33 @@ +From: Michael Simacek +Date: Tue, 14 Jul 2015 16:56:49 +0200 +Subject: [PATCH] Use sRGB.icc color profile from colord package + + +diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java +index 704898def..1ce14cb4e 100644 +--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java ++++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java +@@ -22,7 +22,9 @@ package org.apache.fop.pdf; + import java.awt.color.ColorSpace; + import java.awt.color.ICC_Profile; + import java.io.IOException; ++import java.io.FileNotFoundException; + import java.io.InputStream; ++import java.io.FileInputStream; + import java.util.Set; + + import org.apache.commons.io.IOUtils; +@@ -138,7 +140,12 @@ public class PDFICCBasedColorSpace extends PDFObject implements PDFColorSpace { + public static PDFICCStream setupsRGBColorProfile(PDFDocument pdfDoc) { + ICC_Profile profile; + PDFICCStream sRGBProfile = pdfDoc.getFactory().makePDFICCStream(); +- InputStream in = PDFDocument.class.getResourceAsStream("sRGB.icc"); ++ InputStream in; ++ try { ++ in = new FileInputStream("/usr/share/color/icc/colord/sRGB.icc"); ++ } catch (FileNotFoundException e) { ++ in = null; ++ } + if (in != null) { + try { + profile = ColorProfileUtil.getICC_Profile(in); diff --git a/0003-Port-to-QDox-2.0.patch b/0003-Port-to-QDox-2.0.patch new file mode 100644 index 0000000..1269980 --- /dev/null +++ b/0003-Port-to-QDox-2.0.patch @@ -0,0 +1,145 @@ +From: Michael Simacek +Date: Tue, 17 Mar 2015 10:59:41 +0100 +Subject: [PATCH] Port to QDox 2.0 + + +diff --git a/fop-events/src/main/java/org/apache/fop/eventtools/EventProducerCollector.java b/fop-events/src/main/java/org/apache/fop/eventtools/EventProducerCollector.java +index 2351fc870..64cd7edf0 100644 +--- a/fop-events/src/main/java/org/apache/fop/eventtools/EventProducerCollector.java ++++ b/fop-events/src/main/java/org/apache/fop/eventtools/EventProducerCollector.java +@@ -21,6 +21,7 @@ package org.apache.fop.tools; + + import java.io.File; + import java.io.IOException; ++import java.util.Collection; + import java.util.Collections; + import java.util.List; + import java.util.Map; +@@ -31,14 +32,11 @@ import org.apache.fop.events.model.EventModel; + import org.apache.fop.events.model.EventProducerModel; + import org.apache.fop.events.model.EventSeverity; + +-import com.thoughtworks.qdox.JavaDocBuilder; +-import com.thoughtworks.qdox.model.DefaultDocletTagFactory; ++import com.thoughtworks.qdox.JavaProjectBuilder; + import com.thoughtworks.qdox.model.DocletTag; +-import com.thoughtworks.qdox.model.DocletTagFactory; + import com.thoughtworks.qdox.model.JavaClass; + import com.thoughtworks.qdox.model.JavaMethod; + import com.thoughtworks.qdox.model.JavaParameter; +-import com.thoughtworks.qdox.model.Type; + + /** + * Finds EventProducer interfaces and builds the event model for them. +@@ -61,22 +59,12 @@ class EventProducerCollector { + PRIMITIVE_MAP = Collections.unmodifiableMap(m); + } + +- private DocletTagFactory tagFactory; + private List models = new java.util.ArrayList(); + + /** + * Creates a new EventProducerCollector. + */ + EventProducerCollector() { +- this.tagFactory = createDocletTagFactory(); +- } +- +- /** +- * Creates the {@link DocletTagFactory} to be used by the collector. +- * @return the doclet tag factory +- */ +- protected DocletTagFactory createDocletTagFactory() { +- return new DefaultDocletTagFactory(); + } + + /** +@@ -89,9 +77,9 @@ class EventProducerCollector { + */ + public boolean scanFile(File src) + throws IOException, EventConventionException, ClassNotFoundException { +- JavaDocBuilder builder = new JavaDocBuilder(this.tagFactory); ++ JavaProjectBuilder builder = new JavaProjectBuilder(); + builder.addSource(src); +- JavaClass[] classes = builder.getClasses(); ++ Collection classes = builder.getClasses(); + boolean eventProducerFound = false; + for (JavaClass clazz : classes) { + if (clazz.isInterface() && implementsInterface(clazz, CLASSNAME_EVENT_PRODUCER)) { +@@ -103,7 +91,7 @@ class EventProducerCollector { + } + + private boolean implementsInterface(JavaClass clazz, String intf) { +- JavaClass[] classes = clazz.getImplementedInterfaces(); ++ List classes = clazz.getInterfaces(); + for (JavaClass cl : classes) { + if (cl.getFullyQualifiedName().equals(intf)) { + return true; +@@ -121,7 +109,7 @@ class EventProducerCollector { + protected void processEventProducerInterface(JavaClass clazz) + throws EventConventionException, ClassNotFoundException { + EventProducerModel prodMeta = new EventProducerModel(clazz.getFullyQualifiedName()); +- JavaMethod[] methods = clazz.getMethods(true); ++ List methods = clazz.getMethods(true); + for (JavaMethod method : methods) { + EventMethodModel methodMeta = createMethodModel(method); + prodMeta.addMethod(methodMeta); +@@ -133,20 +121,20 @@ class EventProducerCollector { + + private EventMethodModel createMethodModel(JavaMethod method) + throws EventConventionException, ClassNotFoundException { +- JavaClass clazz = method.getParentClass(); ++ JavaClass clazz = method.getDeclaringClass(); + //Check EventProducer conventions +- if (!method.getReturnType().isVoid()) { ++ if (!method.getReturns().isVoid()) { + throw new EventConventionException("All methods of interface " + + clazz.getFullyQualifiedName() + " must have return type 'void'!"); + } + String methodSig = clazz.getFullyQualifiedName() + "." + method.getCallSignature(); +- JavaParameter[] params = method.getParameters(); +- if (params.length < 1) { ++ List params = method.getParameters(); ++ if (params.size() < 1) { + throw new EventConventionException("The method " + methodSig + + " must have at least one parameter: 'Object source'!"); + } +- Type firstType = params[0].getType(); +- if (firstType.isPrimitive() || !"source".equals(params[0].getName())) { ++ JavaClass firstType = params.get(0).getJavaClass(); ++ if (firstType.isPrimitive() || !"source".equals(params.get(0).getName())) { + throw new EventConventionException("The first parameter of the method " + methodSig + + " must be: 'Object source'!"); + } +@@ -161,12 +149,12 @@ class EventProducerCollector { + } + EventMethodModel methodMeta = new EventMethodModel( + method.getName(), severity); +- if (params.length > 1) { +- for (int j = 1, cj = params.length; j < cj; j++) { +- JavaParameter p = params[j]; ++ if (params.size() > 1) { ++ for (int j = 1, cj = params.size(); j < cj; j++) { ++ JavaParameter p = params.get(j); + Class type; +- JavaClass pClass = p.getType().getJavaClass(); +- if (p.getType().isPrimitive()) { ++ JavaClass pClass = p.getJavaClass(); ++ if (pClass.isPrimitive()) { + type = PRIMITIVE_MAP.get(pClass.getName()); + if (type == null) { + throw new UnsupportedOperationException( +@@ -179,10 +167,10 @@ class EventProducerCollector { + methodMeta.addParameter(type, p.getName()); + } + } +- Type[] exceptions = method.getExceptions(); +- if (exceptions != null && exceptions.length > 0) { ++ List exceptions = method.getExceptions(); ++ if (exceptions != null && exceptions.size() > 0) { + //We only use the first declared exception because that is always thrown +- JavaClass cl = exceptions[0].getJavaClass(); ++ JavaClass cl = exceptions.get(0); + methodMeta.setExceptionClass(cl.getFullyQualifiedName()); + methodMeta.setSeverity(EventSeverity.FATAL); //In case it's not set in the comments + } diff --git a/0004-jdk25.patch b/0004-jdk25.patch new file mode 100644 index 0000000..ab57880 --- /dev/null +++ b/0004-jdk25.patch @@ -0,0 +1,23 @@ +--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFOutputIntent.java ++++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFOutputIntent.java +@@ -165,7 +165,7 @@ + } + + bout.write(encode(">>")); +- } catch (IOException ioe) { ++ } catch (Exception ioe) { + log.error("Ignored I/O exception", ioe); + } + byte[] bytes = bout.toByteArray(); +--- a/fop-core/src/main/java/org/apache/fop/render/pdf/AbstractImageAdapter.java ++++ b/fop-core/src/main/java/org/apache/fop/render/pdf/AbstractImageAdapter.java +@@ -263,7 +263,7 @@ + indexed.add(new PDFName("DeviceGray")); + try { + baout.write(blues); +- } catch (IOException e) { ++ } catch (Exception e) { + e.printStackTrace(); + } + } else { + diff --git a/5C9A30FF22B2C02F30261C305B93F1DF7CDB6DEA.gpg b/5C9A30FF22B2C02F30261C305B93F1DF7CDB6DEA.gpg new file mode 100644 index 0000000..7b805fc Binary files /dev/null and b/5C9A30FF22B2C02F30261C305B93F1DF7CDB6DEA.gpg differ diff --git a/Makefile b/Makefile deleted file mode 100644 index d014010..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: fop -# $Id$ -NAME := fop -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) diff --git a/batik-pdf-MANIFEST.MF b/batik-pdf-MANIFEST.MF new file mode 100644 index 0000000..f1ce8c1 --- /dev/null +++ b/batik-pdf-MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Main-Class: org.apache.fop.cli.Main +Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-SymbolicName: org.apache.batik.pdf +Import-Package: org.apache.batik.bridge,org.apache.batik.dom.svg,org.a + pache.batik.dom.util,org.apache.batik.ext.awt,org.apache.batik.ext.aw + t.g2d,org.apache.batik.gvt,org.apache.batik.gvt.renderer,org.apache.b + atik.gvt.text,org.apache.batik.transcoder,org.apache.batik.transcoder + .image,org.apache.batik.transcoder.keys,org.apache.batik.util,org.w3c + .dom +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-Localization: plugin +Bundle-Version: 1.6.0.v200806031500 +Bundle-Vendor: %Bundle-Vendor +Export-Package: org.apache.fop.apps,org.apache.fop.fo,org.apache.fop.f + onts,org.apache.fop.fonts.apps,org.apache.fop.fonts.base14,org.apache + .fop.fonts.truetype,org.apache.fop.fonts.type1,org.apache.fop.image,o + rg.apache.fop.image.analyser,org.apache.fop.pdf,org.apache.fop.render + .pdf,org.apache.fop.render.ps,org.apache.fop.svg,org.apache.fop.util diff --git a/changelog b/changelog new file mode 100644 index 0000000..c405ce0 --- /dev/null +++ b/changelog @@ -0,0 +1,329 @@ +* Wed Jul 19 2023 Fedora Release Engineering - 2.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Feb 27 2023 Tim Orling - 2.8-4 +- migrated to SPDX license + +* Thu Jan 19 2023 Fedora Release Engineering - 2.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Nov 16 2022 Peter Lemenkov - 2.8-2 +- Build from cleaned up tarball + +* Wed Nov 16 2022 Peter Lemenkov - 2.8-1 +- Update to 2.8 + +* Thu Jul 21 2022 Fedora Release Engineering - 2.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 08 2022 Jiri Vanek - 2.7-3 +- Rebuilt for Drop i686 JDKs + +* Sat Feb 05 2022 Jiri Vanek - 2.7-2 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 27 2022 Peter Lemenkov - 2.7-1 +- Update to 2.7 + +* Thu Jan 20 2022 Fedora Release Engineering - 2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 06 2021 Mat Booth - 2.6-3 +- Remove unnecessary BR on servlet + +* Thu Aug 26 2021 Peter Lemenkov - 2.6-2 +- Restore two patches + +* Wed Aug 25 2021 Orion Poplawski - 2.6-1 +- Update to 2.6, build with maven + +* Wed Jul 21 2021 Fedora Release Engineering - 2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 23 2020 Peter Lemenkov - 2.5-1 +- Ver. 2.5 + +* Sat Aug 01 2020 Fedora Release Engineering - 2.4-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 2.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 2.4-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Fri Feb 21 2020 Peter Lemenkov - 2.4-1 +- Ver. 2.4 +- No nonger requires avalon framework + +* Tue Jan 28 2020 Fedora Release Engineering - 2.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Aug 31 2018 Severin Gehwolf - 2.2-3 +- Add explicit javapackages-tools requirement since fop script + uses java-functions. See RHBZ#1600426. + +* Fri Jul 13 2018 Fedora Release Engineering - 2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu May 17 2018 Peter Lemenkov - 2.2-1 +- Ver. 2.2 + +* Wed Feb 07 2018 Fedora Release Engineering - 2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Sep 25 2017 Mikolaj Izdebski - 2.0-8 +- Elimitate race condition when injecting JAR manifest +- Resolves: rhbz#1495235 + +* Tue Sep 12 2017 Mikolaj Izdebski - 2.0-7 +- Add fontbox to classpath +- Resolves: rhbz#1413340 + +* Wed Jul 26 2017 Fedora Release Engineering - 2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 01 2017 Michael Simacek - 2.0-4 +- Fix FTBFS + +* Wed Feb 03 2016 Fedora Release Engineering - 2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Aug 07 2015 Michael Simacek - 2.0-2 +- Add fix for FOP-2461 (rhbz#1251173) + +* Tue Jul 14 2015 Michael Simacek - 2.0-1 +- Update to upstream version 2.0 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu May 14 2015 Mikolaj Izdebski - 1.1-10 +- Disable javadoc doclint + +* Tue Mar 17 2015 Michael Simacek - 1.1-9 +- Port to current QDox and xmlgraphics-commons + +* Mon Jun 16 2014 Michal Srb - 1.1-8 +- Fix FTBFS + +* Sat Jun 07 2014 Fedora Release Engineering - 1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Jan 2 2014 Richard Hughes 1.1-6 +- Drop the icc-profiles-openicc requirement and switch to using the colord sRGB + profile filename. +- Resolves: #1042655 + +* Thu Nov 7 2013 Krzysztof Daniel 1.1-5 +- Fix the OSGi manifest. + +* Wed Sep 18 2013 Michal Srb - 1.1-4 +- Fix license tag (Resolves: rhbz#979394) +- Add ASL 1.1 license text + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jun 21 2013 Michal Srb - 1.1-2 +- Build from clean tarball +- Spec file clean up + +* Fri Apr 12 2013 Michal Srb - 1.1-1 +- Update to upstream version 1.1 +- Replace proprietary color profile with free CP from icc-profiles-openicc package +- Resolves: rhbz#848659 + +* Wed Feb 13 2013 Fedora Release Engineering - 1.0-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Nov 18 2012 Mikolaj Izdebski - 1.0-20 +- Add xml-commons-apis-ext to classpath + +* Thu Jul 19 2012 Fedora Release Engineering - 1.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Jun 21 2011 Rüdiger Landmann 1.0-16 +- Supply missing event-model.xml files + +* Fri Jun 3 2011 Rüdiger Landmann 1.0-15 +- Split avalon-framework into avalon-framework-api and avalon-framework-impl in classpath + +* Thu Mar 10 2011 Alexander Kurtakov 1.0-14 +- Reapply Fedora guidelines. +- Re-add pom.xml to unbreak Maven stack. +- Re-add OSGi manifest to unbreak Eclipse stack. +- Remove all bundled jars and classes and fix the build to work with our libs. + +* Thu Mar 10 2011 Rüdiger Landmann 1.0-13 +- reinstate updated manifest patch +- change define to global + +* Thu Mar 10 2011 Rüdiger Landmann 1.0-12 +- buildarch: noarch + +* Thu Mar 10 2011 Rüdiger Landmann 1.0-11 +- drop obsolete manifest patch + +* Thu Mar 10 2011 Rüdiger Landmann 1.0-10 +- import 1.0 into Fedora, based on Mandriva package + +* Tue Feb 08 2011 Fedora Release Engineering - 1.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 4 2011 Rüdiger Landmann - 1.0-8 +- BR qdox + +* Tue Jan 4 2011 Rüdiger Landmann - 1.0-7 +- set BR on xmlgraphics-commons >= 1.4 +- Add qdox classpath + +* Thu Dec 09 2010 Paulo Ricardo Zanoni 1.0-0.0.3mdv2011.0 +- Revision: 617684 +- Resubmit after moving + +* Fri Dec 3 2010 Stanislav Ochotnicky - 1.0-6 +- Add LICENSE to javadoc sub-package +- Few other tweaks according to new guidelines +- Make jars and javadoc versionless +- Add pom file (Resolves rhbz#655804) + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-5 +- We need servlet not jsp. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-4 +- BR jsp. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-3 +- Add more BRs. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-2 +- BR ant-nodeps. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-1 +- Update to 1.0. +- BR/R java 1.6.0 not openjdk (rhbz#620330). +- Remove jars in prep. + +* Sat Sep 04 2010 Tomasz Pawel Gajc 1.0-0.0.2mdv2011.0 +- Revision: 576002 +- rebuild for new xmlgraphics-commons + +* Sun Aug 29 2010 Tomasz Pawel Gajc 1.0-0.0.1mdv2011.0 +- Revision: 574030 +- update to new version 1.0 +- disable patch 1 +- disable gcj support + +* Thu Apr 29 2010 Tomasz Pawel Gajc 0.95-0.0.3mdv2010.1 +- Revision: 540954 +- rebuild + +* Fri Sep 11 2009 Thierry Vignaud 0.95-0.0.2mdv2010.0 +- Revision: 437573 +- rebuild + +* Wed Dec 17 2008 Tomasz Pawel Gajc 0.95-0.0.1mdv2009.1 +- Revision: 315376 +- update to new version 0.95 +- drop patch0, not needed anymore +- spec file clean +- drop useles buildrequires +- use %%java_home + +* Sat Dec 29 2007 David Walluck 0.94-0.2.1mdv2008.1 +- Revision: 139372 +- spec cleanup +- import fop + + +* Fri Dec 7 2007 Lillian Angel - 0.94-2 +- Updated Release. + +* Thu Dec 6 2007 Lillian Angel - 0.94-1 +- Removed ppc/64 conditions since IcedTea is now available for ppc/64. + +* Tue Nov 27 2007 Lillian Angel - 0.94-1 +- Fixed to build with gcj on ppc/64. + +* Fri Nov 23 2007 Lillian Angel - 0.94-1 +- Fixed rpmlint errors. + +* Tue Sep 18 2007 Joshua Sumali - 0:0.94-1 +- Update to fop 0.94 + +* Thu Mar 30 2006 Ralph Apel - 0:0.20.5-9jpp +- First build for JPP-1.7 +- Replace avalon-framework, avalon-logkit with their new excalibur-* + counterparts +- Drop non-free jimi and jai BRs + +* Tue Oct 11 2005 Ralph Apel - 0:0.20.5-8jpp +- Patch to Batik >= 1.5.1 + +* Fri Oct 07 2005 Ralph Apel - 0:0.20.5-7jpp +- Omit ant -d flag + +* Mon Aug 23 2004 Ralph Apel - 0:0.20.5-6jpp +- Build with ant-1.6.2 + +* Fri Aug 06 2004 Ralph Apel - 0:0.20.5-5jpp +- Void change + +* Tue Jun 01 2004 Randy Watler - 0:0.20.5-4jpp +- Upgrade to Ant 1.6.X + +* Thu Jan 8 2004 Ville Skyttä - 0:0.20.5-3jpp +- BuildRequires ant-optional. +- Crosslink with full J2SE javadocs instead of just JAXP/XML-commons. +- Add Main-Class back to manifest. + +* Tue Sep 23 2003 Paul Nasrat - 0:0.20.5-2jpp +- Fix script and requires +- Remove class path in manifest +- New javadoc style + +* Sat Jul 19 2003 Ville Skyttä - 0:0.20.5-1jpp +- Update to 0.20.5. +- Crosslink with xml-commons-apis and batik javadocs. +- BuildRequires jai, jce and jimi. + +* Sat Jun 7 2003 Ville Skyttä - 0:0.20.5-0.rc3a.1jpp +- Update to 0.20.5rc3a. +- Include fop script. +- Non-versioned javadoc symlinks. + +* Thu Apr 17 2003 Ville Skyttä - 0:0.20.5-0.rc2.1jpp +- Update to 0.20.5rc2 and JPackage 1.5. + +* Sun Mar 10 2002 Guillaume Rousse 0.20.3-1jpp +- 0.20.3 final +- fixed missing symlink + +* Mon Jan 21 2002 Guillaume Rousse 0.20.3-0.rc.1jpp +- 0.20.3rc +- first unified release +- javadoc into javadoc package +- no dependencies for manual package +- s/jPackage/JPackage +- adaptation to new xalan-j2 package +- requires and buildrequires avalon-logkit + +* Thu Aug 30 2001 Guillaume Rousse 0.20.1-1mdk +- first release diff --git a/clean-tarball.sh b/clean-tarball.sh new file mode 100755 index 0000000..12fae99 --- /dev/null +++ b/clean-tarball.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +if [ $# -ne 1 ]; then + echo "Usage: ./clean-tarball VERSION" + exit 1 +fi + +VERSION=${1} +NAME="fop" + +wget http://archive.apache.org/dist/xmlgraphics/fop/source/${NAME}-${VERSION}-src.tar.gz +tar xvf ${NAME}-${VERSION}-src.tar.gz + +( + cd ${NAME}-${VERSION} + find ./ -name "*.jar" -delete + find ./ -name "*.pdf" -delete + # serialized objects + find ./${NAME}-${VERSION}/ -name "*.ser" -delete + # examples, tests, ... + rm -Rf lib/ examples/ test/ hyph/ + rm -Rf src/documentation/ + mkdir -p lib/build/ +) + +tar czvf ${NAME}-${VERSION}-clean.tar.gz ${NAME}-${VERSION} +rm -Rf ${NAME}-${VERSION}.tar.gz diff --git a/fop.script b/fop.script new file mode 100644 index 0000000..902d643 --- /dev/null +++ b/fop.script @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Fop script +# JPackage Project + +# Source functions library +if [ -f /usr/share/java-utils/java-functions ] ; then + . /usr/share/java-utils/java-functions +else + echo "Can't find functions library, aborting" + exit 1 +fi + +# Source system prefs +if [ -f /etc/fop.conf ] ; then + . /etc/fop.conf +fi + +# Source user prefs +if [ -f $HOME/.foprc ] ; then + . $HOME/.foprc +fi + +# Configuration +MAIN_CLASS=org.apache.fop.cli.Main +# Set parameters +set_jvm +set_classpath commons-io batik-all \ + xmlgraphics-commons xml-commons-apis-ext \ + commons-logging fontbox fop +set_flags $BASE_FLAGS +set_options $BASE_OPTIONS + +# Let's start +run "$@" diff --git a/fop.spec b/fop.spec new file mode 100644 index 0000000..e28f696 --- /dev/null +++ b/fop.spec @@ -0,0 +1,137 @@ +Name: fop +Summary: XSL-driven print formatter +Version: 2.11 +Release: %autorelease +# ASL 1.1: +# several files in fop-core/src/main/resources/org/apache/fop/render/awt/viewer/resources +# * Viewer_cs.properties +# * Viewer_fi.properties +# * Viewer_ja.properties +# * Viewer_pl.properties +# * Viewer_ru.properties +# * Viewer_tr.properties +# rest is ASL 2.0 +License: Apache-2.0 AND Apache-1.1 +URL: https://xmlgraphics.apache.org/fop +Source0: https://www.apache.org/dist/xmlgraphics/%{name}/source/%{name}-%{version}-src.tar.gz +Source1: https://www.apache.org/dist/xmlgraphics/%{name}/source/%{name}-%{version}-src.tar.gz.asc +Source2: %{name}.script +Source3: batik-pdf-MANIFEST.MF +Source4: https://www.apache.org/licenses/LICENSE-1.1.txt +Source5: 5C9A30FF22B2C02F30261C305B93F1DF7CDB6DEA.gpg +Patch1: 0001-Main.patch +Patch2: 0002-Use-sRGB.icc-color-profile-from-colord-package.patch +Patch3: 0003-Port-to-QDox-2.0.patch +Patch4: 0004-jdk25.patch + +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +Requires: java-25 +Requires: xalan-j2 >= 2.7.0 +Requires: xml-commons-apis >= 1.3.04 +BuildRequires: bouncycastle-pkix +# Explicit requires for javapackages-tools since fop script +# uses /usr/share/java-utils/java-functions +Requires: javapackages-tools + +BuildRequires: apache-commons-io +BuildRequires: apache-commons-logging +BuildRequires: batik +BuildRequires: fontbox +BuildRequires: gnupg2 +BuildRequires: javapackages-local-openjdk25 +BuildRequires: junit +BuildRequires: maven-antrun-plugin +BuildRequires: maven-assembly-plugin +BuildRequires: maven-clean-plugin +BuildRequires: maven-local-openjdk25 +BuildRequires: build-helper-maven-plugin +BuildRequires: mvn(javax.servlet:servlet-api) +BuildRequires: bouncycastle-pkix +# For servlet, not packaged +#BuildRequires: maven-war-plugin +BuildRequires: pdfbox +BuildRequires: qdox +BuildRequires: xml-maven-plugin +BuildRequires: xmlgraphics-commons >= 2.8 +BuildRequires: xmlunit +BuildRequires: xmlunit-assertj +BuildRequires: xmlunit-core + +%description +FOP is the world's first print formatter driven by XSL formatting +objects. It is a Java application that reads a formatting object tree +and then turns it into a PDF document. The formatting object tree, can +be in the form of an XML document (output by an XSLT engine like XT or +Xalan) or can be passed in memory as a DOM Document or (in the case of +XT) SAX events. + +%package javadoc +Summary: Javadoc for %{name} + +%description javadoc +Javadoc for %{name}. + +%prep +%{gpgverify} --keyring='%{SOURCE5}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -p1 + +cp %{SOURCE4} LICENSE-1.1 + +rm -f fop/lib/*.jar fop/lib/build/*.jar + +# Not packaged +%pom_remove_plugin org.apache.maven.plugins:maven-javadoc-plugin +%pom_change_dep org.bouncycastle:bcpkix-jdk15to18:1.78.1 org.bouncycastle:bcpkix-jdk18on:1.83 fop-core +%pom_change_dep org.bouncycastle:bcprov-jdk15to18:1.78.1 org.bouncycastle:bcprov-jdk18on:1.83 fop-core +%pom_remove_dep javax.media:jai-core fop-core +%pom_remove_dep com.sun.media:jai-codec fop-core +%pom_remove_dep net.sf.offo:fop-hyph fop-core +%pom_remove_dep net.sf.saxon:saxon fop-core +# Update to current xmlunit +%pom_change_dep xmlunit:xmlunit org.xmlunit:xmlunit-core fop-core +%pom_add_dep org.xmlunit:xmlunit-assertj3 fop-core +# Requires maven-war-plugin +%pom_disable_module fop-servlet +# Requires JAI, not packaged +rm fop-core/src/main/java/org/apache/fop/util/bitmap/JAIMonochromeBitmapConverter.java + + +%build +# Skip tests for now, make dirs needed by build but created by tests +mkdir -p fop-events/target/test-classes +%mvn_build -f + + +%install +%mvn_install +# inject OSGi manifest +jar ufm %{buildroot}%{_javadir}/%{name}/%{name}.jar %{SOURCE3} + +# script +install -d -m 755 %{buildroot}%{_bindir} +install -p -m 755 %{SOURCE2} %{buildroot}%{_bindir}/fop + +# data +install -d -m 755 %{buildroot}%{_datadir}/%{name}/conf +cp -rp fop/conf/* %{buildroot}%{_datadir}/%{name}/conf + +# javadoc +install -d -m 755 %{buildroot}%{_javadocdir}/%{name} +cp -rp target/xmvn-apidocs/* %{buildroot}%{_javadocdir}/%{name} + + +%files -f .mfiles +%doc README NOTICE +%license LICENSE LICENSE-1.1 +%{_datadir}/%{name} +%{_bindir}/fop + +%files javadoc +%doc %{_javadocdir}/%{name} +%license LICENSE LICENSE-1.1 + + +%changelog +%autochangelog diff --git a/sources b/sources index e69de29..3fb9efc 100644 --- a/sources +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (LICENSE-1.1.txt) = 15369f9a39937f9973218840c178a39566e902d8b4bff1deb8956891095529f884068d4873532ce7417c937826dd952bac59b8dc84732412eb243516074b8121 +SHA512 (fop-2.11-src.tar.gz) = 9eacdee6d81ecf5af02c6266d20f55642febfa10bc9f3754cfb4d1532743899759d6bc7d362e80f3a1d8d370c54485e455d0ca3eac8b6604a05d3326ffefa00c +SHA512 (fop-2.11-src.tar.gz.asc) = b6ec1565abc6386a08e77016b63ec3931f0c67ecb6f7135984c946a20e8bb4030f358270f21fce84614729ec40b48825f478e4cbc2b10972446bee36f5f8474f