Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/dom4j/files/, dev-java/dom4j/
Date: Sat, 17 Jul 2021 12:09:18
Message-Id: 1626523743.fdefd7b25414d9e57612fb8b43c28e7e6e65ce4d.fordfrog@gentoo
1 commit: fdefd7b25414d9e57612fb8b43c28e7e6e65ce4d
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Mon May 17 13:24:31 2021 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Sat Jul 17 12:09:03 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdefd7b2
7
8 dev-java/dom4j: bump to 2.1.3 (CVE-2020-10683)
9
10 Bug: https://bugs.gentoo.org/719318
11 rewritten with java-pkg-simple.eclass
12 introducing "jaxen" USE flag
13
14 Package-Manager: Portage-3.0.18, Repoman-3.0.2
15 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
16 Closes: https://github.com/gentoo/gentoo/pull/21319
17 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
18
19 dev-java/dom4j/Manifest | 2 +
20 dev-java/dom4j/dom4j-2.1.3.ebuild | 75 ++++++++++++++++++++++
21 .../dom4j-2.1.3-xpp3-add-removeAttribute.patch | 47 ++++++++++++++
22 dev-java/dom4j/metadata.xml | 3 +
23 4 files changed, 127 insertions(+)
24
25 diff --git a/dev-java/dom4j/Manifest b/dev-java/dom4j/Manifest
26 index a5c57e59200..8913db1a98e 100644
27 --- a/dev-java/dom4j/Manifest
28 +++ b/dev-java/dom4j/Manifest
29 @@ -1,2 +1,4 @@
30 DIST dom4j-1.6.1-java5.patch.bz2 2900 BLAKE2B cdd7dc901f5292af3ef7f0ea200c3d22bbc8c0adc27606da3c8fbadc44625b114c995321723dca331f0b23d5248e1f9177f0def2f4138eebcbd4aaac0495d4dd SHA512 38da606d77b62976366cd089e5194a922e348ec396e7b9af4dceb0a536c47f66e0900cfa59c91df04aade6076630077a8f88c713b9c20224d69316109b293a96
31 DIST dom4j-1.6.1.tar.gz 9687211 BLAKE2B 3daa3729ea071aa87c7c1e1e2b91f1635109774dd2bd564a85265a0286f1369373084b945409d9d5213d66a7e14224033d42c58d80125b7982eef8961eb29248 SHA512 95c5a7105a81734f77b4bf27f8bb0af116bf43d8ad5297a0902a6687a54109a87dffe2953cf430d14947cdaa590aa0fdf083b46a91d1d98d48431cfae4459d94
32 +DIST dom4j-2.1.3.tar.gz 565918 BLAKE2B d6f8c9ae22f84086491ca7e60e5498edda727b219b4fe019da8f62a441dc3cea86ecf0554e32f8e717e21234b8ef8e2905946ab3722462f1fa748ad7e68e9e20 SHA512 8c4d7b4f2dd1b3f806e0d5103101998a094c31e9a4912539dcee32f24b35452c7f0d72c5f4cf55f8a8c9a416fee7284f9bca43ae56b0e66104b2b54fdb49ad96
33 +DIST jaxen-1.2.0.jar 232455 BLAKE2B 6bd16e8ac34f3af1b9d61218dc6a29862178516cfbb98c6834bf6db846b537e44b48db6ff578b3d67d32c3e2b142e44440a2fdcc6dc06a6ea427b04e6bf1f370 SHA512 cad582fc12d0741e9e6fd7e0cf80a50feb04f5ef42043df96f8a5b78476c77695d8b43836d2241f76b35676ea759921edd25eaeb2c04ec916eb138aa2901ce5f
34
35 diff --git a/dev-java/dom4j/dom4j-2.1.3.ebuild b/dev-java/dom4j/dom4j-2.1.3.ebuild
36 new file mode 100644
37 index 00000000000..46f4b495689
38 --- /dev/null
39 +++ b/dev-java/dom4j/dom4j-2.1.3.ebuild
40 @@ -0,0 +1,75 @@
41 +# Copyright 1999-2021 Gentoo Authors
42 +# Distributed under the terms of the GNU General Public License v2
43 +
44 +# Skeleton command:
45 +# java-ebuilder --generate-ebuild --workdir . --pom dom4j-2.1.3.pom --download-uri https://github.com/dom4j/dom4j/archive/refs/tags/version-2.1.3.tar.gz --slot 1 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild dom4j-2.1.3.ebuild
46 +
47 +EAPI=7
48 +
49 +JAVA_PKG_IUSE="doc source test"
50 +MAVEN_ID="org.dom4j:dom4j:2.1.3"
51 +JAVA_TESTING_FRAMEWORKS="testng"
52 +
53 +inherit java-pkg-2 java-pkg-simple
54 +
55 +DESCRIPTION="flexible XML framework for Java"
56 +HOMEPAGE="https://dom4j.github.io/"
57 +SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/version-${PV}.tar.gz -> ${P}.tar.gz
58 + https://repo1.maven.org/maven2/jaxen/jaxen/1.2.0/jaxen-1.2.0.jar"
59 +
60 +LICENSE="dom4j"
61 +SLOT="1"
62 +KEYWORDS="~amd64 ~x86"
63 +IUSE="jaxen"
64 +
65 +CDEPEND="
66 + dev-java/jaxb-api:2
67 + dev-java/xpp2:0
68 + dev-java/xpp3:0
69 + dev-java/xsdlib:0
70 + jaxen? ( dev-java/jaxen:1.2[dom4j] )
71 +"
72 +DEPEND="${CDEPEND}
73 + >=virtual/jdk-1.8:*
74 + test? ( dev-java/xerces:2 )
75 +"
76 +
77 +# Runtime dependencies
78 +# POM: ${P}.pom
79 +# javax.xml.bind:jaxb-api:2.2.12 -> !!!groupId-not-found!!!
80 +# javax.xml.stream:stax-api:1.0-2 -> java-virtuals/stax-api:0
81 +# jaxen:jaxen:1.1.6 -> >=dev-java/jaxen-1.2.0:1.2
82 +# net.java.dev.msv:xsdlib:2013.6.1 -> >=dev-java/xsdlib-20090415:0
83 +# pull-parser:pull-parser:2 -> >=dev-java/xpp2-2.1.10:0
84 +# xpp3:xpp3:1.1.4c -> >=dev-java/xpp3-1.1.4c:0
85 +
86 +RDEPEND="${CDEPEND}
87 + >=virtual/jre-1.8:*
88 +"
89 +
90 +PATCHES=(
91 + # XmlStartTag.java:31: error: ProxyXmlStartTag is not abstract and does not override abstract method removeAttributeByRawName
92 + # patch from https://github.com/dom4j/dom4j/pull/22
93 + "${FILESDIR}"/dom4j-2.1.3-xpp3-add-removeAttribute.patch
94 +)
95 +
96 +S="${WORKDIR}/${PN}-version-${PV}"
97 +
98 +# dom4j has a cyclic dependency on jaxen[dom4j].
99 +# The downloaded jaxen-1.2.0.jar is provided for compilation only.
100 +# No prebuilt software is actually installed onto the system.
101 +JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/jaxen-1.2.0.jar"
102 +JAVA_GENTOO_CLASSPATH="jaxb-api-2,xpp2,xpp3,xsdlib"
103 +JAVA_SRC_DIR="src/main/java"
104 +
105 +JAVA_TEST_GENTOO_CLASSPATH="testng,xerces-2"
106 +JAVA_TEST_SRC_DIR="src/test/java"
107 +JAVA_TEST_RESOURCE_DIRS="xml"
108 +
109 +src_prepare() {
110 + default
111 +
112 + if use jaxen; then
113 + JAVA_GENTOO_CLASSPATH+=" jaxen-1.2"
114 + fi
115 +}
116
117 diff --git a/dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch b/dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch
118 new file mode 100644
119 index 00000000000..a58a06dfcd6
120 --- /dev/null
121 +++ b/dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch
122 @@ -0,0 +1,47 @@
123 +diff --git a/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java b/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java
124 +index 08b88fc..aa27c10 100644
125 +--- a/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java
126 ++++ b/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java
127 +@@ -211,7 +211,7 @@ public class ProxyXmlStartTag implements XmlStartTag {
128 + * @throws XmlPullParserException
129 + * DOCUMENT ME!
130 + */
131 +- public void removeAtttributes() throws XmlPullParserException {
132 ++ public void removeAttributes() throws XmlPullParserException {
133 + if (element != null) {
134 + element.setAttributes(new ArrayList());
135 +
136 +@@ -221,6 +221,33 @@ public class ProxyXmlStartTag implements XmlStartTag {
137 + }
138 + }
139 +
140 ++ public boolean removeAttributeByName(String namespaceURI, String localName) throws XmlPullParserException {
141 ++ if (element != null) {
142 ++ for (Iterator<Attribute> iter = element.attributeIterator(); iter.hasNext();) {
143 ++ Attribute attribute = iter.next();
144 ++
145 ++ if (namespaceURI.equals(attribute.getNamespaceURI())
146 ++ && localName.equals(attribute.getName())) {
147 ++ return element.remove(attribute);
148 ++ }
149 ++ }
150 ++ }
151 ++ return false;
152 ++ }
153 ++
154 ++ public boolean removeAttributeByRawName(String rawName) throws XmlPullParserException {
155 ++ if (element != null) {
156 ++ for (Iterator<Attribute> iter = element.attributeIterator(); iter.hasNext();) {
157 ++ Attribute attribute = iter.next();
158 ++
159 ++ if (rawName.equals(attribute.getQualifiedName())) {
160 ++ return element.remove(attribute);
161 ++ }
162 ++ }
163 ++ }
164 ++ return false;
165 ++ }
166 ++
167 + public String getLocalName() {
168 + return element.getName();
169 + }
170
171 diff --git a/dev-java/dom4j/metadata.xml b/dev-java/dom4j/metadata.xml
172 index 2d873897cf3..cdff47537f0 100644
173 --- a/dev-java/dom4j/metadata.xml
174 +++ b/dev-java/dom4j/metadata.xml
175 @@ -5,6 +5,9 @@
176 <email>java@g.o</email>
177 <name>Java</name>
178 </maintainer>
179 + <use>
180 + <flag name="jaxen">Includes org.jaxen.dom4j package</flag>
181 + </use>
182 <longdescription>
183 Easy to use, open source library for working with XML, XPath and
184 XSLT on the Java platform using the Java Collections Framework