external/libxml2/UnpackedTarball_libxml2.mk | 1 external/libxml2/deprecated.patch.0 | 34 ---------------------------- xmlsecurity/source/xmlsec/saxhelper.cxx | 6 ++++ 3 files changed, 6 insertions(+), 35 deletions(-)
New commits: commit c368f94db2e9d63d6729bb829809d6c8ada86cc8 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Mon Sep 8 14:10:17 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Mon Sep 8 15:32:08 2025 +0200 libxml2: Ignore deprecations for system libxml2 as well for now commit e3b5e3aebcf178ccfbba3f7510062d5f2c5abb4a Date: Wed Apr 23 13:38:50 2025 +0200 libxml2: upgrade to 2.14.3 * In https://gitlab.gnome.org/GNOME/libxml2/-/commit/712a31abe458eed75f0e2a442b35af58cf7091ca some members used by Libreoffice were marked as deprecated. Add deprecated.patch.0 to undeprecate them for now. Meanwhile https://gitlab.gnome.org/GNOME/libxml2/-/issues/936#note_2461334 has been opened to discuss it. The necessary code changes will be addressed in a follow-up commit [...] added a patch to ignore deprecated symbols in the internal libxml2, by undeprecating the symbols for that version. Drop that patch again and instead let compilers ignore the deprecation warnings for now, to also make the --enable-werror build pass for the (default) system libxml2 used e.g. on Debian testing (which currently provides 2.14.5+dfsg-0.2). Build failure seen there otherwise: /home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:162:24: error: 'recovery' is deprecated [-Werror,-Wdeprecated-declarations] 162 | m_pParserCtxt->recovery = 1 ; | ^ /usr/include/libxml2/libxml/parser.h:377:18: note: 'recovery' has been explicitly marked deprecated here 377 | int recovery XML_DEPRECATED_MEMBER; | ^ /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from macro 'XML_DEPRECATED_MEMBER' 74 | #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) | ^ /home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:209:20: error: 'nodeTab' is deprecated [-Werror,-Wdeprecated-declarations] 209 | m_pParserCtxt->nodeTab[m_pParserCtxt->nodeNr - 1] | ^ /usr/include/libxml2/libxml/parser.h:284:25: note: 'nodeTab' has been explicitly marked deprecated here 284 | xmlNodePtr *nodeTab XML_DEPRECATED_MEMBER; | ^ /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from macro 'XML_DEPRECATED_MEMBER' 74 | #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) | ^ /home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:209:43: error: 'nodeNr' is deprecated [-Werror,-Wdeprecated-declarations] 209 | m_pParserCtxt->nodeTab[m_pParserCtxt->nodeNr - 1] | ^ /usr/include/libxml2/libxml/parser.h:280:16: note: 'nodeNr' has been explicitly marked deprecated here 280 | int nodeNr XML_DEPRECATED_MEMBER; | ^ /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from macro 'XML_DEPRECATED_MEMBER' 74 | #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) | ^ /home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:229:62: error: 'inputMax' is deprecated [-Werror,-Wdeprecated-declarations] 229 | if( m_pParserCtxt->inputTab != nullptr && m_pParserCtxt->inputMax != 0 ) | ^ /usr/include/libxml2/libxml/parser.h:271:18: note: 'inputMax' has been explicitly marked deprecated here 271 | int inputMax XML_DEPRECATED_MEMBER; | ^ /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from macro 'XML_DEPRECATED_MEMBER' 74 | #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) | ^ 4 errors generated. make[1]: *** [/home/michi/development/git/libreoffice/solenv/gbuild/LinkTarget.mk:338: /home/michi/development/git/libreoffice/workdir/CxxObject/xmlsecurity/source/xmlsec/saxhelper.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:301: build] Error 2 Change-Id: I1124859c0ef766b73f506dd997d89543ccf6eb12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190668 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/external/libxml2/UnpackedTarball_libxml2.mk b/external/libxml2/UnpackedTarball_libxml2.mk index bb53a2e7c667..907bb62f8da7 100644 --- a/external/libxml2/UnpackedTarball_libxml2.mk +++ b/external/libxml2/UnpackedTarball_libxml2.mk @@ -23,7 +23,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\ external/libxml2/libxml2-vc10.patch \ external/libxml2/libxml2-XMLCALL-redefine.patch.0 \ external/libxml2/makefile.msvc-entry-point.patch.0 \ - external/libxml2/deprecated.patch.0 \ external/libxml2/0001-const-up-allowPCData.patch.1 \ $(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \ $(if $(gb_Module_CURRENTMODULE_SYMBOLS_ENABLED), \ diff --git a/external/libxml2/deprecated.patch.0 b/external/libxml2/deprecated.patch.0 deleted file mode 100644 index 324a87e2363d..000000000000 --- a/external/libxml2/deprecated.patch.0 +++ /dev/null @@ -1,34 +0,0 @@ ---- include/libxml/parser.h 2025-05-13 16:42:31.000000000 +0200 -+++ include/libxml/parser.h 2025-06-03 14:00:37.833979131 +0200 -@@ -268,7 +268,7 @@ - /* Number of current input streams */ - int inputNr; - /* Max number of input streams */ -- int inputMax XML_DEPRECATED_MEMBER; -+ int inputMax; - /* stack of inputs */ - xmlParserInputPtr *inputTab; - -@@ -277,11 +277,11 @@ - /* Current parsed Node */ - xmlNodePtr node; - /* Depth of the parsing stack */ -- int nodeNr XML_DEPRECATED_MEMBER; -+ int nodeNr; - /* Max depth of the parsing stack */ - int nodeMax XML_DEPRECATED_MEMBER; - /* array of nodes */ -- xmlNodePtr *nodeTab XML_DEPRECATED_MEMBER; -+ xmlNodePtr *nodeTab; - - /* Whether node info should be kept */ - int record_info; -@@ -374,7 +374,7 @@ - /* document's own catalog */ - void *catalogs XML_DEPRECATED_MEMBER; - /* run in recovery mode */ -- int recovery XML_DEPRECATED_MEMBER; -+ int recovery; - /* unused */ - int progressive XML_DEPRECATED_MEMBER; - /* dictionary for the parser */ diff --git a/xmlsecurity/source/xmlsec/saxhelper.cxx b/xmlsecurity/source/xmlsec/saxhelper.cxx index fd0785c85a11..880fcbcc2824 100644 --- a/xmlsecurity/source/xmlsec/saxhelper.cxx +++ b/xmlsecurity/source/xmlsec/saxhelper.cxx @@ -159,7 +159,9 @@ SAL_WNODEPRECATED_DECLARATIONS_POP m_pSaxHandler = m_pParserCtxt->sax ; //Adjust the context +SAL_WNODEPRECATED_DECLARATIONS_PUSH m_pParserCtxt->recovery = 1 ; +SAL_WNODEPRECATED_DECLARATIONS_POP } } @@ -206,9 +208,11 @@ void SAXHelper::setCurrentNode(const xmlNodePtr pNode) * stack's top has to been replaced with the same * node, in order to make compatibility. */ +SAL_WNODEPRECATED_DECLARATIONS_PUSH m_pParserCtxt->nodeTab[m_pParserCtxt->nodeNr - 1] = m_pParserCtxt->node = pNode; +SAL_WNODEPRECATED_DECLARATIONS_POP } @@ -226,7 +230,9 @@ void SAXHelper::startDocument() */ xmlParserInputPtr pInput = xmlNewInputStream( m_pParserCtxt ) ; +SAL_WNODEPRECATED_DECLARATIONS_PUSH if( m_pParserCtxt->inputTab != nullptr && m_pParserCtxt->inputMax != 0 ) +SAL_WNODEPRECATED_DECLARATIONS_POP { m_pParserCtxt->inputTab[0] = pInput ; m_pParserCtxt->input = pInput ;