forked from pool/python-lxml
		
	
		
			
				
	
	
		
			336 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			RPMSpec
		
	
	
	
	
	
			
		
		
	
	
			336 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			RPMSpec
		
	
	
	
	
	
| #
 | |
| # spec file for package python-lxml (Version 2.2.1)
 | |
| #
 | |
| # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
 | |
| #
 | |
| # All modifications and additions to the file contributed by third parties
 | |
| # remain the property of their copyright owners, unless otherwise agreed
 | |
| # upon. The license for this file, and modifications and additions to the
 | |
| # file, is the same license as for the pristine package itself (unless the
 | |
| # license for the pristine package is not an Open Source License, in which
 | |
| # case the license is the MIT License). An "Open Source License" is a
 | |
| # license that conforms to the Open Source Definition (Version 1.9)
 | |
| # published by the Open Source Initiative.
 | |
| 
 | |
| # Please submit bugfixes or comments via http://bugs.opensuse.org/
 | |
| #
 | |
| 
 | |
| 
 | |
| %define modname lxml
 | |
| 
 | |
| Name:           python-lxml
 | |
| Url:            http://codespeak.net/lxml
 | |
| Summary:        A Pythonic Binding for the libxml2 and libxslt Libraries
 | |
| Version:        2.2.1
 | |
| Release:        1
 | |
| License:        BSD 3-Clause
 | |
| Group:          Development/Libraries/Python
 | |
| Source:         %{modname}-%{version}.tar.bz2
 | |
| Source1:        %{modname}doc-%{version}.pdf
 | |
| Source2:        %{name}-rpmlintrc
 | |
| BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 | |
| %{py_requires}
 | |
| Requires:       pyxml
 | |
| # Requires:    libxml2 libxslt
 | |
| BuildRequires:  libxslt-devel pyrex python-devel pyxml
 | |
| 
 | |
| %description
 | |
| lxml is a Pythonic binding for the libxml2 and libxslt libraries. It
 | |
| follows the ElementTree API as much as possible, building it on top of
 | |
| the native libxml2 tree. It also extends this API to expose libxml2 and
 | |
| libxslt specific functionality, such as XPath, Relax NG, XML Schema,
 | |
| XSLT, and c14n.
 | |
| 
 | |
| 
 | |
| 
 | |
| Authors:
 | |
| --------
 | |
|     Stefan Behnel - main developer and maintainer
 | |
|     Martijn Faassen - creator of lxml and initial main developer
 | |
|     and others
 | |
| 
 | |
| %package doc
 | |
| Group:          Development/Libraries/Python
 | |
| Summary:        Documentation for python-lxml Package
 | |
| License:        BSD 3-Clause
 | |
| 
 | |
| %description doc
 | |
| Documentation for python-lxml package
 | |
| 
 | |
| 
 | |
| 
 | |
| Authors:
 | |
| --------
 | |
|     Stefan Behnel - main developer and maintainer
 | |
|     Martijn Faassen - creator of lxml and initial main developer
 | |
|     and others
 | |
| 
 | |
| % ---------------------------------
 | |
| %prep
 | |
| %setup -q -n %{modname}-%{version}
 | |
| 
 | |
| %build
 | |
| export CFLAGS="$RPM_OPT_FLAGS"
 | |
| %{__python} setup.py build
 | |
| %{__cp} %{S:1} .
 | |
| 
 | |
| %install
 | |
| %{__python} setup.py install \
 | |
|     --prefix=%{_prefix} \
 | |
|     --root=$RPM_BUILD_ROOT \
 | |
|     --record-rpm=INSTALLED_FILES.txt
 | |
| # Avoid warnings from rpmlint:
 | |
| [ -e doc/rest2html.py ] && %{__mkdir} doc/examples && %{__mv} doc/rest2html.py doc/examples/
 | |
| # Remove any duplicate files:
 | |
| for i in doc/html/pubkey.asc  ; do
 | |
|  [ -e "$i" ] && %{__rm} "$i"
 | |
| done
 | |
| 
 | |
| %clean
 | |
| %{__rm} -rf %{buildroot}
 | |
| 
 | |
| %files -f INSTALLED_FILES.txt
 | |
| %defattr(-,root,root)
 | |
| %doc CHANGES.txt CREDITS.txt LICENSES.txt README.txt TODO.txt
 | |
| 
 | |
| %files doc
 | |
| %defattr(-,root,root)
 | |
