Control: fixed -1 0.16-1 Control: forwarded -1 https://rt.cpan.org/Public/Bug/Display.html?id=107221 Control: tag -1 + upstream fixed-upstream patch
On Sat, 11 Jun 2016 00:31:51 +0100, Dominic Hargreaves wrote: > Source: libcss-dom-perl > Version: 0.15-1 > Severity: serious > Justification: FTBFS > > This package FTBFS on stable: > > # "utf-16" is encoded in UCS-2-LE but is not UCS-2-LE-based > Can't call method "cssText" on an undefined value at t/charset.t line 144. > # Looks like you planned 23 tests but ran 9. > # Looks like your test exited with 2 just after 9. > t/charset.t .......................... > Dubious, test returned 2 (wstat 512, 0x200) > Failed 14/23 subtests > > The full build log can be found here: > > http://perl.debian.net/rebuild-logs/jessie/libcss-dom-perl_0.15-1/libcss-dom-perl_0.15-1_amd64-20160610-0308.build Some quick tests show: - 0.15-1 fails in stable, testing, and unstable chroots - 0.16-1 passes in stable, testing, and unstable chroots The diff between 0.15 and 0.16 shows: +0.16 29 November, 2015 + • Work around an incompatible change in Encode 2.77 (RT + #107221, #107043). diff --git a/lib/CSS/DOM/Parser.pm b/lib/CSS/DOM/Parser.pm index 7c2156e..8eb5c1d 100644 --- a/lib/CSS/DOM/Parser.pm +++ b/lib/CSS/DOM/Parser.pm @@ -1,6 +1,6 @@ package CSS::DOM::Parser; -$VERSION = '0.15'; +$VERSION = '0.16'; use strict; use warnings; no warnings qw 'utf8 parenthesis'; use re 'taint'; @@ -578,7 +578,7 @@ sub _decode { my $at; for(''.shift) { ) { my $origenc = my $enc = Encode::decode('utf16le', $2); my $dec = eval{Encode::decode($enc, $1, 9)}; - defined $dec or $dec + !defined $dec || $dec !~ /^\@/ and $dec = eval{Encode::decode($enc.='-le', $1, 9)}; if(defined $dec) { $dec eq "\@charset \"$origenc\";" @@ -638,7 +638,7 @@ sub _decode { my $at; for(''.shift) { ) { my $origenc = my $enc = Encode::decode('utf32le', $2); my $dec = eval{Encode::decode($enc, $1, 9)}; - defined $dec or $dec + !defined $dec || $dec !~ /^\@/ and $dec = eval{Encode::decode($enc.='-le', $1, 9)}; if(defined $dec) { $dec eq "\@charset \"$origenc\";" With this change, the tests pass in stable. (Unsurprisingly, since this is the only difference between 0.15 and 0.16.) (What surprises me is how a fix for Encode 2.77 works, if perl 5.20.2 ships Encode 2.60. And libencode-perl isn't installed; but that would be 2.63 in stable.) Cheers, gregor -- .''`. Homepage https://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - https://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Star Trek: The Next Generation
signature.asc
Description: Digital Signature