From 4d689a9996ea7841ac6d62a027db233c6835949a Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 29 Sep 2009 06:36:00 +0000 Subject: [PATCH 001/171] Initialize branch F-12 for python-lxml --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..06de2d2 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-12 From b2ebf6b8ff316029a0076c911f072573729077e7 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 1 Nov 2009 19:02:10 +0000 Subject: [PATCH 002/171] - 2.2.3 (2009-10-30) - Bugs fixed - - * The resolve_entities option did not work in the incremental feed - parser. - * Looking up and deleting attributes without a namespace could hit a - namespaced attribute of the same name instead. - * Late errors during calls to SubElement() (e.g. attribute related - ones) could leave a partially initialised element in the tree. - * Modifying trees that contain parsed entity references could result - in an infinite loop. - * ObjectifiedElement.__setattr__ created an empty-string child element - when the attribute value was rejected as a non-unicode/non-ascii - string - * Syntax errors in lxml.cssselect could result in misleading error - messages. - * Invalid syntax in CSS expressions could lead to an infinite loop in - the parser of lxml.cssselect. - * CSS special character escapes were not properly handled in - lxml.cssselect. - * CSS Unicode escapes were not properly decoded in lxml.cssselect. - * Select options in HTML forms that had no explicit value attribute - were not handled correctly. The HTML standard dictates that their - value is defined by their text content. This is now supported by - lxml.html. - * XPath raised a TypeError when finding CDATA sections. This is now - fully supported. - * Calling help(lxml.objectify) didn't work at the prompt. - * The ElementMaker in lxml.objectify no longer defines the default - namespaces when annotation is disabled. - * Feed parser failed to honour the 'recover' option on parse errors. - * Diverting the error logging to Python's logging system was broken. --- .cvsignore | 2 +- python-lxml.spec | 38 ++++++++++++++++++++++++++++++++++++-- sources | 2 +- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 32e81b8..3ab76c1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -lxml-2.2.2.tar.gz +lxml-2.2.3.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 2fbcd19..b79be32 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-lxml -Version: 2.2.2 -Release: 2%{?dist} +Version: 2.2.3 +Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -49,6 +49,40 @@ rm -rf %{buildroot} %{python_sitearch}/* %changelog +* Fri Oct 30 2009 Jeffrey C. Ollie - 2.2.3-1 +- 2.2.3 (2009-10-30) +- Bugs fixed +- +- * The resolve_entities option did not work in the incremental feed +- parser. +- * Looking up and deleting attributes without a namespace could hit a +- namespaced attribute of the same name instead. +- * Late errors during calls to SubElement() (e.g. attribute related +- ones) could leave a partially initialised element in the tree. +- * Modifying trees that contain parsed entity references could result +- in an infinite loop. +- * ObjectifiedElement.__setattr__ created an empty-string child element +- when the attribute value was rejected as a non-unicode/non-ascii +- string +- * Syntax errors in lxml.cssselect could result in misleading error +- messages. +- * Invalid syntax in CSS expressions could lead to an infinite loop in +- the parser of lxml.cssselect. +- * CSS special character escapes were not properly handled in +- lxml.cssselect. +- * CSS Unicode escapes were not properly decoded in lxml.cssselect. +- * Select options in HTML forms that had no explicit value attribute +- were not handled correctly. The HTML standard dictates that their +- value is defined by their text content. This is now supported by +- lxml.html. +- * XPath raised a TypeError when finding CDATA sections. This is now +- fully supported. +- * Calling help(lxml.objectify) didn't work at the prompt. +- * The ElementMaker in lxml.objectify no longer defines the default +- namespaces when annotation is disabled. +- * Feed parser failed to honour the 'recover' option on parse errors. +- * Diverting the error logging to Python's logging system was broken. + * Sun Jul 26 2009 Fedora Release Engineering - 2.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild diff --git a/sources b/sources index 330caf3..715fd30 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2f2fcb6aae51b5b417a3c0a6b256ec56 lxml-2.2.2.tar.gz +0b3fcd56909273b3db864133475449dc lxml-2.2.3.tar.gz From b029e2622d97c964b8640c7b69992f9309de54c0 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:52:56 +0000 Subject: [PATCH 003/171] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 2282443..af4fb17 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := python-lxml SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 65c0d36d88ffa170f6a75813c3cbad10485482d4 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 1 Mar 2010 17:12:11 +0000 Subject: [PATCH 004/171] - 2.2.5 (2010-02-28) - - Features added - - * Support for running XSLT extension elements on the input root node - (e.g. in a template matching on "/"). - - Bugs fixed - - * Crash in XPath evaluation when reading smart strings from a document - other than the original context document. - * Support recent versions of html5lib by not requiring its XHTMLParser - in htmlparser.py anymore. - * Manually instantiating the custom element classes in lxml.objectify - could crash. - * Invalid XML text characters were not rejected by the API when they - appeared in unicode strings directly after non-ASCII characters. - * lxml.html.open_http_urllib() did not work in Python 3. - * The functions strip_tags() and strip_elements() in lxml.etree did - not remove all occurrences of a tag in all cases. - * Crash in XSLT extension elements when the XSLT context node is not - an element. --- .cvsignore | 3 +- python-lxml.spec | 140 ++++++++++++++++++++++++++++++++++++++++++++--- sources | 3 +- 3 files changed, 135 insertions(+), 11 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3ab76c1..e265ce7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ -lxml-2.2.3.tar.gz +lxml-2.2.5.tar.gz +lxml-2.2.5.tar.gz.asc diff --git a/python-lxml.spec b/python-lxml.spec index b79be32..e6434b1 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,7 +1,11 @@ -%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%if 0%{?fedora} > 12 || 0%{?rhel} > 5 +%global with_python3 1 +%endif + +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-lxml -Version: 2.2.3 +Version: 2.2.5 Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt @@ -9,15 +13,19 @@ Group: Development/Libraries License: BSD URL: http://codespeak.net/lxml/ Source0: http://cheeseshop.python.org/packages/source/l/lxml/lxml-%{version}.tar.gz -#Source0: http://codespeak.net/lxml/lxml-%{version}.tgz +Source1: http://cheeseshop.python.org/packages/source/l/lxml/lxml-%{version}.tar.gz.asc BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libxslt-devel -%if 0%{?fedora} >= 8 -BuildRequires: python-setuptools-devel -%else -BuildRequires: python-setuptools +BuildRequires: python-devel +BuildRequires: python-setuptools + +%if 0%{?with_python3} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +# needed for 2to3 +BuildRequires: python-tools %endif %description @@ -28,27 +36,141 @@ bindings. In particular, lxml deals with Python Unicode strings rather than encoded UTF-8 and handles memory management automatically, unlike the default bindings. +%package docs +Summary: Documentation for %{name} +Group: Documentation +BuildArch: noarch +%description docs +This package provides the documentation for %{name}, e.g. the API as html. + + +%if 0%{?with_python3} +%package -n python3-lxml +Summary: ElementTree-like Python 3 bindings for libxml2 and libxslt +Group: Development/Libraries + +%description -n python3-lxml +lxml provides a Python 3 binding to the libxslt and libxml2 libraries. +It follows the ElementTree API as much as possible in order to provide +a more Pythonic interface to libxml2 and libxslt than the default +bindings. In particular, lxml deals with Python 3 Unicode strings +rather than encoded UTF-8 and handles memory management automatically, +unlike the default bindings. +%endif + %prep %setup -q -n lxml-%{version} chmod a-x doc/rest2html.py +%{__sed} -i 's/\r//' doc/s5/ui/default/print.css \ + doc/s5/ep2008/atom.rng \ + doc/s5/ui/default/iepngfix.htc + +# FIXME: this is fixed in upstreams issue: +# http://bugs.python.org/issue7313 +# Don't know when this is in a released python version. +# Always try to delete that part, +# when a new python version is released!!! +# +# src/lxml/tests/test_errors.py has a 3-byte Byte Order Marker, which seems to +# break both 2to3 and python3-2to3; +# However, it doesn't contain any non-ASCII characters, so for now, simply +# strip it from the top of the file: +pushd src/lxml/tests + tail --bytes=+4 test_errors.py > test_errors.py.new + mv test_errors.py.new test_errors.py +popd + +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -r . %{py3dir} +2to3 --write --nobackup %{py3dir} +%endif %build CFLAGS="%{optflags}" %{__python} -c 'import setuptools; execfile("setup.py")' build +%if 0%{?with_python3} +pushd %{py3dir} +CFLAGS="%{optflags}" %{__python3} setup.py build +popd +%endif + %install rm -rf %{buildroot} %{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root %{buildroot} +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py install --skip-build --root %{buildroot} +popd +%endif + %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) -%doc README.txt LICENSES.txt PKG-INFO CREDITS.txt CHANGES.txt doc/ -%{python_sitearch}/* +%doc README.txt LICENSES.txt PKG-INFO CREDITS.txt CHANGES.txt +%{python_sitearch}/lxml +%{python_sitearch}/lxml-*.egg-info + +%files docs +%defattr(-,root,root,-) +%doc doc/* + +%if 0%{?with_python3} +%files -n python3-lxml +%defattr(-,root,root,-) +%doc README.txt LICENSES.txt PKG-INFO CREDITS.txt CHANGES.txt +%{python3_sitearch}/lxml-*.egg-info +%{python3_sitearch}/lxml +%endif %changelog +* Mon Mar 1 2010 Jeffrey C. Ollie - 2.2.5-1 +- 2.2.5 (2010-02-28) +- +- Features added +- +- * Support for running XSLT extension elements on the input root node +- (e.g. in a template matching on "/"). +- +- Bugs fixed +- +- * Crash in XPath evaluation when reading smart strings from a document +- other than the original context document. +- * Support recent versions of html5lib by not requiring its XHTMLParser +- in htmlparser.py anymore. +- * Manually instantiating the custom element classes in lxml.objectify +- could crash. +- * Invalid XML text characters were not rejected by the API when they +- appeared in unicode strings directly after non-ASCII characters. +- * lxml.html.open_http_urllib() did not work in Python 3. +- * The functions strip_tags() and strip_elements() in lxml.etree did +- not remove all occurrences of a tag in all cases. +- * Crash in XSLT extension elements when the XSLT context node is not +- an element. + +* Mon Feb 15 2010 Thomas Spura - 2.2.4-2 +- update to current python3 guidelines +- be more explicit in %%files +- use %%global and not %%define +- create docs subpackage +- add stripping 3-byte Byte Order Marker from src/lxml/tests/test_errors.py + to get 2to3 to work (dmalcolm) +- fixes FTBFS (#564674) + +* Thu Jan 14 2010 Jeffrey C. Ollie - 2.2.4-1 +- Update to 2.2.4 +- Enable Python 3 subpackage + +* Thu Nov 5 2009 Jeffrey C. Ollie - 2.2.3-3 +- F-13's python build chain must be a little different... + +* Thu Nov 5 2009 Jeffrey C. Ollie - 2.2.3-2 +- Add option to build a Python 3 subpackage, original patch by David Malcolm + * Fri Oct 30 2009 Jeffrey C. Ollie - 2.2.3-1 - 2.2.3 (2009-10-30) - Bugs fixed diff --git a/sources b/sources index 715fd30..2777c77 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -0b3fcd56909273b3db864133475449dc lxml-2.2.3.tar.gz +2ce79c4162c25063f58975a9a1f63e27 lxml-2.2.5.tar.gz +dd02c1ae95b68970eb67aad1580b8f80 lxml-2.2.5.tar.gz.asc From 5c5fadc32817fd4ac94d3430f42c46d371c59567 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 10:28:59 +0000 Subject: [PATCH 005/171] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index af4fb17..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: python-lxml -# $Id$ -NAME := python-lxml -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 06de2d2..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-12 From c452ac6e552756608081203f872d66282ae10664 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 24 Aug 2010 00:57:59 -0500 Subject: [PATCH 006/171] - Rebuild for Python 3.2 --- python-lxml.spec | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/python-lxml.spec b/python-lxml.spec index 237e370..57d5bdd 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -6,7 +6,7 @@ Name: python-lxml Version: 2.2.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -25,6 +25,7 @@ BuildRequires: libxslt-devel BuildRequires: python-devel BuildRequires: python-setuptools +BuildRequires: Cython >= 0.12 %if 0%{?with_python3} BuildRequires: python3-devel @@ -68,6 +69,11 @@ unlike the default bindings. %patch0 -p1 +# remove the C extension so that it will be rebuild using the latest Cython +rm -f src/lxml/lxml.etree.c +rm -f src/lxml/lxml.etree_api.h +rm -f src/lxml/lxml.objectify.c + chmod a-x doc/rest2html.py %{__sed} -i 's/\r//' doc/s5/ui/default/print.css \ doc/s5/ep2008/atom.rng \ @@ -95,9 +101,13 @@ cp -r . %{py3dir} %endif %build -CFLAGS="%{optflags}" %{__python} -c 'import setuptools; execfile("setup.py")' build +CFLAGS="%{optflags}" %{__python} setup.py build %if 0%{?with_python3} +cp src/lxml/lxml.etree.c %{py3dir}/src/lxml +cp src/lxml/lxml.etree_api.h %{py3dir}/src/lxml +cp src/lxml/lxml.objectify.c %{py3dir}/src/lxml + pushd %{py3dir} CFLAGS="%{optflags}" %{__python3} setup.py build popd @@ -105,7 +115,7 @@ popd %install rm -rf %{buildroot} -%{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root %{buildroot} +%{__python} setup.py install --skip-build --root %{buildroot} %if 0%{?with_python3} pushd %{py3dir} @@ -135,6 +145,9 @@ rm -rf %{buildroot} %endif %changelog +* Sun Aug 22 2010 Jeffrey C. Ollie - 2.2.7-2 +- Rebuild for Python 3.2 + * Mon Jul 26 2010 Jeffrey C. Ollie - 2.2.7-1 - 2.2.7 (2010-07-24) - Bugs fixed From 721b254fb83728c37a962a828d8959303d7a8c09 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 24 Aug 2010 01:15:58 -0500 Subject: [PATCH 007/171] - Don't byte-compile files during install because setup.py doesn't properly byte compile for Python version 3.2 --- python-lxml.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python-lxml.spec b/python-lxml.spec index 57d5bdd..4db98b5 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -6,7 +6,7 @@ Name: python-lxml Version: 2.2.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -115,11 +115,11 @@ popd %install rm -rf %{buildroot} -%{__python} setup.py install --skip-build --root %{buildroot} +%{__python} setup.py install --skip-build --no-compile --root %{buildroot} %if 0%{?with_python3} pushd %{py3dir} -%{__python3} setup.py install --skip-build --root %{buildroot} +%{__python3} setup.py install --skip-build --no-compile --root %{buildroot} popd %endif @@ -145,6 +145,10 @@ rm -rf %{buildroot} %endif %changelog +* Tue Aug 24 2010 Jeffrey C. Ollie - 2.2.7-3 +- Don't byte-compile files during install because setup.py doesn't + properly byte compile for Python version 3.2 + * Sun Aug 22 2010 Jeffrey C. Ollie - 2.2.7-2 - Rebuild for Python 3.2 From eb0cd0e76a8b85f66b6153387d5bee0340a80c64 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 6 Sep 2010 20:24:38 -0500 Subject: [PATCH 008/171] - 2.2.8 (2010-09-02) - Bugs fixed - - * Crash in newer libxml2 versions when moving elements between - documents that had attributes on replaced XInclude nodes. - * Import fix for urljoin in Python 3.1+. --- .gitignore | 2 ++ sources | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e1bee74..dd9f60c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ lxml-2.2.7.tar.gz lxml-2.2.7.tar.gz.asc +/lxml-2.2.8.tar.gz +/lxml-2.2.8.tar.gz.asc diff --git a/sources b/sources index f399d22..dde7e5e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -c1da56b823fdc00804938d2b788dbfd0 lxml-2.2.7.tar.gz -f95e37b17d4e7040611d96df0f7193a3 lxml-2.2.7.tar.gz.asc +d6c612d63a84d79440912a1b29d3b981 lxml-2.2.8.tar.gz +fa7ea0c301cb1acdb53a17f30e3aad02 lxml-2.2.8.tar.gz.asc From 04bd166fa77ee72fc5c3d0084206ef00bddb467a Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 6 Sep 2010 21:23:34 -0500 Subject: [PATCH 009/171] - 2.2.8 (2010-09-02) - Bugs fixed - - * Crash in newer libxml2 versions when moving elements between - documents that had attributes on replaced XInclude nodes. - * Import fix for urljoin in Python 3.1+. --- python-lxml.spec | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/python-lxml.spec b/python-lxml.spec index 4db98b5..896dbb9 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -5,8 +5,8 @@ %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-lxml -Version: 2.2.7 -Release: 3%{?dist} +Version: 2.2.8 +Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -145,6 +145,14 @@ rm -rf %{buildroot} %endif %changelog +* Mon Sep 6 2010 Jeffrey C. Ollie - 2.2.8-1 +- 2.2.8 (2010-09-02) +- Bugs fixed +- +- * Crash in newer libxml2 versions when moving elements between +- documents that had attributes on replaced XInclude nodes. +- * Import fix for urljoin in Python 3.1+. + * Tue Aug 24 2010 Jeffrey C. Ollie - 2.2.7-3 - Don't byte-compile files during install because setup.py doesn't properly byte compile for Python version 3.2 From b303b1dc2e660d3c2b62765d3fdb428c46312111 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 5 Nov 2010 08:06:23 -0500 Subject: [PATCH 010/171] - Rebuild for newer libxml2 --- python-lxml.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-lxml.spec b/python-lxml.spec index 896dbb9..d3bc1ee 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -6,7 +6,7 @@ Name: python-lxml Version: 2.2.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -145,6 +145,9 @@ rm -rf %{buildroot} %endif %changelog +* Fri Nov 5 2010 Jeffrey C. Ollie - 2.2.8-2 +- Rebuild for newer libxml2 + * Mon Sep 6 2010 Jeffrey C. Ollie - 2.2.8-1 - 2.2.8 (2010-09-02) - Bugs fixed From 4592a57e2db80bd1d0acf7540d3b8113e1635506 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 29 Dec 2010 18:09:06 -0500 Subject: [PATCH 011/171] rebuild for newer python3 --- python-lxml.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-lxml.spec b/python-lxml.spec index d3bc1ee..4798694 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -6,7 +6,7 @@ Name: python-lxml Version: 2.2.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -145,6 +145,9 @@ rm -rf %{buildroot} %endif %changelog +* Wed Dec 29 2010 David Malcolm - 2.2.8-3 +- rebuild for newer python3 + * Fri Nov 5 2010 Jeffrey C. Ollie - 2.2.8-2 - Rebuild for newer libxml2 From 599fd5e6edd089d70ebcde4913793f52f05b664c Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 22:58:50 -0600 Subject: [PATCH 012/171] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- python-lxml.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-lxml.spec b/python-lxml.spec index 4798694..2f354a7 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -6,7 +6,7 @@ Name: python-lxml Version: 2.2.8 -Release: 3%{?dist} +Release: 4%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -145,6 +145,9 @@ rm -rf %{buildroot} %endif %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 2.2.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Wed Dec 29 2010 David Malcolm - 2.2.8-3 - rebuild for newer python3 From d7112cd657d45809840b5cafc6e9fed4c2667542 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 19 Apr 2011 10:40:15 -0500 Subject: [PATCH 013/171] Update to 2.3 --- .gitignore | 2 + python-lxml.spec | 310 +++++++++++++++++++++++++++++++++++++---------- sources | 4 +- 3 files changed, 247 insertions(+), 69 deletions(-) diff --git a/.gitignore b/.gitignore index dd9f60c..2d3bfcc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ lxml-2.2.7.tar.gz lxml-2.2.7.tar.gz.asc /lxml-2.2.8.tar.gz /lxml-2.2.8.tar.gz.asc +/lxml-2.3.tar.gz +/lxml-2.3.tar.gz.asc diff --git a/python-lxml.spec b/python-lxml.spec index 2f354a7..3a2b79a 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -5,8 +5,8 @@ %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-lxml -Version: 2.2.8 -Release: 4%{?dist} +Version: 2.3 +Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt Group: Development/Libraries @@ -15,10 +15,6 @@ URL: http://codespeak.net/lxml/ Source0: http://cheeseshop.python.org/packages/source/l/lxml/lxml-%{version}.tar.gz Source1: http://cheeseshop.python.org/packages/source/l/lxml/lxml-%{version}.tar.gz.asc -# Workaround for bug 600036: 2to3 chokes on certain lines -# Reported upstream against 2to3 as listed in that bug -Patch0: python-lxml-2.2.6-fix-2to3.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libxslt-devel @@ -30,8 +26,6 @@ BuildRequires: Cython >= 0.12 %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-setuptools -# needed for 2to3 -BuildRequires: python-tools %endif %description @@ -67,9 +61,7 @@ unlike the default bindings. %prep %setup -q -n lxml-%{version} -%patch0 -p1 - -# remove the C extension so that it will be rebuild using the latest Cython +# remove the C extension so that it will be rebuilt using the latest Cython rm -f src/lxml/lxml.etree.c rm -f src/lxml/lxml.etree_api.h rm -f src/lxml/lxml.objectify.c @@ -79,25 +71,9 @@ chmod a-x doc/rest2html.py doc/s5/ep2008/atom.rng \ doc/s5/ui/default/iepngfix.htc -# FIXME: this is fixed in upstreams issue: -# http://bugs.python.org/issue7313 -# Don't know when this is in a released python version. -# Always try to delete that part, -# when a new python version is released!!! -# -# src/lxml/tests/test_errors.py has a 3-byte Byte Order Marker, which seems to -# break both 2to3 and python3-2to3; -# However, it doesn't contain any non-ASCII characters, so for now, simply -# strip it from the top of the file: -pushd src/lxml/tests - tail --bytes=+4 test_errors.py > test_errors.py.new - mv test_errors.py.new test_errors.py -popd - %if 0%{?with_python3} rm -rf %{py3dir} cp -r . %{py3dir} -2to3 --write --nobackup %{py3dir} %endif %build @@ -145,6 +121,206 @@ rm -rf %{buildroot} %endif %changelog +* Tue Apr 19 2011 Jeffrey C. Ollie - 2.3-1 +- 2.3 (2011-02-06) +- ================ +- +- Features added +- -------------- +- +- * When looking for children, ``lxml.objectify`` takes '{}tag' as +- meaning an empty namespace, as opposed to the parent namespace. +- +- Bugs fixed +- ---------- +- +- * When finished reading from a file-like object, the parser +- immediately calls its ``.close()`` method. +- +- * When finished parsing, ``iterparse()`` immediately closes the input +- file. +- +- * Work-around for libxml2 bug that can leave the HTML parser in a +- non-functional state after parsing a severly broken document (fixed +- in libxml2 2.7.8). +- +- * ``marque`` tag in HTML cleanup code is correctly named ``marquee``. +- +- Other changes +- -------------- +- +- * Some public functions in the Cython-level C-API have more explicit +- return types. +- +- 2.3beta1 (2010-09-06) +- ===================== +- +- Features added +- -------------- +- +- Bugs fixed +- ---------- +- +- * Crash in newer libxml2 versions when moving elements between +- documents that had attributes on replaced XInclude nodes. +- +- * ``XMLID()`` function was missing the optional ``parser`` and +- ``base_url`` parameters. +- +- * Searching for wildcard tags in ``iterparse()`` was broken in Py3. +- +- * ``lxml.html.open_in_browser()`` didn't work in Python 3 due to the +- use of os.tempnam. It now takes an optional 'encoding' parameter. +- +- Other changes +- -------------- +- +- 2.3alpha2 (2010-07-24) +- ====================== +- +- Features added +- -------------- +- +- Bugs fixed +- ---------- +- +- * Crash in XSLT when generating text-only result documents with a +- stylesheet created in a different thread. +- +- Other changes +- -------------- +- +- * ``repr()`` of Element objects shows the hex ID with leading 0x +- (following ElementTree 1.3). +- +- 2.3alpha1 (2010-06-19) +- ====================== +- +- Features added +- -------------- +- +- * Keyword argument ``namespaces`` in ``lxml.cssselect.CSSSelector()`` +- to pass a prefix-to-namespace mapping for the selector. +- +- * New function ``lxml.etree.register_namespace(prefix, uri)`` that +- globally registers a namespace prefix for a namespace that newly +- created Elements in that namespace will use automatically. Follows +- ElementTree 1.3. +- +- * Support 'unicode' string name as encoding parameter in +- ``tostring()``, following ElementTree 1.3. +- +- * Support 'c14n' serialisation method in ``ElementTree.write()`` and +- ``tostring()``, following ElementTree 1.3. +- +- * The ElementPath expression syntax (``el.find*()``) was extended to +- match the upcoming ElementTree 1.3 that will ship in the standard +- library of Python 3.2/2.7. This includes extended support for +- predicates as well as namespace prefixes (as known from XPath). +- +- * During regular XPath evaluation, various ESXLT functions are +- available within their namespace when using libxslt 1.1.26 or later. +- +- * Support passing a readily configured logger instance into +- ``PyErrorLog``, instead of a logger name. +- +- * On serialisation, the new ``doctype`` parameter can be used to +- override the DOCTYPE (internal subset) of the document. +- +- * New parameter ``output_parent`` to ``XSLTExtension.apply_templates()`` +- to append the resulting content directly to an output element. +- +- * ``XSLTExtension.process_children()`` to process the content of the +- XSLT extension element itself. +- +- * ISO-Schematron support based on the de-facto Schematron reference +- 'skeleton implementation'. +- +- * XSLT objects now take XPath object as ``__call__`` stylesheet +- parameters. +- +- * Enable path caching in ElementPath (``el.find*()``) to avoid parsing +- overhead. +- +- * Setting the value of a namespaced attribute always uses a prefixed +- namespace instead of the default namespace even if both declare the +- same namespace URI. This avoids serialisation problems when an +- attribute from a default namespace is set on an element from a +- different namespace. +- +- * XSLT extension elements: support for XSLT context nodes other than +- elements: document root, comments, processing instructions. +- +- * Support for strings (in addition to Elements) in node-sets returned +- by extension functions. +- +- * Forms that lack an ``action`` attribute default to the base URL of +- the document on submit. +- +- * XPath attribute result strings have an ``attrname`` property. +- +- * Namespace URIs get validated against RFC 3986 at the API level +- (required by the XML namespace specification). +- +- * Target parsers show their target object in the ``.target`` property +- (compatible with ElementTree). +- +- Bugs fixed +- ---------- +- +- * API is hardened against invalid proxy instances to prevent crashes +- due to incorrectly instantiated Element instances. +- +- * Prevent crash when instantiating ``CommentBase`` and friends. +- +- * Export ElementTree compatible XML parser class as +- ``XMLTreeBuilder``, as it is called in ET 1.2. +- +- * ObjectifiedDataElements in lxml.objectify were not hashable. They +- now use the hash value of the underlying Python value (string, +- number, etc.) to which they compare equal. +- +- * Parsing broken fragments in lxml.html could fail if the fragment +- contained an orphaned closing '' tag. +- +- * Using XSLT extension elements around the root of the output document +- crashed. +- +- * ``lxml.cssselect`` did not distinguish between ``x[attr="val"]`` and +- ``x [attr="val"]`` (with a space). The latter now matches the +- attribute independent of the element. +- +- * Rewriting multiple links inside of HTML text content could end up +- replacing unrelated content as replacements could impact the +- reported position of subsequent matches. Modifications are now +- simplified by letting the ``iterlinks()`` generator in ``lxml.html`` +- return links in reversed order if they appear inside the same text +- node. Thus, replacements and link-internal modifications no longer +- change the position of links reported afterwards. +- +- * The ``.value`` attribute of ``textarea`` elements in lxml.html did +- not represent the complete raw value (including child tags etc.). It +- now serialises the complete content on read and replaces the +- complete content by a string on write. +- +- * Target parser didn't call ``.close()`` on the target object if +- parsing failed. Now it is guaranteed that ``.close()`` will be +- called after parsing, regardless of the outcome. +- +- Other changes +- ------------- +- +- * Official support for Python 3.1.2 and later. +- +- * Static MS Windows builds can now download their dependencies +- themselves. +- +- * ``Element.attrib`` no longer uses a cyclic reference back to its +- Element object. It therefore no longer requires the garbage +- collector to clean up. +- +- * Static builds include libiconv, in addition to libxml2 and libxslt. + * Tue Feb 08 2011 Fedora Release Engineering - 2.2.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild @@ -172,7 +348,7 @@ rm -rf %{buildroot} * Mon Jul 26 2010 Jeffrey C. Ollie - 2.2.7-1 - 2.2.7 (2010-07-24) - Bugs fixed -- +- - * Crash in XSLT when generating text-only result documents with a stylesheet created in a different thread. * Mon Jul 26 2010 David Malcolm - 2.2.6-4 @@ -186,21 +362,21 @@ rm -rf %{buildroot} * Tue Mar 2 2010 Jeffrey C. Ollie - 2.2.6-1 - 2.2.6 (2010-03-02) -- +- - Bugs fixed -- +- - * Fixed several Python 3 regressions by building with Cython 0.11.3. * Mon Mar 1 2010 Jeffrey C. Ollie - 2.2.5-1 - 2.2.5 (2010-02-28) -- +- - Features added -- +- - * Support for running XSLT extension elements on the input root node - (e.g. in a template matching on "/"). -- +- - Bugs fixed -- +- - * Crash in XPath evaluation when reading smart strings from a document - other than the original context document. - * Support recent versions of html5lib by not requiring its XHTMLParser @@ -237,7 +413,7 @@ rm -rf %{buildroot} * Fri Oct 30 2009 Jeffrey C. Ollie - 2.2.3-1 - 2.2.3 (2009-10-30) - Bugs fixed -- +- - * The resolve_entities option did not work in the incremental feed - parser. - * Looking up and deleting attributes without a namespace could hit a @@ -274,13 +450,13 @@ rm -rf %{buildroot} * Sun Jun 21 2009 Jeffrey C. Ollie - 2.2.2-1 - 2.2.2 (2009-06-21) - Features added -- +- - * New helper functions strip_attributes(), strip_elements(), - strip_tags() in lxml.etree to remove attributes/subtrees/tags - from a subtree. -- +- - Bugs fixed -- +- - * Namespace cleanup on subtree insertions could result in missing - namespace declarations (and potentially crashes) if the element - defining a namespace was deleted and the namespace was not used @@ -295,14 +471,14 @@ rm -rf %{buildroot} * Tue Jun 2 2009 Jeffrey C. Ollie - 2.2.1-1 - 2.2.1 (2009-06-02) - Features added -- +- - * Injecting default attributes into a document during XML Schema - validation (also at parse time). - * Pass huge_tree parser option to disable parser security restrictions - imposed by libxml2 2.7. -- +- - Bugs fixed -- +- - * The script for statically building libxml2 and libxslt didn't work - in Py3. - * XMLSchema() also passes invalid schema documents on to libxml2 for @@ -311,27 +487,27 @@ rm -rf %{buildroot} * Tue Mar 24 2009 Jeffrey C. Ollie - 2.2-1 - 2.2 (2009-03-21) - Features added -- +- - * Support for standalone flag in XML declaration through - tree.docinfo.standalone and by passing standalone=True/False on - serialisation. -- +- - Bugs fixed -- +- - * Crash when parsing an XML Schema with external imports from a - filename. * Fri Feb 27 2009 Jeffrey C. Ollie - 2.2-0.8.beta4 - 2.2beta4 (2009-02-27) - Features added -- +- - * Support strings and instantiable Element classes as child arguments - to the constructor of custom Element classes. - * GZip compression support for serialisation to files and file-like - objects. -- +- - Bugs fixed -- +- - * Deep-copying an ElementTree copied neither its sibling PIs and - comments nor its internal/external DTD subsets. - * Soupparser failed on broken attributes without values. @@ -342,9 +518,9 @@ rm -rf %{buildroot} - * lxml.html.FormElement._name() failed for non top-level forms. - * TAG special attribute in constructor of custom Element classes was - evaluated incorrectly. -- +- - Other changes -- +- - * Official support for Python 3.0.1. - * Element.findtext() now returns an empty string instead of None for - Elements without text content. @@ -355,12 +531,12 @@ rm -rf %{buildroot} * Tue Feb 17 2009 Jeffrey C. Ollie - 2.2-0.6.beta3 - 2.2beta3 (2009-02-17) - Features added -- +- - * XSLT.strparam() class method to wrap quoted string parameters that - require escaping. -- +- - Bugs fixed -- +- - * Memory leak in XPath evaluators. - * Crash when parsing indented XML in one thread and merging it with - other documents parsed in another thread. @@ -368,9 +544,9 @@ rm -rf %{buildroot} - failed. - * Fixes following changes in Python 3.0.1. - * Minor fixes for Python 3. -- +- - Other changes -- +- - * The global error log (which is copied into the exception log) is now - local to a thread, which fixes some race conditions. - * More robust error handling on serialisation. @@ -378,7 +554,7 @@ rm -rf %{buildroot} * Sun Jan 25 2009 Jeffrey C. Ollie - 2.2-0.5.beta2 - 2.2beta2 (2009-01-25) - Bugs fixed -- +- - * Potential memory leak on exception handling. This was due to a - problem in Cython, not lxml itself. - * iter_links (and related link-rewriting functions) in lxml.html would @@ -389,17 +565,17 @@ rm -rf %{buildroot} * Fri Dec 12 2008 Jeffrey C. Ollie - 2.2-0.4.beta1 - 2.2beta1 (2008-12-12) - Features added -- +- - * Allow lxml.html.diff.htmldiff to accept Element objects, - not just HTML strings. -- +- - Bugs fixed -- +- - * Crash when using an XPath evaluator in multiple threads. - * Fixed missing whitespace before Link:... in lxml.html.diff. -- +- - Other changes -- +- - * Export lxml.html.parse. * Fri Nov 28 2008 Jeffrey C. Ollie - 2.2-0.3.alpha1 @@ -411,15 +587,15 @@ rm -rf %{buildroot} * Mon Nov 24 2008 Jeffrey C. Ollie - 2.2-0.1.alpha1 - 2.2alpha1 (2008-11-23) - Features added -- +- - * Support for XSLT result tree fragments in XPath/XSLT extension - functions. - * QName objects have new properties namespace and localname. - * New options for exclusive C14N and C14N without comments. - * Instantiating a custom Element classes creates a new Element. -- +- - Bugs fixed -- +- - * XSLT didn't inherit the parse options of the input document. - * 0-bytes could slip through the API when used inside of Unicode - strings. @@ -430,7 +606,7 @@ rm -rf %{buildroot} * Mon Nov 17 2008 Jeffrey C. Ollie - 2.1.3-1 - 2.1.3 (2008-11-17) - Bugs fixed -- +- - * Ref-count leaks when lxml enters a try-except statement while an - outside exception lives in sys.exc_*(). This was due to a problem - in Cython, not lxml itself. @@ -449,14 +625,14 @@ rm -rf %{buildroot} * Fri Sep 5 2008 Jeffrey C. Ollie - 2.1.2-1 - 2.1.2 (2008-09-05) - Features added -- +- - * lxml.etree now tries to find the absolute path name of files when - parsing from a file-like object. This helps custom resolvers when - resolving relative URLs, as lixbml2 can prepend them with the path of - the source document. -- +- - Bugs fixed -- +- - * Memory problem when passing documents between threads. - * Target parser did not honour the recover option and raised an exception - instead of calling .close() on the target. diff --git a/sources b/sources index dde7e5e..43dc7c4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -d6c612d63a84d79440912a1b29d3b981 lxml-2.2.8.tar.gz -fa7ea0c301cb1acdb53a17f30e3aad02 lxml-2.2.8.tar.gz.asc +a245a015fd59b63e220005f263e1682a lxml-2.3.tar.gz +50f26dd559af7c9c0b1c58d4772231b5 lxml-2.3.tar.gz.asc From 1ed9ae17d91fcf926019290da77d78dde7cee0bf Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 25 Sep 2011 15:37:36 -0500 Subject: [PATCH 014/171] 2.3.1 --- .gitignore | 2 ++ python-lxml.spec | 64 +++++++++++++++++++++++++++++++++++++++++++++++- sources | 4 +-- 3 files changed, 67 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2d3bfcc..181fc4f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ lxml-2.2.7.tar.gz.asc /lxml-2.2.8.tar.gz.asc /lxml-2.3.tar.gz /lxml-2.3.tar.gz.asc +/lxml-2.3.1.tar.gz +/lxml-2.3.1.tar.gz.asc diff --git a/python-lxml.spec b/python-lxml.spec index 3a2b79a..c7985d9 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -5,7 +5,7 @@ %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-lxml -Version: 2.3 +Version: 2.3.1 Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt @@ -121,6 +121,68 @@ rm -rf %{buildroot} %endif %changelog +* Sun Sep 25 2011 Jeffrey C. Ollie - 2.3.1-1 +- Features added +- -------------- +- +- * New option kill_tags in lxml.html.clean to remove specific +- tags and their content (i.e. their whole subtree). +- +- * pi.get() and pi.attrib on processing instructions to parse +- pseudo-attributes from the text content of processing instructions. +- +- * lxml.get_include() returns a list of include paths that can be +- used to compile external C code against lxml.etree. This is +- specifically required for statically linked lxml builds when code +- needs to compile against the exact same header file versions as lxml +- itself. +- +- * Resolver.resolve_file() takes an additional option +- close_file that configures if the file(-like) object will be +- closed after reading or not. By default, the file will be closed, +- as the user is not expected to keep a reference to it. +- +- Bugs fixed +- ---------- +- +- * HTML cleaning didn't remove 'data:' links. +- +- * The html5lib parser integration now uses the 'official' +- implementation in html5lib itself, which makes it work with newer +- releases of the library. +- +- * In lxml.sax, endElementNS() could incorrectly reject a plain +- tag name when the corresponding start event inferred the same plain +- tag name to be in the default namespace. +- +- * When an open file-like object is passed into parse() or +- iterparse(), the parser will no longer close it after use. This +- reverts a change in lxml 2.3 where all files would be closed. It is +- the users responsibility to properly close the file(-like) object, +- also in error cases. +- +- * Assertion error in lxml.html.cleaner when discarding top-level elements. +- +- * In lxml.cssselect, use the xpath 'A//B' (short for +- 'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for the +- css descendant selector ('A B'). This makes a few edge cases to be +- consistent with the selector behavior in WebKit and Firefox, and makes +- more css expressions valid location paths (for use in xsl:template +- match). +- +- * In lxml.html, non-selected