Hello community,

here is the log from the commit of package python-lxml for openSUSE:Factory 
checked in at 2017-04-19 18:10:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-lxml (Old)
 and      /work/SRC/openSUSE:Factory/.python-lxml.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-lxml"

Wed Apr 19 18:10:11 2017 rev:59 rq:487431 version:3.7.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-lxml/python-lxml.changes  2016-07-20 
09:16:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-lxml.new/python-lxml.changes     
2017-04-19 18:10:13.462945933 +0200
@@ -1,0 +2,59 @@
+Tue Apr 11 16:29:04 UTC 2017 - jmate...@suse.com
+
+- temporarily disable Source URL for pdf doc (it became unavailable)
+- lxml-fix-attribute-quoting.patch - stabilize attribute entity encoding
+  across platforms
+- force-regenerate C code from Cython sources
+
+-------------------------------------------------------------------
+Wed Mar  8 18:55:12 UTC 2017 - axel.br...@gmx.de
+
+- Version 3.7.3
+* GH#218 was ineffective in Python 3.
+* GH#222: lxml.html.submit_form() failed in Python 3. Patch by Jakub Wilk.
+* Work around installation problems in recent Python 2.7 versions
+  due to FTP download failures.
+* GH#219: ``xmlfile.element()`` was not properly quoting attribute values.
+  Patch by Burak Arslan.
+* GH#218: ``xmlfile.element()`` was not properly escaping text content of
+  script/style tags.  Patch by Burak Arslan.
+* GH#217: ``XMLSyntaxError`` now behaves more like its ``SyntaxError``
+  baseclass.  Patch by Philipp A.
+* GH#216: ``HTMLParser()`` now supports the same ``collect_ids`` parameter
+  as ``XMLParser()``.  Patch by Burak Arslan.
+* GH#210: Allow specifying a serialisation method in ``xmlfile.write()``.
+  Patch by Burak Arslan.
+* GH#203: New option ``default_doctype`` in ``HTMLParser`` that allows
+  disabling the automatic doctype creation.  Patch by Shadab Zafar.
+* GH#201: Calling the method ``.set('attrname')`` without value argument
+  (or ``None``) on HTML elements creates an attribute without value that
+  serialises like ``<div attrname></div>``.  Patch by Daniel Holth.
+* GH#197: Ignore form input fields in ``form_values()`` when they are
+  marked as ``disabled`` in HTML.  Patch by Kristian Klemon.
+* GH#206: File name and line number were missing from XSLT error messages.
+  Patch by Marcus Brinkmann.
+* Log entries no longer allow anything but plain string objects as message text
+  and file name.
+* ``zlib`` is included in the list of statically built libraries.
+* GH#204, LP#1614693: build fix for MacOS-X.
+* LP#1614603: change linker flags to build multi-linux wheels
+* LP#1614603: release without source changes to provide cleanly built Linux 
wheels
+
+-------------------------------------------------------------------
+Mon Dec 19 17:46:14 UTC 2016 - jmate...@suse.com
+
+- update for multipython build
+
+-------------------------------------------------------------------
+Tue Aug 16 07:38:31 UTC 2016 - tbecht...@suse.com
+
+- update to 3.6.1 (FATE #321014):
+  * Separate option ``inline_style`` for Cleaner that only removes ``style``
+    attributes instead of all styles.
+  * Windows build support for Python 3.5.
+  * Exclude ``file`` fields from ``FormElement.form_values`` (as browsers do).
+  * Try to provide base URL from ``Resolver.resolve_string()``.
+  * More accurate float serialisation in ``objectify.FloatElement``.
+  * Repair XSLT error logging.
+
+-------------------------------------------------------------------

Old:
----
  lxml-3.6.0.tar.gz
  lxmldoc-3.6.0.pdf

New:
----
  lxml-3.7.3.tar.gz
  lxml-fix-attribute-quoting.patch
  lxmldoc-3.7.3.pdf

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

Other differences:
------------------
++++++ python-lxml.spec ++++++
--- /var/tmp/diff_new_pack.Af5S0S/_old  2017-04-19 18:10:14.622781868 +0200
+++ /var/tmp/diff_new_pack.Af5S0S/_new  2017-04-19 18:10:14.622781868 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-lxml
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,27 +16,31 @@
 #
 
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-lxml
-Version:        3.6.0
+Version:        3.7.3
 Release:        0
 Summary:        Powerful and Pythonic XML processing library
 License:        BSD-3-Clause and GPL-2.0+
 Group:          Development/Languages/Python
-Url:            http://lxml.de/
-Source:         
http://pypi.python.org/packages/source/l/lxml/lxml-%{version}.tar.gz
-Source1:        http://lxml.de/lxmldoc-%{version}.pdf
+Url:            https://lxml.de/
+Source:         
https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz
+#Source1:        https://lxml.de/lxmldoc-%{version}.pdf
+Source1:        lxmldoc-%{version}.pdf
+# PATCH-FIX-UPSTREAM fix attribute quoting inactive code 
https://github.com/lxml/lxml/pull/238
+Patch0:         lxml-fix-attribute-quoting.patch
+BuildRequires:  %{python_module Cython >= 0.22.1}
+BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module setuptools >= 18.0.1}
 BuildRequires:  libxml2-devel >= 2.7.0
 BuildRequires:  libxslt-devel >= 1.1.23
