commit 56f0a3ab37d6b5386df51fcf6fd10f92fe143f33 Author: James Antill Date: Mon Aug 8 13:57:57 2022 -0400 Import rpm: 591f173be5112093c66f2d10ff88468a8f0c9a2a diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e7d104 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Xerces-J-src.2.11.0.tar.gz diff --git a/ExperimentalTaglet.java b/ExperimentalTaglet.java new file mode 100644 index 0000000..d3350fc --- /dev/null +++ b/ExperimentalTaglet.java @@ -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 "

" + HEADER + "

" + + "This class should not be considered stable. It is likely to be altered or replaced in the future.
" + + "" + arg0.text() + "
\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

" + HEADER + "

"; + result += "This class should not be considered stable. It is likely to be altered or replaced in the future."; + result += ""; + for (int i = 0; i < tags.length; i++) { + result += "
"; + result += tags[i].text(); + } + return result + "
\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); + } + +} diff --git a/InternalTaglet.java b/InternalTaglet.java new file mode 100644 index 0000000..54a5ca7 --- /dev/null +++ b/InternalTaglet.java @@ -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 "

" + HEADER + "

" + + "Usage of this class is not supported. It may be altered or removed at any time.
" + + "" + arg0.text() + "
\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

" + HEADER + "

"; + result += "Usage of this class is not supported. It may be altered or removed at any time."; + result += ""; + for (int i = 0; i < tags.length; i++) { + result += "
"; + result += tags[i].text(); + } + return result + "
\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); + } + +} diff --git a/KEYS b/KEYS new file mode 100644 index 0000000..f4e90d8 --- /dev/null +++ b/KEYS @@ -0,0 +1,358 @@ +This file contains the PGP keys of various Xerces developers. +Please don't use them for email unless you have to. Their main +purpose is code signing. + +This file is a shameless rip-off of the Xalan-J2 KEYS file. + +Xerces users: + If you use PGP: pgp < KEYS + If you use gpg: gpg --import < KEYS +Xerces developers: + If you use pgp: pgp -kxa and append it to this file. + If you use gpg: gpg --export -a >>KEYS should do the trick + +Name User ID +Neil Graham neilg@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.2 (Cygwin) + +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 +H39QDg== +=cl3K +-----END PGP PUBLIC KEY BLOCK----- + +Type Bits/KeyID User ID +pub 1024/24E8BBEE Neeraj Bajaj + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.0.0 (SunOS) +Comment: For info see http://www.gnupg.org + +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 +6RTxOw== +=tp/p +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Elena Litani elitani@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPfreeware 7.0.3 for non-commercial use + +mQGiBD6B6XERBADI6/tqCOVj8iEE/aUwJ7PJEYNfsnFpSixgSUX7/mRQfSwgwXN7 +PbDdnX8eEgMS4vaqQ1/ZaU4vrkNz3Hnxx5OwFY4yWExpgiLddNM9pfbmfVfY6Myc +Q9bm+hY0m+QxaU4U0mWX+Oy/RmwjzRn0AxdStgk0p6yUq8UtGkODgPjFfwCg/1Qb +arryQeoLuBrwwtID0jvky+UEALkVZfofk6obllSbhMYEqUaXhNxUBJItwxlq/WLc +GozTKykIeJOJ6XIXrfRqHFDevzSMPKBXZ/cqddnjnfjN2Z+WQ6TUhEQ4NRqvLYKr +KExvloiM1DzhA41lT1yP2/kJikMT0ADMn2/Tz7977tpqiuXCx+4ysRJbLPmooz3T +QEwEA/9tRRb5HMQ2wxxuGvRH1cwl9iplSKlqUNvJHnSPIQEjdiSvDsDN96u7wIB7 +rMg5VjMIyutVk5PfE+HcbxUaTbwT/4bnxCJQKcE7kpt+9lEdJf0EZz3c/c9bJ07J +U+sCw2UhDKKYW2j7HtYi/jCMkiOHhaXaciRGb9wGzW5ZEUoTxLQhRWxlbmEgTGl0 +YW5pIDxlbGl0YW5pQGNhLmlibS5jb20+iQBYBBARAgAYBQI+gelxCAsDCQgHAgEK +AhkBBRsDAAAAAAoJEF5nmKh11QWsA7EAn2TK8gEg30EgMTUFxmcYELfSN/CUAJ9k +UGoD5mnueyK92OELrJBzVRXdcbkCDQQ+gelyEAgA9kJXtwh/CBdyorrWqULzBej5 +UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1 +WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01ue +jaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJ +I8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaG +xAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwAC +Agf+JRs4i2DeeMXxOOP+aDNRm32IFOXvtYqtQePfdb9sbjaDM4oOp50YBq3TePHy +3Nzyfn3BN7FeaGaD6v1BYUcHGQpZG6rotY9qtkKaT3jTZxPaSK4lyHJqoMebezVY +qn5iAjKTIqiGIqwwbGYtKI+GxdE/AcOx7jUIWisKtBW0TljhGXx4jf9Rz+bVCqpy +YNXttjIMVFpCozJa+afZMUrzJRHNNcskogN3ap4IxJ/1dgdmhg3Tt5fepPCkhBfM +kROj1dQ8hxsilWBWanaGSg1J5UKC4o//msX07/OeEe9iKauSvuvacmwYen3TJJ5w +b6XqoLDw5jAPAq+DK5GHK/7MeokATAQYEQIADAUCPoHpcgUbDAAAAAAKCRBeZ5io +ddUFrNX+AKCv46VtO/gE670uvU3riSGPuu3vhwCfaZqngs2FjDhIigdV7w812RfS +ias= +=2mxx +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Michael Glavassevich mrglavas@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGP 8.0.3 - not licensed for commercial use: www.pgp.com + +mQGiBEAX4Q4RBAD/gIkxuOTVes5ccPoI16wPPHwwlEtar0VprlAdwqW5n+FvIvVL +cX+dkJGmWM6A2GcFLSjlV4vbvelabhasooCHzs/gMb138+xSYhBgipHgJAzo6Vw3 +iH2+ujZRwXhnt0st0ALQhNjIal8T9zB4QMXlLheYyHOTXKX26nbTIepSpwCg/w1x +EPl2yfNpB59eA5VlOAz5768D/2HmYGsADKrOopA59DzMlLRDq6f7ehPuMmHFW6It +ToY6uBzTHHdYPP+HJ1e8vBnmAfP1Tw1NIEXTa76TyLtIoYcqhajZzPNO7nIwqYrr +UOc713TFXA6m8QvWjZYwGrchkLBXjKqTwtJSSzmH9MhwfHWt902ea1OusWtyoNZD +QI7GBADNB9rWekuJ77Mds+xI12G+x0zeOshvIIL8pIerWlPdyhaVgs2GRt+/BVoD +G/e+3gT5vFV+paTu7Rh1QphEWoQXwClLWNSkivky+G9o2xTCRlURZ7KylwYI9lKd +JwEiQX7nhYyuSC8Y5FyD9S6BNohUhJTfBAAGEr1d4EHOKnZ+3rQqTWljaGFlbCBH +bGF2YXNzZXZpY2ggPG1yZ2xhdmFzQGNhLmlibS5jb20+iQBXBBARAgAXBQJAF+EO +BwsJCAcDAgoCGQEFGwMAAAAACgkQHcMB3HRezqq7jQCgm/LQ9LbfY5nag8ZWygkr +KEHGjGgAn0zQgj51GqNGaJx7aA3HgC5Z1krzuQINBEAX4Q4QCAD2Qle3CH8IF3Ki +utapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l +6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9 +kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIiz +HHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgR +jXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Je +w1XpMgs7AAICB/9/JpIHcuOeMW+l1jZuUQCGIW+Aa5pB/s0x6eS1xoP24eEk9xgC +NPVt3pfHRtBh9kQpcvTr5y+sU0G4o2+vrJreld1KKWMwz2NhnSmbBZ8EdQLniuKW +mRXLWpMlxq6aP5hEzqu73NsayYNZB7aWY9y0Oz7RpDJ3ggcK38U6DN49drDnfoqO +cUjMhpV3OaN/yP77dA99AgTMt4TzzCCqxH9DVmDzTsdh+GTNPC+Tv1Rm0kpgvHDf +SF4+VKmcGh1iCk5AvLaQIO8FpcnPyS68BjVPGKTkKwcWsCDhJELmrAtOWwq5MwAH ++0F+3MOa7DeROltIcLO7M5Jw6qituFd6jS/2iQBMBBgRAgAMBQJAF+EOBRsMAAAA +AAoJEB3DAdx0Xs6q9hQAoMrWVVJkcnuZ0RsbEEsaqt88V682AKChXsOpysIu7Wpw +xbl01xpkXrsTpQ== +=ONzc +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Michael Glavassevich mrglavas@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGP 8.1 - not licensed for commercial use: www.pgp.com + +mQGiBEK8beERBAD/AP2jAbggMPiFgeG26HijyIiDNfcWkmQomU4MyVUk3eILG3wp +d/ebNvgkThirNTr8qddRWLmjMn3uEOEF471l+seh7gya9Xuu4V1Xbet8YIgGdwA6 +hmREwjK2OqeMgr8Cz/frkMarAwDNebT2qZ7WtnGQCAlROyFRGAwcU1JrmwCg/6I/ +uMgcALMsut7OUGpA39ack+sD/2/k712eGLzqy6WHqCx2+gTki2C2ADwdH3h6/IVj +t9BH3AidO+gafz8Wv5Wu7Ok9NRXfvlpp03o+n0fCu3ZFDHrhxZpANLD7sW2nL4UH +8AzBHsQU7NCiZ+WG5yE7lCYzQNQwo00kkFonkY+o512uSDoUmhQTSe1eiWISfNSW +NKnRBAClys3dwWtfQ0MsX3OW4A7nZXq90Kxt1oMxpE48aG8MEL8oYqelsnRDYYN/ +JGSXi8JeKQyp/2rcocNJP+FaDe023rMzXRTyPOlY4GS5FVB433hU1/ZdG2Bis9f1 +szW+i3vbw22N2uHRsvmnf1dmaXBKRcxCxsO9qQRNzA4wg7Jq4rQqTWljaGFlbCBH +bGF2YXNzZXZpY2ggPG1yZ2xhdmFzQGNhLmlibS5jb20+iQBdBBARAgAdBQJCvG3h +BwsJCAcDAgoCGQEFGwMAAAAFHgEAAAAACgkQ/UnAesCSaxNzIgCcCV+HNMY5uvD8 +fgjKSzqDvpGQ3gMAoKjuemz8st3QH+6SVQ2AQP6IdtZRuQINBEK8beEQCAD2Qle3 +CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSG +SfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJ +Zv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgN +RR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv88 +4bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsi +GSa6q6Jew1XpMgs7AAICCADYC32Mp6Rza1Z4mTZK6Run1e+w23K8jNxSN3kRSbAd +nKlonYpBQRw/5JwbYNFXriqDtsrJYhGBb1caaRyDlegAinXWnRq6o+kkLLemZQOo +qOW1FIOjWLV6bKbQO+8/2zh8ukGm+uTiljMyOj5g5Y55h47u0hKObP9O/JX4ZTb+ +xCMNmlapOdGQqiHy0SwfYs0eB9roQeLpPF8cA6HX/CrmwjwZzmTNk5nXE63VH9fJ +DVYKr3GDajD33VSV8BMlFscKpIJSsILvfCZJY/qmZcpgSZOBfqDTDB1xQBHsR/CT +cRI6Ri6WFDmBPAavFhB/QLcwRcTfMRkIeaLc34E5tW7UiQBMBBgRAgAMBQJCvG3h +BRsMAAAAAAoJEP1JwHrAkmsTJCsAn3AT5PPocZARQWNClJxnePPSAkbdAKCaWftI +fy7m79rRrQiANKiR07P/lw== +=LVTd +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Michael Glavassevich mrglavas@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.7 (MingW32) + +mQGiBEbWMhMRBAD5U3GTlWqDDcujai7oBKzOSa6AtBAuef6hCjMaMmwbrNbqUHap +WfYizDACuCi5Rwu+yRENcEYAACnMvG6J5rR5Dxkx7Q5DxTPgiFzYhveIHkMV+CHh +SvzaDzNad6e+jDNFPkJqPNCq2LCi5yk1EpxROsU2H2OIH9ciyF5lHUrAhwCgxhyR +W2G2fsn0NKc4d4XWLal3bM0D/jCg0ZsBsHfz+V1d2ykkAafph6Tl2UisGWfOhyEf +bSZg75SciOEgWpoM2417J85M2zNFIuTsyCeHaG1Pq4tZuRm8DSSK6cIFYxZUTLhJ +udWARJoP+cxGf+a4c3meW3KoL8dCgJR8mwgDVSl/lVG31M12z0FEwAL4vrGErQiy +HbgdA/9N/ecGHenlq1JnEh2OxBg2ABHMnTI3/+OFiWVEc6AaC/YoPaPe35/zmmQS +917qv372x7I8OuG37uEKyBfVCJjUcYfrcI63rUCFke5hG8Pj2b+nWxsT5/xnLRB+ +7s4KMTatpbix9SqRuFwxj6JNAeF1CcKg0BXIMR9sbMd0JOda2rRHTWljaGFlbCBH +bGF2YXNzZXZpY2ggKEFwYWNoZSBSZWxlYXNlIFNpZ25pbmcgS2V5KSA8bXJnbGF2 +YXNAY2EuaWJtLmNvbT6IYAQTEQIAIAUCRtYyEwIbAwYLCQgHAwIEFQIIAwQWAgMB +Ah4BAheAAAoJELTgVQIKfLQtqKsAn3YKGksIZDvbodbaIaYSRNEGHEiuAJ4p4d8+ +1ju0nORgP+0PI/kS6Jz8kbkCDQRG1jITEAgAwlVpq8nJqsG9y/UYAFYBh75ez1/z +BRz6PV/eJhlE4Kp464Wp4dvcwtM9HPhPU+95N8l96iZilPlcNFnCe8n3GuKVifw7 +t+4fIYGf3KnOdTmBZ0rq3sfAFNSJao5EM0tyPgBCkJR+0nC5spVMEbbwrcPRegNV +aTZx4n2gkOl76c7GpIBtylem29Wqh5k8SLn3go0M+mnvQQVRL2khB8Qxy7hF1WQI +z/UkFcHSm+vPhPpCcva/8lmUDXxuwS2pHvLmH0ACDuX9RBBjc3xGJDMg94IW6GwO +4w92h5Bgs217+VM7lVc6T/sWLC323xo5ZjvMBE5oi1kCUhWRztWrmXCYlwADBQf+ +KuxrNev6sYDasv9NII98trfiBrGUDy4j8d/XC5ey0bNXtkzcACfcIi+tEFwmKirc +n0BjoLOOmBMzSTOyVkynn6mNJyp+uUjU86J5WtdV4jX3msM1FG4dj//XhrvJRs89 +pNCGr4Tw29bMWVNT6Wta6WdUMmS3amhyJyh3ITCeHxskr0UQbBX65oTPQS8bkpOu +0WhCt8epmndwZO9BCuk8xdz3mh8nHX2pr+74K0M5Sr/nFer9bpZQNUR0bxEBhFpL +m5hkzGEakX6PyjNawLIvHc25AUt2wmC31L72tqVBpe6oxNk8U9RFKezcr/TbPMdY +C9hoXLlS6jPNXQ1vPO1rF4hJBBgRAgAJBQJG1jITAhsMAAoJELTgVQIKfLQtDfkA +oKUN6E+lbfqj5NIpuw4/oCnzeJ+1AKCh/HyMBMwXZwVulxPNNnV8uCqc6w== +=A/7H +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Michael Glavassevich mrglavas@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.9 (Cygwin) + +mQINBEsh3ukBEADQTZRcZ+Fzyb4fWqhV5egIC8BTP54fjBcv9HKfC4IJxCaK5n/n +GV9uuxv37LPNtZw9WxI8MLBJh0I3lu4PnrTvbcCVgP3NXlzFvdzY5n5FKQN62i+R +6DbKehdd/QNlW0plxhVr3z6ZC2QH/EKRY0yJDcqT958Qz2BuPhXqYc+qlPtXAyPz +2vE0aWsOZ6/7CJ7inLnh+0oVo1mJdtUYAVtoVwzQ6P7zcwvJDvwUaLUG9U0or46i +46SNk2hTRK0q7KcFpEyv+6b1lbezZVWLN1tZjCITN8FHwf16cOMJF0XO/4fsCBQJ +BCtZ9x5A6eCsDlWFCPd0BMDcPVDsB83AhujZo00g5H12oWVcxNUnlxSJ5ou7zRtq +T4RJ7mpB7IM6g4zASJMgUkkuMnsQ9d+Bv8o9wC5lCDTEjN779ZxcctCmbBs6blgo +4q9hYvAJYSkBOSfx+TRPuAYk9WK4elp8yq/XIrB1k7seKfTesROSf5Td5f988OpA +jdyHhdp+HKstgktOkIvtDHQKgrsaKy5mHKqrWOA/mLL/Yw1p2IJkpBnGz8r/8mPD +ecWrenRiT0E/us+D7tpHi84DrpfTS6niPaM4FgoigbCsdK/0T6IJ6uXVOPHdbpnL +k5JDRYercy57tlaPwEHJITPe0FDP4zKJ+Jq28UYFRbPWDPcZJhPrUKA5IwARAQAB +tD1NaWNoYWVsIEdsYXZhc3NldmljaCAoQ09ERSBTSUdOSU5HIEtFWSkgPG1yZ2xh +dmFzQGFwYWNoZS5vcmc+iQI2BBMBAgAgBQJLId7pAhsDBgsJCAcDAgQVAggDBBYC +AwECHgECF4AACgkQlEOAhCOKWlZifhAAhEkzKFOPkwJ58vy47jwMQa7/iAMs3gNN +zNYcNcn6Vj3n/gTa5IlWrcjx2VnZviSW13lwry7DmudfO/qeU0JsJr4mk8Kwj5mh +GFa5r/gt+dnOW/iFy8lEaJUI4vcXVZa4QK310d+Loat4ac0i0Nkioeiomix5RaQv +A+I4m7qJpo6V112d/0/GCVJADwFm/5sbDhreUV4H8zIIkhH47YZKejEUArO3Teqn +4Ym6ES/25qv/wiDSuuQOwIBymYIHCVam42VUHdbUHEjFZF7v5A1qjvdymZBtMGK2 +nfQCLUHpX6ACq+icwShLG4CDK4+zYdN0bTwI20VbLlFzFScjVga21Dqkdaw1bIvn +cSmAXwrSKbFIdsdnsq9lnTqSszs5AyXQZ2Iq0iGk73L/CJemtgp9gwf3dp03WXQG +5LCuTiRb/MWcgAPoG2KVEHRjE3KYGxEQ/OgIHxwDiDnvyvukjkpV/O/9A9LAga+5 +f7J22ih9g0ILbSbX0N9PWpvESD0fskAT6awlcvvyFacOm4tcYveMRESyT6/ZJWAm +t/DlHcxLshX0RQZCETV/HO1C59twuds6MEbs3rTaFsKryz5Vo4/AQSsz46eDZze3 +XZ8y4FLHAkgrptHfoV39kyjJHmIMOAkx6S1YIvswTU0hF9SrxfrslyF9SwxYNuHt +Q/M+Mf7tVQ4= +=NDBw +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Ankit Pasricha ankitp@ca.ibm.com +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.5 (MingW32) + +mQGiBEGP1U8RBACPJQLl8jBRDI4sVA2DHySLPIJNjdgACMLnXk3wh8o35kW0rG1g +z0H+lIk8PwG1yjIUsd/V53zIR4+FwwaGGj9NloKWzRxTXmIPeUTKuIZUSUcrgEHI +Yjn2geVK7757zyzcDccXDmKibe9c02YNxPQvLEw4fhmq8GuThmdp+p937wCgiQLl +cokwmXs1m6hO8blCG/McHY8D/R8ObwatEBTmsyAHtufQTn1jPK6mB3fQqtb/54z9 +T6pX4Qy1+c9yBo4lb/FuC+IuV85VF6bwswPlgbrDELaQcz0/F8vJZMr05WNpBFav +iU/OQzHAJjWgjW0oT307Zxo5G6RDlpaGmAx19gUVWj/m2CWlj/jVCwbTIzZ0JqKy +d4nAA/44KvN0kwTjySX7EtvnCwsj0UHUordK7YohRS9BIdSij848a1i81mfdyZEf +8D8PwpNTINCmIwllvGgTuwH46068OFKrnhLEnDv7Ij4ZwL/WB+wQQr+KgXVIXkE7 +6jrZs59lTwLjYDk9qqQIDko4o4FwYxMbV6JiyqvdfAsAJrZks7QiQW5raXQgUGFz +cmljaGEgPGFua2l0cEBjYS5pYm0uY29tPoheBBMRAgAeBQJBj9VPAhsDBgsJCAcD +AgMVAgMDFgIBAh4BAheAAAoJEI+v7Zyh+3vctP8An0cCChX7MR+LslpTe9MDa9Sg +7D6RAJ92iCJMrqUTdnntZbCl4Tn9KDXrvbkBDQRBj9VTEAQAr4VUT8kmc/7/ygmA +ajSV3QBtg6WedHfx2GwvLMmfAEZ2jiSZ0o4OUHPtRFZmcx0CwQElTeMnHbEhr82I +4HQzwxcoKh7SpMNrMBzdmUbgYpBFOaiTpMe9JTSPw/bNRPAO84CCKKJZztI05bBY +8LeF0lECV3MV7lgGeUs/2xEojEcAAwUEAJHNgiuuurfhxcegHkwSHPD+qTOT+/cW +Gfhkg8MLxAoZtZnPWhfdnRadRxW5LfRGqn+yyI6HvW4LpXU+AGxKnimmovT6nEqJ +up55DsMbuwxO+RPL09+lHgySf5h+EYiNBRogPzzPVIHDsVFsNzEBIWXY6vsfK8iC +wQTy0MP7qPXUiEkEGBECAAkFAkGP1VMCGwwACgkQj6/tnKH7e9w1MACeKZme/d9N +mXu+1q755Iu7+Ke+/LgAn2BLQWBFsDmmWyPMfJlwTPoHLC+F +=2zre +-----END PGP PUBLIC KEY BLOCK----- + +Name User ID +Mukul Gandhi mukulg@apache.org +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.2.6 (Windows) + +mQINBFrVrw4BEADaSqFLnW5IvKF7CaJXHpz2K94WTZr5vXg8sGE5r7XTi+91BqrU +VCVanxkKs/dEy7O0QAnkGNaF6nT/deHZVU6FGTUVcj7GtDXd/8Upj5H5Yhkvf8nO +U50U/W427OuLAbtKK06zUXQQq7jNUC5DEQNOA2amqKsSGCzeLticjOB/PIaFSAE7 +vLYPXdVZVA0/+c8tI98vt0LH/dC0FK8Q/YQLGLvDrrnkLqZ8Q/G27BYvJA0uBVvD +7oC7uivXE87Qqy489DWI/zTciVgm8LwwOOgACVc0WzkHI9qX/Dmc27CjowCacW8O ++8VS1QVpq61L7y6vCg8dnL78Y3E+0MbvbVz7MpJKb9f7hxNHg6UwUVHweR+o2oXV +75EMHQDN1vRWJ0gQgGOU479jECp1Iu52T2cL6qr5QDnmwb8G4LZUp3edJmlGQ+DO +kSXJSSG+LtwdmwB/MwwyP6u7PKLKzE5Vn+zXyfJq5IHQmh9QlBatPcRrzFmKg4o1 +vI23xe09edfqSRPEfpLTa3h1CZPSOcu/93SteENslFKQ5SZIOyXK3RTz4jjJ6gMD +W9FKGq5ntUTZHWiXJdxtr1cnt/SKJOsUK2OwTgD13EPYFonckbrPst4OSFFWUkba +zIiENlbgkRKnQC06/bnBAfLC4h3W9AxxseVLVD7COB9fbJzGcLCsyo7mewARAQAB +tDNNdWt1bCBHYW5kaGkgKENPREUgU0lHTklORyBLRVkpIDxtdWt1bGdAYXBhY2hl +Lm9yZz6JAk4EEwEIADgWIQRNj7Vy+2rc/WnL/g17JYamteJcPQUCWtWvDgIbAwUL +CQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRB7JYamteJcPelTEAChRbuWaFsbJMs/ +qQNO0ALcqAKZvjnzB2Ne3qjYBT/3ptq86HSOBbuT1T/YAKUPN+ETR9Y7ib05x2qN +pcLOhJJTNApNPcczNXKLokn4fojv70wFykRsm0OPp4/+gvtY9d/c7OPEIv1nLxOP +zV7IJUX6JEXMuuUBAQ8XNFjy9ObRmQ3JTM3dvtsXNMqwpcsF3p4YvTTq7M3wKEJk +J+d6DV48t0YNjDSmboZ1eb8NbBo6xGAUb42RuolJ8PtanDRjSUgCHPqSjn4x5F0H +W/+kdoFybORCMCrVdKh1x4/8MLWLToC3aIaY1Dw51p9Li64NGHsxCBur1wlX/hAZ +99Zy0GJcayuv9BPRG5lHraIwI0MhpYzmWL6xcOTOyWUOl8U5M/uaMkXlCS6WXdjz +SrJx29y+1dH6mykRTjIQTBa+fsH7duJjiXlo9L8AYbXX6BiwImNiLHVdx6XHwEKP +qDnQNuUFWuj4I2sU7Di0NNPpNemyDvGFlLd+472qD1K3M6ck0BMN+qp5n1gMcwUr +X8cW40PBp5N14nghGiMVzA8QwcU62MCgu5Wo5yITKrZS3rf5vncRFNZ0yA49JqyF +ypTWsJRE5iDIWYCvsQd0fICudxU5zRkaMlIUr8Yz+MjDITZ0YeDLrNDtyU+IE20W +NpNXkhMSUHy6Vz772b3ejQt7Dg1Nd7kCDQRa1a8OARAA6tfcOXamaYMCf9bX6w9Q +ggrmLmVJEUYbjMMlqg7jn1uatI1Fl0YPey1SJCKV52fc0OxX6+7iXlJhLc8q+tsx +/9ojgbEetm85qlFBs7A2x1F/G4nXOi1LJbxDvytXonSn0YSKXpV7zLHnFz2/9KuK +gi7YH41RmvYf/enLh2D8cZMApBfdaB+ZfiooMg7Flr9AHpqk5/UrV4vQZ1mkiiT+ +EXar5rygRP4DZKgBow6RWsJnDE2FKCh4UFzcjeQ0IGhh0iIldCT32jwJB8HDPamQ ++1WAiEzzCH0OOZ1yxiyVSXor+KFpmtnaJlWzUJMm/K6W/6aD9sikY1pA8bfOC0gz +BU7/FZ76rGHgfDAL136lqUzQ54BXdmhM/hTv9VBmZ5JHbjm6xdF9Msr/QI7sRbms +mgjqOF6IJk4vD7u4sIRYQlHJSsxJyBCu3sbKlHv4RZ/Pun6Sxj1fxO/NisQX3sdm +pMwtZSCaBnx/Xlm/DRQKHhWhRcZ+4efeIWY1WcBvH/LgZYJhi5p9PxSLYvtjY83H +iFH1k1v+fZk5c06iwYB3WQJkUfjXIWAPbSHuVuQLq2eZN1Slkd1BncSFYEEgtFl8 +I+UwmrqBTdONMRGkLjezrjnFa1uSBiEHnyyD6PMP3PPsFzqSEYh/E1Kna7jtaJky +ZD5SpLdlvFnS4dYOzzGwhY8AEQEAAYkCNgQYAQgAIBYhBE2PtXL7atz9acv+DXsl +hqa14lw9BQJa1a8OAhsMAAoJEHslhqa14lw9hOgQAJXFChQ394HeivVGTP3Lc0fY +WOBceE9+8xWn6gjFf2SOVlSW7TlBrOGBwAzgeGDWKAP5Js/S2i8LlxTzWA0n7t1T +zMEstkIjEEm5rkSdZ6GkSXQuQkEuiD9fVq8wMjdOKcgRzPq5CUYBFoOPm4r1ZMBc +uMg4fFn3nIHLALdi8hjeJENsl7e9cf7pct9ZmMARgF9jFPPcZbpu7THNgheXnxYW +bzYMNHVV9NkmZA1nJcGTLXao8i0dIQwFyg91cyTfc5iI7EQP+SXUACiOWlZ6GO2S +EcY6CR4g4obg9lBzEPs2uiDRdxWLyD66gbP2XDGPiAsg8LM43Wxa4hDPjXHp9Pig +tPfamxqdl13a8JvbS9hX6wvqS5dbrJfRuxejjGG+LI2cAcWSnT1gCQJWEnxXdzkh +Y6E4aiI6xNw7Xek7rL7DJKe3bVcMcUKI7rLQJor6Gq9ESuTbe73eJdkWTK1cWSWs +StTfzMWwq22VjOZCHz7p/h5zQvuj+oeeJb1wdMn65FjRp6VCmZFwUAphV4tS/Ihe +vVJJKMjIMdUrqDwRhUlt2JLIcjQov00nJ6/SC5AAY5m9jB0LhIHNvXHXPrfxeNEH +otQEdxhoQJS4bxa+pEztFxSkOyHLYya53TVZmGDPW1oMnghHKMA9FLvypQU3CsXM +6CMlHiO/MH1/Ktz2a7NW +=hMIE +-----END PGP PUBLIC KEY BLOCK----- diff --git a/XJavac.java b/XJavac.java new file mode 100644 index 0000000..72d10d7 --- /dev/null +++ b/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/gating.yaml b/gating.yaml new file mode 100644 index 0000000..d6b7694 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,8 @@ +--- !Policy +product_versions: + - rhel-9 +decision_contexts: + - osci_compose_gate +rules: + # https://docs.engineering.redhat.com/display/RHELPLAN/Maven+Bootstrap+manual+gating+test + - !PassingTestCaseRule {test_case_name: manual.sst_cs_apps.maven.bootstrap} diff --git a/sources b/sources new file mode 100644 index 0000000..8e0b7d7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA1 (Xerces-J-src.2.11.0.tar.gz) = c57f0251ce9246c6026aa9f92241f37108f7141f diff --git a/xerces-j2-CVE-2013-4002.patch b/xerces-j2-CVE-2013-4002.patch new file mode 100644 index 0000000..a2f5516 --- /dev/null +++ b/xerces-j2-CVE-2013-4002.patch @@ -0,0 +1,47 @@ +--- src/org/apache/xerces/impl/XMLScanner.java 2013/07/03 18:25:06 1499505 ++++ src/org/apache/xerces/impl/XMLScanner.java 2013/07/03 18:29:43 1499506 +@@ -542,7 +542,7 @@ + // document is until we scan the encoding declaration + // you cannot reliably read any characters outside + // of the ASCII range here. -- mrglavas +- String name = fEntityScanner.scanName(); ++ String name = scanPseudoAttributeName(); + XMLEntityManager.print(fEntityManager.getCurrentEntity()); + if (name == null) { + reportFatalError("PseudoAttrNameExpected", null); +@@ -599,6 +599,35 @@ + } // scanPseudoAttribute(XMLString):String + + /** ++ * Scans the name of a pseudo attribute. The only legal names ++ * in XML 1.0/1.1 documents are 'version', 'encoding' and 'standalone'. ++ * ++ * @return the name of the pseudo attribute or null ++ * if a legal pseudo attribute name could not be scanned. ++ */ ++ private String scanPseudoAttributeName() throws IOException, XNIException { ++ final int ch = fEntityScanner.peekChar(); ++ switch (ch) { ++ case 'v': ++ if (fEntityScanner.skipString(fVersionSymbol)) { ++ return fVersionSymbol; ++ } ++ break; ++ case 'e': ++ if (fEntityScanner.skipString(fEncodingSymbol)) { ++ return fEncodingSymbol; ++ } ++ break; ++ case 's': ++ if (fEntityScanner.skipString(fStandaloneSymbol)) { ++ return fStandaloneSymbol; ++ } ++ break; ++ } ++ return null; ++ } // scanPseudoAttributeName() ++ ++ /** + * Scans a processing instruction. + *

