Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libxml2 for openSUSE:Factory checked 
in at 2023-11-02 20:20:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxml2 (Old)
 and      /work/SRC/openSUSE:Factory/.libxml2.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libxml2"

Thu Nov  2 20:20:44 2023 rev:120 rq:1121463 version:2.11.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/libxml2/libxml2.changes  2023-09-04 
13:19:31.315503380 +0200
+++ /work/SRC/openSUSE:Factory/.libxml2.new.17445/libxml2.changes       
2023-11-02 20:20:47.538339693 +0100
@@ -1,0 +2,8 @@
+Mon Oct 23 08:26:09 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com>
+
+- Add python312.patch to make it compatible with python 3.12
+  https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/226
+- Use pyproject_wheel and pyproject_install macros instead of
+  python_build, python_install
+
+-------------------------------------------------------------------
@@ -6,0 +15,91 @@
+
+-------------------------------------------------------------------
+Wed Aug  9 15:34:12 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 2.11.5:
+  + Regressions:
+    - parser: Make xmlSwitchEncoding always skip the BOM
+    - autotools: Improve iconv check
+  + Bug fixes:
+    - valid: Fix c1->parent pointer in xmlCopyDocElementContent
+    - encoding: Always call ucnv_convertEx with flush set to false
+  + Portability: autotools: fix Python module file ext for
+    cygwin/msys2
+  + Tests: runtest: Fix compilation without LIBXML_HTML_ENABLED
+
+-------------------------------------------------------------------
+Fri May 19 11:51:22 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 2.11.4:
+  + Fixes a serious regression: parser: Fix regression when push
+    parsing UTF-8 sequences.
+
+-------------------------------------------------------------------
+Thu May 11 13:42:48 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 2.11.3:
+  + xinclude: Fix false positives in inclusion loop detection.
+  + autotools: Fix ICU detection.
+  + parser: Fix "huge input lookup" error with push parser.
+  + xpath: Fix build without LIBXML_XPATH_ENABLED.
+  + hash: Fix possible startup crash with old libxslt versions.
+  + autoconf: fix iconv library paths.
+
+-------------------------------------------------------------------
+Fri May  5 13:55:31 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 2.11.2:
+  + Fix regressions:
+    - threads: Fix startup crash with weak symbol hack
+    - win32: Don’t depend on removed .def file
+    - schemas: Fix memory leak in xmlSchemaValidateStream
+
+-------------------------------------------------------------------
+Wed May  3 13:17:35 UTC 2023 - David Anes <david.a...@suse.com>
+
+- Rebased patches:
+  * libxml2-make-XPATH_MAX_NODESET_LENGTH-configurable.patch
+  * libxml2-python3-unicode-errors.patch
+
+- Update to 2.11.1:
+  * Fixes build and ABI issues.
+    - cmake: Fix va_copy detection (Luca Niccoli)
+    - libxml.m4: Fix quoting
+    - Link with --undefined-version
+    - libxml2.syms: Revert removal of version information
+
+- Update to 2.11.0: 
+  * Major changes
+    - Protection against entity expansion attacks, also known as 
+      "billion laughs" has been greatly improved. Malicious files 
+      should be detected reliably now and false positives should be
+      reduced. It is possible though that large documents which make
+      heavy use of entities are rejected now.
+    - This release finally fixes symbol visibility on UNIX systems. 
+      Internal symbols will now be hidden. While these symbols were
+      never declared in public headers, it was still possible to
+      declare them manually. Now this won't work.
+    - All symbol information has been removed from the ELF version
+      script to fix link errors with --no-undefined-version. The
+      version nodes are kept so it should still be possible to run
+      binaries linked against older versions.
+    - About 90 memory errors in code paths handling malloc failures
+      have been fixed. While these issues shouldn't impact security,
+      this improves robustness under memory pressure.
+    - The XInclude engine has been reworked to properly support 
+      nested includes.
+    - Several cases of quadratic behavior in the XML push parser
+      have been fixed.
+    - Refactoring has begun on some buffering and encoding code with
+      the goal of simplifying this part of the code base and 
+      improving error reporting.
+  * Other highlights:
+    - Consolidated private header files.
+    - Major rework of the autoconf build.
+    - Deprecated several outdated and internal functions.
+  * Security
+    - Fix use-after-free in xmlParseContentInternal() (David Kilzer)
+    - xmllint: Fix use-after-free with --maxmem
+    - parser: Fix OOB read when formatting error message
+    - entities: Rework entity amplification checks
+  * See the full changelog at 
https://discourse.gnome.org/t/libxml2-2-11-0-released/15123

Old:
----
  libxml2-2.10.4.tar.xz

New:
----
  libxml2-2.11.5.tar.xz
  python312.patch

BETA DEBUG BEGIN:
  New:
- Add python312.patch to make it compatible with python 3.12
  https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/226
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libxml2.spec ++++++
--- /var/tmp/diff_new_pack.SxJwaS/_old  2023-11-02 20:20:48.398371339 +0100
+++ /var/tmp/diff_new_pack.SxJwaS/_new  2023-11-02 20:20:48.402371486 +0100
@@ -25,12 +25,12 @@
 %endif
 
 Name:           libxml2%{?dash}%{flavor}