-BuildRequires:  python-Cython >= 0.22.1
-BuildRequires:  python-devel
-BuildRequires:  python-setuptools >= 18.0.1
+BuildRequires:  python-rpm-macros
 # Needed for test cases:
-BuildRequires:  python-cssselect >= 0.9.1
+BuildRequires:  %{python_module cssselect >= 0.9.1}
 Requires:       python-cssselect >= 0.9.1
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-%endif
+
+%python_subpackages
 
 %description
 lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It
@@ -47,9 +51,7 @@
 %package doc
 Summary:        Powerful and Pythonic XML processing library - Documentation
 Group:          Development/Libraries/Python
-%if 0%{?suse_version} && 0%{?suse_version} > 1110
 BuildArch:      noarch
-%endif
 
 %description doc
 lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It
@@ -75,35 +77,42 @@
 %prep
 %setup -q -n lxml-%{version}
 cp %{SOURCE1} .
+%patch0 -p1
+
+# remove generated files
+rm src/lxml/lxml.etree.c
+rm src/lxml/lxml.etree.h
+rm src/lxml/lxml.etree_api.h
+rm src/lxml/lxml.objectify.c
 
 %build
-CFLAGS="%{optflags}" python setup.py build
+export CFLAGS="%{optflags}"
+%python_build --with-cython
 
 %check
 # The tests fail on SLE 11 due to broken incremental parsing
 # in libxml2
-%if 0%{?suse_version} > 1110 
-CFLAGS="%{optflags}" python setup.py build_ext --inplace
+export CFLAGS="%{optflags}"
 LANG=en_US.UTF-8 PYTHONUNBUFFERED=x make test
-%endif
+LANG=en_US.UTF-8 PYTHONUNBUFFERED=x make test3
 
 %install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
 
-%files
+%files %{python_files}
 %defattr(-,root,root)
 %doc CHANGES.txt CREDITS.txt LICENSES.txt README.rst
 %{python_sitearch}/lxml/
