Sync from SUSE:SLFO:Main perl-XML-LibXML revision a2e520c49b0472ac6515a46a836812bf

This commit is contained in:
2025-02-26 14:04:20 +01:00
parent 8f11ee5548
commit d47d46d0ee
6 changed files with 175 additions and 9 deletions

BIN
XML-LibXML-2.0209.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
XML-LibXML-2.0210.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -4,8 +4,8 @@ description_paragraphs: 1
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
patches:
perl-XML-LibXML-fix-testsuite-with-libxml2-2.13.patch: -p1
# bar.patch:
preamble: |-
BuildRequires: pkgconfig(libxml-2.0) >= 2.9.0

View File

@@ -0,0 +1,145 @@
From bee8338fd1cbd7aad4bf60c2965833343b6ead6f Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Tue, 21 May 2024 15:17:30 +0200
Subject: [PATCH] Fix test suite with libxml2 2.13.0
---
t/02parse.t | 7 ++++++-
t/08findnodes.t | 8 +++++++-
t/19die_on_invalid_utf8_rt_58848.t | 2 +-
t/25relaxng.t | 4 ++--
t/26schema.t | 4 ++--
t/60error_prev_chain.t | 8 ++++----
6 files changed, 22 insertions(+), 11 deletions(-)
Index: XML-LibXML-2.0210/t/02parse.t
===================================================================
--- XML-LibXML-2.0210.orig/t/02parse.t
+++ XML-LibXML-2.0210/t/02parse.t
@@ -884,7 +884,12 @@ EOXML
eval {
$doc2 = $parser->parse_string( $xmldoc );
};
- isnt($@, '', "error parsing $xmldoc");
+ # https://gitlab.gnome.org/GNOME/libxml2/-/commit/b717abdd
+ if (XML::LibXML::LIBXML_RUNTIME_VERSION() < 21300) {
+ isnt($@, '', "error parsing $xmldoc");
+ } else {
+ is( $doc2->documentElement()->firstChild()->nodeName(), "foo" );
+ }
$parser->validation(1);
Index: XML-LibXML-2.0210/t/08findnodes.t
===================================================================
--- XML-LibXML-2.0210.orig/t/08findnodes.t
+++ XML-LibXML-2.0210/t/08findnodes.t
@@ -123,7 +123,13 @@ my $docstring = q{
my @ns = $root->findnodes('namespace::*');
# TEST
-is(scalar(@ns), 2, ' TODO : Add test name' );
+# https://gitlab.gnome.org/GNOME/libxml2/-/commit/aca16fb3
+# fixed xmlCopyNamespace with XML namespace.
+if (XML::LibXML::LIBXML_RUNTIME_VERSION() < 21300) {
+ is(scalar(@ns), 2, ' TODO : Add test name' );
+} else {
+ is(scalar(@ns), 3, ' TODO : Add test name' );
+}
# bad xpaths
# TEST:$badxpath=4;
Index: XML-LibXML-2.0210/t/19die_on_invalid_utf8_rt_58848.t
===================================================================
--- XML-LibXML-2.0210.orig/t/19die_on_invalid_utf8_rt_58848.t
+++ XML-LibXML-2.0210/t/19die_on_invalid_utf8_rt_58848.t
@@ -16,7 +16,7 @@ use XML::LibXML;
my $err = $@;
# TEST
- like ("$err", qr{parser error : Input is not proper UTF-8},
+ like ("$err", qr{not proper UTF-8|Invalid bytes in character encoding},
'Parser error.',
);
}
Index: XML-LibXML-2.0210/t/25relaxng.t
===================================================================
--- XML-LibXML-2.0210.orig/t/25relaxng.t
+++ XML-LibXML-2.0210/t/25relaxng.t
@@ -132,7 +132,7 @@ print "# 6 check that no_network => 1 wo
{
my $rng = eval { XML::LibXML::RelaxNG->new( location => $netfile, no_network => 1 ) };
# TEST
- like( $@, qr{I/O error : Attempt to load network entity}, 'RNG from file location with external import and no_network => 1 throws an exception.' );
+ like( $@, qr{Attempt to load network entity}, 'RNG from file location with external import and no_network => 1 throws an exception.' );
# TEST
ok( !defined $rng, 'RNG from file location with external import and no_network => 1 is not loaded.' );
}
@@ -152,7 +152,7 @@ print "# 6 check that no_network => 1 wo
</grammar>
EOF
# TEST
- like( $@, qr{I/O error : Attempt to load network entity}, 'RNG from buffer with external import and no_network => 1 throws an exception.' );
+ like( $@, qr{Attempt to load network entity}, 'RNG from buffer with external import and no_network => 1 throws an exception.' );
# TEST
ok( !defined $rng, 'RNG from buffer with external import and no_network => 1 is not loaded.' );
}
Index: XML-LibXML-2.0210/t/26schema.t
===================================================================
--- XML-LibXML-2.0210.orig/t/26schema.t
+++ XML-LibXML-2.0210/t/26schema.t
@@ -117,7 +117,7 @@ EOF
{
my $schema = eval { XML::LibXML::Schema->new( location => $netfile, no_network => 1 ) };
# TEST
- like( $@, qr{I/O error : Attempt to load network entity}, 'Schema from file location with external import and no_network => 1 throws an exception.' );
+ like( $@, qr{Attempt to load network entity}, 'Schema from file location with external import and no_network => 1 throws an exception.' );
# TEST
ok( !defined $schema, 'Schema from file location with external import and no_network => 1 is not loaded.' );
}
@@ -129,7 +129,7 @@ EOF
</xsd:schema>
EOF
# TEST
- like( $@, qr{I/O error : Attempt to load network entity}, 'Schema from buffer with external import and no_network => 1 throws an exception.' );
+ like( $@, qr{Attempt to load network entity}, 'Schema from buffer with external import and no_network => 1 throws an exception.' );
# TEST
ok( !defined $schema, 'Schema from buffer with external import and no_network => 1 is not loaded.' );
}
Index: XML-LibXML-2.0210/t/60error_prev_chain.t
===================================================================
--- XML-LibXML-2.0210.orig/t/60error_prev_chain.t
+++ XML-LibXML-2.0210/t/60error_prev_chain.t
@@ -16,13 +16,11 @@ use XML::LibXML;
{
my $parser = XML::LibXML->new();
- $parser->validation(0);
- $parser->load_ext_dtd(0);
eval
{
local $^W = 0;
- $parser->parse_file('example/JBR-ALLENtrees.htm');
+ $parser->parse_string('<doc>&ldquo;&nbsp;&rdquo;</doc>');
};
my $err = $@;
@@ -31,7 +29,7 @@ use XML::LibXML;
if( $err && !ref($err) ) {
plan skip_all => 'The local libxml library does not support errors as objects to $@';
}
- plan tests => 1;
+ plan tests => 2;
while (defined($err) && $count < 200)
{
@@ -44,6 +42,8 @@ use XML::LibXML;
# TEST
ok ((!$err), "Reached the end of the chain.");
+ # TEST
+ is ($count, 3, "Correct number of errors reported")
}
=head1 COPYRIGHT & LICENSE

View File

@@ -1,3 +1,23 @@
-------------------------------------------------------------------
Tue Jan 21 10:52:50 UTC 2025 - Pedro Monreal <pmonreal@suse.com>
- Fix the testsuite with libxml2 version 2.13.0 and up:
* github.com/shlomif/perl-XML-LibXML/pull/87
* Add perl-XML-LibXML-fix-testsuite-with-libxml2-2.13.patch
-------------------------------------------------------------------
Wed Mar 6 11:33:51 UTC 2024 - Pedro Monreal <pmonreal@suse.com>
- updated to 2.0210 [bsc#1221013]
see /usr/share/doc/packages/perl-XML-LibXML/Changes
2.0210 2024-01-24
- Fix copying external entity from an ext_ent_handler handler
- https://github.com/shlomif/perl-XML-LibXML/issues/81
- thanks to Petr
- libxml-mm: Fix function prototypes in function pointers
- thanks to Khem Raj
-------------------------------------------------------------------
Tue Jul 25 18:17:14 UTC 2023 - Tina Müller <tina.mueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package perl-XML-LibXML
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,14 @@
%define cpan_name XML-LibXML
Name: perl-XML-LibXML
Version: 2.0209
Version: 2.0210
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Interface to Gnome libxml2 xml parsing and DOM library
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
Patch1: perl-XML-LibXML-fix-testsuite-with-libxml2-2.13.patch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Alien::Base::Wrapper)
@@ -93,7 +94,7 @@ split into several packages which are not described in this section; unless
stated otherwise, you only need to 'use XML::LibXML;' in your programs.
%prep
%autosetup -n %{cpan_name}-%{version}
%autosetup -n %{cpan_name}-%{version} -p1
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644
@@ -102,7 +103,7 @@ perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%make_build
%check
make test
%make_build test
%install
%perl_make_install