-Version:        2.10.4
+Version:        2.11.5
 Release:        0
 License:        MIT
 Summary:        A Library to Manipulate XML Files
 URL:            https://gitlab.gnome.org/GNOME/libxml2
-Source0:        
https://download.gnome.org/sources/%{name}/2.10/libxml2-%{version}.tar.xz
+Source0:        
https://download.gnome.org/sources/%{name}/2.11/libxml2-%{version}.tar.xz
 Source1:        baselibs.conf
 # W3C Conformance tests
 Source2:        https://www.w3.org/XML/Test/xmlts20080827.tar.gz
@@ -45,6 +45,9 @@
 # PATCH-FIX-UPSTREAM CVE-2023-39615 bsc#1214768
 # 
https://gitlab.gnome.org/GNOME/libxml2/-/commit/d0c3f01e110d54415611c5fa0040cdf4a56053f9
 Patch2:         libxml2-CVE-2023-39615.patch
+# PATCH-FIX-UPSTREAM python312.patch
+# https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/226
+Patch3:         python312.patch
 #
 ### -- openSUSE patches range from 1000 to 1999 -- ###
 # PATCH-FIX-OPENSUSE
@@ -63,6 +66,9 @@
 BuildRequires:  pkgconfig(zlib)
 %if 0%{?buildpython}
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  %{python_module xml}
 BuildRequires:  python-rpm-macros
 BuildRequires:  pkgconfig(libxml-2.0)
@@ -182,7 +188,8 @@
 %else
 %configure --with-python=%{__python3}
 pushd python
-%python_build
+export PYTHONPATH="."
+%pyproject_wheel
 popd
 %endif
 
@@ -191,14 +198,14 @@
 %make_install BASE_DIR="%{_docdir}" DOC_MODULE="%{base_name}"
 find %{buildroot} -type f -name "*.la" -delete -print
 mkdir -p "%{buildroot}/%{_docdir}/%{base_name}"
-cp -a NEWS README.md TODO* %{buildroot}%{_docdir}/%{base_name}/
+cp -a NEWS README.md %{buildroot}%{_docdir}/%{base_name}/
 ln -s libxml2/libxml %{buildroot}%{_includedir}/libxml
 # Remove duplicated file Copyright as not found by fdupes
 rm -fr %{buildroot}%{_docdir}/%{base_name}/Copyright
 %fdupes %{buildroot}%{_datadir}
 %else
 pushd python
