Hello community,
here is the log from the commit of package xmlgraphics-fop for openSUSE:Factory
checked in at 2018-12-07 14:32:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xmlgraphics-fop (Old)
and /work/SRC/openSUSE:Factory/.xmlgraphics-fop.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xmlgraphics-fop"
Fri Dec 7 14:32:54 2018 rev:38 rq:655909 version:2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/xmlgraphics-fop/xmlgraphics-fop.changes
2018-11-20 22:30:56.198651236 +0100
+++
/work/SRC/openSUSE:Factory/.xmlgraphics-fop.new.19453/xmlgraphics-fop.changes
2018-12-07 14:33:00.163249576 +0100
@@ -1,0 +2,12 @@
+Thu Dec 6 21:54:53 UTC 2018 - Fridrich Strba <[email protected]>
+
+- Bring back the java-devel/java requirements to >= 1.8; we will
+ fix the ByteBuffer/CharBuffer compatibilities as they arise.
+- Modified patch:
+ * java8-compatibility.patch
+ + Fix fix ByteBuffer/CharBuffer incompatibilities with java8
+ Cast all the java.nio.ByteBuffer and java.nio.CharBuffer
+ instances to java.nio.Buffer before calling the clear(),
+ flip(), limit(int), mark(), reset() and rewind() methods.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xmlgraphics-fop.spec ++++++
--- /var/tmp/diff_new_pack.n0gYtH/_old 2018-12-07 14:33:01.515247899 +0100
+++ /var/tmp/diff_new_pack.n0gYtH/_new 2018-12-07 14:33:01.519247894 +0100
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -48,7 +48,7 @@
BuildRequires: apache-pdfbox
BuildRequires: avalon-framework
BuildRequires: docbook-xsl-stylesheets
-BuildRequires: java-devel-openjdk >= 9
+BuildRequires: java-devel >= 1.8
# Needed for maven conversions
BuildRequires: javapackages-local
BuildRequires: javapackages-tools
@@ -64,7 +64,7 @@
Requires: apache-commons-logging
Requires: apache-pdfbox
Requires: avalon-framework
-Requires: java >= 9
+Requires: java >= 1.8
Requires: xml-commons-apis >= 1.3
Requires: xmlgraphics-batik >= 1.8
Requires: xmlgraphics-commons >= 2.1
++++++ java8-compatibility.patch ++++++
--- /var/tmp/diff_new_pack.n0gYtH/_old 2018-12-07 14:33:01.543247864 +0100
+++ /var/tmp/diff_new_pack.n0gYtH/_new 2018-12-07 14:33:01.543247864 +0100
@@ -1,5 +1,91 @@
+--- fop-2.1/src/java/org/apache/fop/afp/fonts/CharactersetEncoder.java
2016-01-07 15:13:29.000000000 +0100
++++ fop-2.1/src/java/org/apache/fop/afp/fonts/CharactersetEncoder.java
2018-12-06 23:18:14.815791853 +0100
+@@ -21,6 +21,7 @@
+
+ import java.io.IOException;
+ import java.io.OutputStream;
++import java.nio.Buffer;
+ import java.nio.ByteBuffer;
+ import java.nio.CharBuffer;
+ import java.nio.charset.CharacterCodingException;
+@@ -68,7 +69,7 @@
+ if (bb.hasArray()) {
+ return getEncodedChars(bb.array(), bb.limit());
+ } else {
+- bb.rewind();
++ ((Buffer)bb).rewind();
+ byte[] bytes = new byte[bb.remaining()];
+ bb.get(bytes);
+ return getEncodedChars(bytes, bytes.length);
+--- fop-2.1/src/java/org/apache/fop/area/AreaTreeParser.java 2016-01-07
15:13:29.000000000 +0100
++++ fop-2.1/src/java/org/apache/fop/area/AreaTreeParser.java 2018-12-06
23:18:14.815791853 +0100
+@@ -24,6 +24,7 @@
+ import java.awt.geom.Rectangle2D;
+ import java.io.FileNotFoundException;
+ import java.io.IOException;
++import java.nio.Buffer;
+ import java.nio.CharBuffer;
+ import java.util.List;
+ import java.util.Map;
+@@ -322,7 +323,7 @@
+ throws SAXException {
+ lastAttributes = new AttributesImpl(attributes);
+ Maker maker = makers.get(localName);
+- content.clear();
++ ((Buffer)content).clear();
+ ignoreCharacters = true;
+ if (maker != null) {
+ ignoreCharacters = maker.ignoreCharacters();
+@@ -353,7 +354,7 @@
+ Maker maker = makers.get(localName);
+ if (maker != null) {
+ maker.endElement();
+- content.clear();
++ ((Buffer)content).clear();
+ }
+ ignoreCharacters = true;
+ } else {
+@@ -798,7 +799,7 @@
+ boolean reversed =
XMLUtil.getAttributeAsBoolean(lastAttributes, "reversed", false);
+ int[][] gposAdjustments
+ =
XMLUtil.getAttributeAsPositionAdjustments(lastAttributes, "position-adjust");
+- content.flip();
++ ((Buffer)content).flip();
+ WordArea word = new WordArea(
+ offset, level, content.toString().trim(), letterAdjust,
+ null, gposAdjustments, reversed);
+@@ -818,7 +819,7 @@
+ int offset = XMLUtil.getAttributeAsInt(lastAttributes,
"offset", 0);
+ //TODO the isAdjustable parameter is currently not
used/implemented
+ if (content.position() > 0) {
+- content.flip();
++ ((Buffer)content).flip();
+ boolean adjustable =
XMLUtil.getAttributeAsBoolean(lastAttributes, "adj", true);
+ int level = XMLUtil.getAttributeAsInt(lastAttributes,
"level", -1);
+ SpaceArea space = new SpaceArea(offset, level,
content.charAt(0), adjustable);
+@@ -1207,17 +1208,17 @@
+ // allocate a larger buffer and transfer content
+ CharBuffer newContent
+ = CharBuffer.allocate(this.content.position() +
length);
+- this.content.flip();
++ ((Buffer)(this.content)).flip();
+ newContent.put(this.content);
+ this.content = newContent;
+ }
+ // make sure the full capacity is used
+- this.content.limit(this.content.capacity());
++ ((Buffer)(this.content)).limit(this.content.capacity());
+ // add characters to the buffer
+ this.content.put(ch, start, length);
+ // decrease the limit, if necessary
+ if (this.content.position() < this.content.limit()) {
+- this.content.limit(this.content.position());
++ ((Buffer)(this.content)).limit(this.content.position());
+ }
+ }
+ }
--- fop-2.1/src/java/org/apache/fop/fo/FOText.java 2016-01-07
15:13:29.000000000 +0100
-+++ fop-2.1/src/java/org/apache/fop/fo/FOText.java 2018-04-05
12:06:45.984476031 +0200
++++ fop-2.1/src/java/org/apache/fop/fo/FOText.java 2018-12-06
23:21:33.412845154 +0100
@@ -20,6 +20,7 @@
package org.apache.fop.fo;
@@ -8,16 +94,14 @@
import java.nio.CharBuffer;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
-@@ -120,7 +121,7 @@
- charBuffer = CharBuffer.allocate(newLength);
- } else {
- // allocate a larger buffer, and transfer contents
-- int requires = charBuffer.position() + length;
-+ int requires = ((Buffer)charBuffer).position() + length;
- int capacity = charBuffer.capacity();
- if (requires > capacity) {
- int newCapacity = capacity * 2;
-@@ -134,11 +135,11 @@
+@@ -128,17 +129,17 @@
+ newCapacity = requires;
+ }
+ CharBuffer newBuffer = CharBuffer.allocate(newCapacity);
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
+ newBuffer.put(charBuffer);
+ charBuffer = newBuffer;
}
}
// extend limit to capacity
@@ -31,50 +115,64 @@
}
/**
-@@ -162,7 +163,7 @@
- // not really removing, just make sure the char buffer
+@@ -150,7 +151,7 @@
+ if (this.charBuffer == null) {
+ return null;
+ }
+- this.charBuffer.rewind();
++ ((Buffer)(this.charBuffer)).rewind();
+ return this.charBuffer.asReadOnlyBuffer().subSequence(0,
this.charBuffer.limit());
+ }
+
+@@ -163,9 +164,9 @@
// pointed to is really a different one
if (charBuffer != null) {
-- ft.charBuffer = CharBuffer.allocate(charBuffer.limit());
-+ ft.charBuffer =
CharBuffer.allocate(((Buffer)charBuffer).limit());
- charBuffer.rewind();
+ ft.charBuffer = CharBuffer.allocate(charBuffer.limit());
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
ft.charBuffer.put(charBuffer);
- ft.charBuffer.rewind();
-@@ -219,7 +220,7 @@
- */
- public boolean willCreateArea() {
- if (whiteSpaceCollapse == Constants.EN_FALSE
-- && charBuffer.limit() > 0) {
-+ && ((Buffer)charBuffer).limit() > 0) {
- return true;
+- ft.charBuffer.rewind();
++ ((Buffer)(ft.charBuffer)).rewind();
+ }
+ }
+ ft.prevFOTextThisBlock = null;
+@@ -197,7 +198,7 @@
+ /** {@inheritDoc} */
+ public void endOfNode() throws FOPException {
+ if (charBuffer != null) {
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
+ }
+ super.endOfNode();
+ getFOEventHandler().characters(this);
+@@ -224,7 +225,7 @@
}
-@@ -278,7 +279,7 @@
- charBuffer.rewind();
+ char ch;
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
+ while (charBuffer.hasRemaining()) {
+ ch = charBuffer.get();
+ if (!((ch == CharUtilities.SPACE)
+@@ -232,7 +233,7 @@
+ || (ch == CharUtilities.CARRIAGE_RETURN)
+ || (ch == CharUtilities.TAB))) {
+ // not whitespace
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
+ return true;
+ }
+ }
+@@ -275,7 +276,7 @@
+ return;
+ }
+
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
CharBuffer tmp = charBuffer.slice();
char c;
-- int lim = charBuffer.limit();
-+ int lim = ((Buffer)charBuffer).limit();
- int pos = -1;
- while (++pos < lim) {
- c = charBuffer.get();
-@@ -522,13 +523,13 @@
-
- /** {@inheritDoc} */
- public boolean hasNext() {
-- return (this.currentPosition < charBuffer.limit());
-+ return (this.currentPosition < ((Buffer)charBuffer).limit());
- }
-
- /** {@inheritDoc} */
- public char nextChar() {
-
-- if (this.currentPosition < charBuffer.limit()) {
-+ if (this.currentPosition < ((Buffer)charBuffer).limit()) {
- this.canRemove = true;
- this.canReplace = true;
- return charBuffer.get(currentPosition++);
-@@ -542,11 +543,11 @@
+ int lim = charBuffer.limit();
+@@ -542,19 +543,19 @@
public void remove() {
if (this.canRemove) {
@@ -87,9 +185,11 @@
+ ((Buffer)charBuffer).position(--currentPosition);
if (tmp.hasRemaining()) {
// Transfer any remaining characters
- charBuffer.mark();
-@@ -554,7 +555,7 @@
- charBuffer.reset();
+- charBuffer.mark();
++ ((Buffer)charBuffer).mark();
+ charBuffer.put(tmp);
+- charBuffer.reset();
++ ((Buffer)charBuffer).reset();
}
// Decrease limit
- charBuffer.limit(charBuffer.limit() - 1);
@@ -97,12 +197,31 @@
// Make sure following calls fail, unless nextChar() was
called
this.canRemove = false;
} else {
-@@ -729,7 +730,7 @@
+@@ -737,7 +738,7 @@
+ */
+ public void resetBuffer() {
+ if (charBuffer != null) {
+- charBuffer.rewind();
++ ((Buffer)charBuffer).rewind();
+ }
+ }
- /** {@inheritDoc} */
- public int length() {
-- return charBuffer.limit();
-+ return ((Buffer)charBuffer).limit();
+--- fop-2.1/src/java/org/apache/fop/fonts/MultiByteFont.java 2016-01-07
15:13:29.000000000 +0100
++++ fop-2.1/src/java/org/apache/fop/fonts/MultiByteFont.java 2018-12-06
23:18:14.815791853 +0100
+@@ -21,6 +21,7 @@
+
+ import java.awt.Rectangle;
+ import java.io.InputStream;
++import java.nio.Buffer;
+ import java.nio.CharBuffer;
+ import java.nio.IntBuffer;
+ import java.util.BitSet;
+@@ -686,7 +687,7 @@
+ cb.put((char) cc);
+ }
+ }
+- cb.flip();
++ ((Buffer)cb).flip();
+ return cb;
}
- /**