[fop/f15/master] * Thu Mar 10 2011 Alexander Kurtakov <akurtako at redhat.com> 1.0-14 - Reapply Fedora guidelines. - Re-
Rüdiger Landmann
rlandmann at fedoraproject.org
Thu Mar 10 23:47:30 UTC 2011
commit 51f2d4c20315dcb7b5b6a51784a06e0f87692eae
Author: Ruediger Landmann <r.landmann at redhat.com>
Date: Fri Mar 11 09:49:06 2011 +1000
* Thu Mar 10 2011 Alexander Kurtakov <akurtako at redhat.com> 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.
batik-pdf-MANIFEST.MF | 28 +++++++++
fop-1.0.pom | 150 +++++++++++++++++++++++++++++++++++++++++++++++++
fop.spec | 113 +++++++++++++++++++++---------------
qdox-build.patch | 80 ++++++++++++++++++++++++++
4 files changed, 324 insertions(+), 47 deletions(-)
---
diff --git a/batik-pdf-MANIFEST.MF b/batik-pdf-MANIFEST.MF
new file mode 100644
index 0000000..15c910d
--- /dev/null
+++ b/batik-pdf-MANIFEST.MF
@@ -0,0 +1,28 @@
+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;version="[1.6.0,1.7.0)",org.ap
+ ache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.dom.util;
+ version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.
+ 0)",org.apache.batik.ext.awt.g2d;version="[1.6.0,1.7.0)",org.apache.b
+ atik.gvt;version="[1.6.0,1.7.0)",org.apache.batik.gvt.renderer;versio
+ n="[1.6.0,1.7.0)",org.apache.batik.gvt.text;version="[1.6.0,1.7.0)",o
+ rg.apache.batik.transcoder;version="[1.6.0,1.7.0)",org.apache.batik.t
+ ranscoder.image;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.k
+ eys;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7
+ .0)",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.avalon.framework,org.apache.avalon.framewor
+ k.activity,org.apache.avalon.framework.configuration,org.apache.avalo
+ n.framework.container,org.apache.commons.io,org.apache.commons.io.out
+ put,org.apache.commons.logging,org.apache.commons.logging.impl,org.ap
+ ache.fop.apps,org.apache.fop.fo,org.apache.fop.fonts,org.apache.fop.f
+ onts.apps,org.apache.fop.fonts.base14,org.apache.fop.fonts.truetype,o
+ rg.apache.fop.fonts.type1,org.apache.fop.image,org.apache.fop.image.a
+ nalyser,org.apache.fop.pdf,org.apache.fop.render.pdf,org.apache.fop.r
+ ender.ps,org.apache.fop.svg,org.apache.fop.util
diff --git a/fop-1.0.pom b/fop-1.0.pom
new file mode 100644
index 0000000..46b43c4
--- /dev/null
+++ b/fop-1.0.pom
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>fop</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache FOP</name>
+ <version>1.0</version>
+ <url>http://xmlgraphics.apache.org/fop/</url>
+ <description>Apache FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PCL, PS, AFP, TIFF, PNG, SVG, XML (area tree representation), Print, AWT and TXT. The primary output target is PDF.</description>
+ <inceptionYear>1999</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>FOP Users List</name>
+ <subscribe>fop-users-subscribe at xmlgraphics.apache.org</subscribe>
+ <unsubscribe>fop-users-unsubscribe at xmlgraphics.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/</archive>
+ </mailingList>
+ <mailingList>
+ <name>FOP Developer List</name>
+ <subscribe>fop-dev-subscribe at xmlgraphics.apache.org</subscribe>
+ <unsubscribe>fop-dev-unsubscribe at xmlgraphics.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>FOP Commit List</name>
+ <subscribe>fop-commits-subscribe at xmlgraphics.apache.org</subscribe>
+ <unsubscribe>fop-commits-unsubscribe at xmlgraphics.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-commits/</archive>
+ </mailingList>
+ </mailingLists>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/fop/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/?root=Apache-SVN</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <dependencies>
+ <!-- XML Graphics -->
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>xmlgraphics-commons</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-svg-dom</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-bridge</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-awt-util</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-gvt</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-transcoder</artifactId>
+ <version>1.7</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>fop</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-extension</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-ext</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <!-- other dependencies -->
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.avalon.framework</groupId>
+ <artifactId>avalon-framework-api</artifactId>
+ <version>4.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.avalon.framework</groupId>
+ <artifactId>avalon-framework-impl</artifactId>
+ <version>4.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>xalan</groupId>
+ <artifactId>xalan</artifactId>
+ <version>2.7.0</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/fop.spec b/fop.spec
index 3b81886..bab3229 100644
--- a/fop.spec
+++ b/fop.spec
@@ -1,33 +1,46 @@
-%global gcj_support 0
-
Summary: XSL-driven print formatter
Name: fop
Version: 1.0
-Release: 13%{?dist}
+Release: 14%{?dist}
License: ASL 2.0
Group: Applications/Text
URL: http://xmlgraphics.apache.org/fop
Source0: http://www.apache.org/dist/xmlgraphics/fop/source/%{name}-%{version}-src.tar.gz
Source1: %{name}.script
+Source2: batik-pdf-MANIFEST.MF
+Source3: http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/xmlgraphics/%{name}/%{version}/%{name}-%{version}.pom
Patch0: %{name}-manifest.patch
Patch1: %{name}-main.patch
-BuildArch: noarch
+Patch2: qdox-build.patch
+BuildArch: noarch
Requires: xmlgraphics-commons >= 1.2
Requires: avalon-framework >= 4.1.4
Requires: batik >= 1.7
Requires: xalan-j2 >= 2.7.0
Requires: xml-commons-apis >= 1.3.04
Requires: jakarta-commons-httpclient
-Requires: jakarta-commons-io >= 1.2
-Requires: jakarta-commons-logging >= 1.0.4
-Requires: java-1.6.0-openjdk
-Requires: jpackage-utils
+Requires: apache-commons-io >= 1.2
+Requires: apache-commons-logging >= 1.0.4
+Requires: java >= 1:1.6.0
+Requires: jpackage-utils
+
+Requires(post): jpackage-utils
+Requires(postun): jpackage-utils
+
BuildRequires: ant
-BuildRequires: ant-trax
-BuildRequires: java-1.6.0-openjdk-devel
-BuildRequires: java-1.6.0-openjdk-javadoc
-BuildRequires: jpackage-utils
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildRequires: java-devel >= 1:1.6.0
+BuildRequires: java-javadoc >= 1:1.6.0
+BuildRequires: jpackage-utils
+BuildRequires: apache-commons-logging
+BuildRequires: apache-commons-io
+BuildRequires: avalon-framework
+BuildRequires: xmlgraphics-commons
+BuildRequires: batik
+BuildRequires: servlet
+BuildRequires: qdox
+BuildRequires: xmlunit
+BuildRequires: zip
+BuildRequires: junit
%description
FOP is the world's first print formatter driven by XSL formatting
@@ -39,7 +52,8 @@ XT) SAX events.
%package javadoc
Summary: Javadoc for %{name}
-Group: Development/Java
+Group: Documentation
+Requires: jpackage-utils
%description javadoc
Javadoc for %{name}.
@@ -48,26 +62,28 @@ Javadoc for %{name}.
%setup -q
%patch0 -p1
%patch1 -p0
+%patch2 -b .sav
-%build
-export JAVA_HOME=%{java_home}
-export CLASSPATH=
-export OPT_JAR_LIST="`%{__cat} %{_sysconfdir}/ant.d/trax`"
+find -name '*.class' -exec rm -f '{}' \;
+find -name '*.jar' -exec rm -f '{}' \;
-%ant clean jar-main transcoder-pkg javadocs
+sed -i -e "s|1.4|1.5|g" build.xml
+
+%build
+export CLASSPATH=$(build-classpath apache-commons-logging apache-commons-io xmlgraphics-commons batik-all avalon-framework servlet batik/batik-svg-dom xml-commons-apis xml-commons-apis-ext qdox objectweb-asm/asm-all xmlunit)
+ant clean jar-main transcoder-pkg javadocs
%install
-rm -rf %{buildroot}
+# inject OSGi manifests
+mkdir -p META-INF
+cp -p %{SOURCE2} META-INF/MANIFEST.MF
+touch META-INF/MANIFEST.MF
+zip -u build/%{name}.jar META-INF/MANIFEST.MF
# jars
mkdir -p %{buildroot}%{_javadir}
-cp -a build/%{name}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
+cp -a build/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar
cp -a build/%{name}-transcoder.jar %{buildroot}%{_javadir}/pdf-transcoder.jar
-pushd %{buildroot}%{_javadir}
-for jar in *-%{version}*
-do ln -s ${jar} `echo $jar| sed "s|-%{version}||g"`
-done
-popd
# script
mkdir -p %{buildroot}%{_bindir}
@@ -78,44 +94,48 @@ mkdir -p %{buildroot}%{_datadir}/%{name}
cp -a conf %{buildroot}%{_datadir}/%{name}
# javadoc
-mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version}
-cp -a build/javadocs/* %{buildroot}%{_javadocdir}/%{name}-%{version}
-ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -a build/javadocs/* %{buildroot}%{_javadocdir}/%{name}
-%if %{gcj_support}
-%{_bindir}/aot-compile-rpm
-%endif
+mkdir -p $RPM_BUILD_ROOT%{_mavenpomdir}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom
+%add_to_maven_depmap org.apache.xmlgraphics %{name} %{version} JPP %{name} %{version}
-%clean
-rm -rf %{buildroot}
+%pre javadoc
+# workaround for rpm bug 646523, can be removed in F-17
+[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
+rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
-%if %{gcj_support}
%post
-%{update_gcjdb}
+%update_maven_depmap
%postun
-%{clean_gcjdb}
-%endif
+%update_maven_depmap
+
%files
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%doc LICENSE README NOTICE
-%{_javadir}/%{name}*.jar
+%{_javadir}/%{name}.jar
%{_datadir}/%{name}
%{_javadir}/pdf-transcoder.jar
+%{_mavendepmapfragdir}/*
+%{_mavenpomdir}/*pom
%attr(0755,root,root) %{_bindir}/fop
-%if %{gcj_support}
-%dir %{_libdir}/gcj/%{name}
-%{_libdir}/gcj/%{name}/*
-%endif
%files javadoc
-%defattr(-,root,root)
-%doc %{_javadocdir}/%{name}-%{version}
+%defattr(-,root,root,-)
%doc %{_javadocdir}/%{name}
+%doc LICENSE
%changelog
+* Thu Mar 10 2011 Alexander Kurtakov <akurtako at redhat.com> 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 <r.landmann at redhat.com> 1.0-13
- reinstate updated manifest patch
- change define to global
@@ -272,4 +292,3 @@ rm -rf %{buildroot}
* Thu Aug 30 2001 Guillaume Rousse <guillomovitch at users.sourceforge.net> 0.20.1-1mdk
- first release
-
diff --git a/qdox-build.patch b/qdox-build.patch
new file mode 100644
index 0000000..7d37c26
--- /dev/null
+++ b/qdox-build.patch
@@ -0,0 +1,80 @@
+--- src/codegen/java/org/apache/fop/tools/EventProducerCollector.java.sav 2010-07-12 22:34:46.000000000 +0300
++++ src/codegen/java/org/apache/fop/tools/EventProducerCollector.java 2011-03-10 16:59:50.680483330 +0200
+@@ -15,13 +15,12 @@
+ * limitations under the License.
+ */
+
+-/* $Id: EventProducerCollector.java 932502 2010-04-09 16:48:27Z vhennebert $ */
++/* $Id: EventProducerCollector.java 1066078 2011-02-01 16:04:41Z jeremias $ */
+
+ package org.apache.fop.tools;
+
+ import java.io.File;
+ import java.io.IOException;
+-import java.util.ArrayList;
+ import java.util.Collections;
+ import java.util.List;
+ import java.util.Map;
+@@ -47,10 +46,10 @@ import com.thoughtworks.qdox.model.Type;
+ class EventProducerCollector {
+
+ private static final String CLASSNAME_EVENT_PRODUCER = EventProducer.class.getName();
+- private static final Map PRIMITIVE_MAP;
++ private static final Map<String, Class<?>> PRIMITIVE_MAP;
+
+ static {
+- Map m = new java.util.HashMap();
++ Map <String, Class<?>> m = new java.util.HashMap<String, Class<?>>();
+ m.put("boolean", Boolean.class);
+ m.put("byte", Byte.class);
+ m.put("char", Character.class);
+@@ -63,7 +62,7 @@ class EventProducerCollector {
+ }
+
+ private DocletTagFactory tagFactory;
+- private List models = new ArrayList();
++ private List<EventModel> models = new java.util.ArrayList<EventModel>();
+
+ /**
+ * Creates a new EventProducerCollector.
+@@ -123,6 +122,9 @@ class EventProducerCollector {
+ */
+ protected void processEventProducerInterface(JavaClass clazz)
+ throws EventConventionException, ClassNotFoundException {
++ if (clazz.getParentClass() == null || clazz.getParentClass().getName().equals("java.lang.Object")) {
++ return;
++ }
+ EventProducerModel prodMeta = new EventProducerModel(clazz.getFullyQualifiedName());
+ JavaMethod[] methods = clazz.getMethods(true);
+ for (int i = 0, c = methods.length; i < c; i++) {
+@@ -139,7 +141,7 @@ class EventProducerCollector {
+ throws EventConventionException, ClassNotFoundException {
+ JavaClass clazz = method.getParentClass();
+ //Check EventProducer conventions
+- if (!method.getReturns().isVoid()) {
++ if (!method.getReturnType().isVoid()) {
+ throw new EventConventionException("All methods of interface "
+ + clazz.getFullyQualifiedName() + " must have return type 'void'!");
+ }
+@@ -168,10 +170,10 @@ class EventProducerCollector {
+ if (params.length > 1) {
+ for (int j = 1, cj = params.length; j < cj; j++) {
+ JavaParameter p = params[j];
+- Class type;
++ Class<?> type;
+ JavaClass pClass = p.getType().getJavaClass();
+ if (p.getType().isPrimitive()) {
+- type = (Class)PRIMITIVE_MAP.get(pClass.getName());
++ type = PRIMITIVE_MAP.get(pClass.getName());
+ if (type == null) {
+ throw new UnsupportedOperationException(
+ "Primitive datatype not supported: " + pClass.getName());
+@@ -197,7 +199,7 @@ class EventProducerCollector {
+ * Returns the event model that has been accumulated.
+ * @return the event model.
+ */
+- public List getModels() {
++ public List<EventModel> getModels() {
+ return this.models;
+ }
+
More information about the scm-commits
mailing list