Initial import from Fedora

This commit is contained in:
Mikolaj Izdebski 2022-08-10 07:35:08 +02:00 committed by Stepan Oksanichenko
parent 13a6b4cafc
commit b80f52059e
10 changed files with 490 additions and 0 deletions

3
.gitignore vendored
View File

@ -0,0 +1,3 @@
/JDOM-2.0.5.tar.gz
/JDOM-2.0.6.tar.gz
/jdom2-2.0.6.tar.gz

1
.jdom2.metadata Normal file
View File

@ -0,0 +1 @@
d47a717b9ea4e9917652d4b80a669b5f55fe7639 jdom2-2.0.6.tar.gz

112
0001-Adapt-build.patch Normal file
View File

@ -0,0 +1,112 @@
From cf7e676edc7ab9d4b8b130ca4d8ecbd291995dea Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 20 Apr 2020 09:29:12 +0200
Subject: [PATCH] Adapt build
---
build.xml | 54 +++---------------------------------------------------
1 file changed, 3 insertions(+), 51 deletions(-)
diff --git a/build.xml b/build.xml
index cd7c2ed..16368e2 100644
--- a/build.xml
+++ b/build.xml
@@ -112,17 +112,7 @@ For instructions on how to build JDOM, please view the README.txt file.
<!-- Compilation class path -->
<path id="base.class.path">
- <pathelement location="${jaxen.jar}" />
- <pathelement location="${parser.jar}" />
- <pathelement location="${xmlapi.jar}" />
- <pathelement location="${junit.jar}" />
- <pathelement location="${isorelax.jar}" />
- <pathelement location="${xalan.jar}" />
- <pathelement location="${xalanser.jar}" />
- <!-- normally these stax jars will not be found -->
- <!-- this is used for testing Java5 (the test sets stax.dir) -->
- <pathelement location="${stax.dir}/jsr173_1.0_api.jar" />
- <pathelement location="${stax.dir}/sjsxp.jar" />
+ <fileset dir="${lib.dir}" includes="*.jar" />
</path>
<path id="core.class.path">
@@ -296,7 +286,7 @@ For instructions on how to build JDOM, please view the README.txt file.
<!-- =================================================================== -->
<!-- Creates the jars -->
<!-- =================================================================== -->
- <target name="jars" depends="compile, javadoc"
+ <target name="jars" depends="compile.core, javadoc"
description="Builds the Jars">
<fixcrlf srcdir="." includes="**/*.bat" excludes="build*.*" eol="crlf"/>
<fixcrlf srcdir="." includes="**/*.sh" excludes="build*.*" eol="lf"/>
@@ -316,21 +306,6 @@ For instructions on how to build JDOM, please view the README.txt file.
<fileset dir="${core.build}" includes="**/*.class" />
<fileset dir="${metainf.build}" excludes="**/MANIFEST.MF" />
</jar>
- <jar jarfile="${package}/${jarbase}-contrib.jar" >
- <fileset dir="${contrib.build}" includes="**/*" />
- <fileset dir="${metainf.build}" excludes="**/MANIFEST.MF" />
- </jar>
- <jar jarfile="${package}/${jarbase}-junit.jar" >
- <fileset dir="${junit.build}" includes="**/*" />
- <fileset dir="${metainf.build}" excludes="**/MANIFEST.MF" />
- </jar>
- <jar destfile="${package}/${jarbase}-javadoc.jar"
- basedir="${build.javadocs}" includes="**/*" />
- <jar jarfile="${package}/${jarbase}-sources.jar" >
- <fileset dir="${core.src}" includes="**/*" />
- <fileset dir="${junit.src}" includes="**/*" />
- <fileset dir="${contrib.src}" includes="**/*" />
- </jar>
</target>
@@ -500,7 +475,7 @@ For instructions on how to build JDOM, please view the README.txt file.
<delete dir="${mavendir}" includes="**/*" failonerror="false"/>
</target>
- <target name="maven" depends="maven.clean, package"
+ <target name="maven" depends="maven.clean, jars"
description="Prepares Maven bundle to load on to Sonatype Nexus for Maven-Central">
<mkdir dir="${mavendir}" />
<mkdir dir="${mavendir}/core" />
@@ -512,8 +487,6 @@ For instructions on how to build JDOM, please view the README.txt file.
<!-- copy the build jar -->
<copy tofile="${mavendir}/core/${mavenbase}.jar" file="${package}/${jarbase}.jar"/>
- <copy tofile="${mavendir}/core/${mavenbase}-javadoc.jar" file="${package}/${jarbase}-javadoc.jar"/>
- <copy tofile="${mavendir}/core/${mavenbase}-sources.jar" file="${package}/${jarbase}-sources.jar"/>
<!-- load the license in to the ${license} property -->
<loadfile property="license" srcfile="LICENSE.txt" />
@@ -528,27 +501,6 @@ For instructions on how to build JDOM, please view the README.txt file.
</filterset>
</copy>
- <exec dir="${mavendir}/core" executable="${gpg}">
- <arg value="-abv"/>
- <arg value="${mavenbase}.pom"/>
- </exec>
- <exec dir="${mavendir}/core" executable="${gpg}">
- <arg value="-abv"/>
- <arg value="${mavenbase}.jar"/>
- </exec>
- <exec dir="${mavendir}/core" executable="${gpg}">
- <arg value="-abv"/>
- <arg value="${mavenbase}-sources.jar"/>
- </exec>
- <exec dir="${mavendir}/core" executable="${gpg}">
- <arg value="-abv"/>
- <arg value="${mavenbase}-javadoc.jar"/>
- </exec>
-
- <jar destfile="${mavendir}/${mavenbase}-maven-bundle.jar"
- basedir="${mavendir}/core"
- includes="${mavenbase}*" excludes="*maven-bundle*" />
-
</target>
</project>
--
2.25.2

