#acl PaulHowarth:read,write,admin,revert,delete All:read === 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 [[http://mail.gnome.org/archives/xml/2003-September/msg00240.html|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:66642|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:53632|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:4263|CPAN RT#4263]] * Call two `$parser->parse_string()` in succession * Apply the `NestedParsing` patch (more of [[CPAN:4263|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 ----