rpms/perl-XML-TreeBuilder/F-10 XML-TreeBuilder-NoExpand.patch, 1.2, 1.3 perl-XML-TreeBuilder.spec, 1.2, 1.3
Jeff Fearn
jfearn at fedoraproject.org
Mon Sep 28 23:44:22 UTC 2009
- Previous message (by thread): rpms/perl-XML-TreeBuilder/F-11 XML-TreeBuilder-NoExpand.patch, 1.4, 1.5 perl-XML-TreeBuilder.spec, 1.6, 1.7
- Next message (by thread): rpms/kernel/devel patch-2.6.32-rc1.bz2.sign, NONE, 1.1 .cvsignore, 1.1129, 1.1130 kernel.spec, 1.1812, 1.1813 linux-2.6-crash-driver.patch, 1.15, 1.16 sources, 1.1087, 1.1088 upstream, 1.1001, 1.1002 patch-2.6.31-git18.bz2.sign, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jfearn
Update of /cvs/pkgs/rpms/perl-XML-TreeBuilder/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30185/F-10
Modified Files:
XML-TreeBuilder-NoExpand.patch perl-XML-TreeBuilder.spec
Log Message:
fix entites being eaten by NoExpnad switch
XML-TreeBuilder-NoExpand.patch:
Changes | 7 ++
lib/XML/TreeBuilder.pm | 116 +++++++++++++++++++++++++++++++++----------------
t/10main.t | 26 +++++++++-
3 files changed, 108 insertions(+), 41 deletions(-)
Index: XML-TreeBuilder-NoExpand.patch
===================================================================
RCS file: /cvs/pkgs/rpms/perl-XML-TreeBuilder/F-10/XML-TreeBuilder-NoExpand.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- XML-TreeBuilder-NoExpand.patch 15 Oct 2008 03:29:04 -0000 1.2
+++ XML-TreeBuilder-NoExpand.patch 28 Sep 2009 23:44:21 -0000 1.3
@@ -1,22 +1,22 @@
-diff -rubB --exclude=.svn XML-TreeBuilder-3.09/Changes XML-TreeBuilder-patched/Changes
+diff -rubB --exclude=.svn --exclude='*.swp' XML-TreeBuilder-3.09/Changes XML-TreeBuilder-patched/Changes
--- XML-TreeBuilder-3.09/Changes 2004-06-11 14:28:41.000000000 +1000
-+++ XML-TreeBuilder-patched/Changes 2008-10-15 12:17:13.000000000 +1000
-@@ -1,5 +1,11 @@
- # Time-stamp: "2004-06-10 20:28:41 ADT"
++++ XML-TreeBuilder-patched/Changes 2009-03-16 14:30:51.000000000 +1000
+@@ -1,5 +1,10 @@
+-# Time-stamp: "2004-06-10 20:28:41 ADT"
++2009-16-03 Jeff Fearn <jfearn at redhat.com>
-+2007-12-01 Jeff Fearn <jfearn at redhat.com>
-+
-+ Release 3.10
++ Release 3.09.x
+
+ Added NoExpand option to allow entities to be left untouched in xml.
-+
++ Added ErrorContext option to allow better reporting of error locations.
++ Expanded tests to test these options.
2004-06-10 Sean M. Burke <sburke at cpan.org>
-diff -rubB --exclude=.svn XML-TreeBuilder-3.09/lib/XML/TreeBuilder.pm XML-TreeBuilder-patched/lib/XML/TreeBuilder.pm
+diff -rubB --exclude=.svn --exclude='*.swp' XML-TreeBuilder-3.09/lib/XML/TreeBuilder.pm XML-TreeBuilder-patched/lib/XML/TreeBuilder.pm
--- XML-TreeBuilder-3.09/lib/XML/TreeBuilder.pm 2004-06-11 13:59:14.000000000 +1000
-+++ XML-TreeBuilder-patched/lib/XML/TreeBuilder.pm 2008-10-15 12:38:59.000000000 +1000
-@@ -5,6 +5,7 @@
++++ XML-TreeBuilder-patched/lib/XML/TreeBuilder.pm 2009-09-29 09:21:18.000000000 +1000
+@@ -5,6 +7,7 @@
use strict;
use XML::Element ();
use XML::Parser ();
@@ -24,81 +24,210 @@ diff -rubB --exclude=.svn XML-TreeBuilde
use vars qw(@ISA $VERSION);
$VERSION = '3.09';
-@@ -12,8 +13,15 @@
+@@ -12,8 +15,15 @@
#==========================================================================
sub new {
- my $class = ref($_[0]) || $_[0];
- # that's the only parameter it knows
-+ my ($this, $arg) = @_;
-+ my $class = ref($this) || $this;
++ my ( $this, $arg ) = @_;
++ my $class = ref($this) || $this;
+
-+ my $NoExpand = defined $arg->{'NoExpand'} ? delete $arg->{'NoExpand'} : 0;
-+ my $ErrorContext = defined $arg->{'ErrorContext'} ? delete $arg->{'ErrorContext'} : 0;
++ my $NoExpand = ( delete $arg->{'NoExpand'} || undef );
++ my $ErrorContext = ( delete $arg->{'ErrorContext'} || undef );
+
-+ if ( %{$arg} ) {
-+ croak "unknown args: " . join( ", ", keys %{$arg} );
-+ }
++ if ( %{$arg} ) {
++ croak "unknown args: " . join( ", ", keys %{$arg} );
++ }
my $self = XML::Element->new('NIL');
bless $self, $class; # and rebless
-@@ -21,11 +29,19 @@
+@@ -21,57 +31,76 @@
$self->{'_store_comments'} = 0;
$self->{'_store_pis'} = 0;
$self->{'_store_declarations'} = 0;
-+ $self->{'NoExpand'} = $NoExpand;
-+ $self->{'ErrorContext'} = $ErrorContext;
++ $self->{'NoExpand'} = $NoExpand if ($NoExpand);
++ $self->{'ErrorContext'} = $ErrorContext if ($ErrorContext);
my @stack;
++
# Compare the simplicity of this to the sheer nastiness of HTML::TreeBuilder!
- $self->{'_xml_parser'} = XML::Parser->new( 'Handlers' => {
-+ 'Default' => sub {
-+ if ( ( $self->{'NoExpand'} ) && ( $_[1] =~ /&.*\;/ ) ) {
-+ $stack[-1]->push_content( $_[1] );
-+ }
-+ return;
-+ },
+- $self->{'_xml_parser'} = XML::Parser->new( 'Handlers' => {
++ $self->{'_xml_parser'} = XML::Parser->new(
++ 'Handlers' => {
++ 'Default' => sub {
++ if ( ( $self->{'NoExpand'} ) && ( $_[1] =~ /&.*\;/ ) ) {
++ $stack[-1]->push_content( $_[1] );
++ }
++ return;
++ },
'Start' => sub {
shift;
- if(@stack) {
-@@ -103,7 +119,22 @@
+- if(@stack) {
++ if (@stack) {
+ push @stack, $self->{'_element_class'}->new(@_);
+ $stack[-2]->push_content( $stack[-1] );
+- } else {
++ }
++ else {
+ $self->tag(shift);
+- while(@_) { $self->attr(splice(@_,0,2)) };
++ while (@_) { $self->attr( splice( @_, 0, 2 ) ) }
+ push @stack, $self;
+ }
+ },
+
+ 'End' => sub { pop @stack; return },
+
+- 'Char' => sub { $stack[-1]->push_content($_[1]) },
++ 'Char' => sub { $stack[-1]->push_content( $_[1] ) },
+
+ 'Comment' => sub {
+ return unless $self->{'_store_comments'};
+- (
+- @stack ? $stack[-1] : $self
+- )->push_content(
+- $self->{'_element_class'}->new('~comment', 'text' => $_[1])
+- );
++ ( @stack ? $stack[-1] : $self )
++ ->push_content( $self->{'_element_class'}
++ ->new( '~comment', 'text' => $_[1] ) );
+ return;
+ },
+
+ 'Proc' => sub {
+ return unless $self->{'_store_pis'};
+- (
+- @stack ? $stack[-1] : $self
+- )->push_content(
+- $self->{'_element_class'}->new('~pi', 'text' => "$_[1] $_[2]")
+- );
++ ( @stack ? $stack[-1] : $self )
++ ->push_content( $self->{'_element_class'}
++ ->new( '~pi', 'text' => "$_[1] $_[2]" ) );
+ return;
+ },
+
++ 'Final' => sub {
++ $self->root()->traverse(
++ sub {
++ my ( $node, $start ) = @_;
++ if ( ref $node ) { # it's an element
++ $node->attr( 'NoExpand', undef );
++ $node->attr( 'ErrorContext', undef );
++ }
++ }
++ );
++ },
++
+ # And now, declarations:
+
+ 'Attlist' => sub {
+ return unless $self->{'_store_declarations'};
+ shift;
+- (
+- @stack ? $stack[-1] : $self
+- )->push_content(
+- $self->{'_element_class'}->new('~declaration',
+- 'text' => join ' ', 'ATTLIST', @_
++ ( @stack ? $stack[-1] : $self )->push_content(
++ $self->{'_element_class'}->new(
++ '~declaration',
++ 'text' => join ' ',
++ 'ATTLIST', @_
+ )
+ );
+ return;
+@@ -80,11 +109,11 @@
+ 'Element' => sub {
+ return unless $self->{'_store_declarations'};
+ shift;
+- (
+- @stack ? $stack[-1] : $self
+- )->push_content(
+- $self->{'_element_class'}->new('~declaration',
+- 'text' => join ' ', 'ELEMENT', @_
++ ( @stack ? $stack[-1] : $self )->push_content(
++ $self->{'_element_class'}->new(
++ '~declaration',
++ 'text' => join ' ',
++ 'ELEMENT', @_
+ )
+ );
+ return;
+@@ -93,17 +122,32 @@
+ 'Doctype' => sub {
+ return unless $self->{'_store_declarations'};
+ shift;
+- (
+- @stack ? $stack[-1] : $self
+- )->push_content(
+- $self->{'_element_class'}->new('~declaration',
+- 'text' => join ' ', 'DOCTYPE', @_
++ ( @stack ? $stack[-1] : $self )->push_content(
++ $self->{'_element_class'}->new(
++ '~declaration',
++ 'text' => join ' ',
++ 'DOCTYPE', @_
+ )
+ );
return;
},
- });
-+ 'Entity' => sub {
-+ return unless $self->{'_store_declarations'};
-+ shift;
-+ (
-+ @stack ? $stack[-1] : $self
-+ )->push_content(
-+ $self->{'_element_class'}->new('~declaration',
-+ 'text' => join ' ', 'ENTITY', @_
-+ )
-+ );
-+ return;
-+ },
-+ },
-+ 'NoExpand' => $self->{'NoExpand'},
-+ 'ErrorContext' => $self->{'ErrorContext'}
-+ );
++ 'Entity' => sub {
++ return unless $self->{'_store_declarations'};
++ shift;
++ ( @stack ? $stack[-1] : $self )->push_content(
++ $self->{'_element_class'}->new(
++ '~declaration',
++ 'text' => join ' ',
++ 'ENTITY', @_
++ )
++ );
++ return;
++ },
++ },
++ 'NoExpand' => $self->{'NoExpand'},
++ 'ErrorContext' => $self->{'ErrorContext'}
++ );
return $self;
}
-Only in XML-TreeBuilder-patched/lib/XML: .TreeBuilder.pm.swp
-diff -rubB --exclude=.svn XML-TreeBuilder-3.09/t/10main.t XML-TreeBuilder-patched/t/10main.t
---- XML-TreeBuilder-3.09/t/10main.t 2004-06-11 14:22:53.000000000 +1000
-+++ XML-TreeBuilder-patched/t/10main.t 2008-10-15 12:17:13.000000000 +1000
-@@ -21,6 +21,7 @@
-
- my $y = XML::Element->new_from_lol(
- ['Gee',
-+ { 'NoExpand' => '0', 'ErrorContext' => '0'},
- ['~comment', {'text' => ' myorp '}],
- ['foo', {'Id'=> 'me', 'xml:foo' => 'lal'}, 'Hello World'],
- ['lor'],
-@@ -29,8 +30,7 @@
+@@ -110,15 +155,15 @@
+ #==========================================================================
+ sub _elem # universal accessor...
+ {
+- my($self, $elem, $val) = @_;
++ my ( $self, $elem, $val ) = @_;
+ my $old = $self->{$elem};
+ $self->{$elem} = $val if defined $val;
+ return $old;
+ }
+
+-sub store_comments { shift->_elem('_store_comments', @_); }
+-sub store_declarations { shift->_elem('_store_declarations', @_); }
+-sub store_pis { shift->_elem('_store_pis', @_); }
++sub store_comments { shift->_elem( '_store_comments', @_ ); }
++sub store_declarations { shift->_elem( '_store_declarations', @_ ); }
++sub store_pis { shift->_elem( '_store_pis', @_ ); }
+
+ #==========================================================================
+
+diff -rubB --exclude=.svn --exclude='*.swp' XML-TreeBuilder-3.09/t/10main.t XML-TreeBuilder-patched/t/10main.t
+--- XML-TreeBuilder-3.09/t/10main.t 2009-09-28 14:00:50.000000000 +1000
++++ XML-TreeBuilder-patched/t/10main.t 2009-09-28 14:00:54.000000000 +1000
+@@ -2,7 +2,7 @@
+ # Time-stamp: "2004-06-10 20:22:53 ADT"
+
+ use Test;
+-BEGIN { plan tests => 3 }
++BEGIN { plan tests => 4 }
+
+ use XML::TreeBuilder;
+
+@@ -29,8 +29,7 @@
]
);
@@ -108,3 +237,31 @@ diff -rubB --exclude=.svn XML-TreeBuilde
unless( $ENV{'HARNESS_ACTIVE'} ) {
$x->dump;
+@@ -43,6 +44,27 @@
+ $x->delete;
+ $y->delete;
+
++$x = XML::TreeBuilder->new({ 'NoExpand' => "1", 'ErrorContext' => "2" });
++$x->store_comments(1);
++$x->store_pis(1);
++$x->store_declarations(1);
++$x->parse(
++ qq{<!-- myorp --><Gee><foo Id="me" xml:foo="lal">Hello World</foo>} .
++ qq{<lor/><!-- foo --></Gee><!-- glarg -->}
++);
++
++$y = XML::Element->new_from_lol(
++ ['Gee',
++ ['~comment', {'text' => ' myorp '}],
++ ['foo', {'Id'=> 'me', 'xml:foo' => 'lal'}, 'Hello World'],
++ ['lor'],
++ ['~comment', {'text' => ' foo '}],
++ ['~comment', {'text' => ' glarg '}],
++ ]
++);
++
++ok($x->same_as($y));
++
+ ok 1;
+ print "# Bye from ", __FILE__, "\n";
+
Index: perl-XML-TreeBuilder.spec
===================================================================
RCS file: /cvs/pkgs/rpms/perl-XML-TreeBuilder/F-10/perl-XML-TreeBuilder.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- perl-XML-TreeBuilder.spec 15 Oct 2008 03:29:05 -0000 1.2
+++ perl-XML-TreeBuilder.spec 28 Sep 2009 23:44:22 -0000 1.3
@@ -1,7 +1,7 @@
Summary: Parser that builds a tree of XML::Element objects
Name: perl-XML-TreeBuilder
Version: 3.09
-Release: 11%{?dist}
+Release: 16%{?dist}
License: GPL+ or Artistic
Group: Development/Libraries
URL: http://search.cpan.org/dist/XML-TreeBuilder/
@@ -50,6 +50,21 @@ find $RPM_BUILD_ROOT -name .packlist -ex
%{perl_vendorlib}/XML/
%changelog
+* Tue Sep 29 2009 Jeff Fearn <jfearn at redhat.com> - 3.09-16
+- Stupid man! Don't eat entities :(
+
+* Mon Sep 28 2009 Jeff Fearn <jfearn at redhat.com> - 3.09-15
+- Always remove NoExpand and ErrorContext from output
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.09-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Mon Mar 16 2009 Jeff Fearn <jfearn at redhat.com> - 3.09-13
+- Remove NoExpand and ErrorContext from output if they aren't set.
+
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.09-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
* Wed Oct 15 2008 Jeff Fearn <jfearn at redhat.com> - 3.09-11
- Add ErrorContext pass through
- Fix crash on Entity declaration. BZ #461557
- Previous message (by thread): rpms/perl-XML-TreeBuilder/F-11 XML-TreeBuilder-NoExpand.patch, 1.4, 1.5 perl-XML-TreeBuilder.spec, 1.6, 1.7
- Next message (by thread): rpms/kernel/devel patch-2.6.32-rc1.bz2.sign, NONE, 1.1 .cvsignore, 1.1129, 1.1130 kernel.spec, 1.1812, 1.1813 linux-2.6-crash-driver.patch, 1.15, 1.16 sources, 1.1087, 1.1088 upstream, 1.1001, 1.1002 patch-2.6.31-git18.bz2.sign, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list