+ *

diff --git a/xerces-j2-build.patch b/xerces-j2-build.patch
new file mode 100644
index 0000000..dde254c
--- /dev/null
+++ b/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 @@
+     
+ 
+-    
+-    
+-        
+-    
+-    
+     
+     
+@@ -1231,30 +1206,6 @@
+     
+     
+- 
+-    
+-    
+-        
+-    
+ 
+ 
+     
diff --git a/xerces-j2-constants.1 b/xerces-j2-constants.1
new file mode 100644
index 0000000..86c7e54
--- /dev/null
+++ b/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/xerces-j2-constants.sh b/xerces-j2-constants.sh
new file mode 100644
index 0000000..e722360
--- /dev/null
+++ b/xerces-j2-constants.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+# 
+# Xerces-J2 constants script
+# JPackage Project (http://www.jpackage.org/)
+# $Id: xerces-j2-constants.sh,v 1.3 2005/05/26 14:21:22 gbenson Exp $
+
+# Source functions library
+. /usr/share/java-utils/java-functions
+
+# Configuration
+MAIN_CLASS=org.apache.xerces.impl.Constants
+
+# Set parameters
+set_jvm
+export CLASSPATH=$(build-classpath xerces-j2)
+set_flags $BASE_FLAGS
+set_options $BASE_OPTIONS
+
+# Let's start
+run "$@"
diff --git a/xerces-j2-manifest.patch b/xerces-j2-manifest.patch
new file mode 100644
index 0000000..524e8ec
--- /dev/null
+++ b/xerces-j2-manifest.patch
@@ -0,0 +1,17 @@
+--- src/manifest.xerces.orig	2010-11-26 22:42:07.000000000 +0200
++++ src/manifest.xerces	2012-12-17 11:11:52.200392844 +0200
+@@ -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;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@ 
diff --git a/xerces-j2-modulefix.patch b/xerces-j2-modulefix.patch
new file mode 100644
index 0000000..b895e21
--- /dev/null
+++ b/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/xerces-j2-version.1 b/xerces-j2-version.1
new file mode 100644
index 0000000..bccee19
--- /dev/null
+++ b/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/xerces-j2-version.sh b/xerces-j2-version.sh
new file mode 100644
index 0000000..bd5e7c2
--- /dev/null
+++ b/xerces-j2-version.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+# 
+# Xerces-J2 version script
+# JPackage Project (http://www.jpackage.org/)
+# $Id: xerces-j2-version.sh,v 1.3 2005/05/26 14:21:22 gbenson Exp $
+
+# Source functions library
+. /usr/share/java-utils/java-functions
+
+# Configuration
+MAIN_CLASS=org.apache.xerces.impl.Version
+
+# Set parameters
+set_jvm
+export CLASSPATH=$(build-classpath xerces-j2)
+set_flags $BASE_FLAGS
+set_options $BASE_OPTIONS
+
+# Let's start
+run "$@"
diff --git a/xerces-j2.spec b/xerces-j2.spec
new file mode 100644
index 0000000..5f416bf
--- /dev/null
+++ b/xerces-j2.spec
@@ -0,0 +1,505 @@
+%global cvs_version 2_11_0
+
+%define __requires_exclude system.bundle
+
+Name:          xerces-j2
+Version:       2.11.0
+Release:       34%{?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/
+
+Source0:       http://mirror.ox.ac.uk/sites/rsync.apache.org/xerces/j/source/Xerces-J-src.%{version}.tar.gz
+Source1:       %{name}-version.sh
+Source2:       %{name}-constants.sh
+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
+
+# Custom doclet tags used in javadocs
+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
+
+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
+
+# Backported fix from upstream http://svn.apache.org/viewvc?view=revision&revision=1499506
+# See https://bugzilla.redhat.com/show_bug.cgi?id=1140031
+Patch2:        xerces-j2-CVE-2013-4002.patch
+
+BuildArch:     noarch
+
+BuildRequires: javapackages-local
+BuildRequires: ant
+BuildRequires: apache-parent
+BuildRequires: xalan-j2 >= 2.7.1
+BuildRequires: xml-commons-apis >= 1.4.01
+BuildRequires: xml-commons-resolver >= 1.2
+
+Requires:      xalan-j2 >= 2.7.1
+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 -q -n xerces-%{cvs_version}
+%patch0 -p0 -b .orig
+%patch1 -p0 -b .orig
+%patch2 -p0 -b .orig
+
+# Copy the custom ant tasks into place
+mkdir -p 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
+find -name '*.class' -exec rm -f '{}' \;
+find -name '*.jar' -exec rm -f '{}' \;
+
+sed -i 's/\r//' LICENSE README NOTICE
+
+# 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
+
+# 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-serializer) serializer.jar
+ln -sf $(build-classpath xml-commons-apis) xml-apis.jar
+ln -sf $(build-classpath xml-commons-resolver) resolver.jar
+ln -sf $(build-classpath xerces-j2) x.jar
+popd
+
+# Build everything
+export ANT_OPTS="-Xmx256m -Djava.endorsed.dirs=$(pwd)/tools -Djava.awt.headless=true -Dbuild.sysclasspath=first -Ddisconnected=true"
+ant -Djavac.source=1.5 -Djavac.target=1.5 \
+    -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
+install -pD -m755 -T %{SOURCE1} %{buildroot}%{_bindir}/%{name}-version
+install -pD -m755 -T %{SOURCE2} %{buildroot}%{_bindir}/%{name}-constants
+
+# 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 suppoort 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
+* 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