Saturday 18th June 2011
Fedora Project
Updated libxml in F-13, F-14, F-15 and Rawhide to fix the broken XPath implementation, which was failing the regression tests and, more significantly, segfaulting on 32-bit builds; this was a result of a pointer being cast from type xmlDocPtr to xmlNodePtr (which have only a few structure members in common) and trying to access non-existent elements of the resulting xmlNode (upstream said that the cast was generally safe to do but that was because there were lots of special-case tests in the code to see if the xmlNodePtr was really a xmlDocPtr and act accordingly, but one had been missed, resulting in the segfault and failed XPath tests)
- This simple addition to the code fixed it:
--- libxml-1.8.17/xpath.c.orig 2011-06-18 16:26:57.430229932 +0100 +++ libxml-1.8.17/xpath.c 2011-06-18 19:27:03.295989406 +0100 @@ -1537,6 +1539,8 @@ return(ctxt->context->node->childs); } + if (cur == (xmlNodePtr) ctxt->context->doc) + return(ctxt->context->doc->root); if (cur->childs != NULL) return(cur->childs); if (cur->next != NULL) return(cur->next);
Local Packages
Updated libxml as per the Fedora version
Updated perl-XML-LibXML to 1.73:
Calculating $err->column() properly, so it won't be maxed out at 80 (CPAN RT#66642)
- Update the repository in the documentation to point to the bitbucket.org one
Revamped Makefile.PL:
Got rid of "\t" characters
Add "use strict" and "use warnings"
Add resources and keywords to the META_MERGE
- Other changes
Fix CPAN RT#53632: when calling normalize on a node, processing of children nodes will stop when an empty element node is encountered
Apply the patch from Daniel Fetter's InputCallbackFix branch:
A partial fix to CPAN RT#4263
Call two $parser->parse_string() in succession
Apply the NestedParsing patch (more of CPAN RT#4263):
Updated how legacy parser local callbacks are utilized by init_callbacks so that the XML::LibXML::InputCallback object doesn't have to be temporarily modified during the parsing process; this change could break code for users that have subclassed XML::LibXML::InputCallback and overridden the init_callbacks method
- Documentation fixes patch from Daniel Fetter