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 |