Control: tags 1060458 + pending
Dear maintainer, I've prepared an NMU for perl-tk (versioned as 1:804.036+dfsg1-1.1) and uploaded it to DELAYED/1. Please feel free to tell me if I should delay it longer. Sorry for the rush, but this is blocking the perl 5.38 transition … Cheers, gregor -- .''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06 `. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe `-
diff -Nru perl-tk-804.036+dfsg1/debian/changelog perl-tk-804.036+dfsg1/debian/changelog --- perl-tk-804.036+dfsg1/debian/changelog 2023-09-23 14:51:33.000000000 +0200 +++ perl-tk-804.036+dfsg1/debian/changelog 2024-01-13 19:08:35.000000000 +0100 @@ -1,3 +1,12 @@ +perl-tk (1:804.036+dfsg1-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix "FTBFS with Perl 5.38 on big-endian 64-bit: test failures": + add Niko Tyni's patch to fix STRLEN vs int pointer confusion. + (Closes: #1060458) + + -- gregor herrmann <gre...@debian.org> Sat, 13 Jan 2024 19:08:35 +0100 + perl-tk (1:804.036+dfsg1-1) unstable; urgency=medium * replaced the build dependency libfreetype6-dev by libfreetype-dev diff -Nru perl-tk-804.036+dfsg1/debian/patches/0001-Fix-STRLEN-vs-int-pointer-confusion-in-Tcl_GetByteAr.patch perl-tk-804.036+dfsg1/debian/patches/0001-Fix-STRLEN-vs-int-pointer-confusion-in-Tcl_GetByteAr.patch --- perl-tk-804.036+dfsg1/debian/patches/0001-Fix-STRLEN-vs-int-pointer-confusion-in-Tcl_GetByteAr.patch 1970-01-01 01:00:00.000000000 +0100 +++ perl-tk-804.036+dfsg1/debian/patches/0001-Fix-STRLEN-vs-int-pointer-confusion-in-Tcl_GetByteAr.patch 2024-01-13 19:00:28.000000000 +0100 @@ -0,0 +1,45 @@ +From a26233c844c52f49ef9cca5f88dd9063aac60d0f Mon Sep 17 00:00:00 2001 +From: Niko Tyni <nt...@debian.org> +Date: Thu, 11 Jan 2024 18:28:58 +0000 +Subject: [PATCH] Fix STRLEN vs int pointer confusion in + Tcl_GetByteArrayFromObj() + +Perl 5.37.2, more precisely commit + + https://github.com/Perl/perl5/commit/1ef9039bccbfe64f47f201b6cfb7d6d23e0b08a7 + +changed the implementation of SvPV() et al., breaking t/balloon.t, +t/canvas2.t and t/photo.t on big-endian 64-bit architectures such as +ppc64 and s390x because StringMatchGIF() no longer recognized GIF files. + +This is because Tcl_GetByteArrayFromObj() was calling SvPV() with an int +pointer instead of a correct STRLEN pointer, and the new implementation +is more sensitive to this: it assigns the pointers as-is, resulting in +the int pointer pointing at the wrong end of the 64-bit length. + +Other functions taking a length pointer, at least Tcl_GetStringFromObj() +already seem to do things correctly, so presumably this is not a +systematic issue. +--- + objGlue.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/objGlue.c b/objGlue.c +index d4927ea..dbd6a50 100644 +--- a/objGlue.c ++++ b/objGlue.c +@@ -627,7 +627,10 @@ Tcl_GetByteArrayFromObj(Tcl_Obj * objPtr, int * lengthPtr) + sv_utf8_downgrade(objPtr, 0); + if (lengthPtr) + { +- return (unsigned char *) SvPV(objPtr, *lengthPtr); ++ STRLEN len; ++ unsigned char *s = SvPV(objPtr, len); ++ *lengthPtr = len; ++ return s; + } + else + { +-- +2.30.2 + diff -Nru perl-tk-804.036+dfsg1/debian/patches/series perl-tk-804.036+dfsg1/debian/patches/series --- perl-tk-804.036+dfsg1/debian/patches/series 2023-09-22 17:49:03.000000000 +0200 +++ perl-tk-804.036+dfsg1/debian/patches/series 2024-01-13 19:00:28.000000000 +0100 @@ -1,3 +1,4 @@ 20-pngsuite-lic.patch 60-man-name.patch 70-spellings.patch +0001-Fix-STRLEN-vs-int-pointer-confusion-in-Tcl_GetByteAr.patch
signature.asc
Description: Digital Signature