Package: libdevel-mat-dumper-perl Version: 0.42-2 Severity: important This package compiles Perl version information into the binary module at build time, and fails its test suite if run on a different minor version of Perl.
>From a failing autopkgtest run with perl_5.32.1-1 in experimental: t/01header.t .. ok 1 - Write dumpfile ok 2 - File magic signature ok 3 - Flags ok 4 - Zero ok 5 - Major ok 6 - Minor not ok 7 - Perlver # Failed test 'Perlver' # at t/01header.t line 42. # got: '85983232' # expected: '85983233' Here the binary was built with 5.32.0, but run on 5.32.1. The dependencies currently allow this, as 5.32.1 is supposed to be binary compatible. This stems from lib/Devel/MAT/Dumper.xs:950 or so: write_u32(fh, PERL_REVISION<<24 | PERL_VERSION<<16 | PERL_SUBVERSION); where the PERL_xxx constants are preprocessor symbols and so expanded at build time. Given this in the module description: The dump file will contain a representation of every SV in Perl's arena, providing information about pointers between them, as well as other information about the state of the process at the time it was created. it sounds possibly fragile to me and should probably declare a strict dependency on the same Perl upstream version it was built with, in the same vein as for instance libclass-xsaccessor-perl. (I fear this might even break between different builds of the same Perl version, but triggering rebuilds on every src:perl upload seems like a major pain on the current Debian infrastructure. I suggest we don't go there unless we really have to.) -- Niko Tyni nt...@debian.org