diff --git a/lxml-2.0.5.tar.bz2 b/lxml-2.0.5.tar.bz2
deleted file mode 100644
index d2e02be..0000000
--- a/lxml-2.0.5.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a6011600e0bcf3c22cb759fa47cfa433fbd7f0444348cef5837d9bf9bdd0ced6
-size 1427831
diff --git a/lxml-2.1.2.tar.bz2 b/lxml-2.1.2.tar.bz2
new file mode 100644
index 0000000..49b5cf5
--- /dev/null
+++ b/lxml-2.1.2.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:58d1aef59d9989fe04534d61278fa47d4d48c43c0f9ff2dc47c5d9a1259522c8
+size 1861384
diff --git a/lxmldoc-2.1.2.pdf b/lxmldoc-2.1.2.pdf
new file mode 100644
index 0000000..0cf5815
--- /dev/null
+++ b/lxmldoc-2.1.2.pdf
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8ceec4476f640c46727c6bd124b2b857d450ac5954fe6744ac9bf17f2c18c6f1
+size 1755028
diff --git a/python-lxml.changes b/python-lxml.changes
index 7dac5bc..d6064f9 100644
--- a/python-lxml.changes
+++ b/python-lxml.changes
@@ -1,11 +1,93 @@
+-------------------------------------------------------------------
+Wed Sep 18 10:00:00 CEST 2008 - toms@suse.de
+
+- Updated to 2.1.2
+ 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.
+
+
+-------------------------------------------------------------------
+Wed Jul 30 07:47:00 CEST 2008 - toms@suse.de
+
+- Updated to 2.1.1
+ Features added:
+ * No new features
+ Bugs fixed
+ * Crash when parsing XSLT stylesheets in a thread and using them
+ in another.
+ * Encoding problem when including text with ElementInclude under
+ Python 3.
+
+-------------------------------------------------------------------
+Wed Jul 09 16:21:00 CEST 2008 - toms@suse.de
+
+- Corrected SPEC file:
+ * requires now libxml2 and libxslt
+ * Cleaned up spec file, added %{py_requires}
+ * Inserted PDF documentation
+- Updated to 2.1:
+ Features added
+ * Smart strings can be switched off in XPath (smart_string keyword option).
+ * lxml.html.rewrite_links() strips links to work around documents with
+ whitespace in URL attributes.
+
+ Bugs fixed
+ * Custom resolvers were not used for XMLSchema includes/imports and
+ XInclude processing.
+ * CSS selector parser dropped remaining expression after a function
+ with parameters.
+
+- Other changes
+ * objectify.enableRecursiveStr() was removed, use objectify.enable_recursive_str()
+ instead
+ * Speed-up when running XSLTs on documents from other threads
+
+-------------------------------------------------------------------
+Fri Jun 20 11:23:00 CEST 2008 - toms@suse.de
+
+- Updated to 2.0.7:
+- Features added:
+ * Pickling ElementTree objects in lxml.objectify.
+- Bugs fixed:
+ * Descending dot-separated classes in CSS selectors were not
+ resolved correctly.
+ * ElementTree.parse() didn't handle target parser result.
+ * Potential threading problem in XInclude.
+ * Crash in Element class lookup classes when the __init__()
+ method of the super class is not called from Python subclasses.
+- Other changes:
+ * Non-ASCII characters in attribute values are no longer escaped on serialisation.
+
+- Changes from 2.0.6:
+- Features added:
+ * No new features
+- Bugs fixed
+ * Incorrect evaluation of el.find("tag[child]").
+ * Windows build was broken.
+ * Moving a subtree from a document created in one thread into a
+ document of another thread could crash when the rest of the
+ source document is deleted while the subtree is still in use.
+ * Rare crash when serialising to a file object with certain encodings.
+- Other changes:
+ * lxml should now build without problems on MacOS-X (2.0.6)
+
+
-------------------------------------------------------------------
Wed May 15 08:37:00 CEST 2008 - toms@suse.de
-* SPEC: Fixed some warnings from rpmlint and removed duplicate doc dir
-* Updated to 2.0.5
-* Features added:
+- SPEC: Fixed some warnings from rpmlint and removed duplicate doc dir
+- Updated to 2.0.5
+- Features added:
- No new features
-* Bugs fixed:
+- Bugs fixed:
- Resolving to a filename in custom resolvers didn't work.
- lxml did not honour libxslt's second error state "STOPPED",
which let some XSLT errors pass silently.
@@ -15,10 +97,10 @@ Wed May 15 08:37:00 CEST 2008 - toms@suse.de
-------------------------------------------------------------------
Mon Apr 14 07:46:20 CEST 2008 - toms@suse.de
-* Features added:
+- Features added:
- No new features
-* Bugs fixed:
+- Bugs fixed:
- Hanging thread in conjunction with GTK threading.
- Crash bug in iterparse when moving elements into other documents.
- HTML elements' .cssselect() method was broken.
@@ -28,14 +110,14 @@ Mon Apr 14 07:46:20 CEST 2008 - toms@suse.de
-------------------------------------------------------------------
Fri Mar 28 11:01:26 CET 2008 - toms@suse.de
-* Split documentation into subpackage python-lxml-doc
-* Updated to 2.0.3
-* Features added
+- Split documentation into subpackage python-lxml-doc
+- Updated to 2.0.3
+- Features added
- soupparser.parse() allows passing keyword arguments on to
BeautifulSoup.
- fromstring() method in lxml.html.soupparser.
-* Bugs fixed:
+- Bugs fixed:
- lxml.html.diff didn't treat empty tags properly (e.g.,
).
- Handle entity replacements correctly in target parser.
- Crash when using iterparse() with XML Schema validation.
@@ -44,7 +126,7 @@ Fri Mar 28 11:01:26 CET 2008 - toms@suse.de
- Attribute assignment of custom PyTypes in objectify could fail
to correctly serialise the value to a string.
-* Other changes
+- Other changes
- lxml.html.ElementSoup was replaced by a new module lxml.html.soupparser
with a more consistent API. The old module remains for
compatibility with ElementTree's own ElementSoup module.
@@ -55,7 +137,7 @@ Fri Mar 28 11:01:26 CET 2008 - toms@suse.de
override the xml2-config script that is used to determine the
C compiler options. The same applies for the --with-xslt-config option.
-* Older changes:
+- Older changes:
- see
http://pypi.python.org/pypi/lxml/2.0.2
http://pypi.python.org/pypi/lxml/2.0.1
@@ -65,12 +147,12 @@ Fri Mar 28 11:01:26 CET 2008 - toms@suse.de
-------------------------------------------------------------------
Tue Oct 30 12:03:16 CET 2007 - toms@suse.de
-* Updated to 1.3.6
-* Bugs fixed
+- Updated to 1.3.6
+- Bugs fixed
- Backported decref crash fix from 2.0
- Well hidden free-while-in-use crash bug in ObjectPath
-* Other changes
+- Other changes
- The test suites now run gc.collect() in the tearDown() methods.
While this makes them take a lot longer to run, it also makes
it easier to link a specific test to garbage collection problems
@@ -79,8 +161,8 @@ Tue Oct 30 12:03:16 CET 2007 - toms@suse.de
-------------------------------------------------------------------
Thu Aug 30 13:33:22 CEST 2007 - toms@suse.de
-* Updated to 1.3.4
-* Features added
+- Updated to 1.3.4
+- Features added
- The ElementMaker in lxml.builder now accepts the keyword arguments
namespace and nsmap to set a namespace and nsmap for the Elements
it creates.
@@ -91,10 +173,10 @@ Thu Aug 30 13:33:22 CEST 2007 - toms@suse.de
that are part of the document, as well as comments and PIs that are
siblings of the root node.
-* Bugs fixed
+- Bugs fixed
- Parsing with the no_network option could fail
-* Other changes
+- Other changes
- lxml now raises a TagNameWarning about tag names containing ':' instead
of an Error as 1.3.3 did. The reason is that a number of projects
currently misuse the previous lack of tag name validation to generate
@@ -110,8 +192,8 @@ Thu Aug 30 13:33:22 CEST 2007 - toms@suse.de
-------------------------------------------------------------------
Mon Jul 30 15:10:07 CEST 2007 - toms@suse.de
-* Updated to 1.3.3
-* Features added:
+- Updated to 1.3.3
+- Features added:
- ElementTree compatible parser ETCompatXMLParser strips
processing instructions and comments while parsing XML
- Parsers now support stripping PIs (keyword argument 'remove_pis')
@@ -119,7 +201,7 @@ Mon Jul 30 15:10:07 CEST 2007 - toms@suse.de
depending on the parser you pass
- Support base_url keyword argument in HTML() and XML()
-* Bugs fixed:
+- Bugs fixed:
- Parsing from Python Unicode strings failed on some platforms
- Element() did not raise an exception on tag names containing ':'
- Element.getiterator(tag) did not accept Comment and ProcessingInstruction
@@ -129,15 +211,15 @@ Mon Jul 30 15:10:07 CEST 2007 - toms@suse.de
-------------------------------------------------------------------
Fri Jan 19 13:03:00 CET 2007 - toms@suse.de
-* Updated to 1.1.2
-* Features added:
+- Updated to 1.1.2
+- Features added:
- Data elements in objectify support repr(), which is now used by dump()
- Source distribution now ships with a patched Pyrex
- New C-API function makeElement() to create new elements with text, tail, attributes and namespaces
- Reuse original parser flags for XInclude
- Simplified support for handling XSLT processing instructions
-* Bugs fixed:
+- Bugs fixed:
- Parser resources were not freed before the next parser run
- Open files and XML strings returned by Python resolvers were not closed/freed
- Crash in the IDDict returned by XMLDTDID
@@ -146,10 +228,10 @@ Fri Jan 19 13:03:00 CET 2007 - toms@suse.de
- Memory leak when garbage collecting tailed root elements
- HTML script/style content was not propagated to .text
- Show text xincluded between text nodes correctly in .text and .tail
- - 'integer * objectify.StringElement' operation was not supported
+ - 'integer - objectify.StringElement' operation was not supported
-------------------------------------------------------------------
Fri Dec 1 11:12:37 CET 2006 - toms@suse.de
-* New package 1.1.2 moved from openSUSE build server
+- New package 1.1.2 moved from openSUSE build server
diff --git a/python-lxml.spec b/python-lxml.spec
index ea89b89..52ffa3f 100644
--- a/python-lxml.spec
+++ b/python-lxml.spec
@@ -1,5 +1,5 @@
#
-# spec file for package python-lxml (Version 2.0.5)
+# spec file for package python-lxml (Version 2.1.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -16,19 +16,20 @@
#
+%define modname lxml
Name: python-lxml
-%define modname lxml
Url: http://codespeak.net/lxml
Summary: A Pythonic Binding for the libxml2 and libxslt Libraries
-Version: 2.0.5
+Version: 2.1.2
Release: 1
License: BSD 3-Clause
Group: Development/Libraries/Python
Source: %{modname}-%{version}.tar.bz2
+Source1: %{modname}doc-%{version}.pdf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{py_requires}
-Requires: pyxml
+Requires: pyxml libxml2 libxslt
BuildRequires: libxslt-devel pyrex python-devel pyxml
%description
@@ -69,57 +70,117 @@ Authors:
%build
export CFLAGS="$RPM_OPT_FLAGS"
python setup.py build
+%{__cp} %{S:1} .
%install
-#%{__install} -m 755 -d $RPM_BUILD_ROOT%{_defaultdocdir}/%{name} \
-# $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/examples
-python setup.py install --prefix=%{_prefix} --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
-#cat INSTALLED_FILES.tmp | sed s#%{_defaultdocdir}/%{name}##g > INSTALLED_FILES
-#%{__cp} -a doc/html $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
-#%{__cp} -a doc/*.txt $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
-#%{__cp} -a doc/*.py $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/examples
-#%{__cp} -a benchmark $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/examples
+python setup.py install --prefix=%{_prefix} --root=$RPM_BUILD_ROOT \
+ --record=INSTALLED_FILES \
+ --record-rpm=INSTALLED_FILES-rpm.txt
%clean
rm -rf %{buildroot}
-%files -f INSTALLED_FILES
+%files -f INSTALLED_FILES-rpm.txt
%defattr(-,root,root)
%doc CHANGES.txt CREDITS.txt LICENSES.txt README.txt TODO.txt
-%{py_sitedir}/lxml
+# Disabled, as it is already in INSTALLED_FILES-rpm.txt:
+#%{py_sitedir}/lxml
%files doc
%defattr(-,root,root)
-%doc doc/html doc/*.* benchmark
-%{_defaultdocdir}/%{name}
+%doc doc/html doc/*.* benchmark %{modname}doc-%{version}.pdf
%changelog
+* Thu Sep 18 2008 toms@suse.de
+- Updated to 2.1.2
+ 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.
+* Wed Jul 30 2008 toms@suse.de
+- Updated to 2.1.1
+ Features added:
+ * No new features
+ Bugs fixed
+ * Crash when parsing XSLT stylesheets in a thread and using them
+ in another.
+ * Encoding problem when including text with ElementInclude under
+ Python 3.
+* Wed Jul 09 2008 toms@suse.de
+- Corrected SPEC file:
+ * requires now libxml2 and libxslt
+ * Cleaned up spec file, added %%{py_requires}
+ * Inserted PDF documentation
+- Updated to 2.1:
+ Features added
+ * Smart strings can be switched off in XPath (smart_string keyword option).
+ * lxml.html.rewrite_links() strips links to work around documents with
+ whitespace in URL attributes.
+ Bugs fixed
+ * Custom resolvers were not used for XMLSchema includes/imports and
+ XInclude processing.
+ * CSS selector parser dropped remaining expression after a function
+ with parameters.
+- Other changes
+ * objectify.enableRecursiveStr() was removed, use objectify.enable_recursive_str()
+ instead
+ * Speed-up when running XSLTs on documents from other threads
+* Fri Jun 20 2008 toms@suse.de
+- Updated to 2.0.7:
+- Features added:
+ * Pickling ElementTree objects in lxml.objectify.
+- Bugs fixed:
+ * Descending dot-separated classes in CSS selectors were not
+ resolved correctly.
+ * ElementTree.parse() didn't handle target parser result.
+ * Potential threading problem in XInclude.
+ * Crash in Element class lookup classes when the __init__()
+ method of the super class is not called from Python subclasses.
+- Other changes:
+ * Non-ASCII characters in attribute values are no longer escaped on serialisation.
+- Changes from 2.0.6:
+- Features added:
+ * No new features
+- Bugs fixed
+ * Incorrect evaluation of el.find("tag[child]").
+ * Windows build was broken.
+ * Moving a subtree from a document created in one thread into a
+ document of another thread could crash when the rest of the
+ source document is deleted while the subtree is still in use.
+ * Rare crash when serialising to a file object with certain encodings.
+- Other changes:
+ * lxml should now build without problems on MacOS-X (2.0.6)
* Thu May 15 2008 toms@suse.de
- * SPEC: Fixed some warnings from rpmlint and removed duplicate doc dir
- * Updated to 2.0.5
- * Features added:
+- SPEC: Fixed some warnings from rpmlint and removed duplicate doc dir
+- Updated to 2.0.5
+- Features added:
- No new features
- * Bugs fixed:
+- Bugs fixed:
- Resolving to a filename in custom resolvers didn't work.
- lxml did not honour libxslt's second error state "STOPPED",
which let some XSLT errors pass silently.
- Memory leak in Schematron with libxml2 >= 2.6.31.
* Mon Apr 14 2008 toms@suse.de
- * Features added:
+- Features added:
- No new features
- * Bugs fixed:
+- Bugs fixed:
- Hanging thread in conjunction with GTK threading.
- Crash bug in iterparse when moving elements into other documents.
- HTML elements' .cssselect() method was broken.
- ElementTree.find*() didn't accept QName objects
* Fri Mar 28 2008 toms@suse.de
- * Split documentation into subpackage python-lxml-doc
- * Updated to 2.0.3
- * Features added
+- Split documentation into subpackage python-lxml-doc
+- Updated to 2.0.3
+- Features added
- soupparser.parse() allows passing keyword arguments on to
BeautifulSoup.
- fromstring() method in lxml.html.soupparser.
- * Bugs fixed:
+- Bugs fixed:
- lxml.html.diff didn't treat empty tags properly (e.g.,
).
- Handle entity replacements correctly in target parser.
- Crash when using iterparse() with XML Schema validation.
@@ -127,7 +188,7 @@ rm -rf %{buildroot}
which made them turn up in text content.
- Attribute assignment of custom PyTypes in objectify could fail
to correctly serialise the value to a string.
- * Other changes
+- Other changes
- lxml.html.ElementSoup was replaced by a new module lxml.html.soupparser
with a more consistent API. The old module remains for
compatibility with ElementTree's own ElementSoup module.
@@ -137,24 +198,24 @@ rm -rf %{buildroot}
- Passing --with-xml2-config=/path/to/xml2-config to setup.py will
override the xml2-config script that is used to determine the
C compiler options. The same applies for the --with-xslt-config option.
- * Older changes:
+- Older changes:
- see
http://pypi.python.org/pypi/lxml/2.0.2
http://pypi.python.org/pypi/lxml/2.0.1
http://pypi.python.org/pypi/lxml/2.0
* Tue Oct 30 2007 toms@suse.de
- * Updated to 1.3.6
- * Bugs fixed
+- Updated to 1.3.6
+- Bugs fixed
- Backported decref crash fix from 2.0
- Well hidden free-while-in-use crash bug in ObjectPath
- * Other changes
+- Other changes
- The test suites now run gc.collect() in the tearDown() methods.
While this makes them take a lot longer to run, it also makes
it easier to link a specific test to garbage collection problems
that would otherwise appear in later tests.
* Thu Aug 30 2007 toms@suse.de
- * Updated to 1.3.4
- * Features added
+- Updated to 1.3.4
+- Features added
- The ElementMaker in lxml.builder now accepts the keyword arguments
namespace and nsmap to set a namespace and nsmap for the Elements
it creates.
@@ -164,9 +225,9 @@ rm -rf %{buildroot}
- Serialising an ElementTree now includes any internal DTD subsets
that are part of the document, as well as comments and PIs that are
siblings of the root node.
- * Bugs fixed
+- Bugs fixed
- Parsing with the no_network option could fail
- * Other changes
+- Other changes
- lxml now raises a TagNameWarning about tag names containing ':' instead
of an Error as 1.3.3 did. The reason is that a number of projects
currently misuse the previous lack of tag name validation to generate
@@ -178,28 +239,28 @@ rm -rf %{buildroot}
- Serialising an Element no longer includes its comment and PI siblings
(only ElementTree serialisation includes them).
* Mon Jul 30 2007 toms@suse.de
- * Updated to 1.3.3
- * Features added:
+- Updated to 1.3.3
+- Features added:
- ElementTree compatible parser ETCompatXMLParser strips
processing instructions and comments while parsing XML
- Parsers now support stripping PIs (keyword argument 'remove_pis')
- etree.fromstring() now supports parsing both HTML and XML,
depending on the parser you pass
- Support base_url keyword argument in HTML() and XML()
- * Bugs fixed:
+- Bugs fixed:
- Parsing from Python Unicode strings failed on some platforms
- Element() did not raise an exception on tag names containing ':'
- Element.getiterator(tag) did not accept Comment and ProcessingInstruction
as tags. It also accepts Element now.
* Fri Jan 19 2007 toms@suse.de
- * Updated to 1.1.2
- * Features added:
+- Updated to 1.1.2
+- Features added:
- Data elements in objectify support repr(), which is now used by dump()
- Source distribution now ships with a patched Pyrex
- New C-API function makeElement() to create new elements with text, tail, attributes and namespaces
- Reuse original parser flags for XInclude
- Simplified support for handling XSLT processing instructions
- * Bugs fixed:
+- Bugs fixed:
- Parser resources were not freed before the next parser run
- Open files and XML strings returned by Python resolvers were not closed/freed
- Crash in the IDDict returned by XMLDTDID
@@ -208,6 +269,6 @@ rm -rf %{buildroot}
- Memory leak when garbage collecting tailed root elements
- HTML script/style content was not propagated to .text
- Show text xincluded between text nodes correctly in .text and .tail
- - 'integer * objectify.StringElement' operation was not supported
+ - 'integer - objectify.StringElement' operation was not supported
* Fri Dec 01 2006 toms@suse.de
- * New package 1.1.2 moved from openSUSE build server
+- New package 1.1.2 moved from openSUSE build server