diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4a004c9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Xerces-J-src.2.12.1.tar.gz diff --git a/.xerces-j2.metadata b/.xerces-j2.metadata new file mode 100644 index 0000000..3523da0 --- /dev/null +++ b/.xerces-j2.metadata @@ -0,0 +1 @@ +b5d934e54b8864f09c683ca8666147c101faeb69 SOURCES/Xerces-J-src.2.12.1.tar.gz diff --git a/SOURCES/XJavac.java b/SOURCES/XJavac.java new file mode 100644 index 0000000..72d10d7 --- /dev/null +++ b/SOURCES/XJavac.java @@ -0,0 +1,151 @@ +/* + * 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 org.apache.tools.ant.BuildException; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.types.Path; +import org.apache.tools.ant.util.JavaEnvUtils; +import org.apache.tools.ant.taskdefs.Javac; + +import java.lang.StringBuffer; +import java.util.Properties; +import java.util.Locale; + +/** + * The implementation of the javac compiler for JDK 1.4 and above + * + * The purpose of this task is to diagnose whether we're + * running on a 1.4 or above JVM; if we are, to + * set up the bootclasspath such that the build will + * succeed; if we aren't, then invoke the Javac12 + * task. + * + * @author Neil Graham, IBM + */ +public class XJavac extends Javac { + + /** + * Run the compilation. + * + * @exception BuildException if the compilation has problems. + */ + public void execute() throws BuildException { + if(isJDK14OrHigher()) { + // maybe the right one; check vendor: + // by checking system properties: + Properties props = null; + try { + props = System.getProperties(); + } catch (Exception e) { + throw new BuildException("unable to determine java vendor because could not access system properties!"); + } + // this is supposed to be provided by all JVM's from time immemorial + String vendor = ((String)props.get("java.vendor")).toUpperCase(Locale.ENGLISH); + if (vendor.indexOf("IBM") >= 0) { + // we're on an IBM 1.4 or higher; fiddle with the bootclasspath. + setBootclasspath(createIBMJDKBootclasspath()); + } + // need to do special things for Sun too and also + // for Apple, HP, FreeBSD, SableVM, Kaffe and Blackdown: a Linux port of Sun Java + else if( (vendor.indexOf("SUN") >= 0) || + (vendor.indexOf("BLACKDOWN") >= 0) || + (vendor.indexOf("APPLE") >= 0) || + (vendor.indexOf("HEWLETT-PACKARD") >= 0) || + (vendor.indexOf("KAFFE") >= 0) || + (vendor.indexOf("SABLE") >= 0) || + (vendor.indexOf("FREEBSD") >= 0)) { + // we're on an SUN 1.4 or higher; fiddle with the bootclasspath. + // since we can't eviscerate XML-related info here, + // we must use the classpath + Path bcp = createBootclasspath(); + Path clPath = getClasspath(); + bcp.append(clPath); + String currBCP = (String)props.get("sun.boot.class.path"); + Path currBCPath = new Path(null); + currBCPath.createPathElement().setPath(currBCP); + bcp.append(currBCPath); + setBootclasspath(bcp); + } + } + // now just do the normal thing: + super.execute(); + } + + /** + * Creates bootclasspath for IBM JDK 1.4 and above. + */ + private Path createIBMJDKBootclasspath() { + Path bcp = createBootclasspath(); + String javaHome = System.getProperty("java.home"); + StringBuffer bcpMember = new StringBuffer(); + bcpMember.append(javaHome).append("/lib/charsets.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/core.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/vm.jar:"); + 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:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/javaws.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/jaws.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/security.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/server.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/JawBridge.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/gskikm.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/ibmjceprovider.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/indicim.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/jaccess.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/ldapsec.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ext/oldcertpath.jar"); + bcp.createPathElement().setPath(bcpMember.toString()); + return bcp; + } + + /** + * Checks whether the JDK version is 1.4 or higher. If it's not + * JDK 1.4 we check whether we're on a future JDK by checking + * that we're not on JDKs 1.0, 1.1, 1.2 or 1.3. This check by + * exclusion should future proof this task from new versions of + * Ant which are aware of higher JDK versions. + * + * @return true if the JDK version is 1.4 or higher. + */ + private boolean isJDK14OrHigher() { + final String version = JavaEnvUtils.getJavaVersion(); + return version.equals(JavaEnvUtils.JAVA_1_4) || + (!version.equals(JavaEnvUtils.JAVA_1_3) && + !version.equals(JavaEnvUtils.JAVA_1_2) && + !version.equals(JavaEnvUtils.JAVA_1_1) && + !version.equals(JavaEnvUtils.JAVA_1_0)); + } +} diff --git a/SOURCES/xerces-j2-build.patch b/SOURCES/xerces-j2-build.patch new file mode 100644 index 0000000..7e7caaf --- /dev/null +++ b/SOURCES/xerces-j2-build.patch @@ -0,0 +1,72 @@ +--- build.xml.orig 2010-11-26 20:42:11.000000000 +0000 ++++ build.xml 2010-12-11 19:20:35.913500731 +0000 +@@ -108,7 +108,6 @@ + + + +- + + + +@@ -247,30 +246,6 @@ + + +- +- +- +- +- + + +@@ -1232,30 +1207,6 @@ + + +- +- +- +- +- + + + diff --git a/SOURCES/xerces-j2-constants.1 b/SOURCES/xerces-j2-constants.1 new file mode 100644 index 0000000..86c7e54 --- /dev/null +++ b/SOURCES/xerces-j2-constants.1 @@ -0,0 +1,12 @@ +.TH XERCES-J2-CONSTANTS 1 "08 April 2013" "xerces-2.11.0" "User commands" + +.SH NAME +xerces-j2-constants \- display constants used by Xerces2 Java Parser + +.SH SYNOPSIS +.BR xerces-j2-constants + +.SH DESCRIPTION + +Xerces-J2-Constants dumps common constants used by Xerces2 Java Parser +to standard output. diff --git a/SOURCES/xerces-j2-manifest.patch b/SOURCES/xerces-j2-manifest.patch new file mode 100644 index 0000000..3ad54d7 --- /dev/null +++ b/SOURCES/xerces-j2-manifest.patch @@ -0,0 +1,17 @@ +--- src/manifest.xerces.orig 2021-03-12 13:20:16.568489549 +0000 ++++ src/manifest.xerces 2021-03-12 13:22:20.091482375 +0000 +@@ -1,5 +1,14 @@ + Manifest-Version: 1.0 + Created-By: @java.version@ (@java.vendor@) ++Automatic-Module-Name: org.apache.xerces ++Bundle-SymbolicName: org.apache.xerces ++Bundle-ManifestVersion: 2 ++Bundle-Vendor: Apache Software Foundation ++Import-Package: sun.io;resolution:=optional,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.stream,javax.xml.stream.events,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,org.apache.wml;version="[2.12,3)",org.apache.xerces.dom;version="[2.12,3)",org.apache.xerces.dom.events;version="[2.12,3)",org.apache.xerces.dom3.as;version="[2.12,3)",org.apache.xerces.impl;version="[2.12,3)",org.apache.xerces.impl.dtd;version="[2.12,3)",org.apache.xerces.impl.dtd.models;version="[2.12,3)",org.apache.xerces.impl.dv;version="[2.12,3)",org.apache.xerces.impl.dv.util;version="[2.12,3)",org.apache.xerces.impl.dv.xs;version="[2.12,3)",org.apache.xerces.impl.io;version="[2.12,3)",org.apache.xerces.impl.msg;version="[2.12,3)",org.apache.xerces.impl.validation;version="[2.12,3)",org.apache.xerces.impl.xpath;version="[2.12,3)",org.apache.xerces.impl.xpath.regex;version="[2.12,3)",org.apache.xerces.impl.xs;version="[2.12,3)",org.apache.xerces.impl.xs.identity;version="[2.12,3)",org.apache.xerces.impl.xs.models;version="[2.12,3)",org.apache.xerces.impl.xs.opti;version="[2.12,3)",org.apache.xerces.impl.xs.traversers;version="[2.12,3)",org.apache.xerces.impl.xs.util;version="[2.12,3)",org.apache.xerces.jaxp;version="[2.12,3)",org.apache.xerces.jaxp.datatype;version="[2.12,3)",org.apache.xerces.jaxp.validation;version="[2.12,3)",org.apache.xerces.parsers;version="[2.12,3)",org.apache.xerces.stax;version="[2.12,3)",org.apache.xerces.stax.events;version="[2.12,3)",org.apache.xerces.util;version="[2.12,3)",org.apache.xerces.xinclude;version="[2.12,3)",org.apache.xerces.xni;version="[2.12,3)",org.apache.xerces.xni.grammars;version="[2.12,3)",org.apache.xerces.xni.parser;version="[2.12,3)",org.apache.xerces.xpointer;version="[2.12,3)",org.apache.xerces.xs;version="[2.12,3)",org.apache.xerces.xs.datatypes;version="[2.12,3)",org.apache.xml.resolver,org.apache.xml.resolver.readers,org.apache.xml.serialize;version="[2.12,3)",org.w3c.dom,org.w3c.dom.events,org.w3c.dom.html;version="[2.12,3)",org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.traversal,org.w3c.dom.views,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers ++Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))" ++Export-Package: org.apache.xerces.impl;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.dtd,org.apache.xerces.impl.validation,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.xml.sax",org.apache.xerces.impl.dtd;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl,org.apache.xerces.impl.dtd.models,org.apache.xerces.impl.dv,org.apache.xerces.impl.validation,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser",org.apache.xerces.impl.dtd.models;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.xni",org.apache.xerces.impl.dv;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.xs.util,org.apache.xerces.util,org.apache.xerces.xs",org.apache.xerces.impl.dv.dtd;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.dv",org.apache.xerces.impl.dv.util;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.xs,org.apache.xerces.xs.datatypes",org.apache.xerces.impl.dv.xs;x-internal:=true;version="@impl.version@";uses:="javax.xml.datatype,org.apache.xerces.impl.dv,org.apache.xerces.impl.xs,org.apache.xerces.impl.xs.util,org.apache.xerces.util,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.w3c.dom",org.apache.xerces.impl.io;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.util",org.apache.xerces.impl.msg;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.util",org.apache.xerces.impl.validation;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.dv,org.apache.xerces.util,org.apache.xerces.xni",org.apache.xerces.impl.xpath;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.util,org.apache.xerces.xni",org.apache.xerces.impl.xpath.regex;x-internal:=true;version="@impl.version@",org.apache.xerces.impl.xs;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.dom,org.apache.xerces.impl,org.apache.xerces.impl.dv,org.apache.xerces.impl.dv.xs,org.apache.xerces.impl.validation,org.apache.xerces.impl.xs.identity,org.apache.xerces.impl.xs.models,org.apache.xerces.impl.xs.util,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.w3c.dom,org.w3c.dom.ls",org.apache.xerces.impl.xs.identity;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.xpath,org.apache.xerces.impl.xs,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xs",org.apache.xerces.impl.xs.models;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.dtd.models,org.apache.xerces.impl.xs,org.apache.xerces.xni,org.apache.xerces.xni.parser",org.apache.xerces.impl.xs.opti;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl,org.apache.xerces.impl.dv,org.apache.xerces.impl.validation,org.apache.xerces.parsers,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.w3c.dom",org.apache.xerces.impl.xs.traversers;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.dv,org.apache.xerces.impl.xs,org.apache.xerces.impl.xs.util,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.parser,org.w3c.dom",org.apache.xerces.impl.xs.util;x-internal:=true;version="@impl.version@";uses:="org.apache.xerces.impl.xs,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.parser,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.w3c.dom.ls",org.apache.html.dom;version="@impl.version@";uses:="org.apache.xerces.dom,org.w3c.dom,org.w3c.dom.html,org.xml.sax",org.apache.wml;version="@impl.version@";uses:="org.w3c.dom",org.apache.wml.dom;version="@impl.version@";uses:="org.apache.wml,org.apache.xerces.dom,org.w3c.dom",org.apache.xerces.dom;version="@impl.version@";uses:="org.apache.xerces.dom3.as,org.apache.xerces.impl,org.apache.xerces.impl.dv,org.apache.xerces.impl.validation,org.apache.xerces.impl.xs,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.parser,org.apache.xerces.xs,org.w3c.dom,org.w3c.dom.events,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.traversal",org.apache.xerces.dom.events;version="@impl.version@";uses:="org.w3c.dom,org.w3c.dom.events,org.w3c.dom.views",org.apache.xerces.dom3.as;version="@impl.version@";uses:="org.w3c.dom,org.w3c.dom.ls",org.apache.xerces.jaxp;version="@impl.version@";uses:="javax.xml.parsers,javax.xml.validation,org.apache.xerces.parsers,org.apache.xerces.xs,org.w3c.dom,org.xml.sax,org.xml.sax.helpers",org.apache.xerces.jaxp.datatype;version="@impl.version@";uses:="javax.xml.datatype",org.apache.xerces.jaxp.validation;version="@impl.version@";uses:="javax.xml.transform,javax.xml.validation,org.apache.xerces.xni.grammars,org.w3c.dom.ls,org.xml.sax",org.apache.xerces.parsers;version="@impl.version@";uses:="org.apache.xerces.dom,org.apache.xerces.dom3.as,org.apache.xerces.impl,org.apache.xerces.impl.dtd,org.apache.xerces.impl.dv,org.apache.xerces.impl.validation,org.apache.xerces.impl.xs,org.apache.xerces.util,org.apache.xerces.xinclude,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.apache.xerces.xs,org.w3c.dom,org.w3c.dom.ls,org.xml.sax,org.xml.sax.ext",org.apache.xerces.stax;version="@impl.version@";uses:="javax.xml.namespace,javax.xml.stream,javax.xml.stream.events",org.apache.xerces.stax.events;version="@impl.version@";uses:="javax.xml.namespace,javax.xml.stream,javax.xml.stream.events",org.apache.xerces.util;version="@impl.version@";uses:="javax.xml.namespace,javax.xml.stream,org.apache.xerces.dom,org.apache.xerces.impl,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.w3c.dom,org.w3c.dom.ls,org.xml.sax,org.xml.sax.ext",org.apache.xerces.xinclude;version="@impl.version@";uses:="org.apache.xerces.impl,org.apache.xerces.util,org.apache.xerces.xni,org.apache.xerces.xni.parser,org.apache.xerces.xpointer",org.apache.xerces.xni;version="@impl.version@";uses:="org.apache.xerces.xni.parser",org.apache.xerces.xni.grammars;version="@impl.version@";uses:="org.apache.xerces.xni,org.apache.xerces.xni.parser,org.apache.xerces.xs",org.apache.xerces.xni.parser;version="@impl.version@";uses:="org.apache.xerces.xni",org.apache.xerces.xpointer;version="@impl.version@";uses:="org.apache.xerces.impl,org.apache.xerces.util,org.apache.xerces.xinclude,org.apache.xerces.xni,org.apache.xerces.xni.parser",org.apache.xerces.xs;version="@impl.version@";uses:="org.apache.xerces.xs.datatypes,org.w3c.dom,org.w3c.dom.ls",org.apache.xerces.xs.datatypes;version="@impl.version@";uses:="javax.xml.datatype,javax.xml.namespace,org.apache.xerces.xni,org.apache.xerces.xs",org.apache.xml.serialize;version="@impl.version@";uses:="org.apache.xerces.dom,org.apache.xerces.util,org.w3c.dom,org.w3c.dom.ls,org.xml.sax,org.xml.sax.ext",org.w3c.dom.html;version="@impl.version@";uses:="org.w3c.dom" ++Bundle-Name: @impl.name@ ++Bundle-Version: @impl.version@ + + Name: org/apache/xerces/impl/ + Comment: @impl.name@ diff --git a/SOURCES/xerces-j2-modulefix.patch b/SOURCES/xerces-j2-modulefix.patch new file mode 100644 index 0000000..b895e21 --- /dev/null +++ b/SOURCES/xerces-j2-modulefix.patch @@ -0,0 +1,12 @@ +diff -up ./build.xml.fix2 ./build.xml +--- ./build.xml.fix2 2020-06-24 14:11:03.342338406 -0400 ++++ ./build.xml 2020-06-24 14:14:03.000100028 -0400 +@@ -447,7 +447,7 @@ Authors: + author='true' version='true' + windowtitle='XML Standard API' doctitle='XML Standard API' + bottom='${copyright}' +- additionalparam='${additional.param}' ++ additionalparam='--patch-module jdk.xml.dom=${build.src}/org/w3c/dom/html ${additional.param}' + /> + + + + + 4.0.0 + + org.apache + apache + 4 + + + xerces + xercesImpl + 2.11.0 + Xerces2 Java Parser + + Xerces2 is the next generation of high performance, fully compliant XML parsers in the + Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), + a complete framework for building parser components and configurations that is extremely + modular and easy to program. + + + http://xerces.apache.org/xerces2-j + + + + xml-apis + xml-apis + 1.4.01 + + + + xml-resolver + xml-resolver + 1.2 + true + + + + + + + src + + + \ No newline at end of file diff --git a/SOURCES/xerces-j2-version.1 b/SOURCES/xerces-j2-version.1 new file mode 100644 index 0000000..bccee19 --- /dev/null +++ b/SOURCES/xerces-j2-version.1 @@ -0,0 +1,12 @@ +.TH XERCES-J2-VERSION 1 "08 April 2013" "xerces-2.11.0" "User commands" + +.SH NAME +xerces-j2-version \- display version of Xerces2 Java Parser + +.SH SYNOPSIS +.BR xerces-j2-version + +.SH DESCRIPTION + +Xerces-J2-Version prints version of Xerces2 Java Parser to standard +output. diff --git a/SPECS/xerces-j2.spec b/SPECS/xerces-j2.spec new file mode 100644 index 0000000..69bf6d0 --- /dev/null +++ b/SPECS/xerces-j2.spec @@ -0,0 +1,551 @@ +%define __requires_exclude system.bundle + +Name: xerces-j2 +Version: 2.12.1 +Release: 6%{?dist} +Summary: Java XML parser +# Most of the source is ASL 2.0 +# W3C licensed files: +# src/org/apache/xerces/dom3/as +# src/org/w3c/dom/html/HTMLDOMImplementation.java +License: ASL 2.0 and W3C +URL: http://xerces.apache.org/xerces2-j/ + +%global cvs_version %(tr . _ <<< %{version}) + +Source0: http://mirror.ox.ac.uk/sites/rsync.apache.org/xerces/j/source/Xerces-J-src.%{version}.tar.gz +Source11: %{name}-version.1 +Source12: %{name}-constants.1 + +# 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 + +Source7: %{name}-pom.xml + +# Patch the build so that it doesn't try to use bundled xml-commons source +Patch0: %{name}-build.patch + +# Patch the manifest so that it includes OSGi stuff +Patch1: %{name}-manifest.patch + +# Patch build.xml to patch modules as needed during javadoc generation +Patch2: %{name}-modulefix.patch + +BuildArch: noarch + +BuildRequires: javapackages-local +BuildRequires: ant +BuildRequires: apache-parent +BuildRequires: xml-commons-apis >= 1.4.01 +BuildRequires: xml-commons-resolver >= 1.2 +BuildRequires: java-devel + +Requires: xml-commons-apis >= 1.4.01 +Requires: xml-commons-resolver >= 1.2 +# Explicit javapackages-tools requires since scripts use +# /usr/share/java-utils/java-functions +Requires: javapackages-tools + +Provides: jaxp_parser_impl = 1.4 +Provides: %{name}-scripts = %{version}-%{release} + +Obsoletes: %{name}-scripts < 2.11.0-6 + +# This documentation is provided by xml-commons-apis +Obsoletes: %{name}-javadoc-apis < %{version}-%{release} + +# http://mail-archives.apache.org/mod_mbox/xerces-j-dev/201008.mbox/%3COF8D7E2F83.0271A181-ON8525777F.00528302-8525777F.0054BBE0@ca.ibm.com%3E +Obsoletes: %{name}-manual < %{version}-%{release} + +%description +Welcome to the future! Xerces2 is the next generation of high performance, +fully compliant XML parsers in the Apache Xerces family. This new version of +Xerces introduces the Xerces Native Interface (XNI), a complete framework for +building parser components and configurations that is extremely modular and +easy to program. + +The Apache Xerces2 parser is the reference implementation of XNI but other +parser components, configurations, and parsers can be written using the Xerces +Native Interface. For complete design and implementation documents, refer to +the XNI Manual. + +Xerces2 is a fully conforming XML Schema processor. For more information, +refer to the XML Schema page. + +Xerces2 also provides a complete implementation of the Document Object Model +Level 3 Core and Load/Save W3C Recommendations and provides a complete +implementation of the XML Inclusions (XInclude) W3C Recommendation. It also +provides support for OASIS XML Catalogs v1.1. + +Xerces2 is able to parse documents written according to the XML 1.1 +Recommendation, except that it does not yet provide an option to enable +normalization checking as described in section 2.13 of this specification. It +also handles name spaces according to the XML Namespaces 1.1 Recommendation, +and will correctly serialize XML 1.1 documents if the DOM level 3 load/save +APIs are in use. + +%package javadoc +Summary: Javadocs for %{name} + +# Consolidating all javadocs into one package +Obsoletes: %{name}-javadoc-impl < %{version}-%{release} +Obsoletes: %{name}-javadoc-xs < %{version}-%{release} +Obsoletes: %{name}-javadoc-xni < %{version}-%{release} +Obsoletes: %{name}-javadoc-other < %{version}-%{release} + +%description javadoc +This package contains the API documentation for %{name}. + +%package demo +Summary: Demonstrations and samples for %{name} +Requires: %{name} = %{version}-%{release} + +%description demo +%{summary}. + +%prep +%setup -n xerces-%{cvs_version} +%patch0 -p0 +%patch1 -p0 +%patch2 -p0 + +# Copy the custom ant task into place +mkdir -p tools/org/apache/xerces/util +mkdir -p tools/bin +cp -a %{SOURCE3} tools/org/apache/xerces/util + +# Make sure upstream hasn't sneaked in any jars we don't know about +find . \( -name '*.class' -o -name '*.jar' \) -delete + +sed -i 's/\r//' LICENSE README NOTICE + +# Disable javadoc linting +sed -i -e "s|additionalparam='|additionalparam='-Xdoclint:none |" build.xml + +# legacy aliases for compatability +%mvn_alias : xerces:xerces xerces:xmlParserAPIs apache:xerces-j2 +%mvn_file : %{name} jaxp_parser_impl + +%build +pushd tools + +# Build custom ant tasks +javac -classpath $(build-classpath ant) org/apache/xerces/util/XJavac.java +jar cf bin/xjavac.jar org/apache/xerces/util/XJavac.class + +jar cmf /dev/null serializer.jar +ln -sf $(build-classpath xml-commons-apis) xml-apis.jar +ln -sf $(build-classpath xml-commons-resolver) resolver.jar +popd + +# Build everything +export ANT_OPTS="-Xmx512m -Djava.awt.headless=true -Dbuild.sysclasspath=first -Ddisconnected=true" +ant -Djavac.source=1.8 -Djavac.target=1.8 \ + -Dbuild.compiler=modern \ + clean jars javadocs + +%mvn_artifact %{SOURCE7} build/xercesImpl.jar + +%install +%mvn_install + +# javadoc +mkdir -p %{buildroot}%{_javadocdir}/%{name} +mkdir -p %{buildroot}%{_javadocdir}/%{name}/impl +mkdir -p %{buildroot}%{_javadocdir}/%{name}/xs +mkdir -p %{buildroot}%{_javadocdir}/%{name}/xni +mkdir -p %{buildroot}%{_javadocdir}/%{name}/other + +cp -pr build/docs/javadocs/xerces2/* %{buildroot}%{_javadocdir}/%{name}/impl +cp -pr build/docs/javadocs/api/* %{buildroot}%{_javadocdir}/%{name}/xs +cp -pr build/docs/javadocs/xni/* %{buildroot}%{_javadocdir}/%{name}/xni +cp -pr build/docs/javadocs/other/* %{buildroot}%{_javadocdir}/%{name}/other + +# scripts +%jpackage_script org.apache.xerces.impl.Version "" "" %{name} %{name}-version 1 +%jpackage_script org.apache.xerces.impl.Constants "" "" %{name} %{name}-constants 1 + +# manual pages +install -d -m 755 %{buildroot}%{_mandir}/man1 +install -p -m 644 %{SOURCE11} %{buildroot}%{_mandir}/man1 +install -p -m 644 %{SOURCE12} %{buildroot}%{_mandir}/man1 + +# demo +install -pD -T build/xercesSamples.jar %{buildroot}%{_datadir}/%{name}/%{name}-samples.jar +cp -pr data %{buildroot}%{_datadir}/%{name} + +%post +# alternatives support removed in f26 +update-alternatives --remove jaxp_parser_impl %{_javadir}/%{name}.jar >/dev/null 2>&1 || : +# it deletes the link, set it up again +ln -sf %{name}.jar %{_javadir}/jaxp_parser_impl.jar + +%files -f .mfiles +%doc LICENSE NOTICE README +%{_bindir}/* +%{_mandir}/*/* + +%files javadoc +%{_javadocdir}/%{name} + +%files demo +%{_datadir}/%{name} + +%changelog +* Tue Aug 10 2021 Mohan Boddu - 2.12.1-6 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Mon Jun 28 2021 Mikolaj Izdebski - 2.12.1-5 +- Remove dependency on xalan-j2 +- Resolves: rhbz#1977007 + +* Fri Apr 16 2021 Mohan Boddu - 2.12.1-4 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Fri Mar 12 2021 Mat Booth - 2.12.1-3 +- Update OSGi metadata, use import-package instead of require-bundle + in order to avoid some tricky OSGi breakage on Java 11 + +* Wed Jan 27 2021 Fedora Release Engineering - 2.12.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Sep 14 2020 Jerry James - 2.12.1-1 +- Version 2.12.1 +- Drop upstreamed getcontentdocument patch +- Drop no longer used taglet sources +- Verify the source tarball +- Compute cvs_version so it doesn't have to be updated in sync with Version +- Build with JDK 11 +- Generate the scripts with jpackage_script + +* Wed Jul 29 2020 Fedora Release Engineering - 2.12.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Mat Booth - 2.12.0-8 +- Peg to Java 8 due to use of 'com.sun.tools.doclets.Taglet' that was removed in + Java 11 + +* Sat Jul 11 2020 Jiri Vanek - 2.12.0-7 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jun 24 2020 Mat Booth - 2.12.0-6 +- Turn off javadoc linting + +* Wed Jun 24 2020 Jeff Johnston - 2.12.0-5 +- Change to build using Java 11 +- Fix some impl classes that require getContentDocument() method +- Add a patch-module option for Javadoc generation + +* Fri Jan 31 2020 Fedora Release Engineering - 2.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Nov 19 2018 Marian Koncek - 2.12.0-1 +- Update to upstream version 2.12.0 + +* Fri Aug 03 2018 Michael Simacek - 2.11.0-34 +- Fix license tag to include W3C + +* Wed Aug 01 2018 Severin Gehwolf - 2.11.0-33 +- Add requirement on javapackages-tools since scripts use + java-functions. + +* Sat Jul 14 2018 Fedora Release Engineering - 2.11.0-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2.11.0-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Sep 23 2017 Mikolaj Izdebski - 2.11.0-30 +- Remove unneeded dependency on dejavu-sans-fonts + +* Thu Jul 27 2017 Fedora Release Engineering - 2.11.0-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 08 2017 Michael Simacek - 2.11.0-28 +- Fix missing jaxp_parser_impl symlink after upgrade + +* Thu Feb 23 2017 Michael Simacek - 2.11.0-27 +- Remove alternatives, there is no other provider +- Specfile cleanup + +* Thu Feb 23 2017 Michael Simacek - 2.11.0-26 +- Install with XMvn + +* Sat Feb 11 2017 Fedora Release Engineering - 2.11.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 2.11.0-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 2.11.0-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Sep 10 2014 Mat Booth - 2.11.0-22 +- Add patch for CVE-2013-4002, rhbz #1140031 +- Fix ownership of javadoc directory + +* Mon Aug 11 2014 Mikolaj Izdebski - 2.11.0-21 +- Workaround regression in %%add_maven_depmap -a parameter handling + +* Mon Aug 11 2014 Mikolaj Izdebski - 2.11.0-20 +- Add alias for apache:xerces-j2 + +* Sun Jun 08 2014 Fedora Release Engineering - 2.11.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 29 2014 Mikolaj Izdebski - 2.11.0-18 +- Use .mfiles generated during build + +* Tue Mar 04 2014 Stanislav Ochotnicky - 2.11.0-17 +- Use Requires: java-headless rebuild (#1067528) + +* Tue Aug 6 2013 Krzysztof Daniel 2.11.0-16 +- Fix FTBFS. + +* Sun Aug 04 2013 Fedora Release Engineering - 2.11.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 20 2013 Krzysztof Daniel 2.11.0-13 +- Add reexoport to javax.xml. + +* Mon Apr 8 2013 Mikolaj Izdebski - 2.11.0-13 +- Add manual pages + +* Fri Feb 15 2013 Fedora Release Engineering - 2.11.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Dec 17 2012 Alexander Kurtakov 2.11.0-11 +- Really restore dependencies. + +* Tue Dec 11 2012 Krzysztof Daniel 2.11.0-10 +- Restored dependencies to system.bundle and javax.xml. + +* Tue Sep 25 2012 Krzysztof Daniel 2.11.0-9 +- Remove javax.xml from required bundles. They are provided by JVM. + +* Sun Jul 22 2012 Fedora Release Engineering - 2.11.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Apr 18 2012 Krzysztof Daniel 2.11.0-7 +- Updated OSGi MANIFEST.MF to import javax.xml + +* Thu Mar 08 2012 Andrew Overholt - 2.11.0-6 +- Remove system.bundle OSGi requirement from MANIFEST.MF +- Fold -scripts sub-package into main + +* Tue Mar 06 2012 Marek Goldmann - 2.11.0-5 +- Use non-versioned jar name, RHBZ#800463 +- Cleanup in spec file to follow new guidelines +- Consolidated javadocs packages +- Removed manual subpackage because of stylebook issues, see comment on obsolete + +* Sat Jan 14 2012 Fedora Release Engineering - 2.11.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Feb 07 2011 Fedora Release Engineering - 2.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Dec 13 2010 Mat Booth 2.11.0-2 +- Install maven pom and depmap. + +* Sat Dec 11 2010 Mat Booth - 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 - 2.9.0-4 +- Fix broken links in manual and fix javadoc requires. +- Build 1.5 bytecode instead of 1.6, for compatibility. + +* Fri Jan 22 2010 Andrew Overholt - 2.9.0-3 +- Fix unversioned Provides for jaxp_parser_impl (make it 1.3). + +* Thu Jan 14 2010 Mat Booth - 2.9.0-2 +- Add a build dep on a font package because the JDK is missing a dependency + to function correctly in headless mode. See RHBZ #478480 and #521523. +- Fix groups. + +* Tue Jan 5 2010 Mat Booth - 2.9.0-1 +- Update to 2.9.0: This is the version Eclipse expects, previously the OSGi + manifest was lying about its version :-o +- Enable manual sub-package now xml-stylebook is in Fedora. +- Drop GCJ support. +- Minor changes to spec to make it more conforming to the guidelines. +- Drop the libgcj patch, we don't seem to need it anymore. +- Add the OSGi manifest as part of the build instead of the install. +- Fix packaging bug RHBZ #472646. + +* Mon Jul 27 2009 Fedora Release Engineering - 0:2.7.1-12.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 0:2.7.1-11.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Jan 30 2009 Alexander Kurtakov 0:2.7.1-10.3 +- Add osgi manifest. + +* Thu Jul 10 2008 Tom "spot" Callaway - 0:2.7.1-10.2 +- drop repotag +- fix license tag + +* Tue Feb 19 2008 Fedora Release Engineering - 0:2.7.1-10jpp.1 +- Autorebuild for GCC 4.3 + +* Wed Mar 28 2007 Matt Wringe 0:2.7.1-9jpp.1 +- Update with newest jpp version +- Clean up spec file for Fedora Review + +* Sun Aug 13 2006 Warren Togami 0:2.7.1-7jpp.2 +- fix typo in preun req + +* Sat Aug 12 2006 Matt Wringe 0:2.7.1-7jpp.1 +- Merge with upstream version + +* Sat Aug 12 2006 Matt Wringe 0:2.7.1-7jpp +- Add conditional native compiling +- Add missing requires for javadocs +- Add missing requires for post and preun +- Update version to 7jpp at Fedora's request + +* Sat Jul 22 2006 Jakub Jelinek - 0:2.7.1-6jpp_9fc +- Rebuilt + +* Wed Jul 12 2006 Jesse Keating - 0:2.7.1-6jpp_8fc +- rebuild + +* Thu Mar 30 2006 Fernando Nasser 0:2.7.1-3jpp +- Add missing BR for xml-stylebook + +* Wed Mar 22 2006 Ralph Apel 0:2.7.1-2jpp +- First JPP-1.7 release +- use tools subdir and give it as java.endorsed.dirs (for java-1.4.2-bea e.g.) + +* Mon Mar 6 2006 Jeremy Katz - 0:2.7.1-6jpp_7fc +- stop scriptlet spew + +* Wed Feb 22 2006 Rafael Schloming - 0:2.7.1-6jpp_6fc +- Updated to 2.7.1 + +* Fri Feb 10 2006 Jesse Keating - 0:2.6.2-6jpp_5fc +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 0:2.6.2-6jpp_4fc +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Thu Feb 2 2006 Archit Shah 0:2.6.2-6jpp_3fc +- build xerces without using native code + +* Mon Jan 9 2006 Archit Shah 0:2.6.2-6jpp_2fc +- rebuilt for new gcj + +* Wed Dec 21 2005 Jesse Keating 0:2.6.2-6jpp_1fc +- rebuilt for new gcj + +* Tue Dec 13 2005 Jesse Keating +- rebuilt for new gcj + +* Fri Oct 07 2005 Ralph Apel 0:2.7.1-1jpp +- Upgrade to 2.7.1 + +* Thu Jul 21 2005 Ralph Apel 0:2.6.2-7jpp +- Include target jars-dom3 +- Create new subpackage dom3 + +* Mon Jul 18 2005 Gary Benson 0:2.6.2-5jpp_2fc +- Build on ia64, ppc64, s390 and s390x. +- Switch to aot-compile-rpm (also BC-compiles samples). + +* Wed Jul 13 2005 Gary Benson 0:2.6.2-6jpp +- Build with Sun JDK (from ). + +* Wed Jun 15 2005 Gary Benson 0:2.6.2-5jpp_1fc +- Upgrade to 2.6.2-5jpp. + +* Tue Jun 14 2005 Gary Benson 0:2.6.2-5jpp +- Remove the tools tarball, and build xjavac from source. +- Patch xjavac to fix the classpath under libgcj too. + +* Fri Jun 10 2005 Gary Benson 0:2.6.2-4jpp_8fc +- Remove the tools tarball, and build xjavac from source. +- Replace classpath workaround to xjavac task and use + xml-commons classes again (#152255). + +* Thu May 26 2005 Gary Benson 0:2.6.2-4jpp_7fc +- Rearrange how BC-compiled stuff is built and installed. + +* Mon May 23 2005 Gary Benson 0:2.6.2-4jpp_6fc +- Add alpha to the list of build architectures (#157522). +- Use absolute paths for rebuild-gcj-db. + +* Thu May 5 2005 Gary Benson 0:2.6.2-4jpp_5fc +- Add dependencies for %%post and %%postun scriptlets (#156901). + +* Fri Apr 29 2005 Gary Benson 0:2.6.2-4jpp_4fc +- BC-compile. + +* Thu Apr 28 2005 Gary Benson 0:2.6.2-4jpp_3fc +- Revert xjavac classpath workaround, and patch to use libgcj's + classes instead of those in xml-commons (#152255). + +* Thu Apr 21 2005 Gary Benson 0:2.6.2-4jpp_2fc +- Add classpath workaround to xjavac task (#152255). + +* Wed Jan 12 2005 Gary Benson 0:2.6.2-4jpp_1fc +- Reenable building of classes that require javax.swing (#130006). +- Sync with RHAPS. + +* Mon Nov 15 2004 Fernando Nasser 0:2.6.2-4jpp_1rh +- Merge with upstream for 2.6.2 upgrade + +* Thu Nov 4 2004 Gary Benson 0:2.6.2-2jpp_5fc +- Build into Fedora. + +* Thu Oct 28 2004 Gary Benson 0:2.6.2-2jpp_4fc +- Bootstrap into Fedora. + +* Fri Oct 1 2004 Andrew Overholt 0:2.6.2-2jpp_4rh +- add coreutils BuildRequires + +* Thu Sep 30 2004 Andrew Overholt 0:2.6.2-2jpp_3rh +- Remove xml-commons-resolver as a Requires + +* Thu Aug 26 2004 Ralph Apel 0:2.6.2-4jpp +- Build with ant-1.6.2 +- Dropped jikes requirement, built for 1.4.2 + +* Wed Jun 23 2004 Kaj J. Niemi 0:2.6.2-3jpp +- Updated Patch #0 to fix breakage using BEA 1.4.2 SDK, new patch + from and . + +* Mon Jun 21 2004 Vivek Lakshmanan 0:2.6.2-2jpp_2rh +- Added new Source1 URL and added new %%setup to expand it under the + expanded result of Source0. +- Updated Patch0 to fix version discrepancies. +- Added build requirement for xml-commons-apis + +* Mon Jun 14 2004 Matt Wringe 0:2.6.2-2jpp_1rh +- Update to 2.6.2 +- made patch names comformant + +* Mon Mar 29 2004 Kaj J. Niemi 0:2.6.2-2jpp +- Rebuilt with jikes 1.18 for java 1.3.1_11 + +* Fri Mar 26 2004 Frank Ch. Eigler 0:2.6.1-1jpp_2rh +- add RHUG upgrade cleanup + +* Tue Mar 23 2004 Kaj J. Niemi 0:2.6.2-1jpp +- 2.6.2 + +* Thu Mar 11 2004 Frank Ch. Eigler 0:2.6.1-1jpp_1rh +- RH vacuuming +- remove jikes dependency +- add nonjikes-cast.patch