Debian Patches

Status for tellico/4.1.4-2

Patch Description Author Forwarded Bugs Origin Last update
upstream_Adapt-XML-validation-tests-to-libxml2-2.15.patch [PATCH] Adapt XML validation tests to libxml2 2.15
It looks like libxml2 2.15 enhances the validation check done by
xmlValidateNCName() (used by the helpers in Tellico::XML), accepting
also the character "€" (i.e. EURO SIGN). Considering that "ě"
(i.e. LATIN SMALL LETTER E WITH CARON) was already accepted, this seems
a valid behaviour change.

Hence tweak the test a bit, providing slightly different test data for
the newer libxml2 version, including the EURO sign as valid character.
Pino Toscano <pino@kde.org> no 2025-10-27
skip-failing-filelisting-test.diff no
tests-avoid-Group_Statistics.diff Do not use Group_Statistics.xsl as test data It is a buggy template, and it was removed upstream; will not be there anymore
in 4.1.5+.
.
See https://invent.kde.org/office/tellico/-/commit/6f765a81c2007cdd2deecb8293be8cb185e1a5b2
Pino Toscano <pino@debian.org> not-needed upstream 2025-12-17
Change-XML-removeInvalidXml-to-check-chars-as-explic.diff Change XML::removeInvalidXml() to check chars as explicitly signed The loading procedure of the Tellico own XML files has the following
steps:
(1) load the XML file as-is
(2) in case (1) fails because of not well-formed XML:
(2a) use XML::recoverFromBadXMLName() on the data
(2b) in case (2a) did not change anything, use XML::removeInvalidXml()
on the data
(2c) in case the data changed in either (2a) or (2b), try to load the
data
.
XML::recoverFromBadXMLName() (used in 2a) indirectly uses
xmlValidateNCName() from libxml2, and it changed its behaviour:
- before version 2.15: xmlValidateNCName() does not accept any non-ASCII
name, so XML::recoverFromBadXMLName() results in only ASCII tags,
and step (2b) is not done
- starting from version 2.15: xmlValidateNCName() accepts Unicode names
too, so the output of (2a) is unchanged, and thus (2b) is done;
XML::removeInvalidXml() filters characters by checking them as 'char',
and on architectures where char is unsigned (e.g. ARM) the existing
check accepts also Unicode control characters, so the output is not
changed either
.
The above is the flow when trying to load the bug418067.xml test case.
.
Since the step (2b) is a fallback for a fallback, and generally very
much not likely to happen in the real world, then "freeze" the existing
behaviour (i.e. the one happening on architectures with signed char,
such as x86/x86_64).
.
Drive-by change: make 'c' as const.
Pino Toscano <pino@kde.org> yes debian 2025-12-18

All known versions for source package 'tellico'

Links