-%python_install
+%pyproject_install
 popd
 chmod a-x python/tests/*.py
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
@@ -251,7 +258,6 @@
 %else
 
 %files %{python_files libxml2}
-%doc python/TODO
 %doc python/libxml2class.txt
 %doc doc/*.py
 %doc python/README

++++++ libxml2-2.10.4.tar.xz -> libxml2-2.11.5.tar.xz ++++++
++++ 65829 lines of diff (skipped)

++++++ libxml2-make-XPATH_MAX_NODESET_LENGTH-configurable.patch ++++++
--- /var/tmp/diff_new_pack.SxJwaS/_old  2023-11-02 20:20:49.710419617 +0100
+++ /var/tmp/diff_new_pack.SxJwaS/_new  2023-11-02 20:20:49.714419764 +0100
@@ -2,11 +2,11 @@
  xpath.c |   40 +++++++++++++++++++++++++++++-----------
  1 file changed, 29 insertions(+), 11 deletions(-)
 
-Index: libxml2-2.10.3/xpath.c
+Index: libxml2-2.11.1/xpath.c
 ===================================================================
---- libxml2-2.10.3.orig/xpath.c
-+++ libxml2-2.10.3/xpath.c
-@@ -113,14 +113,32 @@
+--- libxml2-2.11.1.orig/xpath.c
++++ libxml2-2.11.1/xpath.c
+@@ -115,14 +115,32 @@
  #define XPATH_MAX_STACK_DEPTH 1000000
  
  /*
@@ -44,7 +44,7 @@
  
  /*
   * XPATH_MAX_RECRUSION_DEPTH:
-@@ -3689,7 +3707,7 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur,
+@@ -3655,7 +3673,7 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur,
      } else if (cur->nodeNr == cur->nodeMax) {
          xmlNodePtr *temp;
  
@@ -53,7 +53,7 @@
              xmlXPathErrMemory(NULL, "growing nodeset hit limit\n");
              return(-1);
          }
-@@ -3745,7 +3763,7 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xm
+@@ -3713,7 +3731,7 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xm
      } else if (cur->nodeNr == cur->nodeMax) {
          xmlNodePtr *temp;
  
@@ -62,7 +62,7 @@
              xmlXPathErrMemory(NULL, "growing nodeset hit limit\n");
              return(-1);
          }
-@@ -3800,7 +3818,7 @@ xmlXPathNodeSetAddUnique(xmlNodeSetPtr c
+@@ -3769,7 +3787,7 @@ xmlXPathNodeSetAddUnique(xmlNodeSetPtr c
      } else if (cur->nodeNr == cur->nodeMax) {
          xmlNodePtr *temp;
  
@@ -71,31 +71,31 @@
              xmlXPathErrMemory(NULL, "growing nodeset hit limit\n");
              return(-1);
          }
-@@ -3917,7 +3935,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1,
+@@ -3862,7 +3880,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1,
        } else if (val1->nodeNr == val1->nodeMax) {
            xmlNodePtr *temp;
  
 -            if (val1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
 +            if (val1->nodeMax >= get_max_nodeset_len()) {
                  xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
-                 return(NULL);
+                 goto error;
              }
-@@ -4003,7 +4021,7 @@ xmlXPathNodeSetMergeAndClear(xmlNodeSetP
+@@ -3954,7 +3972,7 @@ xmlXPathNodeSetMergeAndClear(xmlNodeSetP
            } else if (set1->nodeNr >= set1->nodeMax) {
                xmlNodePtr *temp;
  
 -                if (set1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
 +                if (set1->nodeMax >= get_max_nodeset_len()) {
                      xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
-                     return(NULL);
+                     goto error;
                  }
-@@ -4057,7 +4075,7 @@ xmlXPathNodeSetMergeAndClearNoDupls(xmlN
+@@ -4015,7 +4033,7 @@ xmlXPathNodeSetMergeAndClearNoDupls(xmlN
            } else if (set1->nodeNr >= set1->nodeMax) {
                xmlNodePtr *temp;
  
 -                if (set1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
 +                if (set1->nodeMax >= get_max_nodeset_len()) {
                      xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
-                     return(NULL);
+                     goto error;
                  }
 

++++++ libxml2-python3-unicode-errors.patch ++++++
--- /var/tmp/diff_new_pack.SxJwaS/_old  2023-11-02 20:20:49.730420353 +0100
+++ /var/tmp/diff_new_pack.SxJwaS/_new  2023-11-02 20:20:49.734420500 +0100
@@ -2,9 +2,11 @@
  python/libxml.c |   11 ++++++++++-
  1 file changed, 10 insertions(+), 1 deletion(-)
 
---- a/python/libxml.c
-+++ b/python/libxml.c
-@@ -1621,6 +1621,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
+Index: libxml2-2.11.1/python/libxml.c
+===================================================================
+--- libxml2-2.11.1.orig/python/libxml.c
++++ libxml2-2.11.1/python/libxml.c
+@@ -1606,6 +1606,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
      PyObject *message;
      PyObject *result;
      char str[1000];
@@ -12,7 +14,7 @@
  
  #ifdef DEBUG_ERROR
      printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
-@@ -1637,12 +1638,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
+@@ -1622,12 +1623,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
            str[999] = 0;
          va_end(ap);
  
@@ -28,7 +30,7 @@
 -        message = libxml_charPtrConstWrap(str);
 +        message = libxml_charPtrConstWrap(ptr);
          PyTuple_SetItem(list, 1, message);
-         result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
+         result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list);
 +        /* Forget any errors caused in the error handler. */
 +        PyErr_Clear();
          Py_XDECREF(list);

++++++ python312.patch ++++++
>From 548bba106dca7905b6ca915ef58481b3d71f35d8 Mon Sep 17 00:00:00 2001
From: Daniel Garcia Moreno <daniel.gar...@suse.com>
Date: Mon, 23 Oct 2023 10:16:34 +0200
Subject: [PATCH] python: Make it compatible with python3.12

Python 3.12 removes distutils so it's mandatory to use setuptools with
python >= 3.12.

This patch prints a message when trying to run the setup.py script with
a python >= 3.12 without setuptools and try to use the setuptools import
by default.

This patch also creates a new file, pyproject.toml [1], to prepare for
building in modern systems.

[1] https://peps.python.org/pep-0517/
---
 python/pyproject.toml |  3 +++
 python/setup.py.in    | 12 ++++++++----
 4 files changed, 13 insertions(+), 5 deletions(-)
 create mode 100755 python/pyproject.toml.in

Index: libxml2-2.11.5/python/setup.py.in
===================================================================
--- libxml2-2.11.5.orig/python/setup.py.in
+++ libxml2-2.11.5/python/setup.py.in
@@ -5,11 +5,15 @@
 import sys, os
 
 try:
-    import setuptools
+    from setuptools import setup, Extension
 except ImportError:
-    pass
-
-from distutils.core import setup, Extension
+    try:
+        # Using distutils, for python < 3.12
+        from distutils.core import setup, Extension
+    except ImportError:
+        # distutils is not present in python 3.12 and greater
+        print("setuptools is required for python >= 3.12")
+        sys.exit(1)
 
 # Below ROOT, we expect to find include, include/libxml2, lib and bin.
 # On *nix, it is not needed (but should not harm),
Index: libxml2-2.11.5/python/pyproject.toml
===================================================================
--- /dev/null
+++ libxml2-2.11.5/python/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools"]
+build-backend = "setuptools.build_meta"

Reply via email to