Debian Patches

Status for libxml-catalog-perl/1.03-4

Patch Description Author Forwarded Bugs Origin Last update
XML-Catalog-1.03-Adapt-to-changes-in-XML-Parser-2.48.patch Adapt to changes in XML-Parser-2.48
After upgrading XML-Parser from 2.47 to 2.48 t/001-load.t failed like this:

1..5
ok 1 - use XML::Catalog;
# Testing XML::Catalog 1.03
ok 2 - 'Check ISA' isa 'XML::Catalog'
not ok 3 - Reslove PublicID
# Failed test 'Reslove PublicID'
# at t/001-load.t line 20.
# got: undef
# expected: 'file:///home/test/fedora/perl-XML-Catalog/perl-XML-Catalog-1.03-build/XML-Catalog-1.03/t/test.dtd'
not ok 4 - Reslove deligated PublicID
# Failed test 'Reslove deligated PublicID'
# at t/001-load.t line 25.
# got: undef
# expected: 'file:///home/test/fedora/perl-XML-Catalog/perl-XML-Catalog-1.03-build/XML-Catalog-1.03/t/test.dtd'
not ok 5 - Reslove nextCatalog
# Failed test 'Reslove nextCatalog'
# at t/001-load.t line 30.
# got: undef
# expected: 'file:///home/test/fedora/perl-XML-Catalog/perl-XML-Catalog-1.03-build/XML-Catalog-1.03/t/test2.dtd'
# Looks like you failed 3 tests of 5.

It was triggered by this XML-Parser commit:

commit 45016045691b95067238af981440ef0a5850e724 (HEAD)
Author: Toddr Bot <toddbot@rinaldo.us>
Date: Mon Mar 16 21:40:21 2026 +0000

fix: propagate xpcroak errors in Subs style instead of swallowing them

The Subs style wrapped handler calls in eval { } to silently skip
elements without corresponding subs, but this also swallowed legitimate
errors from xpcroak(). Replace eval with defined(&$sub) checks, matching
the pattern already used by the Stream style.

Fixes https://github.com/cpan-authors/XML-Parser/issues/50

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

That commit basically unwrapped Subs XML::Parser calls for start and
end elements from an eval block. That unguarded a die call in
XML::Catalog:::parse(), causing a premature end of parsing catalogs
when an unretrievable URL was met. Note that propagating exceptions
was a purpose of the commit.

t/001-load.t test failed because when parsing t/oasis.cat,
t/delegate.cat is parsed too and it refers to a nonexisting URL in
/catalog/rewriteSystem/@rewritePrefix attribute.

XML Catalog standard does not specify how to handle errors.

This patch adjusts to the change by putting build() calls in an eval
block, which calls parse() with die. I chose this solution over
removing the die call to preserve ability to report an error for
documents directly supplied to new() and add() public methods.

CPAN RT#176391.
Petr Písař <ppisar@redhat.com> no 2026-04-20

All known versions for source package 'libxml-catalog-perl'

Links