View File

@ -0,0 +1,36 @@
From 07f316957b59d305f04c7bdb26292852bcbc2eb5 Mon Sep 17 00:00:00 2001
From: Rolf Lear <rolf@tuis.net>
Date: Thu, 1 Jul 2021 23:56:47 -0400
Subject: [PATCH] Update test case to ensure DTD handling is OK again. Related
#188. Related #189
---
test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java b/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
index a69380ba..a35a1b90 100644
--- a/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
+++ b/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
@@ -101,6 +101,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
import org.jdom2.DefaultJDOMFactory;
import org.jdom2.Document;
import org.jdom2.EntityRef;
+import org.jdom2.JDOMConstants;
import org.jdom2.JDOMException;
import org.jdom2.JDOMFactory;
import org.jdom2.UncheckedJDOMFactory;
@@ -609,11 +610,12 @@ public void testSetExternalFeature() {
XMLReader reader = sb.createParser();
assertNotNull(reader);
assertTrue(reader.getFeature(feature));
+ assertNull(reader.getProperty(JDOMConstants.SAX_PROPERTY_DECLARATION_HANDLER));
sb.setFeature(feature, false);
reader = sb.createParser();
assertNotNull(reader);
assertFalse(reader.getFeature(feature));
-
+ assertNotNull(reader.getProperty(JDOMConstants.SAX_PROPERTY_DECLARATION_HANDLER));
} catch (Exception e) {
e.printStackTrace();
fail("Could not create parser: " + e.getMessage());

View File

@ -0,0 +1,69 @@
From bd3ab78370098491911d7fe9d7a43b97144a234e Mon Sep 17 00:00:00 2001
From: Esti <esther.burs@gmail.com>
Date: Thu, 18 Feb 2021 16:40:01 +0200
Subject: [PATCH] fix setFeature bug and add test case
---
core/src/java/org/jdom2/input/SAXBuilder.java | 10 ++++------
.../test/cases/input/TestSAXBuilder.java | 20 +++++++++++++++++++
2 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/core/src/java/org/jdom2/input/SAXBuilder.java b/core/src/java/org/jdom2/input/SAXBuilder.java
index d7105ec6..a1462334 100644
--- a/core/src/java/org/jdom2/input/SAXBuilder.java
+++ b/core/src/java/org/jdom2/input/SAXBuilder.java
@@ -971,11 +971,6 @@ protected void configureParser(final XMLReader parser, final SAXHandler contentH
}
}
- // Set any user-specified features on the parser.
- for (final Map.Entry<String, Boolean> me : features.entrySet()) {
- internalSetFeature(parser, me.getKey(), me.getValue().booleanValue(), me.getKey());
- }
-
// Set any user-specified properties on the parser.
for (final Map.Entry<String, Object> me : properties.entrySet()) {
internalSetProperty(parser, me.getKey(), me.getValue(), me.getKey());
@@ -1007,7 +1002,10 @@ protected void configureParser(final XMLReader parser, final SAXHandler contentH
// No lexical reporting available
}
}
-
+ // Set any user-specified features on the parser.
+ for (final Map.Entry<String, Boolean> me : features.entrySet()) {
+ internalSetFeature(parser, me.getKey(), me.getValue().booleanValue(), me.getKey());
+ }
}
/**
diff --git a/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java b/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
index 4ef34834..a69380ba 100644
--- a/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
+++ b/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
@@ -600,6 +600,26 @@ public void testSetFeature() {
}
}
+ @Test
+ public void testSetExternalFeature() {
+ String feature = "http://xml.org/sax/features/external-general-entities";
+ MySAXBuilder sb = new MySAXBuilder();
+ try {
+ sb.setFeature(feature, true);
+ XMLReader reader = sb.createParser();
+ assertNotNull(reader);
+ assertTrue(reader.getFeature(feature));
+ sb.setFeature(feature, false);
+ reader = sb.createParser();
+ assertNotNull(reader);
+ assertFalse(reader.getFeature(feature));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Could not create parser: " + e.getMessage());
+ }
+ }
+
@Test
public void testSetProperty() {
LexicalHandler lh = new LexicalHandler() {

4
bnd.properties Normal file
View File

@ -0,0 +1,4 @@
Bundle-Name=JDOM 2
Bundle-SymbolicName=org.jdom2
Export-Package=*
Import-Package=org.jaxen.*;resolution:=optional,*

View File

@ -0,0 +1,34 @@
From dd4f3c2fc7893edd914954c73eb577f925a7d361 Mon Sep 17 00:00:00 2001
From: Rolf Lear <rolf@tuis.net>
Date: Thu, 1 Jul 2021 23:42:05 -0400
Subject: [PATCH] Addresses #189 - synchronizes external entity expansion
setting
---
core/src/java/org/jdom2/input/SAXBuilder.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/core/src/java/org/jdom2/input/SAXBuilder.java b/core/src/java/org/jdom2/input/SAXBuilder.java
index a1462334..514b026d 100644
--- a/core/src/java/org/jdom2/input/SAXBuilder.java
+++ b/core/src/java/org/jdom2/input/SAXBuilder.java
@@ -82,6 +82,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
import org.jdom2.DocType;
import org.jdom2.Document;
import org.jdom2.EntityRef;
+import org.jdom2.JDOMConstants;
import org.jdom2.JDOMException;
import org.jdom2.JDOMFactory;
import org.jdom2.Verifier;
@@ -797,6 +798,11 @@ public void setFastReconfigure(final boolean fastReconfigure) {
public void setFeature(final String name, final boolean value) {
// Save the specified feature for later.
features.put(name, value ? Boolean.TRUE : Boolean.FALSE);
+ if (JDOMConstants.SAX_FEATURE_EXTERNAL_ENT.equals(name)) {
+ // See issue https://github.com/hunterhacker/jdom/issues/189
+ // And PR https://github.com/hunterhacker/jdom/pull/188
+ setExpandEntities(value);
+ }
engine = null;
}

22
generate-tarball.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
set -e
name=jdom2
version="$(sed -n 's/Version:\s*//p' *.spec)"
# RETRIEVE
wget "https://github.com/hunterhacker/jdom/archive/JDOM-${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
rm -rf tarball-tmp
mkdir tarball-tmp
pushd tarball-tmp
tar xf "../${name}-${version}.orig.tar.gz"
# CLEAN TARBALL
rm -r */lib */*/lib
find -name '*.jar' -delete
find -name '*.class' -delete
tar -czf "../${name}-${version}.tar.gz" *
popd
rm -r tarball-tmp "${name}-${version}.orig.tar.gz"

208
jdom2.spec Normal file
View File

@ -0,0 +1,208 @@
%bcond_with bootstrap
Name: jdom2
Version: 2.0.6
Release: 28%{?dist}
Summary: Java manipulation of XML made easy
License: Saxpath
URL: http://www.jdom.org/
# ./generate-tarball.sh
Source0: %{name}-%{version}.tar.gz
# Bnd tool configuration
Source3: bnd.properties
# Remove bundled jars that might not have clear licensing
Source4: generate-tarball.sh
# Use system libraries
# Disable gpg signatures
# Process contrib and junit pom files
Patch0: 0001-Adapt-build.patch
#
# Security patches
# P100 -> ...
#
# CVE-2021-33813
Patch100: bd3ab78370098491911d7fe9d7a43b97144a234e.patch
Patch101: dd4f3c2fc7893edd914954c73eb577f925a7d361.patch
Patch102: 07f316957b59d305f04c7bdb26292852bcbc2eb5.patch
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: javapackages-local
BuildRequires: ant
BuildRequires: ant-junit
%endif
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
%description
JDOM is a Java-oriented object model which models XML documents.
It provides a Java-centric means of generating and manipulating
XML documents. While JDOM inter-operates well with existing
standards such as the Simple API for XML (SAX) and the Document
Object Model (DOM), it is not an abstraction layer or
enhancement to those APIs. Rather, it seeks to provide a robust,
light-weight means of reading and writing XML data without the
complex and memory-consumptive options that current API
offerings provide.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n jdom-JDOM-%{version}
%patch0 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
sed -i 's/\r//' LICENSE.txt README.txt
# Unable to run coverage: use log4j12 but switch to log4j 2.x
sed -i.coverage "s|coverage, jars|jars|" build.xml
# XPath functionality is not needed
rm -rf core/src/java/org/jdom2/xpath/
sed -i '/import org.jdom2.xpath.XPathFactory/d' core/src/java/org/jdom2/JDOMConstants.java
%build
mkdir lib
%ant -Dversion=%{version} -Dcompile.source=1.7 -Dcompile.target=1.7 -Dj2se.apidoc=%{_javadocdir}/java maven
# Make jar into an OSGi bundle
# XXX disabled until BND is fixed
#bnd wrap --output build/package/jdom-%{version}.bar --properties %{SOURCE3} \
# --version %{version} build/package/jdom-%{version}.jar
#mv build/package/jdom-%{version}.bar build/package/jdom-%{version}.jar
%install
%mvn_artifact build/maven/core/%{name}-%{version}.pom build/package/jdom-%{version}.jar
%mvn_install -J build/apidocs
%files -f .mfiles
%doc CHANGES.txt COMMITTERS.txt README.txt TODO.txt
%license LICENSE.txt
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt
%changelog
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 2.0.6-27
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 02 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-25
- Bump Java compiler source/target levels to 1.7
* Thu Oct 14 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-24
- Add patches to address DoS security vulnerability
- Resolves CVE-2021-33813
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-22
- Bootstrap build
- Non-bootstrap build
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Sep 10 2020 Fabio Valentini <decathorpe@gmail.com> - 2.0.6-20
- Drop log4j12 dependency and switch junit module to log4j 1.2 API shim.
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun Jul 19 2020 Fabio Valentini <decathorpe@gmail.com> - 2.0.6-18
- Set javac source and target to 1.8 to fix Java 11 builds.
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 2.0.6-17
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Thu May 07 2020 Fabio Valentini <decathorpe@gmail.com> - 2.0.6-16
- Drop optional isorelax verifier support from contrib.
* Mon Apr 20 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-15
- Disable contrib module
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-14
- Mass rebuild for javapackages-tools 201902
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-13
- Mass rebuild for javapackages-tools 201901
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jul 23 2018 Michael Simacek <msimacek@redhat.com> - 2.0.6-12
- Repack tarball without bundled jars
- The repacked jar contains slightly different source (force push by upstream?)
- Correct license tag
* Tue Jul 17 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-11
- Remove unneeded buildrequires
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed May 31 2017 Michael Simacek <msimacek@redhat.com> - 2.0.6-7
- Avoid hardcoded jar paths
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Apr 14 2016 Mat Booth <mat.booth@redhat.com> - 2.0.6-6
- Add OSGi metadata to main jar
- Fix file listed twice warning
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Mar 24 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.6-3
- Remove unneeded BR on cobertura
* Fri Feb 06 2015 gil cattaneo <puntogil@libero.it> 2.0.6-2
- introduce license macro
* Tue Oct 21 2014 gil cattaneo <puntogil@libero.it> 2.0.6-1
- update to 2.0.6 (rhbz#1118627)
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 2.0.5-3
- Use Requires: java-headless rebuild (#1067528)
* Thu Nov 14 2013 gil cattaneo <puntogil@libero.it> 2.0.5-2
- use objectweb-asm3
* Thu Sep 12 2013 gil cattaneo <puntogil@libero.it> 2.0.5-1
- initial rpm

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (jdom2-2.0.6.tar.gz) = 1a38c882323339e94c36635e80635ecf8f66e4a1ed0228f68c11098b1282bd9043fdfec1b31196b79eea72495440ac175af50a0556439be5ba956238c32dd1ff