-%{python_sitearch}/lxml-%{version}-py%{py_ver}.egg-info
+%{python_sitearch}/lxml-%{version}-py%{python_version}.egg-info
 %exclude %{python_sitearch}/lxml/*.h
 %exclude %{python_sitearch}/lxml/includes/*.h
 
-%files devel
+%files %{python_files devel}
 %defattr(-,root,root)
 %{python_sitearch}/lxml/*.h
 %{python_sitearch}/lxml/includes/*.h
 
-%files doc
+%files %{python_files doc}
 %defattr(-,root,root)
 %doc doc/html lxmldoc-%{version}.pdf
 

++++++ lxml-3.6.0.tar.gz -> lxml-3.7.3.tar.gz ++++++
++++ 230959 lines of diff (skipped)

++++++ lxml-fix-attribute-quoting.patch ++++++
Index: lxml-3.7.3/src/lxml/tests/test_incremental_xmlfile.py
===================================================================
--- lxml-3.7.3.orig/src/lxml/tests/test_incremental_xmlfile.py
+++ lxml-3.7.3/src/lxml/tests/test_incremental_xmlfile.py
@@ -430,7 +430,7 @@ class HtmlFileTestCase(_XmlFileTestCaseB
             with xf.element("tagname", attrib={"attr": 
_str('"misquöted\\u3344\\U00013344"')}):
                 xf.write("foo")
 
-        self.assertXml('<tagname 
attr="&quot;misqu&#246;ted&#13124;&#78660;&quot;">foo</tagname>')
+        self.assertXml('<tagname 
attr="&quot;misqu&#xF6;ted&#x3344;&#x13344;&quot;">foo</tagname>')
 
     def test_unescaped_script(self):
         with etree.htmlfile(self._file) as xf:
Index: lxml-3.7.3/src/lxml/serializer.pxi
===================================================================
--- lxml-3.7.3.orig/src/lxml/serializer.pxi
+++ lxml-3.7.3/src/lxml/serializer.pxi
@@ -481,6 +481,7 @@ cdef unsigned char *xmlSerializeHexCharR
 cdef _write_attr_string(tree.xmlOutputBuffer* buf, const char *string):
     cdef const char *base
     cdef const char *cur
+    cdef const unsigned char *ucur
 
     cdef unsigned char tmp[12]
     cdef int val = 0
@@ -546,42 +547,44 @@ cdef _write_attr_string(tree.xmlOutputBu
             cur += 1
             base = cur
 
-        elif (cur[0] >= 0x80) and (cur[1] != 0):
+        elif (<const unsigned char>cur[0] >= 0x80) and (cur[1] != 0):
 
             if (base != cur):
                 tree.xmlOutputBufferWrite(buf, cur - base, base)
 
-            if (cur[0] < 0xC0):
+            ucur = <const unsigned char *>cur
+
+            if (ucur[0] < 0xC0):
                 # invalid UTF-8 sequence
-                val = cur[0]
+                val = ucur[0]
                 l = 1
 
-            elif (cur[0] < 0xE0):
-                val = (cur[0]) & 0x1F
+            elif (ucur[0] < 0xE0):
+                val = (ucur[0]) & 0x1F
                 val <<= 6
-                val |= (cur[1]) & 0x3F
+                val |= (ucur[1]) & 0x3F
                 l = 2
 
-            elif ((cur[0] < 0xF0) and (cur[2] != 0)):
-                val = (cur[0]) & 0x0F
+            elif ((ucur[0] < 0xF0) and (ucur[2] != 0)):
+                val = (ucur[0]) & 0x0F
                 val <<= 6
-                val |= (cur[1]) & 0x3F
+                val |= (ucur[1]) & 0x3F
                 val <<= 6
-                val |= (cur[2]) & 0x3F
+                val |= (ucur[2]) & 0x3F
                 l = 3
 
-            elif ((cur[0] < 0xF8) and (cur[2] != 0) and (cur[3] != 0)):
-                val = (cur[0]) & 0x07
+            elif ((ucur[0] < 0xF8) and (ucur[2] != 0) and (ucur[3] != 0)):
+                val = (ucur[0]) & 0x07
                 val <<= 6
-                val |= (cur[1]) & 0x3F
+                val |= (ucur[1]) & 0x3F
                 val <<= 6
-                val |= (cur[2]) & 0x3F
+                val |= (ucur[2]) & 0x3F
                 val <<= 6
-                val |= (cur[3]) & 0x3F
+                val |= (ucur[3]) & 0x3F
                 l = 4
             else:
                 # invalid UTF-8 sequence
-                val = cur[0]
+                val = ucur[0]
                 l = 1
 
             if ((l == 1) or (not tree.xmlIsCharQ(val))):
@@ -590,7 +593,7 @@ cdef _write_attr_string(tree.xmlOutputBu
             # We could do multiple things here. Just save
             # as a char ref
             xmlSerializeHexCharRef(tmp, val)
-            tree.xmlOutputBufferWrite(buf, -1, <const char*> tmp)
+            tree.xmlOutputBufferWrite(buf, len(tmp), <const char*> tmp)
             cur += l
             base = cur
 
++++++ lxmldoc-3.6.0.pdf -> lxmldoc-3.7.3.pdf ++++++
(binary differes)


Reply via email to