[Git][java-team/tika][master] 7 commits: Keep the org.codelibs groupId of jhighlight in debian/maven.rules
Emmanuel Bourg (@ebourg)
gitlab at salsa.debian.org
Sat Oct 17 20:12:51 BST 2026
Emmanuel Bourg pushed to branch master at Debian Java Maintainers / tika
Commits:
40b4dc79 by Juan Manuel Méndez Rey at 2026-10-17T20:10:05+02:00
Keep the org.codelibs groupId of jhighlight in debian/maven.rules
- - - - -
097e68e6 by Juan Manuel Méndez Rey at 2026-10-17T20:10:05+02:00
Backport the POI 4.1.1 changes of the EMF, WMF and Office parsers
- - - - -
fc9c526e by Emmanuel Bourg at 2026-10-17T20:10:23+02:00
Converted debian/watch to the version 5 format
- - - - -
4a929296 by Emmanuel Bourg at 2026-10-17T20:10:23+02:00
Standards-Version updated to 4.7.4
- - - - -
fa4cfd10 by Emmanuel Bourg at 2026-10-17T20:10:23+02:00
Removed the Priority field
- - - - -
f54dc9dd by Emmanuel Bourg at 2026-10-17T21:11:23+02:00
Switch to debhelper level 13
- - - - -
e1f3bf3a by Emmanuel Bourg at 2026-10-17T21:12:25+02:00
Upload to unstable
- - - - -
7 changed files:
- debian/changelog
- − debian/compat
- debian/control
- debian/maven.rules
- + debian/patches/15-poi-4.1.1-compatibility.patch
- debian/patches/series
- debian/watch
Changes:
=====================================
debian/changelog
=====================================
@@ -1,8 +1,24 @@
-tika (1.22-3) UNRELEASED; urgency=medium
+tika (1.22-3) unstable; urgency=medium
+ * Team upload.
+
+ [ tony mancill ]
* Update debian/watch for new upstream tag layout
- -- tony mancill <tmancill at debian.org> Wed, 14 Apr 2021 07:49:24 -0700
+ [ Juan Manuel Méndez Rey ]
+ * Keep the org.codelibs groupId of jhighlight in debian/maven.rules,
+ as libjhighlight-java 1.1.0 installs it (Closes: #1109169).
+ * 15-poi-4.1.1-compatibility.patch: backport the parser changes of
+ upstream's POI 4.1.1 upgrade, to build with libapache-poi-java 4.1.1
+ (Closes: #1011492).
+
+ [ Emmanuel Bourg ]
+ * Converted debian/watch to the version 5 format
+ * Standards-Version updated to 4.7.4
+ * Removed the Priority field
+ * Switch to debhelper level 13
+
+ -- Emmanuel Bourg <ebourg at apache.org> Sat, 17 Oct 2026 21:12:05 +0200
tika (1.22-2) unstable; urgency=medium
=====================================
debian/compat deleted
=====================================
@@ -1 +0,0 @@
-11
=====================================
debian/control
=====================================
@@ -1,11 +1,10 @@
Source: tika
Section: java
-Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
Uploaders: Emmanuel Bourg <ebourg at apache.org>
Build-Depends:
bnd (>= 2.1.0),
- debhelper (>= 11),
+ debhelper-compat (= 13),
default-jdk,
libandroid-json-org-java,
libapache-mime4j-java (>= 0.8.1),
@@ -42,7 +41,7 @@ Build-Depends:
libvorbis-java (>= 0.8-3~),
libxmpcore-java,
maven-debian-helper (>= 2.0)
-Standards-Version: 4.4.0
+Standards-Version: 4.7.4
Vcs-Git: https://salsa.debian.org/java-team/tika.git
Vcs-Browser: https://salsa.debian.org/java-team/tika
Homepage: http://tika.apache.org
=====================================
debian/maven.rules
=====================================
@@ -3,7 +3,7 @@ com.fasterxml.jackson.core jackson-annotations * s/.*/2.x/ * *
com.fasterxml.jackson.core jackson-core * s/.*/2.x/ * *
com.fasterxml.jackson.core jackson-databind * s/.*/2.x/ * *
s/com.github.openjson/org.json/ s/openjson/json/ * s/.*/debian/ * *
-s/org.codelibs/com.uwyn/ jhighlight * s/.*/debian/ * *
+org.codelibs jhighlight * s/.*/debian/ * *
org.bouncycastle s/bcmail-jdk15/bcmail/ * s/.*/debian/ * *
org.bouncycastle s/bcmail-jdk15on/bcmail/ * s/.*/debian/ * *
org.bouncycastle s/bcprov-jdk15/bcprov/ * s/.*/debian/ * *
=====================================
debian/patches/15-poi-4.1.1-compatibility.patch
=====================================
@@ -0,0 +1,173 @@
+Description: Build with Apache POI 4.1.1
+ Debian has libapache-poi-java 4.1.1, where the EMF/WMF records were
+ reworked (org.apache.poi.hemf.record.emf, HemfPicture, getWmfRecordType)
+ and NPOIFSFileSystem is gone. This takes the parser changes of upstream's
+ POI 4.1.1 upgrade for EMFParser.java and OfficeParser.java as they are.
+ For WMFParser.java only the getRecordType() -> getWmfRecordType() renames
+ are taken; the extra ArrayIndexOutOfBoundsException handling of that
+ commit does not apply to 1.22 and is not needed to build.
+Author: tallison <tallison at apache.org>
+Origin: backport, https://github.com/apache/tika/commit/07ef8500cf9489b23f6b38f4f98392a254c23352
+Bug: https://issues.apache.org/jira/browse/TIKA-2851
+Bug-Debian: https://bugs.debian.org/1011492
+Applied-Upstream: 1.23
+Backported-by: Juan Manuel Méndez Rey <juan.mendezr at proton.me>
+Last-Update: 2026-10-03
+---
+diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/EMFParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/EMFParser.java
+index 6c967e3..6f28648 100644
+--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/EMFParser.java
++++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/EMFParser.java
+@@ -22,13 +22,11 @@ import java.io.InputStream;
+ import java.util.Collections;
+ import java.util.Set;
+
+-import org.apache.poi.hemf.extractor.HemfExtractor;
+-import org.apache.poi.hemf.record.AbstractHemfComment;
+-import org.apache.poi.hemf.record.HemfCommentPublic;
+-import org.apache.poi.hemf.record.HemfCommentRecord;
+-import org.apache.poi.hemf.record.HemfRecord;
+-import org.apache.poi.hemf.record.HemfRecordType;
+-import org.apache.poi.hemf.record.HemfText;
++import org.apache.poi.hemf.record.emf.HemfComment;
++import org.apache.poi.hemf.record.emf.HemfRecord;
++import org.apache.poi.hemf.record.emf.HemfRecordType;
++import org.apache.poi.hemf.record.emf.HemfText;
++import org.apache.poi.hemf.usermodel.HemfPicture;
+ import org.apache.poi.util.RecordFormatException;
+ import org.apache.tika.exception.TikaException;
+ import org.apache.tika.extractor.EmbeddedDocumentExtractor;
+@@ -74,41 +72,46 @@ public class EMFParser extends AbstractParser {
+ XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
+ xhtml.startDocument();
+ try {
+- HemfExtractor ex = new HemfExtractor(stream);
+- long lastY = -1;
+- long lastX = -1;
++ HemfPicture ex = new HemfPicture(stream);
++ double lastY = -1;
++ double lastX = -1;
+ long fudgeFactorX = 1000;//derive this from the font or frame/bounds information
+ StringBuilder buffer = new StringBuilder();
+ for (HemfRecord record : ex) {
+- if (record.getRecordType() == HemfRecordType.comment) {
+- AbstractHemfComment comment = ((HemfCommentRecord) record).getComment();
+- if (comment instanceof HemfCommentPublic.MultiFormats) {
++ if (record.getEmfRecordType() == HemfRecordType.comment) {
++ HemfComment.EmfCommentData commentData = ((HemfComment.EmfComment) record).getCommentData();
++ if (commentData instanceof HemfComment.EmfCommentDataMultiformats) {
+ if (embeddedDocumentExtractor == null) {
+ embeddedDocumentExtractor = EmbeddedDocumentUtil.getEmbeddedDocumentExtractor(context);
+ }
+- handleMultiFormats((HemfCommentPublic.MultiFormats)comment, xhtml, embeddedDocumentExtractor);
+- } else if (comment instanceof HemfCommentPublic.WindowsMetafile) {
++ handleMultiFormats(
++ (HemfComment.EmfCommentDataMultiformats)commentData, xhtml, embeddedDocumentExtractor);
++ } else if (commentData instanceof HemfComment.EmfCommentDataWMF) {
+ if (embeddedDocumentExtractor == null) {
+ embeddedDocumentExtractor = EmbeddedDocumentUtil.getEmbeddedDocumentExtractor(context);
+ }
+- handleWMF((HemfCommentPublic.WindowsMetafile)comment, xhtml, embeddedDocumentExtractor);
++ handleWMF(((HemfComment.EmfCommentDataWMF) commentData).getWMFData(),
++ xhtml, embeddedDocumentExtractor);
+ }
+- } else if (record.getRecordType().equals(HemfRecordType.exttextoutw)) {
+- HemfText.ExtTextOutW extTextOutW = (HemfText.ExtTextOutW) record;
+- if (lastY > -1 && lastY != extTextOutW.getY()) {
++ } else if (record.getEmfRecordType().equals(HemfRecordType.extTextOutW)) {
++
++ HemfText.EmfExtTextOutW extTextOutW = (HemfText.EmfExtTextOutW) record;
++ //change equality to delta diff;
++
++ if (lastY > -1 && lastY != extTextOutW.getReference().getY()) {
+ xhtml.startElement("p");
+ xhtml.characters(buffer.toString());
+ xhtml.endElement("p");
+ buffer.setLength(0);
+ lastX = -1;
+ }
+- if (lastX > -1 && extTextOutW.getX() - lastX > fudgeFactorX) {
++ if (lastX > -1 && extTextOutW.getReference().getX() - lastX > fudgeFactorX) {
+ buffer.append(" ");
+ }
+ String txt = extTextOutW.getText();
+ buffer.append(txt);
+- lastY = extTextOutW.getY();
+- lastX = extTextOutW.getX();
++ lastY = extTextOutW.getReference().getY();
++ lastX = extTextOutW.getReference().getX();
+ }
+ }
+ if (buffer.length() > 0) {
+@@ -124,12 +127,12 @@ public class EMFParser extends AbstractParser {
+ xhtml.endDocument();
+ }
+
+- private void handleWMF(HemfCommentPublic.WindowsMetafile comment, ContentHandler contentHandler,
++ private void handleWMF(byte[] bytes, ContentHandler contentHandler,
+ EmbeddedDocumentExtractor embeddedDocumentExtractor) throws IOException, SAXException, TikaException {
+ Metadata embeddedMetadata = new Metadata();
+ embeddedMetadata.set(Metadata.CONTENT_TYPE, WMF_MEDIA_TYPE.toString());
+ if (embeddedDocumentExtractor.shouldParseEmbedded(embeddedMetadata)) {
+- try (InputStream is = TikaInputStream.get(comment.getWmfInputStream())) {
++ try (InputStream is = TikaInputStream.get(bytes)) {
+ embeddedDocumentExtractor.parseEmbedded(is,
+ new EmbeddedContentHandler(contentHandler), embeddedMetadata, false);
+
+@@ -139,11 +142,13 @@ public class EMFParser extends AbstractParser {
+
+ }
+
+- private void handleMultiFormats(HemfCommentPublic.MultiFormats comment, ContentHandler handler,
++ private void handleMultiFormats(HemfComment.EmfCommentDataMultiformats commentData, ContentHandler handler,
+ EmbeddedDocumentExtractor embeddedDocumentExtractor) throws IOException, TikaException, SAXException {
+- for (HemfCommentPublic.HemfMultiFormatsData data :
+- ((HemfCommentPublic.MultiFormats) comment).getData()) {
+- handleEmbedded(data.getData(), embeddedDocumentExtractor, handler);
++
++ for (HemfComment.EmfCommentDataFormat dataFormat :
++ commentData.getFormats()) {
++ //is this right?!
++ handleEmbedded(dataFormat.getRawData(), embeddedDocumentExtractor, handler);
+ }
+ }
+
+diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
+index 756b7fd..95e7ba0 100644
+--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
++++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
+@@ -137,7 +137,7 @@ public class OfficeParser extends AbstractOfficeParser {
+
+ //We might consider not bothering to check for macros in root,
+ //if we know we're processing ppt based on content-type identified in metadata
+- extractMacros(root.getNFileSystem(), xhtml,
++ extractMacros(root.getFileSystem(), xhtml,
+ EmbeddedDocumentUtil.getEmbeddedDocumentExtractor(context));
+
+ }
+diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WMFParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WMFParser.java
+index 5343751..82020a9 100644
+--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WMFParser.java
++++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WMFParser.java
+@@ -69,18 +69,18 @@ public class WMFParser extends AbstractParser {
+ //this is pure hackery for specifying the font
+ //TODO: do what Graphics does by maintaining the stack, etc.!
+ //This fix should be done within POI
+- if (record.getRecordType().equals(HwmfRecordType.createFontIndirect)) {
++ if (record.getWmfRecordType().equals(HwmfRecordType.createFontIndirect)) {
+ HwmfFont font = ((HwmfText.WmfCreateFontIndirect) record).getFont();
+ charset = (font.getCharset() == null || font.getCharset().getCharset() == null)
+ ? LocaleUtil.CHARSET_1252 :
+ font.getCharset().getCharset();
+ }
+- if (record.getRecordType().equals(HwmfRecordType.extTextOut)) {
++ if (record.getWmfRecordType().equals(HwmfRecordType.extTextOut)) {
+ HwmfText.WmfExtTextOut textOut = (HwmfText.WmfExtTextOut) record;
+ xhtml.startElement("p");
+ xhtml.characters(textOut.getText(charset));
+ xhtml.endElement("p");
+- } else if (record.getRecordType().equals(HwmfRecordType.textOut)) {
++ } else if (record.getWmfRecordType().equals(HwmfRecordType.textOut)) {
+ HwmfText.WmfTextOut textOut = (HwmfText.WmfTextOut) record;
+ xhtml.startElement("p");
+ xhtml.characters(textOut.getText(charset));
=====================================
debian/patches/series
=====================================
@@ -7,3 +7,4 @@
12-json-compatibility.patch
13-missing-dependencies.patch
14-CVE-2020-1950_CVE-2020-1951.patch
+15-poi-4.1.1-compatibility.patch
=====================================
debian/watch
=====================================
@@ -1,3 +1,6 @@
-version=4
-opts="repack,compression=xz" \
-https://github.com/apache/tika/tags .*/([\d\.]+).tar.gz
+Version: 5
+Template: GitHub
+Owner: apache
+Project: tika
+Repack: yes
+Compression: xz
View it on GitLab: https://salsa.debian.org/java-team/tika/-/compare/13469f2c4eef5bfcccf8bc161f0bf3b3e7300ee9...e1f3bf3aa9a79042543b755ec7aaa6ba2c12f4f1
--
View it on GitLab: https://salsa.debian.org/java-team/tika/-/compare/13469f2c4eef5bfcccf8bc161f0bf3b3e7300ee9...e1f3bf3aa9a79042543b755ec7aaa6ba2c12f4f1
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20261017/6471800d/attachment.htm>
More information about the pkg-java-commits
mailing list