Update to 2.3

This commit is contained in:
Jeffrey C. Ollie 2011-04-19 10:40:15 -05:00
parent 599fd5e6ed
commit d7112cd657
3 changed files with 247 additions and 69 deletions

2
.gitignore vendored
View File

@ -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

View File

@ -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 <jeff@ocjtech.us> - 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 '</div>' 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 <rel-eng@lists.fedoraproject.org> - 2.2.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

View File

@ -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