- Update to latest upstream version.

- Provide JAXP 1.4.
- Fix some minor rpmlint warnings.
- Add dep on xalan-j2.
- Fix javadoc taglets.
This commit is contained in:
mbooth 2010-12-12 01:11:58 +00:00
parent e76c396855
commit c43feda38a
9 changed files with 409 additions and 165 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
Xerces-J-src.2.9.0.tar.gz Xerces-J-src.2.9.0.tar.gz
/Xerces-J-src.2.11.0.tar.gz

131
ExperimentalTaglet.java Normal file
View File

@ -0,0 +1,131 @@
/*
* 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.
*/
package org.apache.xerces.util;
import java.util.Map;
import com.sun.javadoc.Tag;
import com.sun.tools.doclets.Taglet;
/**
* This class provides support for a 'xerces.experimental' tag
* in javadoc comments. The tag creates a warning in the generated
* html for users.
*
* @author Ankit Pasricha, IBM
*/
public class ExperimentalTaglet implements Taglet {
private static final String NAME = "xerces.experimental";
private static final String HEADER = "EXPERIMENTAL:";
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inConstructor()
*/
public boolean inConstructor() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inField()
*/
public boolean inField() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inMethod()
*/
public boolean inMethod() {
return true;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inOverview()
*/
public boolean inOverview() {
return true;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inPackage()
*/
public boolean inPackage() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inType()
*/
public boolean inType() {
return true;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#isInlineTag()
*/
public boolean isInlineTag() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#getName()
*/
public String getName() {
return NAME;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag)
*/
public String toString(Tag arg0) {
return "<DT><H1 style=\"font-size:150%\">" + HEADER + "</H1><DD>"
+ "This class should not be considered stable. It is likely to be altered or replaced in the future.<br/>"
+ "<I>" + arg0.text() + "</I></DD>\n";
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag[])
*/
public String toString(Tag[] tags) {
if (tags.length == 0) {
return null;
}
String result = "\n<DT><H1 style=\"font-size:150%\">" + HEADER + "</H1><DD>";
result += "This class should not be considered stable. It is likely to be altered or replaced in the future.";
result += "<I>";
for (int i = 0; i < tags.length; i++) {
result += "<br/>";
result += tags[i].text();
}
return result + "</I></DD>\n";
}
/**
* Register this Taglet.
* @param tagletMap the map to register this tag to.
*/
public static void register(Map tagletMap) {
ExperimentalTaglet tag = new ExperimentalTaglet();
Taglet t = (Taglet) tagletMap.get(tag.getName());
if (t != null) {
tagletMap.remove(tag.getName());
}
tagletMap.put(tag.getName(), tag);
}
}

131
InternalTaglet.java Normal file
View File

@ -0,0 +1,131 @@
/*
* 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.
*/
package org.apache.xerces.util;
import java.util.Map;
import com.sun.javadoc.Tag;
import com.sun.tools.doclets.Taglet;
/**
* This class provides support for a 'xerces.internal' tag
* in javadoc comments. The tag creates a warning in the generated
* html for users.
*
* @author Ankit Pasricha, IBM
*/
public class InternalTaglet implements Taglet {
private static final String NAME = "xerces.internal";
private static final String HEADER = "INTERNAL:";
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inConstructor()
*/
public boolean inConstructor() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inField()
*/
public boolean inField() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inMethod()
*/
public boolean inMethod() {
return true;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inOverview()
*/
public boolean inOverview() {
return true;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inPackage()
*/
public boolean inPackage() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#inType()
*/
public boolean inType() {
return true;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#isInlineTag()
*/
public boolean isInlineTag() {
return false;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#getName()
*/
public String getName() {
return NAME;
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag)
*/
public String toString(Tag arg0) {
return "<DT><H1 style=\"font-size:110%\">" + HEADER + "</H1><DD>"
+ "Usage of this class is not supported. It may be altered or removed at any time.<br/>"
+ "<I>" + arg0.text() + "</I></DD>\n";
}
/* (non-Javadoc)
* @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag[])
*/
public String toString(Tag[] tags) {
if (tags.length == 0) {
return null;
}
String result = "\n<DT><H1 style=\"font-size:110%\">" + HEADER + "</H1><DD>";
result += "Usage of this class is not supported. It may be altered or removed at any time.";
result += "<I>";
for (int i = 0; i < tags.length; i++) {
result += "<br/>";
result += tags[i].text();
}
return result + "</I></DD>\n";
}
/**
* Register this Taglet.
* @param tagletMap the map to register this tag to.
*/
public static void register(Map tagletMap) {
InternalTaglet tag = new InternalTaglet();
Taglet t = (Taglet) tagletMap.get(tag.getName());
if (t != null) {
tagletMap.remove(tag.getName());
}
tagletMap.put(tag.getName(), tag);
}
}

View File

@ -62,13 +62,14 @@ public class XJavac extends Javac {
setBootclasspath(createIBMJDKBootclasspath()); setBootclasspath(createIBMJDKBootclasspath());
} }
// need to do special things for Sun too and also // need to do special things for Sun too and also
// for Apple, HP, SableVM, Kaffe and Blackdown: a Linux port of Sun Java // for Apple, HP, FreeBSD, SableVM, Kaffe and Blackdown: a Linux port of Sun Java
else if( (vendor.indexOf("SUN") >= 0) || else if( (vendor.indexOf("SUN") >= 0) ||
(vendor.indexOf("BLACKDOWN") >= 0) || (vendor.indexOf("BLACKDOWN") >= 0) ||
(vendor.indexOf("APPLE") >= 0) || (vendor.indexOf("APPLE") >= 0) ||
(vendor.indexOf("HEWLETT-PACKARD") >= 0) || (vendor.indexOf("HEWLETT-PACKARD") >= 0) ||
(vendor.indexOf("KAFFE") >= 0) || (vendor.indexOf("KAFFE") >= 0) ||
(vendor.indexOf("SABLE") >= 0)) { (vendor.indexOf("SABLE") >= 0) ||
(vendor.indexOf("FREEBSD") >= 0)) {
// we're on an SUN 1.4 or higher; fiddle with the bootclasspath. // we're on an SUN 1.4 or higher; fiddle with the bootclasspath.
// since we can't eviscerate XML-related info here, // since we can't eviscerate XML-related info here,
// we must use the classpath // we must use the classpath
@ -99,6 +100,10 @@ public class XJavac extends Javac {
bcp.createPathElement().setPath(bcpMember.toString()); bcp.createPathElement().setPath(bcpMember.toString());
bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/vm.jar:"); bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/vm.jar:");
bcp.createPathElement().setPath(bcpMember.toString()); bcp.createPathElement().setPath(bcpMember.toString());
bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/java.util.jar:");
bcp.createPathElement().setPath(bcpMember.toString());
bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/rt.jar:");
bcp.createPathElement().setPath(bcpMember.toString());
bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/graphics.jar:"); bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/graphics.jar:");
bcp.createPathElement().setPath(bcpMember.toString()); bcp.createPathElement().setPath(bcpMember.toString());
bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/javaws.jar:"); bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/javaws.jar:");

View File

@ -1 +1 @@
bd43e57ec7105acc9f13072e0208d445 Xerces-J-src.2.9.0.tar.gz d01fc11eacbe43b45681cb85ac112ebf Xerces-J-src.2.11.0.tar.gz

View File

@ -1,37 +0,0 @@
Manifest-Version: 1.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-SymbolicName: org.apache.xerces
Bundle-ManifestVersion: 2
Bundle-Name: Apache Xerces-J
Bundle-Localization: plugin
Bundle-Version: 2.9.0.v200909240008
Bundle-Vendor: Apache Software Foundation
Require-Bundle: system.bundle,javax.xml;bundle-version="[1.3.4,2.0.0)"
;visibility:=reexport,org.apache.xml.resolver;bundle-version="[1.2.0,
2.0.0)";visibility:=reexport,org.apache.xml.serializer;bundle-version
="[2.7.1,3.0.0)"
Export-Package: META-INF.services;version="2.9.0",org.apache.html.dom;
version="2.9.0",org.apache.wml;version="2.9.0",org.apache.wml.dom;ver
sion="2.9.0",org.apache.xerces.dom;version="2.9.0",org.apache.xerces.
dom.events;version="2.9.0",org.apache.xerces.dom3.as;version="2.9.0",
org.apache.xerces.impl;version="2.9.0",org.apache.xerces.impl.dtd;ver
sion="2.9.0",org.apache.xerces.impl.dtd.models;version="2.9.0",org.ap
ache.xerces.impl.dv;version="2.9.0",org.apache.xerces.impl.dv.dtd;ver
sion="2.9.0",org.apache.xerces.impl.dv.util;version="2.9.0",org.apach
e.xerces.impl.dv.xs;version="2.9.0",org.apache.xerces.impl.io;version
="2.9.0",org.apache.xerces.impl.msg;version="2.9.0",org.apache.xerces
.impl.validation;version="2.9.0",org.apache.xerces.impl.xpath;version
="2.9.0",org.apache.xerces.impl.xpath.regex;version="2.9.0",org.apach
e.xerces.impl.xs;version="2.9.0",org.apache.xerces.impl.xs.identity;v
ersion="2.9.0",org.apache.xerces.impl.xs.models;version="2.9.0",org.a
pache.xerces.impl.xs.opti;version="2.9.0",org.apache.xerces.impl.xs.t
raversers;version="2.9.0",org.apache.xerces.impl.xs.util;version="2.9
.0",org.apache.xerces.jaxp;version="2.9.0",org.apache.xerces.jaxp.dat
atype;version="2.9.0",org.apache.xerces.jaxp.validation;version="2.9.
0",org.apache.xerces.parsers;version="2.9.0",org.apache.xerces.util;v
ersion="2.9.0",org.apache.xerces.xinclude;version="2.9.0",org.apache.
xerces.xni;version="2.9.0",org.apache.xerces.xni.grammars;version="2.
9.0",org.apache.xerces.xni.parser;version="2.9.0",org.apache.xerces.x
pointer;version="2.9.0",org.apache.xerces.xs;version="2.9.0",org.apac
he.xerces.xs.datatypes;version="2.9.0",org.apache.xml.serialize;versi
on="2.9.0",org.w3c.dom.html;version="2.9.0"

View File

@ -1,6 +1,6 @@
--- build.xml.orig 2006-11-22 23:37:02.000000000 +0000 --- build.xml.orig 2010-11-26 20:42:11.000000000 +0000
+++ build.xml 2010-06-13 12:36:20.318588565 +0100 +++ build.xml 2010-12-11 19:20:35.913500731 +0000
@@ -101,7 +101,6 @@ @@ -108,7 +108,6 @@
<property name="distsrc.dir" value="${build.dir}/${parser.shortname}-${parser_version}"/> <property name="distsrc.dir" value="${build.dir}/${parser.shortname}-${parser_version}"/>
<property name="disttools.dir" value="${build.dir}/tools"/> <property name="disttools.dir" value="${build.dir}/tools"/>
<property name="distbin.dir" value="${build.dir}/${parser.shortname}-${parser_version}"/> <property name="distbin.dir" value="${build.dir}/${parser.shortname}-${parser_version}"/>
@ -8,9 +8,9 @@
<filter token="year" value="${year}"/> <filter token="year" value="${year}"/>
<filter token="version" value="${parser.Version}"/> <filter token="version" value="${parser.Version}"/>
@@ -214,28 +213,6 @@ @@ -247,30 +246,6 @@
</fileset> <copy file="${src.dir}/org/apache/xerces/impl/xpath/regex/message.properties"
</copy> tofile="${build.src}/org/apache/xerces/impl/xpath/regex/message_en.properties"/>
- <!-- now deal with API's: --> - <!-- now deal with API's: -->
- <unzip src="${src.apis.zip}" dest="${build.src}"> - <unzip src="${src.apis.zip}" dest="${build.src}">
@ -20,6 +20,7 @@
- javax/xml/datatype/** - javax/xml/datatype/**
- javax/xml/namespace/** - javax/xml/namespace/**
- javax/xml/parsers/** - javax/xml/parsers/**
- javax/xml/stream/**
- javax/xml/transform/** - javax/xml/transform/**
- javax/xml/validation/** - javax/xml/validation/**
- javax/xml/xpath/** - javax/xml/xpath/**
@ -30,6 +31,7 @@
- org/w3c/dom/ls/** - org/w3c/dom/ls/**
- org/w3c/dom/ranges/** - org/w3c/dom/ranges/**
- org/w3c/dom/traversal/** - org/w3c/dom/traversal/**
- org/w3c/dom/views/**
- org/w3c/dom/xpath/**" - org/w3c/dom/xpath/**"
- /> - />
- </unzip> - </unzip>
@ -37,28 +39,11 @@
<!-- substitute tokens as needed --> <!-- substitute tokens as needed -->
<replace file="${build.dir}/src/org/apache/xerces/impl/Version.java" <replace file="${build.dir}/src/org/apache/xerces/impl/Version.java"
token="@@VERSION@@" value="${parser.Name} ${parser.Version}"/> token="@@VERSION@@" value="${parser.Name} ${parser.Version}"/>
@@ -251,7 +228,7 @@ @@ -1231,30 +1206,6 @@
</fileset> <!-- HACK: Remove reference to XML11Configurable from SAX parser -->
</copy>
- <xjavac srcdir="${build.src}"
+ <xjavac target="1.5" source="1.5" srcdir="${build.src}"
destdir="${build.dest}"
classpath="${build.dir}/classes:${tools.dir}/${jar.apis}:${tools.dir}/${jar.resolver}:${tools.dir}/${jar.serializer}"
debug="${debug}"
@@ -314,7 +291,7 @@
<copy todir="${build.samples}" >
<fileset dir="${samples.dir}"/>
</copy>
- <xjavac srcdir="${build.samples}"
+ <xjavac target="1.5" source="1.5" srcdir="${build.samples}"
destdir="${build.dest}"
classpath="${build.dir}/classes:${tools.dir}/${jar.apis}"
debug="${debug}"
@@ -1181,28 +1158,6 @@
<replace file="${build.dir}/src/org/apache/xerces/parsers/AbstractSAXParser.java" <replace file="${build.dir}/src/org/apache/xerces/parsers/AbstractSAXParser.java"
token="return (fConfiguration instanceof XML11Configurable);" value="return false;"/> token="return (fConfiguration instanceof XML11Configurable);" value="return false;"/>
-
- <!-- now deal with API's: --> - <!-- now deal with API's: -->
- <unzip src="${src.apis.zip}" dest="${build.src}"> - <unzip src="${src.apis.zip}" dest="${build.src}">
- <patternset - <patternset
@ -67,6 +52,7 @@
- javax/xml/datatype/** - javax/xml/datatype/**
- javax/xml/namespace/** - javax/xml/namespace/**
- javax/xml/parsers/** - javax/xml/parsers/**
- javax/xml/stream/**
- javax/xml/transform/** - javax/xml/transform/**
- javax/xml/validation/** - javax/xml/validation/**
- javax/xml/xpath/** - javax/xml/xpath/**
@ -77,10 +63,10 @@
- org/w3c/dom/ls/** - org/w3c/dom/ls/**
- org/w3c/dom/ranges/** - org/w3c/dom/ranges/**
- org/w3c/dom/traversal/** - org/w3c/dom/traversal/**
- org/w3c/dom/views/**
- org/w3c/dom/xpath/**" - org/w3c/dom/xpath/**"
- /> - />
- </unzip> - </unzip>
-
<!-- substitute tokens as needed --> <!-- substitute tokens as needed -->
<replace file="${build.dir}/src/org/apache/xerces/impl/Version.java"

17
xerces-j2-manifest.patch Normal file
View File

@ -0,0 +1,17 @@
--- src/manifest.xerces.orig 2010-12-11 23:06:53.446251316 +0000
+++ src/manifest.xerces 2010-12-12 01:02:41.750251153 +0000
@@ -1,5 +1,14 @@
Manifest-Version: 1.0
Created-By: @java.version@ (@java.vendor@)
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-SymbolicName: org.apache.xerces
+Bundle-ManifestVersion: 2
+Bundle-Name: @impl.name@
+Bundle-Localization: plugin
+Bundle-Version: @impl.version@
+Bundle-Vendor: Apache Software Foundation
+Require-Bundle: system.bundle,javax.xml;bundle-version="[1.3.4,2.0.0)";visibility:=reexport,org.apache.xml.resolver;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,org.apache.xml.serializer;bundle-version="[2.7.1,3.0.0)"
+Export-Package: META-INF.services;version="@impl.version@",org.apache.html.dom;version="@impl.version@",org.apache.wml;version="@impl.version@",org.apache.wml.dom;version="@impl.version@",org.apache.xerces.dom;version="@impl.version@",org.apache.xerces.dom.events;version="@impl.version@",org.apache.xerces.dom3.as;version="@impl.version@",org.apache.xerces.impl;version="@impl.version@",org.apache.xerces.impl.dtd;version="@impl.version@",org.apache.xerces.impl.dtd.models;version="@impl.version@",org.apache.xerces.impl.dv;version="@impl.version@",org.apache.xerces.impl.dv.dtd;version="@impl.version@",org.apache.xerces.impl.dv.util;version="@impl.version@",org.apache.xerces.impl.dv.xs;version="@impl.version@",org.apache.xerces.impl.io;version="@impl.version@",org.apache.xerces.impl.msg;version="@impl.version@",org.apache.xerces.impl.validation;version="@impl.version@",org.apache.xerces.impl.xpath;version="@impl.version@",org.apache.xerces.impl.xpath.regex;version="@impl.version@",org.apache.xerces.impl.xs;version="@impl.version@",org.apache.xerces.impl.xs.identity;version="@impl.version@",org.apache.xerces.impl.xs.models;version="@impl.version@",org.apache.xerces.impl.xs.opti;version="@impl.version@",org.apache.xerces.impl.xs.traversers;version="@impl.version@",org.apache.xerces.impl.xs.util;version="@impl.version@",org.apache.xerces.jaxp;version="@impl.version@",org.apache.xerces.jaxp.datatype;version="@impl.version@",org.apache.xerces.jaxp.validation;version="@impl.version@",org.apache.xerces.parsers;version="@impl.version@",org.apache.xerces.stax;version="@impl.version@",org.apache.xerces.stax.events;version="@impl.version@",org.apache.xerces.util;version="@impl.version@",org.apache.xerces.xinclude;version="@impl.version@",org.apache.xerces.xni;version="@impl.version@",org.apache.xerces.xni.grammars;version="@impl.version@",org.apache.xerces.xni.parser;version="@impl.version@",org.apache.xerces.xpointer;version="@impl.version@",org.apache.xerces.xs;version="@impl.version@",org.apache.xerces.xs.datatypes;version="@impl.version@",org.apache.xml.serialize;version="@impl.version@",org.w3c.dom.html;version="@impl.version@"
Name: org/apache/xerces/impl/Version.class
Comment: @impl.name@

View File

@ -1,45 +1,50 @@
%global cvs_version 2_9_0 %global cvs_version 2_11_0
Name: xerces-j2 Name: xerces-j2
Version: 2.9.0 Version: 2.11.0
Release: 4%{?dist} Release: 1%{?dist}
Summary: Java XML parser Summary: Java XML parser
Group: Development/Libraries Group: Development/Libraries
License: ASL 2.0 License: ASL 2.0
URL: http://xerces.apache.org/xerces2-j/ URL: http://xerces.apache.org/xerces2-j/
Source0: http://archive.apache.org/dist/xml/xerces-j/source/Xerces-J-src.%{version}.tar.gz Source0: http://mirror.ox.ac.uk/sites/rsync.apache.org/xerces/j/source/Xerces-J-src.%{version}.tar.gz
Source1: %{name}-version.sh Source1: %{name}-version.sh
Source2: %{name}-constants.sh Source2: %{name}-constants.sh
# Custom javac ant task used by the build # Custom javac ant task used by the build
Source3: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/XJavac.java Source3: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/XJavac.java
# Upstream's build doesn't generate an OSGi manifest # Custom doclet tags used in javadocs
Source4: %{name}-MANIFEST.MF Source5: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/ExperimentalTaglet.java
Source6: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/InternalTaglet.java
# Patch the build so that it doesn't try to use bundled xml-commons source # Patch the build so that it doesn't try to use bundled xml-commons source
Patch0: %{name}-build.patch Patch0: %{name}-build.patch
# Patch the manifest so that it includes OSGi stuff
Patch1: %{name}-manifest.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch BuildArch: noarch
BuildRequires: java-devel >= 1:1.6.0 BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jpackage-utils BuildRequires: jpackage-utils
BuildRequires: xml-commons-apis >= 1.3 BuildRequires: xalan-j2 >= 2.7.1
BuildRequires: xml-commons-apis >= 1.4
BuildRequires: xml-commons-resolver >= 1.1 BuildRequires: xml-commons-resolver >= 1.1
BuildRequires: ant BuildRequires: ant
BuildRequires: xalan-j2
BuildRequires: xml-stylebook BuildRequires: xml-stylebook
BuildRequires: jaxp_parser_impl BuildRequires: jaxp_parser_impl
BuildRequires: dejavu-sans-fonts BuildRequires: dejavu-sans-fonts
Requires: java Requires: java
Requires: jpackage-utils Requires: jpackage-utils
Requires: xml-commons-apis >= 1.3 Requires: xalan-j2 >= 2.7.1
Requires: xml-commons-apis >= 1.4
Requires: xml-commons-resolver >= 1.1 Requires: xml-commons-resolver >= 1.1
Provides: jaxp_parser_impl = 1.3 Provides: jaxp_parser_impl = 1.4
Requires(post): chkconfig jaxp_parser_impl Requires(post): chkconfig jaxp_parser_impl
Requires(preun): chkconfig jaxp_parser_impl Requires(preun): chkconfig jaxp_parser_impl
@ -132,50 +137,48 @@ Requires: %{name} = %{version}-%{release}
%prep %prep
%setup -q -n xerces-%{cvs_version} %setup -q -n xerces-%{cvs_version}
%patch0 -p0 -b .orig %patch0 -p0 -b .orig
%patch1 -p0 -b .orig
# Copy the custom ant tasks into place # Copy the custom ant tasks into place
mkdir -p tools/org/apache/xerces/util mkdir -p tools/org/apache/xerces/util
cp -a %{SOURCE3} tools/org/apache/xerces/util mkdir -p tools/bin
cp -a %{SOURCE3} %{SOURCE5} %{SOURCE6} tools/org/apache/xerces/util
# Make sure upstream hasn't sneaked in any jars we don't know about # Make sure upstream hasn't sneaked in any jars we don't know about
JARS="" find -name '*.class' -exec rm -f '{}' \;
for j in `find -name "*.jar"`; do find -name '*.jar' -exec rm -f '{}' \;
if [ ! -L $j ]; then
JARS="$JARS $j" sed -i 's/\r//' LICENSE README NOTICE
fi
done
if [ ! -z "$JARS" ]; then
echo "These jars should be deleted and symlinked to system jars: $JARS"
exit 1
fi
%build %build
# Build custom ant tasks and jar repository needed for main build
pushd tools pushd tools
# Build custom ant tasks
javac -classpath $(build-classpath ant) org/apache/xerces/util/XJavac.java javac -classpath $(build-classpath ant) org/apache/xerces/util/XJavac.java
mkdir bin && jar cf bin/xjavac.jar org/apache/xerces/util/XJavac.class jar cf bin/xjavac.jar org/apache/xerces/util/XJavac.class
# Build custom doc taglets
javac -classpath /usr/lib/jvm/java/lib/tools.jar org/apache/xerces/util/*Taglet.java
jar cf bin/xerces2taglets.jar org/apache/xerces/util/*Taglet.class
ln -sf $(build-classpath xalan-j2) .
ln -sf $(build-classpath xml-commons-apis) . ln -sf $(build-classpath xml-commons-apis) .
ln -sf $(build-classpath xml-commons-resolver) . ln -sf $(build-classpath xml-commons-resolver) .
ln -sf $(build-classpath xml-stylebook) . ln -sf $(build-classpath xml-stylebook) .
ln -sf $(build-classpath xalan-j2) .
popd popd
# Build everything # Build everything
export CLASSPATH=tools/bin/xjavac.jar:build/xercesImpl.jar
export ANT_OPTS="-Xmx256m -Djava.endorsed.dirs=$(pwd)/tools -Djava.awt.headless=true -Dbuild.sysclasspath=first -Ddisconnected=true" export ANT_OPTS="-Xmx256m -Djava.endorsed.dirs=$(pwd)/tools -Djava.awt.headless=true -Dbuild.sysclasspath=first -Ddisconnected=true"
ant \ ant -Djavac.source=1.5 -Djavac.target=1.5 \
-Dbuild.compiler=modern \ -Dbuild.compiler=modern \
-Djar.serializer=xalan-j2.jar \
-Djar.apis=xml-commons-apis.jar \ -Djar.apis=xml-commons-apis.jar \
-Djar.resolver=xml-commons-resolver.jar \ -Djar.resolver=xml-commons-resolver.jar \
-Djar.serializer=xalan-j2.jar \
-Ddoc.generator.package=tools/xml-stylebook.jar \ -Ddoc.generator.package=tools/xml-stylebook.jar \
clean jars javadocs docs clean jars javadocs docs
# Inject OSGi manifest # Fix line endings in generated docs
mkdir -p META-INF sed -i 's/\r//' build/docs/download.cgi build/docs/resources/script.js
cp -p %{SOURCE4} META-INF/MANIFEST.MF
touch META-INF/MANIFEST.MF
zip -u build/xercesImpl.jar META-INF/MANIFEST.MF
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
@ -213,7 +216,7 @@ ln -s ../../../../javadoc/%{name}-xni/ %{buildroot}%{_docdir}/%{name}-%{version}
ln -s ../../../../javadoc/%{name}-other/ %{buildroot}%{_docdir}/%{name}-%{version}/manual/javadocs/other ln -s ../../../../javadoc/%{name}-other/ %{buildroot}%{_docdir}/%{name}-%{version}/manual/javadocs/other
# other docs # other docs
install -p LICENSE README NOTICE %{buildroot}%{_docdir}/%{name}-%{version} install -p -m644 LICENSE README NOTICE %{buildroot}%{_docdir}/%{name}-%{version}
# scripts # scripts
install -pD -m755 -T %{SOURCE1} %{buildroot}%{_bindir}/%{name}-version install -pD -m755 -T %{SOURCE1} %{buildroot}%{_bindir}/%{name}-version
@ -283,6 +286,13 @@ update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \
%{_bindir}/* %{_bindir}/*
%changelog %changelog
* Sat Dec 11 2010 Mat Booth <fedora@matbooth.co.uk> - 2.11.0-1
- Update to latest upstream version.
- Provide JAXP 1.4.
- Fix some minor rpmlint warnings.
- Add dep on xalan-j2.
- Fix javadoc taglets.
* Sat Jun 12 2010 Mat Booth <fedora@matbooth.co.uk> - 2.9.0-4 * Sat Jun 12 2010 Mat Booth <fedora@matbooth.co.uk> - 2.9.0-4
- Fix broken links in manual and fix javadoc requires. - Fix broken links in manual and fix javadoc requires.
- Build 1.5 bytecode instead of 1.6, for compatibility. - Build 1.5 bytecode instead of 1.6, for compatibility.