Source: perl Version: 5.20.2-3+deb8u4 As discussed with Niko in recent weeks, I believe we should be importing all relevant patches from maint releases of perl into Debian stable. This provides Debian stable users with many important bugfixes that have been reviewed and tested upstream already.
The upstream policy for stable releases is conservative and, IMO, consistent with Debian's: http://perldoc.perl.org/perlpolicy.html#MAINTENANCE-BRANCHES I think we have already effectively ruled out importing 5.20.3 wholesale into Debian stable, because a version number change would be more invasive than we want, even though it is in some ways the most attractive option. Cherry-picking the relevant fixes will also reduce the amount of code for the release team to review compared to importing things relating to other platforms or non-functional changes. I analysed the 165 commits in upstream's git repository between 5.20.2 and 5.20.3 and selected what I believe to be the 40-odd relevant patches (the others are either non-functional changes in release notes, Module::CoreList or changes for platforms Debian does not support). One change fixes a bug which has been reported explicitly at #820328, but it seems like only a matter of time before further bugs are reported against Debian for things which are fixed in this release. At the bottom of this message is a list of the commits I would attempt to cherry-pick as part of this process (hashes from upstream maint-5.20). In terms of practicalities, my preferred approach would be to cherry-pick the commits individually into the git-dpm patched branch, thus producing patch files in the usual way. The alternative would be to make a combined patch fixing all issues in one file, but this seems to have no real benefits and plenty of downsides. Release team: would you be happy with an update in stable along the lines I've outlined? Niko et al: any further comments? Cheers, Dominic. functional fddbd7860397641a9f336211b07bd51902a70e55 [perl #123652] eval {label:} crash d40f1ca59e9f4eb4e0e717b5304072636b24a62a lib/perl5db.pl: Restore noop lock prototype 4db4d6727189105b033a1a4be009711535cd7407 [perl #124127] fix cloning arrays with unused elements da902b590037b6f0b7e95937c761b16043c47aa6 [perl #123218] "preserve" $/ if set to a bad value cde1108b596cf23b590a273e678a0a597817ad5b Remove get-magic from $/ 0f19268d11e0e7ce38b5a449f9f53461a0dc3226 [perl #123748] - Add test case for possible getenv/putenv/setenv stomping in perl.c (also squash 63209b393029691eb62065536b4aaab4ade1ad7b into it) 6eeae11f5e975d33c2d782454962ef5d061523cf locale.c: savepv() of getenv() (https://rt.perl.org/Public/Bug/Display.html?id=123748) ca9cf5171a638ccfefa8b2f842df019aec532fd2 perl.c: Don't read possibly zapped memory (https://rt.perl.org/Ticket/Display.html?id=123748) 56ebbae5753a92e86450b6fb16c0ab7838cbfbcb [perl #123202] speed up scalar //g against tainted strings 0b45ede02cc1dea0a409d6f0db7047f8a06b3aeb Stop $^H |= 0x1c020000 from enabling all features d427d11537d9540fa9903b39c59e5087ca300a6a [perl #124113] Make check for multi-dimensional arrays be UTF8-aware d199fb6107ca19bfaef0d7453cc008fbc66f694b Allow unquoted UTF-8 HERE-document terminators 95ea1ad55268965975d1d4fe77493cdb40721923 Fix "...without parentheses is ambuguous" warning for UTF-8 function names d29597bcd1c03171d1dba1efd922c0e6fb52cf23 Fix test count in t/base/rs.t 23a85f4c1fe2393067c066cbd442e4c1256e97cd hv_func.h - fix seed initialization in sdbm and djb2 hashing algorithms. 8d89c0509dd5eb1de58dc6617f6e08599eb24792 [PATCH] [perl #123786] don't leak the temp utf8 copy of namep 17d9707d444517764c7bcb479c236a8c58a1d605 save_re_context(): do "local $n" with no PL_curpm (#820328) ccafce1bfd59cdbdd7af0ad68f7557a7471d6c64 Perl_save_re_context(): re-indent after last commit 160ab6277bff26ab3f7c18d710271ef2775d542e h2ph: correct handling of hex constants for the preamble 0cb29f21ba1db04416bb1a2dbc32cd5f7c75bc84 lib/h2ph.t to test generated t/_h2ph_pre.ph instead of the system one e05b470016a652da7cc2d059fb464dea98571f3b simpify and speed up /.*.../ handling b9d0b7b01399df7c7155d1ac249e0ec52a2f0cc0 [perl #123711] Fix crash with 0-5x-l{0} ab4bc882871ec70a332518a556f2ad8bdccfce25 don't fatalize warnings during unwinding (#123398) 775d07fe1f24ba72a76298bbcaa0c737c37c0246 Don’t treat setpgrp($nonzero) as setpgrp(1) 36ee76c8e66553bd0b422691ad9ca13a229035b5 RT #124156: death during unwinding causes crash 913281cacd3442109f345cc20d38e78a36470f94 [perl #125541] Fix crash with %::=(); J->${\"::"} aeb325e6e832467c38c4baff1ee68c7726ad9f7c PATCH: [perl 125825] {n}+ possessive quantifier broken 89d3bf64c47772a0c299cec5555c07c208dd1fbf [perl #123712] Fix /$a[/ parsing feac78b0722d4899f9a306d5fb427fe33e82b9ab [perl #123712] Don’t check sub_inwhat 45f3f24684363c03c905ddeea6353a16213e34e8 [perl #123893] Fix hang with "@{" docs 3f48d410f19f301f9e0a9143b6c4763d583e67a9 Fix apidocs for OP_TYPE_IS(_OR_WAS) - arguments separated by |, not ,. 7ee5afc746607e1b7fce7934f2b9a27ce300ba4f perlpodspec: Corrections/adds to detecting =encoding a82de63beda206f04be7b7c8573c2cef05ea397d SvPV_set's docs, it really shouldn't be public API 41575f0a39566008526e7e38eab84cba82cf372b Add pthread to libswanted 367311751a60f47b35f98115eeb127aa686941c7 Fix warning message regarding "use autodie" and "use open". df9f260937c1154d6b1c9d383c0407f73f4a1454 perlunicook: Note that autodie >= 2.26 should be okay with "use open". c31a12f296d6bdd20ef930863aeda2925b33ae39 Fix setenv() replacement documentation in perlclib 0b0320eef35c38a33abf41e9d1dcfdf7f7f9af55 perlhacktips: Add caution about clib ptr returns to static memory 4179008484da541dbe67e0a17845ecd8deb7e943 Fix minor code typos in perlunicook bb1d1705ec909f3549d7889cecf080a284c16aaa [perl #122322] Update OOK example in perlguts 5c20190d12750fee5a8b0a70590bfbae59ee68d3 perlfunc: mention that study() is currently a noop