| %doc doc/html doc/examples doc/*.* benchmark %{modname}doc-%{version}.pdf
 | |
| 
 | |
| %changelog
 | |
| * Wed Jun 03 2009 toms@suse.de
 | |
| - Updated to 2.2.1:
 | |
|   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).
 | |
|   Full list: http://codespeak.net/lxml/changes-2.2.1.html
 | |
| * Fri Apr 03 2009 toms@suse.de
 | |
| - Merged changes file with old entries
 | |
| * Thu Apr 02 2009 toms@suse.de
 | |
| - Added rpmlintrc source into SPEC file
 | |
| * Tue Mar 31 2009 toms@suse.de
 | |
| - Fixed SPEC file and added PDF source
 | |
| * Mon Mar 23 2009 toms@suse.de
 | |
|   * Updated to 2.2 (excerpt):
 | |
|   See also http://codespeak.net/lxml/changes-2.2.html
 | |
|   Features added:
 | |
|   - Allow lxml.html.diff.htmldiff to accept Element objects,
 | |
|   not just HTML strings.
 | |
|   - XSLT.strparam() class method to wrap quoted string parameters
 | |
|   that require escaping.
 | |
|   - 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.
 | |
|   - Support for standalone flag in XML declaration through
 | |
|   tree.docinfo.standalone and by passing standalone=True/False
 | |
|   on serialisation.
 | |
|   Bugs fixed:
 | |
|   - Memory leak in XPath evaluators.
 | |
|   - Setting the base attribute in lxml.objectify from a unicode
 | |
|   string failed.
 | |
|   - Crash when parsing indented XML in one thread and merging
 | |
|   it with other documents parsed in another thread.
 | |
|   - Crash when parsing an XML Schema with external imports from
 | |
|   a filename.
 | |
|   - iter_links (and related link-rewriting functions) in lxml.html
 | |
|   would interpret CSS like url("link") incorrectly (treating the
 | |
|   quotation marks as part of the link).
 | |
|   - Failing import on systems that have an io module.
 | |
|   - Potential memory leak on exception handling. This was due
 | |
|   to a problem in Cython, not lxml itself.
 | |
|   - Crash when using an XPath evaluator in multiple threads.
 | |
|   - Fixed missing whitespace before Link:... in lxml.html.diff.
 | |
|   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.
 | |
|   - Export lxml.html.parse.
 | |
| * 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:
 | |
|   - No new features
 | |
| - 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:
 | |
|   - No new features
 | |
| - 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
 | |
|   - soupparser.parse() allows passing keyword arguments on to
 | |
|   BeautifulSoup.
 | |
|   - fromstring() method in lxml.html.soupparser.
 | |
| - Bugs fixed:
 | |
|   - lxml.html.diff didn't treat empty tags properly (e.g., <br>).
 | |
|   - Handle entity replacements correctly in target parser.
 | |
|   - Crash when using iterparse() with XML Schema validation.
 | |
|   - The BeautifulSoup parser (soupparser.py) did not replace entities,
 | |
|   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
 | |
|   - 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.
 | |
|   - Setting the XSLT_CONFIG and XML2_CONFIG environment variables at
 | |
|   build time will let setup.py pick up the xml2-config and xslt-config
 | |
|   scripts from the supplied path name.
 | |
|   - 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:
 | |
|   - 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
 | |
|   - Backported decref crash fix from 2.0
 | |
|   - Well hidden free-while-in-use crash bug in ObjectPath
 | |
| - 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
 | |
|   - The ElementMaker in lxml.builder now accepts the keyword arguments
 | |
|   namespace and nsmap to set a namespace and nsmap for the Elements
 | |
|   it creates.
 | |
|   - The docinfo on ElementTree objects has new properties internalDTD
 | |
|   and externalDTD that return a DTD object for the internal or external
 | |
|   subset of the document respectively.
 | |
|   - 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
 | |
|   - Parsing with the no_network option could fail
 | |
| - 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
 | |
|   namespace prefixes without declaring namespaces. Apart from the danger
 | |
|   of generating broken XML this way, it also breaks most of the
 | |
|   namespace-aware tools in XML, including XPath, XSLT and validation.
 | |
|   lxml 1.3.x will continue to support this bug with a Warning, while lxml
 | |
|   2.0 will be strict about well-formed tag names (not only regarding ':').
 | |
|   - 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:
 | |
|   - 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:
 | |
|   - 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:
 | |
|   - 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:
 | |
|   - 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
 | |
|   - Copying Comments and ProcessingInstructions failed
 | |
|   - Memory leak for external URLs in _XSLTProcessingInstruction.parseXSL()
 | |
|   - 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
 | |
| * Fri Dec 01 2006 toms@suse.de
 | |
| - New package 1.1.2 moved from openSUSE build server
 |