[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