From d45011560f47fdfdb90ec941a1a73fb300aa13cf Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 15 Apr 2009 05:52:41 +0000 Subject: [PATCH 1/6] Initialize branch F-11 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..25c7708 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-11 From dac5f4b3c10005b1a6a7e25103722768d130284e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 2 Jun 2009 20:53:21 +0000 Subject: [PATCH 2/6] - 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 - parsing (which could lead to a crash before release 2.6.24). --- .cvsignore | 2 +- python-lxml.spec | 18 +++++++++++++++++- sources | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 5213f89..3e5ee3f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -lxml-2.2.tar.gz +lxml-2.2.1.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 5b62188..0415f9c 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,7 +1,7 @@ %{!?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 +Version: 2.2.1 Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt @@ -49,6 +49,22 @@ rm -rf %{buildroot} %{python_sitearch}/* %changelog +* 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 +- parsing (which could lead to a crash before release 2.6.24). + * Tue Mar 24 2009 Jeffrey C. Ollie - 2.2-1 - 2.2 (2009-03-21) - Features added diff --git a/sources b/sources index b782841..d663c5a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b3f12344291aa0d393915e7d8358b480 lxml-2.2.tar.gz +f18b17e4c83edcfc8a8649c498210e20 lxml-2.2.1.tar.gz From dff4b4814133185c738845bb366d189bf4df297b Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 22 Jun 2009 14:12:32 +0000 Subject: [PATCH 3/6] - 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 - by the top element of the inserted subtree but only in deeper - subtrees. - * Raising an exception from a parser target callback didn't always - terminate the parser. - * Only {true, false, 1, 0} are accepted as the lexical representation - for BoolElement ({True, False, T, F, t, f} not any more), restoring - lxml <= 2.0 behaviour. --- .cvsignore | 2 +- python-lxml.spec | 23 ++++++++++++++++++++++- sources | 2 +- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3e5ee3f..32e81b8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -lxml-2.2.1.tar.gz +lxml-2.2.2.tar.gz diff --git a/python-lxml.spec b/python-lxml.spec index 0415f9c..087bd2a 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,7 +1,7 @@ %{!?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.1 +Version: 2.2.2 Release: 1%{?dist} Summary: ElementTree-like Python bindings for libxml2 and libxslt @@ -49,6 +49,27 @@ rm -rf %{buildroot} %{python_sitearch}/* %changelog +* 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 +- by the top element of the inserted subtree but only in deeper +- subtrees. +- * Raising an exception from a parser target callback didn't always +- terminate the parser. +- * Only {true, false, 1, 0} are accepted as the lexical representation +- for BoolElement ({True, False, T, F, t, f} not any more), restoring +- lxml <= 2.0 behaviour. + * Tue Jun 2 2009 Jeffrey C. Ollie - 2.2.1-1 - 2.2.1 (2009-06-02) - Features added diff --git a/sources b/sources index d663c5a..330caf3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f18b17e4c83edcfc8a8649c498210e20 lxml-2.2.1.tar.gz +2f2fcb6aae51b5b417a3c0a6b256ec56 lxml-2.2.2.tar.gz From 06a5b07ad0d03393ffcdd9badf006f7ba64270f8 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:52:56 +0000 Subject: [PATCH 4/6] 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 2a800ab9d1a7fa57e32800e03636b52bc3b42f73 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 1 Mar 2010 17:49:43 +0000 Subject: [PATCH 5/6] - 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 | 177 ++++++++++++++++++++++++++++++++++++++++++++--- sources | 3 +- 3 files changed, 172 insertions(+), 11 deletions(-) diff --git a/.cvsignore b/.cvsignore index 32e81b8..e265ce7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ -lxml-2.2.2.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 087bd2a..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.2 +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,178 @@ 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 +- +- * 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 + * Sun Jun 21 2009 Jeffrey C. Ollie - 2.2.2-1 - 2.2.2 (2009-06-21) - Features added diff --git a/sources b/sources index 330caf3..2777c77 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -2f2fcb6aae51b5b417a3c0a6b256ec56 lxml-2.2.2.tar.gz +2ce79c4162c25063f58975a9a1f63e27 lxml-2.2.5.tar.gz +dd02c1ae95b68970eb67aad1580b8f80 lxml-2.2.5.tar.gz.asc From 754b20385b0c2b3ed66b2f641a6ff07356c60f8f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 10:29:10 +0000 Subject: [PATCH 6/6] 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 25c7708..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-11