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 <fst...@suse.com>
+
+- 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;
      }
  
-     /**



Reply via email to