Bug#1071129: perl: crash in freelocale()

2024-05-14 Thread Niko Tyni
: Perl_call_sv (perl.c:3150)
==794839==  Block was alloc'd at
==794839==at 0x4840808: malloc (in 
/usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==794839==by 0x496C52A: newlocale (newlocale.c:199)
==794839==by 0x39DD9B: S_emulate_setlocale_i (locale.c:1301)
==794839==by 0x3A0936: Perl_set_numeric_standard (locale.c:2031)
==794839==by 0x39D76D: S_new_LC_ALL (locale.c:2518)
==794839==by 0x3A5F20: Perl_init_i18nl10n (locale.c:5637)
==794839==by 0x14E492: main (perlmain.c:102)
==794839== 
==794839== 
==794839== HEAP SUMMARY:
==794839== in use at exit: 116,898 bytes in 78 blocks
==794839==   total heap usage: 13,878 allocs, 13,801 frees, 3,178,315 bytes 
allocated
==794839== 
==794839== LEAK SUMMARY:
==794839==definitely lost: 0 bytes in 0 blocks
==794839==indirectly lost: 0 bytes in 0 blocks
==794839==  possibly lost: 0 bytes in 0 blocks
==794839==still reachable: 116,898 bytes in 78 blocks
==794839== suppressed: 0 bytes in 0 blocks
==794839== Rerun with --leak-check=full to see details of leaked memory
==794839== 
==794839== For lists of detected and suppressed errors, rerun with: -s
==794839== ERROR SUMMARY: 13 errors from 2 contexts (suppressed: 0 from 0)

-- 
Niko Tyni   nt...@debian.org



Bug#1069247: libconfig-model-dpkg-perl: test failures

2024-04-21 Thread Niko Tyni
[Copying Julian as the apt maintainer.]

On Sat, Apr 20, 2024 at 09:02:35PM +0300, Niko Tyni wrote:
> On Sat, Apr 20, 2024 at 11:09:17AM +0200, Dominique Dumont wrote:
> > On Thursday, 18 April 2024 19:21:55 CEST you wrote:
> > > Source: libconfig-model-dpkg-perl
> > > Version: 3.004
> > > Severity: serious
> > > Tags: ftbfs
> > > Justification: fails to build from source
> > 
> > This really looks like a bug with prove:
> > 
> > $ perl t/reorder.t 
> > ok 1 -  test re-ordered list
> > 1..1
> 
> > I can't see what's wrong with the output of reorder test...
> 
> Looks like something is injecting apt progress messages to stdout with
> CR characters hiding it on the terminal but obviously not from `prove`.
> 
> $ perl t/reorder.t |od -c

> 460   f   o   r   m   a   t   i   o   n   .   .   .   0   %  \r
> 500
> *
> 540  \r   o   k   1   -   t   e   s   t   r   e
> 560   -   o   r   d   e   r   e   d   l   i   s   t  \n   1   .
> 600   .   1  \n

These come from apt, via libapt-pkg-perl which I don't think has ever
filtered them away. The thing that broke this is surely output changes
in apt 2.9.

The crucial difference wrt. at least bookworm seems to be that the
apt messages used to end with a line feed "\n" before the actual TAP
format started.  Now it only has a carriage return "\r" there. Apparently
`prove` ignores unknown lines, but now interprets all the apt output to
be part of the first line that ends with the 'ok 1' part. So that gets
ignored as well.

I see the TAP format spec says at

  https://testanything.org/tap-version-14-specification.html

  A Harness should normalize line endings by replacing any instances of
  \r\n or \r in the TAP document with \n.

so I suppose this might be a normal/wishlist bug in `prove`. In that case,
please note that it needs to be fixed in libtest-harness-perl first as
src:perl just bundles an older version of it.

Not sure if apt should go back to ending its output with a line
feed. Julian, what do you think?
-- 
Niko



Bug#1069247: libconfig-model-dpkg-perl: test failures

2024-04-20 Thread Niko Tyni
On Sat, Apr 20, 2024 at 11:09:17AM +0200, Dominique Dumont wrote:
> On Thursday, 18 April 2024 19:21:55 CEST you wrote:
> > Source: libconfig-model-dpkg-perl
> > Version: 3.004
> > Severity: serious
> > Tags: ftbfs
> > Justification: fails to build from source
> 
> This really looks like a bug with prove:
> 
> $ perl t/reorder.t 
> ok 1 -  test re-ordered list
> 1..1

> I can't see what's wrong with the output of reorder test...

Looks like something is injecting apt progress messages to stdout with
CR characters hiding it on the terminal but obviously not from `prove`.

$ perl t/reorder.t |od -c
000  \r   R   e   a   d   i   n   g   p   a   c   k   a   g   e
020   l   i   s   t   s   .   .   .   0   %  \r  \r   R   e
040   a   d   i   n   g   p   a   c   k   a   g   e   l   i
060   s   t   s   .   .   .   1   0   0   %  \r
100
120  \r  \r   B   u   i   l
140   d   i   n   g   d   e   p   e   n   d   e   n   c   y
160   t   r   e   e   .   .   .   0   %  \r  \r   B   u   i   l
200   d   i   n   g   d   e   p   e   n   d   e   n   c   y
220   t   r   e   e   .   .   .   0   %  \r  \r   B   u   i   l
240   d   i   n   g   d   e   p   e   n   d   e   n   c   y
260   t   r   e   e   .   .   .   5   0   %  \r  \r   B   u   i
300   l   d   i   n   g   d   e   p   e   n   d   e   n   c   y
320   t   r   e   e   .   .   .   5   0   %  \r
340
360  \r  \r   R
400   e   a   d   i   n   g   s   t   a   t   e   i   n   f
420   o   r   m   a   t   i   o   n   .   .   .   0   %  \r  \r
440   R   e   a   d   i   n   g   s   t   a   t   e   i   n
460   f   o   r   m   a   t   i   o   n   .   .   .   0   %  \r
500
*
540  \r   o   k   1   -   t   e   s   t   r   e
560   -   o   r   d   e   r   e   d   l   i   s   t  \n   1   .
600   .   1  \n
603

HTH,
-- 
Niko



Bug#1068934: perl: autopkgtest failure due to the t64 package rename

2024-04-13 Thread Niko Tyni
Source: perl
Version: 5.38.2-3.2
Severity: serious
Tags: patch
User: debian-...@lists.debian.org
Usertags: time-t
X-Debbugs-Cc: Steve Langasek 

perl is failing its own autopkgtest checks in sid because of the
libperl5.38 rename to libperl5.38t64.

  https://ci.debian.net/packages/p/perl/unstable/amd64/45047732/

autopkgtest [15:18:55]: test control: prove debian/t/control.t
autopkgtest [15:18:55]: test control: [---
control.t: warning: can't parse dependency ${t64:Provides}

#   Failed test 'Breaks for libfilter-perl in libperl5.38t64 implies 
Provides'
#   at debian/t/control.t line 267.

#   Failed test 'Breaks for libfilter-perl in libperl5.38t64 implies 
Replaces'
#   at debian/t/control.t line 269.
Use of uninitialized value $replaced_version in substitution (s///) at 
debian/t/control.t line 273.

[...]

The main issue is solved with just a

  sed -i 's/libperl5.38//' debian/t/control.t

but there's also the "can't parse dependency ${t64:Provides}" warning
coming from Dpkg::Deps which cannot handle unsubstituted substvars. We
already fix a similar ${perlapi:Provides} case, so that can be extended
to tackle this as well.

Patch attached. The test passes for me with this on amd64 at least.
-- 
Niko Tyni   nt...@debian.org
>From 81649053d3b4ecf857977c797100c024a25c04de Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Sat, 13 Apr 2024 20:51:17 +0300
Subject: [PATCH] Fix autopkgtest test after t64 changes

---
 debian/t/control.t | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/debian/t/control.t b/debian/t/control.t
index 977338ee5..56608ea4e 100755
--- a/debian/t/control.t
+++ b/debian/t/control.t
@@ -77,7 +77,7 @@ my %known_epochs = (
 # Replaces+Provides
 my %triplet_check_skip = (
 	"perl-base" => [ "libfile-spec-perl" ],
-	"libperl5.38" => [ "libfilter-perl" ],
+	"libperl5.38t64" => [ "libfilter-perl" ],
 );
 
 # list special cases where the name of the Debian package does not
@@ -162,8 +162,8 @@ for my $perl_package_info ($control->get_packages) {
 	for my $deptype ($breaksname, "Replaces", "Provides") {
 		next if !exists $perl_package_info->{$deptype};
 
-		# Dpkg::Deps cannot parse unsubstituted substvars so remove this
-		$perl_package_info->{$deptype} =~ s/\$\{perlapi:Provides}//;
+		# Dpkg::Deps cannot parse unsubstituted substvars so remove those
+		$perl_package_info->{$deptype} =~ s/\$\{\w+:Provides}//;
 
 		my $parsed = deps_parse($perl_package_info->{$deptype});
 		next if !defined $parsed;
-- 
2.39.2



Bug#1067305: libjson-schema-modern-perl: FTBFS: dh_auto_test: error: /usr/bin/perl Build test --verbose 1 returned exit code 3

2024-03-20 Thread Niko Tyni
On Wed, Mar 20, 2024 at 11:17:54PM +0100, gregor herrmann wrote:
> On Wed, 20 Mar 2024 22:00:40 +0100, Lucas Nussbaum wrote:
> 
> > Source: libjson-schema-modern-perl
> > Version: 0.582-1
> > Severity: serious
> > Justification: FTBFS
> > Tags: trixie sid ftbfs
> > User: lu...@debian.org
> > Usertags: ftbfs-20240319 ftbfs-trixie
> > 
> > Hi,
> > 
> > During a rebuild of all packages in sid, your package failed to build
> > on amd64.

> Same failure in all 3 tests:

> t/additional-tests-draft2019-09.t .. 1/? # Failed test 'evaluation result 
> is incorrect'
> # at t/additional-tests-draft2019-09.t line 36.
> # expected false; got true
> # {
> #   "valid": true
> # }

Indeed. It seems to have regressed with
libtest-json-schema-acceptance-perl_1.022-1, and specifically
by the removal of some of its dependencies. Just installing
libcpanel-json-xs-perl makes it pass again.

HTH,
-- 
Niko



Bug#1067241: perl: time64 build flags should go in $Config{ccflags}

2024-03-20 Thread Niko Tyni
Package: perl
Version: 5.38.2-3.2
Tags: patch
User: debian-...@lists.debian.org
Usertags: time-t
X-Debbugs-Cc: Steve Langasek 

[ Steve: I'm sure you have bigger fish to fry but FYI anyway.
  Apologies for the imbalance between verbosity and importance.
  Comments welcome of course. ]

On the architectures affected by the time64 transition (32-bit !*i386),
I think we should store the relevant build flags[*] in %Config to make
sure XS (binary) modules get built with them.

[*] just -D_TIME_BITS=64 I think as the LFS flags are included already

This would have been critical if we were still relying on just
dpkg-buildflags to inject the flags: in that case, modules installed
from CPAN outside dpkg package management would have got misbuilt and
incompatible with the Perl interpreter (because the Perl interpreter
C structure includes a time_t field so its size affects the binary
interface between Perl and its modules.)

However, I understand gcc now sets the time64 flags by default. With
that I think this is mostly cosmetic as long as people use the normal
system compiler. So filing at severity:normal.

I'd still like to fix it so that %Config includes flags required for
binary compatibility between Perl and its binary modules, for transparency
and robustness. For instance, I can imagine someone trying to build CPAN
modules with a non-default compiler and wasting a lot of time because
we currently hide the flags.

I'm attaching an untested simple patch that I think should do it.
Full disclosure: it affects the flags that all XS modules get built
with, although those flags were in my understanding already implied for
current builds.  Even so, I'm not quite sure if I should refrain from
adding them at this stage of the time64 transition.

If we decide not to do this at this time, I'm fine with postponing this
for the upcoming Perl 5.40 transition later this year, where all those
packages will get rebuilt anyway for Debian trixie. The downside with
that is that the upcoming Ubuntu LTS release will not have them (and
possibly it's too late for that now anyway.)

Some more detailed background follows.

Perl generally stores its C compiler and linker flags in
$Config{ccflags} and $Config{lddlflags} respectively.

  % perl -V:ccflags  
  ccflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing 
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64';
  % perl -V:lddlflags
  lddlflags='-shared -L/usr/local/lib -fstack-protector-strong';
  
These are passed on to XS module builds by ExtUtils::MakeMaker and
Module::Build to ensure that the resulting binary modules are compatible
with the Perl interpreter they were built for.

However, this mechanism is somewhat at odds with opt-in build flags such
as hardening, where we generally want to build perl itself with them but
don't want to force them on all XS module packages because they might
not be ready for them. We discussed this at length back in #657853 and
ended up with a solution where we filter away dpkg-buildflags induced
flags and don't store them in %Config, assuming that XS module packages
will get them from dpkg-buildlags themselves.

This was all fine until now, but the time64 flags are not opt-in like the
hardening flags because they affect the binary interface between Perl
and binary modules. So these flags need to be active in all XS module
builds, whether they want them or not, and therefore I don't think we
should filter them away like the others.
-- 
Niko Tyni   nt...@debian.org
>From e1e5a411e58ec6120bddbe31a2d460673ef2961c Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Wed, 20 Mar 2024 18:25:26 +
Subject: [PATCH] Include time64 build flags in $Config{ccflags}

We should only filter away those dpkg-buildflags that are not mandatory
for binary compatibility.
---
 debian/rules | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/rules b/debian/rules
index bd750b9c5..abb4890dd 100755
--- a/debian/rules
+++ b/debian/rules
@@ -187,6 +187,7 @@ endif
 	 $(shell dpkg-buildflags --get CFLAGS) \
 	 ; do \
 	case "$$flag" in -fstack-protector) ;; \
+	 -D_TIME_BITS=64) ;; \
 	 *) export flag; $(PERL_TO_USE) -i -pe "/^(cc|cpp)flags/ and \
 	  s/(['\s])\Q\$$ENV{flag}\E(['\s])/\1\2/ and s/  +/ /" \
 	$(tmp)/$(lib)/$$file ;; \
-- 
2.43.0



Bug#1066249: libmediascan: FTBFS: api_test.c:80:3: error: implicit declaration of function ‘gettimeofday’ [-Werror=implicit-function-declaration]

2024-03-14 Thread Niko Tyni
[Paul: copying you for eyeballs as this seems to have been your pet
 package at some point :)]

On Thu, Mar 14, 2024 at 06:21:35PM +0100, gregor herrmann wrote:
> On Wed, 13 Mar 2024 12:41:10 +0100, Lucas Nussbaum wrote:

> > > test_background.c: In function ‘test_background_api’:
> > > test_background.c:12:16: error: implicit declaration of function ‘mkdir’; 
> > > did you mean ‘_mkdir’? [-Werror=implicit-function-declaration]
> > >12 | #define _mkdir mkdir

> I've pushed a patch to git which make the package compile without
> errors.
> 
> Not going to upload as-is, as I hardly speak any C and don't really
> know what I'm doing and this is more than adding a missing #include
> or prototype and I don't understand the code.

I assume you mean the '#define _mkdir mkdir' part? The rest
seems straightforward.

AFAICS the code used to call mkdir(2) without the mode argument.
A simple test [1] indicates that will just put random garbage there,
so the resulting directory will have a different mode every time. Surely
that was always buggy.

I'm not convinced that affected functions in test/test_defects.c
or test/test_background.c ever get executed for us though? They have
unpatched horrific things like

  const char *test_path = "C:\\Siojej3";

  const char start_dir[] = "C:\\logitest";

In any case, your change

  +int _mkdir(const char *pathname)
  +{
  +mkdir(*pathname, 0775);
  +}

is not quite correct: I think it should read something like

  int _mkdir(const char *pathname)
  {
  return mkdir(pathname, 0775)
  }

to work properly.

But I think it would be easier to stick with the preprocessor and do

-#define _mkdir mkdir
+#include 
+#define _mkdir(x) mkdir((x), 0755)

instead.

Hope this helps :)

[1] echo 'int main(void) { mkdir("ttt"); }' | gcc -xc - && strace -e mkdir 
./a.out
-- 
Niko



Bug#1066498: dh-make-perl: autopkgtest regression due to time_t transition

2024-03-14 Thread Niko Tyni
On Thu, Mar 14, 2024 at 05:14:17PM +0100, gregor herrmann wrote:

> After some thinking, I think I makes to (temporarily) allow both
> libperl5.XXt64 and libperl5.XX, otherwise we'll have a mess during
> the 5.40 transition.
> (After that we can get rid of the option with the suffix again.)

Sure we need to allow for libperl5.XX to stay future-proof. I was just
thinking of hardcoding libperl5.38t64 as the (temporary) other option
rather than using a generic libperl5.XXt64 name.

But no worries :)
-- 
Niko



Bug#1066498: dh-make-perl: autopkgtest regression due to time_t transition

2024-03-13 Thread Niko Tyni
On Wed, Mar 13, 2024 at 05:39:49PM +0100, gregor herrmann via 
pkg-perl-maintainers wrote:
> On Wed, 13 Mar 2024 13:34:57 +0100, gregor herrmann wrote:
> 
> > > 80s not ok 5 - Errno is in libperl5.38 or perl-base (or only perl-base
> > > for perl < 5.22)
> > libperl5.38 or as it's called nowadays: libperl5.38t64, that's the
> > point probably …
> 
> Fix committed in git.
> 
> Reviews welcome; I'm not sure it's the most elegant and safe solution,
> and also if this libperl5.38t64 naming has other effects.

Thanks for fixing this.

Didn't dig deeply into what the test is actually doing, but I think it'd
be fine to just hardcode libperl5.38t64 FWIW.

We can get rid of the suffix with 5.40, and I doubt any other distro
will go through this than Ubuntu who we're syncing with anyway (for
better or worse).

But whatever works is good of course.
-- 
Niko



Bug#1065759: Retitle libbio-samtools-perl: FTBFS on arm{el,hf}: lib/Bio/DB/Sam.xs:324:4: error: implicit declaration of function ‘bam_sort_core’; did you mean ‘bam_format1_core’? [-Werror=implicit-fu

2024-03-12 Thread Niko Tyni
Control: tag -1 patch

On Tue, Mar 12, 2024 at 06:31:20PM +0100, Andreas Tille wrote:
 
> I can confirm that this bug also occures on amd64 thus removing the
> arm-restriction from the title.  Unfortunately I have no idea how to fix
> this (except by possibly suppressing the -Werror=implicit-function-declaration
> option).  Thus tagging 'help'

Looks like bam_view1() and bam_sort_core() don't have prototypes in
any header file in libbam-dev. Copying them from the actual .c files
in samtools-legacy seems to work.

Patch attached, this builds and passes the test suite for me.
-- 
Niko
>From 3ddc905c9ceb635c6c876de1d372eedaa45de425 Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Tue, 12 Mar 2024 20:53:33 +
Subject: [PATCH] Lift prototypes of bam_view1 and bam_sort_core from bam.c in
 samtools-legacy

This fixes builds with gcc -Werror=implicit-function-declaration .

Bug-Debian: https://bugs.debian.org/1065759
---
 lib/Bio/DB/Sam.xs | 5 +
 1 file changed, 5 insertions(+)

diff --git a/lib/Bio/DB/Sam.xs b/lib/Bio/DB/Sam.xs
index 023f655..2231477 100644
--- a/lib/Bio/DB/Sam.xs
+++ b/lib/Bio/DB/Sam.xs
@@ -32,6 +32,11 @@
 /* stolen from bam_aux.c */
 #define MAX_REGION 1<<29
 
+/* stolen from bam.c */
+extern void bam_view1(const bam_header_t *header, const bam1_t *b);
+/* stolen from bam_sort.c */
+extern void bam_sort_core(int is_by_qname, const char *fn, const char *prefix, size_t max_mem);
+
 typedef tamFile Bio__DB__Tam;
 typedef faidx_t*Bio__DB__Sam__Fai;
 typedef bamFile Bio__DB__Bam;
-- 
2.43.0



Bug#1060246: perl: proposed patch for perl ABI change due to 64-bit time_t

2024-03-03 Thread Niko Tyni
On Sat, Mar 02, 2024 at 11:51:16AM -0800, Steve Langasek wrote:
> My sincerest apologies for having failed to reply to this email for so long.

Thanks, appreciated.

> On Sat, Jan 27, 2024 at 12:50:40PM +0200, Niko Tyni wrote:

> > What about the libperl5.38 SONAME and package name? Is it OK for them
> > to stay unchanged? I expect the interpreter struct size changing will
> > affect the libperl ABI as well.
> 
> I had been assuming that changing it in the one place is sufficient because
> the packages would be updated in lockstep, but I see there are a few
> packages depending on the lib without also depending on perlapi:

Yes. The packages linking against libperl5.38 are typically programs
that embed a Perl interpreter. OTOH the packages depending on perlapi-*
provide Perl plugins (= loadable binary Perl modules). These two are
somewhat orthogonal things.

It's not clear to me if the perl interpreter structure size change
changes the libperl ABI, but that seems probable. Anyway I agree it's
better to err on the safe side.

As you've noticed, the libperl package name change is not quite trivial.
I don't think we've done that in the past except with full upstream
version changes so there might be some sharp edges. I'm sorry about that.

> Well, this hasn't happened but now I think it's urgent that it happens.  As
> I mentioned on IRC, we're entangled with gdbm and db5.3 time_t transitions,
> and we can't safely rebuild perl on armhf *without* bumping the ABI
> declarations.
> 
> I can NMU this today if you want or I can leave it to you, please let me
> know.

As I already told Julian a few days ago on this bug, any necessary NMUs
are welcome. Given the urgency we've ended up with, I'd prefer you do
the upload and take responsibility for any bugs possibly introduced.

> Yes we will be putting out fires as quickly as possible :)

Thanks again for your work on this.
-- 
Niko



Bug#1060246: perl: diff for NMU version 5.38.2-3.1

2024-02-29 Thread Niko Tyni
On Thu, Feb 29, 2024 at 10:24:06AM +0100, Julian Andres Klode wrote:
> Control: tags 1060246 + patch
> Control: tags 1060246 + pending
> 
> Dear maintainer,
> 
> I have prepared the following NMU, taking into consideration the
> feedback to only override the ABI on the affected architectures.
> 
> I'm not sure I want to upload it now, but as it stands, anything
> build-depending on libapt-pkg-perl and other perl bindings to t64
> libraries will FTBFS.
> 
> I uploaded it to Ubuntu but it's stuck waiting for db5.3; I believe
> vorlon has done binary-uploads for db5.3 in Debian to unblock it
> there though.
> 
> Let me know what you think.

Thanks.

It's clear that the perlapi names need to be bumped on the affected
ports like this patch does. Just binNMU'ing perl as-is would lead to a
perl that can't load the binary modules in arch:any lib*-perl packages
in the archive.

I'm much less clear on whether a libperl5.38t64 package will be needed.

Any necessary NMUs are welcome (assuming the uploader takes the normal
responsibility of course). I don't intend to upload time64 related changes
myself (at least not on any kind of a short notice after waiting a month
for comments.)

No idea if the test failures mentioned in this bug will block things,
but I'm sure the uploader will find out.

That said,

> +ifeq (,$(findstring $(DEB_HOST_ARCH), amd64 arm64 hurd-i386 i386 mips64el 
> ppc64el riscv64 s390x))

isn't this a substring match where i386 already covers hurd-i386? Guess
that doesn't matter much though and none of those words match any intended
port architectures.
-- 
Niko



Bug#1063819: dh-sysuser: uses deprecated given/when

2024-02-12 Thread Niko Tyni
On Tue, Feb 13, 2024 at 01:07:59AM +0100, Lorenzo Puliti wrote:
> Package: dh-sysuser
> Version: 1.3.10+really1.4.4
> Severity: normal
> Tags: patch
> X-Debbugs-Cc: Niko Tyni , plore...@disroot.org
> 
> Building runit package I have

>dh_sysuser -O--sourcedirectory=runit-2.1.2/src
> given is deprecated at /usr/bin/dh_sysuser line 37.
> when is deprecated at /usr/bin/dh_sysuser line 38.
> when is deprecated at /usr/bin/dh_sysuser line 39.
> when is deprecated at /usr/bin/dh_sysuser line 46.
>dh_install -O--sourcedirectory=runit-2.1.2/src
>dh_installdocs -O--sourcedirectory=runit-2.1.2/src
>dh_buildinfo -O--sourcedirectory=runit-2.1.2/src
> 
> so I guess it needs an update like in dh-runit's  #1060709
> What I'm not sure is if this need to be fixed in unstable as
> possible or it can wait longer. The autopkgtest covers only
> sysuser-helper, so the package does not fail to build.
> Patch at the bottom.
> 
> Dear Niko, please bump the severity if this is urgent.

No particular urgency from my side, but thanks for asking.

The similar ones I filed at severity:serious for the Perl 5.38
transition were precisely because they were causing build or autopkgtest
failures. Those were technical blockers for getting the new perl into
testing. By your description this one is "just" cosmetic.

Of course it would be nice to fix it but it can wait :)

Thanks for your work on Debian,
-- 
Niko



Bug#1060246: perl: proposed patch for perl ABI change due to 64-bit time_t

2024-01-27 Thread Niko Tyni
On Sun, Jan 21, 2024 at 09:41:26AM -0800, Steve Langasek wrote:
> On Tue, Jan 09, 2024 at 12:06:40AM +0200, Niko Tyni wrote:

> >   ifeq (s390x-linux-gnu,$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE))
> >   perlabi = 5.18.2d
> >   else
> >   perlabi =
> >   endif
> 
> > as per 
> > https://salsa.debian.org/perl-team/interpreter/perl/-/commit/a66f196c13108b04909f9ec0e05986983cb2ed19
> 
> That's a very good point that I didn't think of, I'm +1 for doing it this
> way.

OK, great!

> > > This is entirely optional anyway, as perl
> > > 5.38 is just around the corner, at which point this patch should be 
> > > dropped
> > > completely (assuming time_t lands before perl 5.38 does).
> > 
> > TBH I was hoping 5.38 would land first :)
> 
> And it has \o/
> 
> Do you want me to provide an updated patch, or will you integrate this on
> your side?

I'd like to understand the plan and expectations first. Apologies
if I'm just slow and this should all be obvious.

Do you want an upload to experimental with this right away? Or will
there be a set of source uploads switching the affected architectures
to 64-bit time_t at one point and this should be part of that? 

If you want it right away, perl will initially still use the 32-bit time_t
but declare it Provides perlapi-5.38.2-t64. Should it also Provide the
old perlapi-5.38.2 so that the affected (~500, mostly lib*-perl) binary
packages stay installable before they are rebuilt?

What about the libperl5.38 SONAME and package name? Is it OK for them
to stay unchanged? I expect the interpreter struct size changing will
affect the libperl ABI as well.

Will somebody else upload perl to sid on the flag day? Is that expected
to be a no-change upload of the version in experimental, or should there
be versioned build dependencies ensuring that time64 builds of libc,
libdb et al. get picked up?

Also wrt. the exact patch: now that we've established the perlapi name
change will be only be done for the affected architectures, I suppose I'll
need a list of those. Should the 32-bit archs on debian-ports be included?
Could I just use DEB_HOST_ARCH_BITS (except i386?)?

> > Failed 7 tests out of 2623, 99.73% okay.
> > ../cpan/DB_File/t/db-btree.t
> > ../cpan/DB_File/t/db-hash.t
> > ../cpan/DB_File/t/db-recno.t
> > ../cpan/DB_File/t/db-threads.t
> > ../cpan/Memoize/t/errors.t
> > ../cpan/Memoize/t/tie.t
> > porting/libperl.t
> 
> > but I guess that's because things like libdb5.3 need to be rebuilt first?
> 
> Sorry, haven't tried anything like this yet.  ABI skew with dependencies
> could certainly explain test suite failures!

I'm concerned that this may be a blocker on the flag day if not tackled
earlier. My intuition is the DB_File failures will probably go away
once libdb is built with 64-bit time, but I'm less optimistic about the
Memoize or libperl tests.

I'm also concerned that the binNMUs of the perlapi-* reverse dependencies
might FTBFS in sid with the 64-bit time_t change if not tested beforehand,
and in the worst case render much of sid uninstallable. Is the plan to
just put out any fires as they are spotted, and how much urgency will
there be at that point?

So many questions :) Many thanks for working on this.
-- 
Niko



Bug#1060759: resource-agents: autopkgtest failure: MailTo hanging

2024-01-13 Thread Niko Tyni
Package: resource-agents
Version: 1:4.13.0-1

Hi,

the perl_5.38.2-3 migration checks for resource-agents are currently
failing on ci.debian.net.

  
https://ci.debian.net/data/autopkgtest/testing/amd64/r/resource-agents/41787962/log.gz

  250s Running: ocft test -v MailTo
  250s Starting 'MailTo' case 0 'check base env':
  250s Setting agent environment:export OCF_RESKEY_email=root@localhost
  251s Running agent:./MailTo start
  274s ERROR: The agent was hanging, killed it, maybe you damaged the agent or 
system's environment, see details below:
  274s 

(No further details are provided AFAICS.)

I cannot reproduce this, but I *think* what happens is that autopkgtest
is choosing sendmail over exim4 when mixing packages from testing and
unstable, and sendmail tries to connect to localhost:25 and hangs due to
firewall settings. This is a guess based on my tests in a chroot where
the mails ended up in /var/mail with exim4 but actually got sent to the
root alias of the underlying host with sendmail.

Not sure what to do about this. Perhaps make the test depend on exim4
or something even simpler that can be relied to deliver locally?

Thanks for your work on Debian,
-- 
Niko Tyni   nt...@debian.org



Bug#1060758: texinfo: please allow-stderr for debian/tests/test-suite

2024-01-13 Thread Niko Tyni
Package: texinfo
Version: 7.1-2
X-Debbugs-Cc: Sebastian Ramacher 

Hi,

the perl_5.38.2-3 migration checks for texinfo are currently
failing on ci.debian.net.

  https://ci.debian.net/packages/t/texinfo/testing/amd64/41788013/

 160s autopkgtest [07:52:27]:  summary
 160s test-suite   FAIL stderr: In file included from ../system.h:53,

What happens here is that the package build (as requested with
build-needed) gets done with both perl and linux-libc-dev from unstable,
but the actual tests are run with perl from unstable and linux-libc-dev
from testing. This leads to 'make check' noticing that dependencies
have changed and rebuilding (at least part) of the source. The rebuild
produces compiler warnings on stderr, making the test fail.

Please consider adding 'allow-stderr' to the test definition to make
it survive this corner case. The root cause here is presumably the
autopkgtest fallback to install more things from unstable than strictly
needed in case of installability problems, but 'allow-stderr' would
help as a workaround.

Sebastian (cc'd) said he'd ignore the test for Perl 5.38 migration
but asked me to file this.

Thanks for your work on Debian,
-- 
Niko Tyni   nt...@debian.org



Bug#1060740: regripper: autopkgtest failure with Perl 5.38: changed diagnostics

2024-01-13 Thread Niko Tyni
Package: regripper
Version: 3.0~git20221205.d588019+dfsg-1
Severity: serious
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails its autopkgtest checks with Perl 5.38
(currently in unstable.)

  https://ci.debian.net/packages/r/regripper/testing/amd64/41787955/

 27s autopkgtest [07:40:54]: test listplugins: [---
 28s autopkgtest [07:40:55]: test listplugins: ---]
 28s autopkgtest [07:40:55]: test listplugins:  - - - - - - - - - - results - - 
- - - - - - - -
 28s listplugins  FAIL non-zero exit status 1
 
This is unfortunately terse, but looking into it, it boils down to a
changed diagnostic when calling require() on a plugin with a syntax error:

  trixie# perl -E 'say $^V; eval "require 
q(/usr/lib/regripper/plugins/clsid_tln.pl)"; die $@'
  v5.36.0
  syntax error at /usr/lib/regripper/plugins/clsid_tln.pl line 112, near 
"$scriptlet)"
  Compilation failed in require at (eval 1) line 1.

vs.

  sid# perl -E 'say $^V; eval "require 
q(/usr/lib/regripper/plugins/clsid_tln.pl)"; die $@'
  v5.38.2
  syntax error at /usr/lib/regripper/plugins/clsid_tln.pl line 112, near 
"$scriptlet)"
  Execution of /usr/lib/regripper/plugins/clsid_tln.pl aborted due to 
compilation errors.
  Compilation failed in require at (eval 1) line 1.

Presumably the best fix is to correct the (longstanding) syntax error
in the plugin.

Sorry for not catching this earlier. I only checked packages with
Testsuite: autopkgtest-pkg-perl or Testsuite-Triggers: perl. I suppose
I should have looked at Depends:perl too.
-- 
Niko Tyni   nt...@debian.org



Bug#1060713: libhttp-tiny-perl: current version superseded by Perl 5.38

2024-01-13 Thread Niko Tyni
Package: libhttp-tiny-perl
Version: 0.082-2
Severity: serious
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

The version of this separate package in unstable is older
than the one bundled with Perl 5.38, so they are uninstallable
together.

The separate package should be either updated to a newer version or
removed as unnecessary.
-- 
Niko Tyni   nt...@debian.org



Bug#1060712: libextutils-cbuilder-perl: current version superseded by Perl 5.38

2024-01-13 Thread Niko Tyni
Package: libextutils-cbuilder-perl
Version: 0.280236-2
Severity: serious
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

The version of this separate package in unstable is older
than the one bundled with Perl 5.38, so they are uninstallable
together.

The separate package should be either updated to a newer version or
removed as unnecessary.
-- 
Niko Tyni   nt...@debian.org



Bug#1060710: dnsenum: autopkgtest failure with Perl 5.38: Smartmatch is deprecated

2024-01-13 Thread Niko Tyni
Package: dnsenum
Version: 1.3.1-1
Severity: serious
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails its autopkgtest checks with Perl 5.38
(currently in unstable.)

 28s autopkgtest [21:35:23]: test command1:  - - - - - - - - - - results - - - 
- - - - - - -
 28s command1 FAIL stderr: Smartmatch is deprecated at 
/usr/bin/dnsenum line 749.
 29s autopkgtest [21:35:24]: test command1:  - - - - - - - - - - stderr - - - - 
- - - - - -
 29s Smartmatch is deprecated at /usr/bin/dnsenum line 749.
 29s Smartmatch is deprecated at /usr/bin/dnsenum line 751.
 
Sorry for not catching this earlier. I only checked packages with
Testsuite: autopkgtest-pkg-perl or Testsuite-Triggers: perl. I suppose
I should have looked at Depends:perl too.
-- 
Niko Tyni   nt...@debian.org



Bug#1060707: dh-make-elpa: autopkgtest failure with Perl 5.38: smartmatch is deprecated

2024-01-13 Thread Niko Tyni
Package: dh-make-elpa
Version: 0.19.2
Severity: serious
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails its autopkgtest checks with Perl 5.38
(currently in unstable.)

  autopkgtest [11:06:58]: test test-dh-make-elpa: ---]
  autopkgtest [11:06:58]: test test-dh-make-elpa:  - - - - - - - - - - results 
- - - - - - - - - -
  test-dh-make-elpaFAIL stderr: Smartmatch is deprecated at 
/usr/share/perl5/DhMakeELPA/Command/make.pm line 99.
  autopkgtest [11:06:58]: test test-dh-make-elpa:  - - - - - - - - - - stderr - 
- - - - - - - - -
  Smartmatch is deprecated at /usr/share/perl5/DhMakeELPA/Command/make.pm line 
99.
  autopkgtest [11:06:58]:  summary
  test-dh-make-elpaFAIL stderr: Smartmatch is deprecated at 
/usr/share/perl5/DhMakeELPA/Command/make.pm line 99.
 
Sorry for not catching this earlier. I only checked packages with
Testsuite: autopkgtest-pkg-perl or Testsuite-Triggers: perl. I suppose
I should have looked at Depends:perl too.
-- 
Niko Tyni   nt...@debian.org



Bug#1060709: dh-runit: autopkgtest failure with Perl 5.38: given is deprecated

2024-01-13 Thread Niko Tyni
Package: dh-runit
Version: 2.15.2
Severity: serious
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails its autopkgtest checks with Perl 5.38
(currently in unstable.)

 autopkgtest [21:33:45]: test command1:  - - - - - - - - - - results - - - - - 
- - - - -
 command1 FAIL stderr: given is deprecated at /usr/bin/dh_runit 
line 50.
 autopkgtest [21:33:45]: test command1:  - - - - - - - - - - stderr - - - - - - 
- - - -
 
Sorry for not catching this earlier. I only checked packages with
Testsuite: autopkgtest-pkg-perl or Testsuite-Triggers: perl. I suppose
I should have looked at Depends:perl too.
-- 
Niko Tyni   nt...@debian.org



Bug#1060456: rxvt-unicode: 9.31-1+b1 breaks UTF-8 display

2024-01-12 Thread Niko Tyni
On Fri, Jan 12, 2024 at 04:35:04PM +0100, Sven Joachim wrote:

> Speaking of Perl 5.38, this bug is actually a problem in Perl.  The
> rxvt-unicode patch just works around it.  According to the Perl upstream
> bug (https://github.com/Perl/perl5/issues/21366), at least one other
> application (irssi) is affected.
> 
> Fedora has apparently reverted a commit in Perl to fix the problem, see
> https://src.fedoraproject.org/rpms/perl/c/dee564d443debbf47127d668f0982165835d873b.

Thanks! I've done the same in perl_5.38.2-3, just uploaded.
-- 
Niko



Bug#1060653: os-autoinst: FTBFS on i386: t/01-test_needle.t failure

2024-01-11 Thread Niko Tyni
Source: os-autoinst
Version: 4.6.1699947509.970d0609-1
Severity: serious
Tags: ftbfs

This package failed to build against Perl 5.38 in sid on i386
with three retries so far.

The issue is currently a blocker for the ongoing Perl 5.38 transition.

Latest log is at

  
https://buildd.debian.org/status/fetch.php?pkg=os-autoinst=i386=4.6.1699947509.970d0609-1=1704966657=0

   3: #   Failed test 'found area is the original one too'
   3: #   at ./t/01-test_needle.t line 95.
   3: #  got: '944'
   3: # expected: '108'
   3: # Looks like you failed 1 test of 84.
   
   [...]
   
   3: Test Summary Report
   3: ---
   3: ./t/01-test_needle.t  (Wstat: 256 (exited 
1) Tests: 84 Failed: 1)
   3:   Failed test:  16
   3:   Non-zero exit status: 1
   3: Files=52, Tests=1222, 126 wallclock secs ( 0.68 usr  0.14 sys + 110.76 
cusr 12.18 csys = 123.76 CPU)
   3: Result: FAIL
   3/3 Test #3: test-perl-testsuite ..***Failed  125.71 sec
   
   The following tests passed:
test-installed-files
test-doc-testapi-spellchecking
   
   67% tests passed, 1 tests failed out of 3
   
   Total Test time (real) = 126.44 sec
   
   The following tests FAILED:
  3 - test-perl-testsuite (Failed)
   Errors while running CTest
   Output from these tests are in: 
/<>/build/Testing/Temporary/LastTest.log
   Use "--rerun-failed --output-on-failure" to re-run the failed cases 
verbosely.
   FAILED: CMakeFiles/check-pkg-build 
/<>/build/CMakeFiles/check-pkg-build 
   cd /<>/build && /usr/bin/ctest -V -E test-local-.*
   ninja: build stopped: subcommand failed.
   make[1]: *** [debian/rules:46: override_dh_auto_test] Error 1
   make[1]: Leaving directory '/<>'
   make: *** [debian/rules:6: binary-arch] Error 2
 
-- 
Niko Tyni   nt...@debian.org



Bug#1026046: FTBFS: test failures on some architectures

2024-01-11 Thread Niko Tyni
Control: found -1 0.51-1
Control: severity -1 serious
Control: block 1055955 with -1

On Tue, Dec 13, 2022 at 07:33:46PM +0100, gregor herrmann wrote:
> Source: libdevel-mat-perl
> Version: 0.49-1
> Severity: important
> Tags: upstream
> Forwarded: https://rt.cpan.org/Ticket/Display.html?id=134117
> 
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA512
> 
> According to https://buildd.debian.org/status/package.php?p=libdevel-mat-perl
> the package has a test failure on at least i386 and mipsel64el but
> maybe the architectures are just random.

Either it's gotten worse or it's just bad luck, but previously built
archs (armhf and armel) are now failing, making this release critical
and blocking the Perl 5.38 transition.

armel has had three retries so far but let's hope it will succeed
eventually. Even in that case I think this should stay RC until some
action is taken.

Guess we could just skip / ignore t/02context.t, or alternatively make
the build fail deterministically on the affected architectures and remove
the existing binaries...
-- 
Niko



Bug#1060458: perl-tk: FTBFS with Perl 5.38 on big-endian 64-bit: test failures

2024-01-11 Thread Niko Tyni
Source: perl-tk
Version: 1:804.036+dfsg1-1
Severity: serious
Tags: ftbfs patch
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package failed to build against Perl 5.38 on s390x, ppc64, sparc64,
and alpha.

This is because Perl upstream changed the implementation of SvPV() et
al., triggering a latent bug in perl-tk that bites on big endian 64-bit
architectures. The attached patch fixes this, see the commit message
for more detail. I've tested that it works on both s390x and amd64,
on Perl 5.36 (trixie) and 5.38 (sid).

Not sure why alpha is failing too, but it has a slightly different
failure mode. I suspect alignment issues.

This is currently a hard blocker for the ongoing Perl 5.38 transition as
perl-tk has quite a few reverse dependencies that are now uninstallable
on s390x.


   #   Failed test 'Creating Balloon widget'
   #   at t/balloon.t line 31.
   #  got: 'couldn't recognize image data at 
/<>/blib/lib/Tk/Image.pm line 21.
   #  at /<>/blib/lib/Tk/Balloon.pm line 62.
   # '
   # expected: ''
   
   [...]
   
   Test Summary Report
   ---
   t/balloon.t(Wstat: 512 (exited 2) Tests: 12 Failed: 11)
 Failed tests:  2-12
 Non-zero exit status: 2
 Parse errors: Bad plan.  You planned 14 tests but ran 12.
   t/canvas.t (Wstat: 0 Tests: 166 Failed: 0)
 TODO passed:   124
   t/canvas2.t(Wstat: 65280 (exited 255) Tests: 0 Failed: 0)
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 87 tests but ran 0.
   t/listbox.t(Wstat: 0 Tests: 537 Failed: 0)
 TODO passed:   320-322, 328, 502
   t/photo.t  (Wstat: 65280 (exited 255) Tests: 100 Failed: 0)
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 111 tests but ran 100.
   t/text.t   (Wstat: 0 Tests: 415 Failed: 0)
 TODO passed:   121
   t/wm-tcl.t (Wstat: 0 Tests: 315 Failed: 0)
 TODO passed:   86-87, 154-157, 164-165, 175-178, 221-224
   237-239, 264-265, 275-276, 280-283
   t/zzScrolled.t (Wstat: 0 Tests: 94 Failed: 0)
 TODO passed:   52, 66, 80, 94
   Files=76, Tests=4267, 36 wallclock secs ( 0.23 usr  0.05 sys +  6.02 cusr  
0.69 csys =  6.99 CPU)
   Result: FAIL

-- 
Niko Tyni   nt...@debian.org
>From a26233c844c52f49ef9cca5f88dd9063aac60d0f Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Thu, 11 Jan 2024 18:28:58 +
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



Bug#1060404: libdata-streamserializer-perl: FTBFS on ppc64el: t/05_memory_leak.t failure

2024-01-10 Thread Niko Tyni
Control: severity -1 normal

On Wed, Jan 10, 2024 at 09:00:27PM +0200, Niko Tyni wrote:
> Source: libdata-streamserializer-perl
> Source Version: 0.07-1
> Severity: serious
> Tags: ftbfs
> Control: block 1055955 with -1
> 
> This package failed to build from source on ppc64el against Perl 5.38.
> 
> After two failures it looks deterministic but giving it back for a retry
> might still be worth a try.

It built on the third try, so lowering severity.

> This is currently a blocker for the Perl 5.38 transition.

Happily no longer :)
-- 
Niko



Bug#1060404: libdata-streamserializer-perl: FTBFS on ppc64el: t/05_memory_leak.t failure

2024-01-10 Thread Niko Tyni
Source: libdata-streamserializer-perl
Source Version: 0.07-1
Severity: serious
Tags: ftbfs
Control: block 1055955 with -1

This package failed to build from source on ppc64el against Perl 5.38.

After two failures it looks deterministic but giving it back for a retry
might still be worth a try.

This is currently a blocker for the Perl 5.38 transition.

  
https://buildd.debian.org/status/fetch.php?pkg=libdata-streamserializer-perl=ppc64el=0.07-1%2Bb10=1704894151=0

   #   Failed test 'Check memory leak (196608 bytes)'
   #   at t/05_memory_leak.t line 63.
   # Looks like you failed 1 test of 3.
   t/05_memory_leak.t  
   1..3
   ok 1 - use Data::StreamSerializer;
   not ok 2 - Check memory leak (196608 bytes)
   # 5100 iterations were done, 2668237 bytes were produced
   ok 3 - Check memory checker
   Dubious, test returned 1 (wstat 256, 0x100)
   Failed 1/3 subtests 
   
   Test Summary Report
   ---
   t/05_memory_leak.t  (Wstat: 256 (exited 1) Tests: 3 Failed: 1)
 Failed test:  2
 Non-zero exit status: 1
   Files=5, Tests=70,  4 wallclock secs ( 0.03 usr  0.00 sys +  3.83 cusr  0.05 
csys =  3.91 CPU)
   Result: FAIL

-- 
Niko Tyni   nt...@debian.org



Bug#1060402: liblinux-termios2-perl: FTBFS on ppc64el: OS unsupported - no struct termios2

2024-01-10 Thread Niko Tyni
On Wed, Jan 10, 2024 at 08:30:21PM +0200, Niko Tyni wrote:
> Source: liblinux-termios2-perl
> Version: 0.01-2 
> Severity: important
> Tags: ftbfs
> User: debian-ri...@lists.debian.org
> Usertags: riscv64
> 
> This package has never built on riscv64.

Sorry, s/riscv64/ppc64el/ here.

>   perl Build.PL --installdirs vendor --config "optimize=-g -O2 
> -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat 
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config 
> "ld=powerpc64le-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
>test-8985-0.c: In function ‘main’:
>test-8985-0.c:4:19: error: storage size of ‘t’ isn’t known
>4 |   struct termios2 t;
>  |   ^
>OS unsupported - no struct termios2

-- 
Niko



Bug#1060403: libxml-hash-xs-perl: FTBFS on s390x (big endian?): test failures

2024-01-10 Thread Niko Tyni
Source: libxml-hash-xs-perl
Version: 0.56-1
Severity: important
Tags: ftbfs

This package has never built on s390x. Looking at debian-ports results,
it's probably a big endian architecture issue.

Latest s390x build log is at

  
https://buildd.debian.org/status/fetch.php?pkg=libxml-hash-xs-perl=s390x=0.56-1=1613669844=0

   # Testing XML::Hash::XS 0.56, Perl 5.032001, /usr/bin/perl
   # XML::LibXML 2.0134, libxml2 20910
   t/00-load.t  
   1..1
   ok 1 - use XML::Hash::XS;
   ok
   Invalid parameter 'canonical' at t/01-h2x.t line 21.
   # Looks like your test exited with 255 just after 1.
   t/01-h2x.t . 
   1..24
   ok 1 - default
   Dubious, test returned 255 (wstat 65280, 0xff00)
   Failed 23/24 subtests 
   t/02-h2d.t . skipped: Option 'doc' is not supported
   t/03-h2x-oop.t . 
   1..2
   ok 1 - code reference
   ok 2 - code reference
   ok
   Invalid parameter 'attr' at t/04-h2x-lx.t line 36.
   # Looks like your test exited with 255 just after 3.

   [...]

   Test Summary Report
   ---
   t/01-h2x.t   (Wstat: 65280 Tests: 1 Failed: 0)
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 24 tests but ran 1.
   t/04-h2x-lx.t(Wstat: 65280 Tests: 3 Failed: 0)
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 15 tests but ran 3.
   t/06-x2h.t   (Wstat: 65280 Tests: 0 Failed: 0)
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 10 tests but ran 0.
   t/07-x2h_filter.t (Wstat: 65280 Tests: 0 Failed: 0)
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 6 tests but ran 0.
   Files=8, Tests=7,  0 wallclock secs ( 0.01 usr  0.00 sys +  0.28 cusr  0.02 
csys =  0.31 CPU)
   Result: FAIL
 
-- 
Niko Tyni   nt...@debian.org



Bug#1060402: liblinux-termios2-perl: FTBFS on ppc64el: OS unsupported - no struct termios2

2024-01-10 Thread Niko Tyni
Source: liblinux-termios2-perl
Version: 0.01-2 
Severity: important
Tags: ftbfs
User: debian-ri...@lists.debian.org
Usertags: riscv64

This package has never built on riscv64.

Latest build log is at

  
https://buildd.debian.org/status/fetch.php?pkg=liblinux-termios2-perl=ppc64el=0.01-2=1600683841=0

  dh_auto_configure -a
perl Build.PL --installdirs vendor --config "optimize=-g -O2 
-fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config 
"ld=powerpc64le-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
   test-8985-0.c: In function ‘main’:
   test-8985-0.c:4:19: error: storage size of ‘t’ isn’t known
   4 |   struct termios2 t;
 |   ^
   OS unsupported - no struct termios2
   dh_auto_configure: error: perl Build.PL --installdirs vendor --config 
"optimize=-g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config 
"ld=powerpc64le-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro" 
returned exit code 25
   make: *** [debian/rules:4: build-arch] Error 25
   dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit 
status 2

-- 
Niko Tyni   nt...@debian.org



Bug#1060400: libapp-stacktrace-perl: FTBFS on riscv64: unthreaded.t failure

2024-01-10 Thread Niko Tyni
Source: libapp-stacktrace-perl
Version: 0.09-5
Severity: important
Tags: ftbfs
User: debian-ri...@lists.debian.org
Usertags: riscv64

This package has never built on riscv64.

Latest build log is at

  
https://buildd.debian.org/status/fetch.php?pkg=libapp-stacktrace-perl=riscv64=0.09-5=1694400120=0

   Child exited at t/unthreaded.t line 9.
   # Looks like your test exited with 1 before it could output anything.
   t/unthreaded.t  
   1..5
   Dubious, test returned 1 (wstat 256, 0x100)
   Failed 5/5 subtests 
   
   Test Summary Report
   ---
   t/unthreaded.t  (Wstat: 256 (exited 1) Tests: 0 Failed: 0)
 Non-zero exit status: 1
 Parse errors: Bad plan.  You planned 5 tests but ran 0.
   Files=4, Tests=1,  7 wallclock secs ( 0.12 usr  0.04 sys +  5.28 cusr  0.96 
csys =  6.40 CPU)
   Result: FAIL
 
-- 
NIko Tyni   nt...@debian.org



Bug#1060399: libbson-xs-perl: FTBFS on riscv64: double.t failures

2024-01-10 Thread Niko Tyni
Source: libbson-xs-perl
Version: 0.8.4-2
Severity: important
Tags: ftbfs
User: debian-ri...@lists.debian.org
Usertags: riscv64

This package has never built on riscv64.

Latest build log is at

  
https://buildd.debian.org/status/fetch.php?pkg=libbson-xs-perl=riscv64=0.8.4-2=1690811919=0


   #   Failed test 'native_to_bson(bson_to_native(cB)) = cB'
   #   at t/lib/CorpusTest.pm line 144.
   # Got:
   # 116400f87f00
   # Expected:
   # 1164001200f87f00
   # Looks like you failed 1 test of 5.
   
   #   Failed test 'case: NaN with payload'
   #   at t/corpus/double.t line 13.
   # Looks like you failed 1 test of 14.

   [...]

   Test Summary Report
   ---
   t/corpus/double.t  (Wstat: 256 (exited 1) Tests: 14 Failed: 1)
 Failed test:  11
 Non-zero exit status: 1
   t/mapping/double.t (Wstat: 768 (exited 3) Tests: 39 Failed: 3)
 Failed tests:  23, 29, 35
 Non-zero exit status: 3
   Files=59, Tests=1342, 97 wallclock secs ( 2.74 usr  0.35 sys + 84.38 cusr 
11.55 csys = 99.02 CPU)
   Result: FAIL

-- 
Niko Tyni   nt...@debian.org



Bug#1060397: libsys-syscall-perl: FTBFS on riscv64: t/01-epoll.t failure

2024-01-10 Thread Niko Tyni
Source: libsys-syscall-perl
Version: 0.25-7
Severity: important
Tags: ftbfs
User: debian-ri...@lists.debian.org
Usertags: riscv64

This package has never built on riscv64.

Latest build log is at

  
https://buildd.debian.org/status/fetch.php?pkg=libsys-syscall-perl=riscv64=0.25-7=1691061212=0


  #   Failed test 'have epoll'
  #   at t/01-epoll.t line 15.
  
  [...]
  
  Test Summary Report
  ---
  t/01-epoll.t   (Wstat: 3840 (exited 15) Tests: 20 Failed: 15)
Failed tests:  1-2, 5-12, 15-19
Non-zero exit status: 15
  Files=3, Tests=23,  3 wallclock secs ( 0.14 usr  0.02 sys +  1.99 cusr  0.33 
csys =  2.48 CPU)
  Result: FAIL

-- 
Niko Tyni   nt...@debian.org



Bug#1024636: perl: add cross build support files for loongarch64

2024-01-09 Thread Niko Tyni
On Wed, Dec 13, 2023 at 03:47:05PM +0800, Bo YU wrote:
> Package: perl
> Version: 5.36.0-10
> Followup-For: Bug #1024636
> Tags: patch
> X-Debbugs-Cc: rabenda...@gmail.com
> 
> Dear Maintainer,
> 
> I have followed the instructions from debian/cross/README to generate
> these files which support cross build from native build on loong64 host.
> but it is unclear to me how to verify if this binary works like you
> comment on -1[#10]. Could you give me a little hint?
> 
> But I think it should be no problem.
> 
> [#10]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1024636#10

Hi, thanks for your efforts. I only saw your message now as you mailed
1024636-qu...@bugs.debian.org which is not forwarded to the maintainer.
Please use just 1024...@bugs.debian.org in the future.

If the files are from a native build that passed the Perl test suite
during the build, that's totally acceptable. My concern was about the
previous hand crafted cross config files that looked like nobody had
ever tested them at all. For such hand crafting, I suppose a minimal
test would be to install the cross built binary perl packages on an
actual loong64 host and run 'perl -V' or something like that.

However, I'm afraid we have missed the train here: your patch is for
Perl 5.36 but we're now moving to 5.38 (with perl_5.38.2-2 building in
Debian unstable right now.) It makes little sense to include the 5.36
config files now, so unfortunately you'll have to redo the process with
the 5.38 package.

Apologies for the awkward process. It's all workarounds for perl upstream
not supporting cross configuration properly due to lots of historical
baggage.
-- 
Niko Tyni   nt...@debian.org



Bug#1055955: transition: perl 5.38

2024-01-09 Thread Niko Tyni
On Mon, Jan 08, 2024 at 11:23:36PM +0100, Sebastian Ramacher wrote:

> On 2024-01-09 00:08:09 +0200, Niko Tyni wrote:
> > On Sat, Dec 09, 2023 at 01:15:26PM +0200, Niko Tyni wrote:
> > > On Tue, Nov 14, 2023 at 08:28:01PM +0200, Niko Tyni wrote:
> > > 
> > > > this has taken me much longer than necessary for various reasons, but I
> > > > think we're almost ready to push Perl 5.38 to sid now.
> > > 
> > > >   
> > > > https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.38-transition;users=debian-p...@lists.debian.org
> > 
> > > I think we're as ready as can reasonably be, assuming you're OK with the
> > > above testing removals. Please let me know when a suitable transition
> > > slot becomes available.
> > 
> > Hi, gentle ping on this?
> 
> Please go ahead.

Thanks. Just uploaded 5.38.2-2 targeting unstable.

FTR, my last minute rebuild tests found #1060323 in opensp making
libsgml-parser-opensp-perl ftbfs, so that one is going to fail binNMUs.
But opensp should be trivial to fix and the count of reverse deps looked
minimal, so not a showstopper.
-- 
Niko



Bug#1060323: libosp-dev: missing dependency on libosp5

2024-01-09 Thread Niko Tyni
Package: libosp-dev
Version: 1.5.2-14
Severity: serious

Hi,

the libosp-dev package in sid is missing a dependency on libosp5,
leaving /usr/lib/libosp.so a dangling symlink and making at least
libsgml-parser-opensp-perl (and probably other packages build-depending
on libosp-dev) fail to build.

-- 
Niko Tyni   nt...@debian.org



Bug#1060246: perl: proposed patch for perl ABI change due to 64-bit time_t

2024-01-08 Thread Niko Tyni
On Mon, Jan 08, 2024 at 12:35:32AM -0800, Steve Langasek wrote:
> Package: perl
> Version: 5.36.0-10
> Severity: normal
> Tags: patch
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu noble ubuntu-patch
> 
> Hi Niko, Dominic,
> 
> Please find attached a prospective patch for perl that would annotate the
> perlapi provides for perl-base after a 64-bit time_t transition for 32-bit
> architectures, on perl 5.36.0.  I've tested that this does what's expected,
> both for the Provides: of perl-base and the behavior of dh_perl.

Thanks! Glad the perlabi thing is still working. It hasn't had much use.

> It tries to retain compatibility with perlapi-5.36.0 on architectures where
> this is appropriate (64-bit architectures + i386); it covers Debian release
> architectures + riscv64, but does not attempt to be complete for all
> architectures dpkg knows about.

Is there a reason you're bumping the abi for all the architectures rather
than just the affected ones? I'd expect this to be "opt in" so perlabi
would be defined just for armhf, hppa and so forth.

I'm thinking something like what we did for the s390x jmp_buf thing

  ifeq (s390x-linux-gnu,$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE))
  perlabi = 5.18.2d
  else
  perlabi =
  endif

as per 
https://salsa.debian.org/perl-team/interpreter/perl/-/commit/a66f196c13108b04909f9ec0e05986983cb2ed19

> This is entirely optional anyway, as perl
> 5.38 is just around the corner, at which point this patch should be dropped
> completely (assuming time_t lands before perl 5.38 does).

TBH I was hoping 5.38 would land first :) I'm just waiting for a
transition slot. (Hm, it's been a month now, guess I should ping the bug.)

OOC, have you got the perl test suite passing with time64? I just did
a quick try on i386 with just DEB_BUILD_OPTIONS=abi=+time64 and I'm
seeing 

Failed 7 tests out of 2623, 99.73% okay.
../cpan/DB_File/t/db-btree.t
../cpan/DB_File/t/db-hash.t
../cpan/DB_File/t/db-recno.t
../cpan/DB_File/t/db-threads.t
../cpan/Memoize/t/errors.t
../cpan/Memoize/t/tie.t
porting/libperl.t

but I guess that's because things like libdb5.3 need to be rebuilt first?

-- 
Niko



Bug#1055955: transition: perl 5.38

2024-01-08 Thread Niko Tyni
On Sat, Dec 09, 2023 at 01:15:26PM +0200, Niko Tyni wrote:
> On Tue, Nov 14, 2023 at 08:28:01PM +0200, Niko Tyni wrote:
> 
> > this has taken me much longer than necessary for various reasons, but I
> > think we're almost ready to push Perl 5.38 to sid now.
> 
> >   
> > https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.38-transition;users=debian-p...@lists.debian.org

> I think we're as ready as can reasonably be, assuming you're OK with the
> above testing removals. Please let me know when a suitable transition
> slot becomes available.

Hi, gentle ping on this?
-- 
Niko



Bug#1055955: transition: perl 5.38

2023-12-09 Thread Niko Tyni
On Tue, Nov 14, 2023 at 08:28:01PM +0200, Niko Tyni wrote:

> this has taken me much longer than necessary for various reasons, but I
> think we're almost ready to push Perl 5.38 to sid now.

>   
> https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.38-transition;users=debian-p...@lists.debian.org
> 
> There's a few packages that are nontrivially broken and will probably
> need to be removed from testing.
> 
>   libapache-db-perl #1040396
> 
>   libembperl-perl #1042845
> 
>   polymake #1042521

The polymake bug was fixed recently (yay!). The other two remain, but
libapache-db-perl got removed from testing already. I don't see any
rdeps for libembperl-perl so presumably it can be removed as well.

We have one new blocker, not related to Perl 5.38 but preventing
the necessary rebuild:

  libgit-raw-perl #1057318

The only reverse dependencies I can see are libgit-objectstore-perl
and torrus-common, so seems like testing removal is a viable option
here as well.

I uploaded 5.38.2 to experimental in the meantime, and have re-run
the rebuild and autopkgtest checks. I found no new Perl 5.38 related
regressions, and the new rebuild blockers I found are already fixed.
The (unrelated) pandoc mess causes quite a few failures in sid that
interfered with the testing though.

I think we're as ready as can reasonably be, assuming you're OK with the
above testing removals. Please let me know when a suitable transition
slot becomes available.

Thanks for your work,
-- 
Niko



Bug#1057270: libimager-perl: FTBFS: t/t10tiff.t failure

2023-12-06 Thread Niko Tyni
On Tue, Dec 05, 2023 at 10:01:17PM +0100, Salvatore Bonaccorso wrote:
> On Sun, Dec 03, 2023 at 03:05:09PM +0200, Niko Tyni wrote:

> > While the stable update tiff_4.5.0-6+deb12u1 has security fixes, it does
> > not include the change for CVE-2023-6277. The security tracker mentions
> > it as a minor issue. I also checked earlier that stable is not affected.
> 
> But would mean once we will pick CVE-2023-6277 libimager-perl in
> bookworm or bullseye will break, correct?

Yes, I think so.
-- 
Niko



Bug#1057424: libmodule-build-perl: Multi-Arch: foreign makes other packages FTBFS

2023-12-05 Thread Niko Tyni
(dropped d-cross@)

On Mon, Dec 04, 2023 at 10:04:42PM +0100, gregor herrmann wrote:
> On Mon, 04 Dec 2023 21:59:12 +0200, Niko Tyni wrote:

> > Filing against libmodule-build-perl for now to prevent it from entering
> > trixie before the other two are changed. Feel free to reassign or clone
> > or whatever if you like.
> 
> Both fixed (by removing the :native) and uploaded.

Thanks!

> I guess we could upload libmodule-build-perl with versioned Breaks on
> the 2 packages (and close this bug with the upload) to get the
> migration/upgrade order right?

Breaks seems a bit much given it's not runtime breakage. And it doesn't
actually prevent trying to build with a broken combination of the
packages.

And Build-Conflicts works in the other direction, no help there AFAICS
(and I don't think britney even looks at build dependencies for testing
migration.)

Maybe just wait a couple of days and close this when the two packages
have migrated?
-- 
Niko



Bug#1057424: libmodule-build-perl: Multi-Arch: foreign makes other packages FTBFS

2023-12-04 Thread Niko Tyni
Package: libmodule-build-perl
Version: 0.423400-2
Severity: serious
Tags: ftbfs
Control: affects -1 libnet-cidr-set-perl libparams-validate-perl
X-Debbugs-Cc: debian-cr...@lists.debian.org
Control: block 1055955 with -1

The libnet-cidr-set-perl and libparams-validate-perl packages
fail to build from source in current unstable.

>From a full build log at

 
http://perl.debian.net/rebuild-logs/sid/libparams-validate-perl_1.31-1/libparams-validate-perl_1.31-1.buildlog

  Command: dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -Zxz
  dpkg-buildpackage: info: source package libparams-validate-perl
  dpkg-buildpackage: info: source version 1.31-1
  dpkg-buildpackage: info: source distribution unstable
  dpkg-buildpackage: info: source changed by gregor herrmann 
   dpkg-source -Zxz --before-build .
  dpkg-buildpackage: info: host architecture amd64
  dpkg-checkbuilddeps: error: Unmet build dependencies: 
libmodule-build-perl:native
  dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
  dpkg-buildpackage: warning: (Use -d flag to override.)
 
This is because libmodule-build-perl was recently marked
Multi-Arch:foreign, but dpkg-checkbuilddeps does not consider that as
satisfying :native build dependencies, see #1023438.

My understanding is that M-A:foreign is probably the right thing
to do here, but we need to remove the :native build dependency
in other packages first. Fortunately I see only two in the archive,
libnet-cidr-set-perl and libparams-validate-perl.

  grep-dctrl -sPackage,Build-Depends,Build-Depends-Indep 
-FBuild-Depends,Build-Depends-Indep -r 'libmodule-build-perl[^,]*:native' 
/var/lib/apt/lists/*_main_source_Sources

Filing against libmodule-build-perl for now to prevent it from entering
trixie before the other two are changed. Feel free to reassign or clone
or whatever if you like.

As libparams-validate-perl is an arch:any XS module, we need to fix it
one way or another before the Perl 5.38 transition. So marking this as
a blocker.

Copying the debian-cross list in case I got something wrong :)
-- 
Niko Tyni   nt...@debian.org



Bug#1057326: libtiff6: please Break older versions of libimager-perl due to #1057270

2023-12-03 Thread Niko Tyni
Package: libtiff6
Version: 4.5.1+git230720-2
X-Debbugs-Cc: libimager-p...@packages.debian.org

As discussed in #1057270, the CVE-2023-6277 related change in
4.5.1+git230720-2 broke libimager-perl at runtime, making it unable to
read TIFF files.  This is fixed now, so please add

 Breaks: libimager-perl (<< 1.022+dfsg)

to libtiff6 to make sure partial upgrades pull in the fixed version.
-- 
Niko Tyni   nt...@debian.org



Bug#1057270: libimager-perl: FTBFS: t/t10tiff.t failure

2023-12-03 Thread Niko Tyni
On Sun, Dec 03, 2023 at 01:31:19AM +0100, gregor herrmann wrote:
> On Sun, 03 Dec 2023 10:46:50 +1100, Tony Cook wrote:
> 
> > >   https://github.com/tonycoz/imager/issues/522
> > Fixed in 1.022, please let me know if you have any more problems.
> 
> Thank you!
> 1.022 builds fine in Debian unstable, so I've uploaded it.

Thanks!

> > d54ea521f63ec1ed7d8c0fd11c23507600d51143 should be safe to cherry pick
> > back to 1.020 if you don't want all of the 1.021 TIFF changes in
> > the debian stable libimager-perl.
> 
> Hm, Debian stable (which has 1.019) is a good question. If libtiff is
> updated there too [0] we might see the same issue there.

While the stable update tiff_4.5.0-6+deb12u1 has security fixes, it does
not include the change for CVE-2023-6277. The security tracker mentions
it as a minor issue. I also checked earlier that stable is not affected.

> So I guess we don't have to do anything here, and if reality is
> different than my tests, we can pull in
> d54ea521f63ec1ed7d8c0fd11c23507600d51143 -- thanks for the pointer!

Agreed & thanks again :)
-- 
Niko



Bug#1057270: libimager-perl: FTBFS: t/t10tiff.t failure

2023-12-02 Thread Niko Tyni
Control: forwarded -1 https://github.com/tonycoz/imager/issues/522

On Sat, Dec 02, 2023 at 07:24:39PM +0200, Niko Tyni wrote:
> On Sat, Dec 02, 2023 at 01:40:51PM +0100, gregor herrmann wrote:
> > On Sat, 02 Dec 2023 14:24:01 +0200, Niko Tyni wrote:

> It can be reproduced like this with the libimager-perl binaries
> currently in sid and every tiff file I tried with, for example
> test/images/palette-1c-8b.tiff in src:tiff.

Further simplifying, this fails in the exact same way:

  $ perl -MImager -e '$i=Imager->new; Imager::init_log(); $i->read(file => 
shift) or die $i->_error_as_msg()' tiff/test/images/palette-1c-8b.tiff

> I note it says "filesize 0". The patch determines the file size with
> 
>   uint64_t filesize = TIFFGetFileSize(tif);
> 
> and TIFFGetFileSize() is in src:tiff libtiff/tiffiop.h as follows:
> 
>   #define TIFFGetFileSize(tif) ((*(tif)->tif_sizeproc)((tif)->tif_clientdata))
 
>From http://www.simplesystems.org/libtiff/functions/TIFFOpen.html

  TIFFClientOpen() is like TIFFOpen() except that the caller supplies a
  collection of functions that the library will use to do UNIX-like I/O
  operations. The readproc and writeproc functions are called to read and
  write data at the current file position. seekproc is called to change
  the current file position à la lseek() (2). closeproc is invoked to
  release any resources associated with an open file. sizeproc is invoked
  to obtain the size in bytes of a file. mapproc and unmapproc are called
  to map and unmap a file's contents in memory; c.f. mmap() (2) and
  munmap() (2). The clientdata parameter is an opaque "handle" passed to
  the client-specified routines passed as parameters to TIFFClientOpen().

>From 
>https://sources.debian.org/src/libimager-perl/1.020%2Bdfsg-1/TIFF/imtiff.c/#L302

  static toff_t sizeproc(thandle_t x) {
return 0;
  }

which is used as the TIFFClientOpen() argument in i_readtiff_wiol():

  
https://sources.debian.org/src/libimager-perl/1.020%2Bdfsg-1/TIFF/imtiff.c/#L710

So it looks like libimager-perl is always saying the file size is 0,
and this hasn't hurt earlier but now does with the src:tiff CVE-2023-6277
patch.

Not sure where this leaves us, but I've just reported it at

  https://github.com/tonycoz/imager/issues/522

-- 
Niko



Bug#1057270: libimager-perl: FTBFS: t/t10tiff.t failure

2023-12-02 Thread Niko Tyni
(re-adding Cc: tiff@pdo)

On Sat, Dec 02, 2023 at 01:40:51PM +0100, gregor herrmann wrote:
> On Sat, 02 Dec 2023 14:24:01 +0200, Niko Tyni wrote:
> 
> > It regressed with tiff_4.5.1+git230720-2 which is currently blocked from
> > migrating to trixie because libimager-perl autopkgtests are failing too.
> > 
> > Changes:
> >  tiff (4.5.1+git230720-2) unstable; urgency=high
> >  .
> >* Backport security fix for CVE-2023-6277, passing a crafted tiff file to
> >  TIFFOpen() API may allow a remote attacker to cause a denial of service
> >  (closes: #1056751).
> > 
> > I see libimager-perl upstream has released 1.021 with some tiff related
> > changes. I haven't checked if those fix the issue, or whether libtiff
> > is actually broken. Feel free to reassign as needed.
> 
> I've imported 1.021 into our git repo yesterday, and there it fails
> the same way (I hadn't nticed that 1.020 in sid also fails …)
> 
> So -- is this a bug in Imager or in tiff?

Can't quite say, but sharing what I found:

The test creates TIFF/testout/t106.tiff with
Imager::File::TIFF::i_writetiff_wiol() and then tries to read it back with

  open(FH,"testout/t106.tiff") or die "cannot open testout/t106.tiff\n";
  binmode(FH);
  $IO = Imager::io_new_fd(fileno(FH));
  my $cmpimg = Imager::File::TIFF::i_readtiff_wiol($IO);

Adding an Imager->_error_as_msg() call after that gives

  Error opening file: Failed to read directory at offset 37014 at 
TIFF/t/t10tiff.t line 49.

Also there's t106tiff.log with plenty of diagnostics including

  [2023/12/02 16:29:42]   imtiff.c:237 1: tiff warning Requested memory 
size for TIFF directory of 168 is greather than filesize 0. Memory not 
allocated, TIFF directory not read

which matches the CVE-2023-6277 changes in libtiff, see

  
https://sources.debian.org/src/tiff/4.5.1%2Bgit230720-2/debian/patches/CVE-2023-6277.patch/

It can be reproduced like this with the libimager-perl binaries
currently in sid and every tiff file I tried with, for example
test/images/palette-1c-8b.tiff in src:tiff.

  
https://sources.debian.org/src/tiff/4.5.1%2Bgit230720-2/test/images/palette-1c-8b.tiff/

  $ perl -MImager::File::TIFF -E '$i = Imager::io_new_fd(*STDIN); 
Imager::init_log(); Imager::File::TIFF::i_readtiff_wiol($i) or die 
Imager->_error_as_msg' < tiff/test/images/palette-1c-8b.tiff
  [2023/12/02 17:16:03]  log.c:56  0: Imager - log started (level = 1)
  [2023/12/02 17:16:03]  Imager.xs:267 1: Imager 1.020 starting
  [2023/12/02 17:16:03]   imtiff.c:700 1: i_readtiff_wiol(ig 
0x55a6ece33890, allow_incomplete 0, page 0)
  [2023/12/02 17:16:03]   io.c:242 1: mymalloc(size 8192) -> 
0x55a6ed426e70
  [2023/12/02 17:16:03]   imtiff.c:237 1: tiff warning Requested memory 
size for TIFF directory of 180 is greather than filesize 0. Memory not 
allocated, TIFF directory not read
  [2023/12/02 17:16:03]   io.c:266 1: myrealloc(block (nil), size 124)
  [2023/12/02 17:16:03]   imtiff.c:201 1: tiff error fmt Failed to read 
directory at offset %lu
  [2023/12/02 17:16:03]   io.c:242 1: mymalloc(size 41) -> 
0x55a6ece1d480
  [2023/12/02 17:16:03]   imtiff.c:715 1: i_readtiff_wiol: Unable to open 
tif file
  [2023/12/02 17:16:03]   io.c:242 1: mymalloc(size 19) -> 
0x55a6ed36be90
  [2023/12/02 17:16:03]   io.c:253 1: myfree(p 0x55a6ed42e250)
  Error opening file: Failed to read directory at offset 23716 at -e line 1.
  [2023/12/02 17:16:03]  iolayer.c:424 1: io_glue_DESTROY(ig 0x55a6ece33890)
 
I note it says "filesize 0". The patch determines the file size with

  uint64_t filesize = TIFFGetFileSize(tif);

and TIFFGetFileSize() is in src:tiff libtiff/tiffiop.h as follows:

  #define TIFFGetFileSize(tif) ((*(tif)->tif_sizeproc)((tif)->tif_clientdata))

which is where I called it a day :)

So I suppose the way Imager reads the file here does not initialize the
data structure in a way that the patched libtiff expects?
-- 
Niko



Bug#1057270: libimager-perl: FTBFS: t/t10tiff.t failure

2023-12-02 Thread Niko Tyni
Source: libimager-perl
Version: 1.020+dfsg-1
Severity: serious
Tags: ftbfs
Control: block 1055955 with -1
X-Debbugs-Cc: t...@packages.debian.org

This package fails to build from source on current sid.

It regressed with tiff_4.5.1+git230720-2 which is currently blocked from
migrating to trixie because libimager-perl autopkgtests are failing too.

Changes:
 tiff (4.5.1+git230720-2) unstable; urgency=high
 .
   * Backport security fix for CVE-2023-6277, passing a crafted tiff file to
 TIFFOpen() API may allow a remote attacker to cause a denial of service
 (closes: #1056751).

I see libimager-perl upstream has released 1.021 with some tiff related
changes. I haven't checked if those fix the issue, or whether libtiff
is actually broken. Feel free to reassign as needed.

I'm marking this as a blocker for the Perl 5.38 transition as we need
to be able to rebuild libimager-perl for that.

>From the build log:

  # libtiff release 4.5.1
  
  #   Failed test 'read low-level'
  #   at t/t10tiff.t line 49.
  Use of uninitialized value in subroutine entry at t/t10tiff.t line 53.
  Use of uninitialized value in subroutine entry at t/t10tiff.t line 53.
  im2 is not of type Imager::ImgRaw at t/t10tiff.t line 53.
  # Looks like your test exited with 25 just after 4.
  t/t10tiff.t .. 
  1..247
  ok 1 - use Imager::File::TIFF;
  ok 2 - extract library version
  ok 3 - write low level
  not ok 4 - read low-level
  Dubious, test returned 25 (wstat 6400, 0x1900)
  Failed 244/247 subtests 
  
  Test Summary Report
  ---
  t/t10tiff.t (Wstat: 6400 (exited 25) Tests: 4 Failed: 1)
Failed test:  4
Non-zero exit status: 25
Parse errors: Bad plan.  You planned 247 tests but ran 4.
  Files=1, Tests=4,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.10 cusr  0.02 
csys =  0.14 CPU)
  Result: FAIL

A full build log is at

  
http://perl.debian.net/rebuild-logs/sid/libimager-perl_1.020%2Bdfsg-1/libimager-perl_1.020%2Bdfsg-1_amd64-2023-12-02T11%3A49%3A48Z.build

-- 
Niko Tyni   nt...@debian.org



Bug#1056918: bullseye-pu: package perl/5.32.1-4+deb11u3

2023-11-26 Thread Niko Tyni
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian@packages.debian.org
Usertags: pu
X-Debbugs-Cc: p...@packages.debian.org, Salvatore Bonaccorso 
Control: affects -1 + src:perl

[ Reason ]
I'd like to fix #1056746 / CVE-2023-47038 in perl for bullseye.  It's a
non-DSA security issue that was made public yesterday and fixed upstream
in 5.34.2.

[ Impact ]
CVE-2023-47038 has security impact for applications that use untrusted
regular expressions to match input.

[ Tests ]
The fix augments the test suite to check for this issue. I have also
checked manually that the crash is gone with the patch. I reviewed amd64
binary debdiffs too and did some installation tests.

[ Risks ]
The fix is minimal and was trivially backported from the upstream fix in
5.34.1. It only differs from the one in sid / 5.36.0-10 by some fuzz. I
don't expect any fallout, but obviously I'll report here if any problems
are found in the 5.36.0-10 testing migration checks.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
The only change is a patch to the regexp engine in regcomp.c
and the associated new tests. The patch description has
a long explanation of the issue.

[ Other info ]
I'm uploading right away as I don't expect any of this to be
controversial. Hope that's fine by you.

Thanks for your work on Debian.
diff -Nru perl-5.32.1/debian/changelog perl-5.32.1/debian/changelog
--- perl-5.32.1/debian/changelog2021-09-24 19:10:58.0 +0300
+++ perl-5.32.1/debian/changelog2023-11-25 23:03:14.0 +0200
@@ -1,3 +1,10 @@
+perl (5.32.1-4+deb11u3) bullseye; urgency=medium
+
+  * [SECURITY] CVE-2023-47038: Write past buffer end via illegal
+user-defined Unicode property. (Closes: #1056746)
+
+ -- Niko Tyni   Sat, 25 Nov 2023 23:03:14 +0200
+
 perl (5.32.1-4+deb11u2) bullseye; urgency=medium
 
   * Apply upstream patch fixing a regexp memory leak. (Closes: #994834)
diff -Nru perl-5.32.1/debian/patches/fixes/CVE-2023-47038.diff 
perl-5.32.1/debian/patches/fixes/CVE-2023-47038.diff
--- perl-5.32.1/debian/patches/fixes/CVE-2023-47038.diff1970-01-01 
02:00:00.0 +0200
+++ perl-5.32.1/debian/patches/fixes/CVE-2023-47038.diff2023-11-25 
23:03:14.0 +0200
@@ -0,0 +1,119 @@
+From: Karl Williamson 
+Date: Sat, 9 Sep 2023 11:59:09 -0600
+Subject: Fix read/write past buffer end: perl-security#140
+
+A package name may be specified in a \p{...} regular expression
+construct.  If unspecified, "utf8::" is assumed, which is the package
+all official Unicode properties are in.  By specifying a different
+package, one can create a user-defined property with the same
+unqualified name as a Unicode one.  Such a property is defined by a sub
+whose name begins with "Is" or "In", and if the sub wishes to refer to
+an official Unicode property, it must explicitly specify the "utf8::".
+S_parse_uniprop_string() is used to parse the interior of both \p{} and
+the user-defined sub lines.
+
+In S_parse_uniprop_string(), it parses the input "name" parameter,
+creating a modified copy, "lookup_name", malloc'ed with the same size as
+"name".  The modifications are essentially to create a canonicalized
+version of the input, with such things as extraneous white-space
+stripped off.  I found it convenient to strip off the package specifier
+"utf8::".  To to so, the code simply pretends "lookup_name" begins just
+after the "utf8::", and adjusts various other values to compensate.
+However, it missed the adjustment of one required one.
+
+This is only a problem when the property name begins with "perl" and
+isn't "perlspace" nor "perlword".  All such ones are undocumented
+internal properties.
+
+What happens in this case is that the input is reparsed with slightly
+different rules in effect as to what is legal versus illegal.  The
+problem is that "lookup_name" no longer is pointing to its initial
+value, but "name" is.  Thus the space allocated for filling "lookup_name"
+is now shorter than "name", and as this shortened "lookup_name" is
+filled by copying suitable portions of "name", the write can be to
+unallocated space.
+
+The solution is to skip the "utf8::" when reparsing "name".  Then both
+"lookup_name" and "name" are effectively shortened by the same amount,
+and there is no going off the end.
+
+This commit also does white-space adjustment so that things align
+vertically for readability.
+
+This can be easily backported to earlier Perl releases.
+
+Bug-Debian: https://bugs.debian.org/1056746
+Origin: backport, 
https://github.com/Perl/perl5/commit/12c313ce49b36160a

Bug#1056917: bookworm-pu: package perl/5.36.0-7+deb12u1

2023-11-26 Thread Niko Tyni
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian@packages.debian.org
Usertags: pu
X-Debbugs-Cc: p...@packages.debian.org, Salvatore Bonaccorso 
Control: affects -1 + src:perl

[ Reason ]
I'd like to fix #1056746 / CVE-2023-47038 in perl for bookworm.  It's a
non-DSA security issue that was made public yesterday and fixed upstream
in 5.36.2.

[ Impact ]
CVE-2023-47038 has security impact for applications that use untrusted
regular expressions to match input.

[ Tests ]
The fix augments the test suite to check for this issue. I have also
checked manually that the crash is gone with the patch. I reviewed amd64
binary debdiffs too and did some installation tests.

[ Risks ]
The fix is minimal and identical to the one in sid / 5.36.0-10.  I don't
expect any fallout, but obviously I'll report here if any problems are
found in the testing migration checks.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
The only change is a patch to the regexp engine in regcomp.c
and the associated new tests. The patch description has
a long explanation of the issue.

[ Other info ]
I'm uploading right away as I don't expect any of this to be
controversial. Hope that's fine by you.

Thanks for your work on Debian.
diff -Nru perl-5.36.0/debian/changelog perl-5.36.0/debian/changelog
--- perl-5.36.0/debian/changelog2023-01-08 23:28:47.0 +0200
+++ perl-5.36.0/debian/changelog2023-11-25 22:59:54.0 +0200
@@ -1,3 +1,10 @@
+perl (5.36.0-7+deb12u1) bookworm; urgency=medium
+
+  * [SECURITY] CVE-2023-47038: Write past buffer end via illegal
+user-defined Unicode property. (Closes: #1056746)
+
+ -- Niko Tyni   Sat, 25 Nov 2023 22:59:54 +0200
+
 perl (5.36.0-7) unstable; urgency=medium
 
   * Break backuppc (<< 4.4.0-7~) due to Data::Dumper changes in 5.36
diff -Nru perl-5.36.0/debian/patches/fixes/CVE-2023-47038.diff 
perl-5.36.0/debian/patches/fixes/CVE-2023-47038.diff
--- perl-5.36.0/debian/patches/fixes/CVE-2023-47038.diff1970-01-01 
02:00:00.0 +0200
+++ perl-5.36.0/debian/patches/fixes/CVE-2023-47038.diff2023-11-25 
22:59:54.0 +0200
@@ -0,0 +1,119 @@
+From: Karl Williamson 
+Date: Sat, 9 Sep 2023 11:59:09 -0600
+Subject: Fix read/write past buffer end: perl-security#140
+
+A package name may be specified in a \p{...} regular expression
+construct.  If unspecified, "utf8::" is assumed, which is the package
+all official Unicode properties are in.  By specifying a different
+package, one can create a user-defined property with the same
+unqualified name as a Unicode one.  Such a property is defined by a sub
+whose name begins with "Is" or "In", and if the sub wishes to refer to
+an official Unicode property, it must explicitly specify the "utf8::".
+S_parse_uniprop_string() is used to parse the interior of both \p{} and
+the user-defined sub lines.
+
+In S_parse_uniprop_string(), it parses the input "name" parameter,
+creating a modified copy, "lookup_name", malloc'ed with the same size as
+"name".  The modifications are essentially to create a canonicalized
+version of the input, with such things as extraneous white-space
+stripped off.  I found it convenient to strip off the package specifier
+"utf8::".  To to so, the code simply pretends "lookup_name" begins just
+after the "utf8::", and adjusts various other values to compensate.
+However, it missed the adjustment of one required one.
+
+This is only a problem when the property name begins with "perl" and
+isn't "perlspace" nor "perlword".  All such ones are undocumented
+internal properties.
+
+What happens in this case is that the input is reparsed with slightly
+different rules in effect as to what is legal versus illegal.  The
+problem is that "lookup_name" no longer is pointing to its initial
+value, but "name" is.  Thus the space allocated for filling "lookup_name"
+is now shorter than "name", and as this shortened "lookup_name" is
+filled by copying suitable portions of "name", the write can be to
+unallocated space.
+
+The solution is to skip the "utf8::" when reparsing "name".  Then both
+"lookup_name" and "name" are effectively shortened by the same amount,
+and there is no going off the end.
+
+This commit also does white-space adjustment so that things align
+vertically for readability.
+
+This can be easily backported to earlier Perl releases.
+
+Bug-Debian: https://bugs.debian.org/1056746
+Origin: backport, 
https://github.com/Perl/perl5/commit/7047915eef37fccd93e7cd985c29fe6be54650b6
+---
+ regcomp.c   | 17 +++--
+ t/re/p

Bug#1056746: perl: CVE-2023-47038: Write past buffer end via illegal user-defined Unicode property

2023-11-25 Thread Niko Tyni
Package: perl
Version: 5.30.0-1
Severity: important
Tags: security patch fixed-upstream bullseye bookworm trixie
X-Debbugs-Cc: t...@security.debian.org

Perl upstream released 5.34.2, 5.36.2 and 5.38.1 today with coordinated
fixes for two security issues. One of these (CVE-2023-47039) is specific
to Windows, but the other one (CVE-2023-47038) concerns us.

We discussed this earlier with Salvatore from the security team and
decided that CVE-2023-47038 is non-DSA like other "crafted regular
expression crashes" we've handled in the past. It will hence be fixed
via point releases for stable and oldstable.

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property

A test case is

  perl -e 'qr/\p{utf8::_perl_surrogate}/'

which crashes on oldstable (bullseye, 5.32), stable (bookworm, 5.36),
unstable / testing (5.36) and experimental (5.38).

The issue was introduced in the 5.30 cycle, so LTS (buster, 5.28) is
not affected.

The upstream fixes are at

  5.34 
https://github.com/Perl/perl5/commit/12c313ce49b36160a7ca2e9b07ad5bd92ee4a010
  5.36 
https://github.com/Perl/perl5/commit/7047915eef37fccd93e7cd985c29fe6be54650b6
  5.38 
https://github.com/Perl/perl5/commit/92a9eb3d0d52ec7655c1beb2a5a5219be664

The 5.34 fix applies to 5.32 as well.

I'll start with sid/trixie and handle the *stable updates after that,
mainly targeting next bookworm point update on 2023-12-09 as per

  https://lists.debian.org/debian-project/2023/11/msg3.html

For experimental/5.38, I intend to push 5.38.1 instead of cherry
picking the patch.
-- 
Niko Tyni   nt...@debian.org



Bug#1056143: libeval-context-perl: t/012_safe.t fails

2023-11-18 Thread Niko Tyni
On Fri, Nov 17, 2023 at 06:28:30PM +0100, gregor herrmann wrote:
> Source: libeval-context-perl
> Version: 0.09.11-5
> Severity: serious
> Tags: ftbfs trixie sid
> Justification: fails to build from source

> As noted by ci.debian.net, t/012_safe.t started to fail recently:

This seems to have been broken by libdata-treedumper-perl_0.41-1.
Downgrading to 0.40-5 makes it go away.
-- 
Niko



Bug#1055955: transition: perl 5.38

2023-11-14 Thread Niko Tyni
Package: release.debian.org
User: release.debian@packages.debian.org
Usertags: transition
X-Debbugs-Cc: p...@packages.debian.org

Hi release team,

this has taken me much longer than necessary for various reasons, but I
think we're almost ready to push Perl 5.38 to sid now.

We should aim to release trixie with 5.40 (which will be released in May
2024 or so), but it's still better to do these transitions one at a time.

TL;DR:

- can we raise the remaining bugs to severity:serious?

- I'll request a transition slot once the easy ones are fixed

- should we worry about time64?

Perl 5.38 been in experimental since July, and we've been running
continuous amd64 rebuilds on perl.debian.net all the time. I also
checked for related autopkgtest regressions back in August/September
in all packages declaring Testsuite: autopkgtest-pkg-perl or having
Testsuite-Triggers: perl. The bugs we found are tracked with the usual
usertags:

  
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.38-transition;users=debian-p...@lists.debian.org

There's a few packages that are nontrivially broken and will probably
need to be removed from testing.

  libapache-db-perl #1040396

  libembperl-perl #1042845

  polymake #1042521

AFAICS polymake has one reverse dependency (gap-polymaking) and the
others have none, so removal shouldn't be too difficult.

Then there's some that already have patches or where the fixes are
trivial, but just need an upload:

  docknot #1042853

  elinks #1042844

  libgtk3-imageview-perl #1050445

  libperl-languageserver-perl #1050451

  libregexp-debuggperl-perl #1050454

  localehelper #1042525

I haven't checked reverse dependencies as I'm hoping they will be fixed.
Can we raise these bugs to severity:serious?

I can report back when these are fixed and request a transition slot.

Finally I just ran one more rebuild test for all the packages that will
need binNMUs, and found a couple of unrelated FTBFS bugs.  These would
block binNMUs.

  cod-tools #1055896 (fixed in sid today, needs to migrate)

  os-autoinst #1054776

  libprelude #1054793

  libauthen-sasl-cyrus-perl #1052871 (not in testing)

I haven't checked for version skew between testing and unstable, or for
any architecture specific issues on !amd64 as I don't have any good tools
for those. I suppose we'll need to handle them during the transition if
we hit any.

One more thing to mention: I'm slightly worried about the time64
transition that I think was supposed to happen this release cycle. As
I mentioned in July [1] I think it will need a perlapi-* bump and the
related binNMUs of the same set of packages.

[1] https://lists.debian.org/debian-devel/2023/07/msg00302.html

But things seem to be quiet and I still haven't looked at the perl side
of that at all. (I also have no idea how it can be done without a flag
day but I hope somebody does.) I don't think we should block on this
unless there's some activity that I've missed?


Ben file proposal, just copy-pasting from last year:

title = "perl";
is_affected = .depends ~ "libperl5.36|perlapi-5.36" | .pre-depends ~ 
"libperl5.36|perlapi-5.36";
is_good = .depends ~ "libperl5.38|perlapi-5.38" | .pre-depends ~ 
"libperl5.38|perlapi-5.38";
is_bad = .depends ~ "libperl5.36|perlapi-5.36" | .pre-depends ~ 
"libperl5.36|perlapi-5.36";

Thanks for your work on Debian,
-- 
Niko



Bug#1042521: Will Trixie be on Perl 5.38?

2023-10-03 Thread Niko Tyni
On Mon, Oct 02, 2023 at 03:39:59PM +0200, Joachim Zobel wrote:
> Will Trixie be with Perl 5.38? If so it is ponitless to put any effort
> into the polymake package. If not there might be enough time for the
> transition to Julia.

I'm aiming to get Perl 5.38 into testing (trixie) in the next month
or two.

I expect trixie will eventually release with Perl 5.40, but we'll see
how the timing works out.
-- 
Niko Tyni   nt...@debian.org



Bug#1051609: libapp-stacktrace-perl: FTBFS with Perl 5.38: test failures

2023-09-10 Thread Niko Tyni
Source: libapp-stacktrace-perl
Version: 0.09-4
Severity: important
Tags: ftbfs patch
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build with Perl 5.38 (currently in experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38/libapp-stacktrace-perl_0.09-4/libapp-stacktrace-perl_0.09-4+b2_amd64-2023-07-05T10:35:24Z.build

   #   Failed test at t/unthreaded.t line 55.
   #   '[Thread debugging using libthread_db enabled]
   # Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
   # 0x7fa9c059a0d4 in select () from /lib/x86_64-linux-gnu/libc.so.6
   # /tmp/GvLM6dPQSV.gdb:1761: Error in sourced command file:
   # No symbol "Perl_get_context" in current context.
   # [Inferior 1 (process 2683997) detached]
   # '
   # doesn't match '(?^mx:
   # (?:
   # ^t/unthreaded\.t:\d+\n
   # ){10}
   # )'
   
   #   Failed test 'exit(0)'
   #   at t/unthreaded.t line 66.
   #  got: '1'
   # expected: '0'
   # Looks like you failed 2 tests of 5.

This seems to be because Perl_get_context is now hidden because it
is not part of the official API.

A fix/workaround is to use PL_current_context instead. Patch attached.
I'm just copycatting here really but this passes the tests on both 5.36
and 5.38. We're only using threaded Perl in Debian so I haven't tested
with an unthreaded one.
-- 
Niko Tyni   nt...@debian.org
>From c0e12b98fe37ada2361853c595b53aa05cbab94a Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Thu, 27 Jul 2023 07:31:29 +0100
Subject: [PATCH] Perl 5.38 compatibility

Perl_get_context() is no longer a public symbol, so we
need to use PL_current_context instead.
---
 lib/App/Stacktrace.pm |  1 +
 lib/App/Stacktrace/perl_backtrace_raw.txt |  8 
 lib/App/Stacktrace/perl_backtrace_symbols.txt | 14 ++
 3 files changed, 23 insertions(+)

diff --git a/lib/App/Stacktrace.pm b/lib/App/Stacktrace.pm
index 6958a7c..aa3c3d1 100644
--- a/lib/App/Stacktrace.pm
+++ b/lib/App/Stacktrace.pm
@@ -218,6 +218,7 @@ INVOKE
 
 sub _command_for_version {
 return
+$] >= 5.038 ? 'perl_backtrace_5_38_x' :
 $] >= 5.014 ? 'perl_backtrace_5_14_x' :
 $] >= 5.012 ? 'perl_backtrace_5_12_x' :
 $] >= 5.010 ? 'perl_backtrace_5_10_x' :
diff --git a/lib/App/Stacktrace/perl_backtrace_raw.txt b/lib/App/Stacktrace/perl_backtrace_raw.txt
index 41cf4e6..b0fe842 100644
--- a/lib/App/Stacktrace/perl_backtrace_raw.txt
+++ b/lib/App/Stacktrace/perl_backtrace_raw.txt
@@ -1572,6 +1572,14 @@ end
 define perl_backtrace_5_14_x
 perl_backtrace_5_12_x
 end
+define perl_backtrace_5_38_x
+set $interpreter = (long) PL_current_context
+if $interpreter
+perl_backtrace_5_12_threads
+else
+perl_backtrace_nothreads
+end
+end
 define perl_backtrace_5_14_x_x86_64
 # 5.14.0-linux-x86_64-linux: 3
 # 5.13.11-linux-x86_64-linux: 3
diff --git a/lib/App/Stacktrace/perl_backtrace_symbols.txt b/lib/App/Stacktrace/perl_backtrace_symbols.txt
index a64261d..efe2a63 100644
--- a/lib/App/Stacktrace/perl_backtrace_symbols.txt
+++ b/lib/App/Stacktrace/perl_backtrace_symbols.txt
@@ -429,3 +429,17 @@ define perl_backtrace_5_14_x
 perl_backtrace_nothreads
 end
 end
+
+define perl_backtrace_5_38_x
+set $CXt_SUB = 8
+set $CXt_FORMAT = 9
+set $CXt_EVAL = 10
+set $interpreter = (PerlInterpreter*)PL_current_context
+if $interpreter
+set $POOL_KEY = "threads::_pool1.83"
+set $POOL_KEY_LEN = 18
+perl_backtrace_5_12_threads
+else
+perl_backtrace_nothreads
+end
+end
-- 
2.39.1



Bug#1051427: perl: libperl symbols for strlcat and strlcpy lost with glibc 2.38

2023-09-07 Thread Niko Tyni
Source: perl
Version: 5.36.0-7
Severity: important
Tags: ftbfs patch

As noticed by Ubuntu and reported by doko on IRC, this package fails to
build from source with glibc 2.38 (currently in experimental.)

dpkg-gensymbols: error: some symbols or patterns disappeared in the symbols 
file: see diff output below
dpkg-gensymbols: warning: debian/libperl5.36/DEBIAN/symbols doesn't match 
completely debian/libperl5.36.symbols
--- debian/libperl5.36.symbols (libperl5.36_5.36.0-8_amd64)
+++ dpkg-gensymbolszhalIX   2023-09-07 18:42:16.688071199 +
@@ -925,8 +925,8 @@
  Perl_my_stat_flags@Base 5.36.0
  Perl_my_strerror@Base 5.36.0
  Perl_my_strftime@Base 5.36.0
- Perl_my_strlcat@Base 5.36.0
- Perl_my_strlcpy@Base 5.36.0
+#MISSING: 5.36.0-8# Perl_my_strlcat@Base 5.36.0
+#MISSING: 5.36.0-8# Perl_my_strlcpy@Base 5.36.0
  Perl_my_strtod@Base 5.36.0
  Perl_my_unexec@Base 5.36.0
  Perl_my_vsnprintf@Base 5.36.0

This is because glibc added strlcpy and strlcat in

  
https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199

so the Configure script now detects them and disables the replacement
implementations inside src:perl, losing the corresponding libperl symbols
in the process.

I suspect nothing external actually uses the lost symbols, but it's best
to be on the safe side. The attached patch tells Configure to ignore
the new glibc functions, so that libperl keeps binary compatibility.

We will need this for whichever version of perl is in sid when glibc
2.38 enters it. I'll upload it soon for 5.36, and see what to do
with 5.38 when the transition is ready to start.
-- 
Niko Tyni   nt...@debian.org
>From edd4457e4f61460f32a04c566e1da68dcf238d98 Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Thu, 7 Sep 2023 19:16:29 +0100
Subject: [PATCH] Explicitly do not use strlcpy and strlcat from glibc 2.38

This keeps libperl symbols stable
---
 debian/config.debian | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/debian/config.debian b/debian/config.debian
index 7afc379e7..300416ae2 100644
--- a/debian/config.debian
+++ b/debian/config.debian
@@ -119,6 +119,8 @@ then
 -Ui_libutil	\
 -Ui_xlocale	\
 -Uversiononly \
+-Ud_strlcpy	\
+-Ud_strlcat	\
 -DDEBUGGING=$debugging			\
 -Doptimize=\"$optimize\"			\
 $extra_path	\
-- 
2.39.1



Bug#1050592: perl: F_GETLK / F_GETLK64 confusion on ppc64el breaking libfile-fcntllock-perl

2023-09-03 Thread Niko Tyni
Control: reassign -1 libc6-dev 2.37-2
Control: found -1 2.36-9+deb12u1
Control: tag -1 bookworm

On Mon, Aug 28, 2023 at 11:46:14PM +0200, Aurelien Jarno wrote:

> > I think it's an ABI breakage that should be fixed, but just reverting
> > the patch will break the case without -D_FILE_OFFSET_BITS=64. I'll check
> > with upstream and try to get the issue fixed in both testing/sid and
> > stable. I'll keep you updated. In the meantime feel free to reassign the
> > bug to the glibc.
> 
> I have opened a bug upstream:
> https://sourceware.org/bugzilla/show_bug.cgi?id=30804
> 
> And submitted a possible patch:
> https://sourceware.org/pipermail/libc-alpha/2023-August/151199.html

Many thanks! I'm reassigning this. Hope I got the versions right.

Looks like the discussion upstream has quieted down now.

My understanding is that for sid/trixie we'll just need a binNMU of perl
on ppc64el afterwards. I'll request that once glibc has the fix.

For stable I don't think anything needs to be done on the perl side.
Both perl and libfile-fcntllock-perl were build with the old constants
before the regression. So just fixing glibc should be enough.
-- 
Niko



Bug#1050592: perl: F_GETLK / F_GETLK64 confusion on ppc64el breaking libfile-fcntllock-perl

2023-08-27 Thread Niko Tyni
(full quote for the benefit of the Aurelien and other glibc maintainers)

On Sat, Aug 26, 2023 at 09:07:38PM +0300, Niko Tyni wrote:
> Package: perl
> Version: 5.36.0-8
> Severity: serious
> X-Debbugs-Cc: debian-powe...@lists.debian.org
> Control: affects -1 libfile-fcntllock-perl
> 
> Hi,
> 
> debugging an unexpected autopkgtest failure of
> libfile-fcntllock-perl_0.22-4+b1 with perl_5.36.0-8 on ppc64el [1] I found
> it's because the old perl binary (5.36.0-7) was built with the fcntl(2)
> constant F_GETLK == 12, but the new one with F_GETLK == 5 [2].
> 
> There are no source or build system changes in perl that would have caused
> this change. The failure is currently blocking perl testing migration,
> so filing at 'serious'.
> 
> Perl is built with -D_FILE_OFFSET_BITS=64, and I see that on bullseye
> this causes F_GETLK == F_GETLK64 == 12, but on bookworm and later
> F_GETLK == 5 while F_GETLK64 == 12 [3]. I didn't find the exact
> change that caused this yet.
> 
> As can be expected from the above, building libfile-fcntllock-perl on
> bookworm against perl_5.36.0-7 makes it fail its test suite in a similar
> way. And rebuilding it on sid against perl_5.36.0-8 makes it pass.
> 
> On amd64 the constants have stayed equal (== 5) from bullseye to sid,
> and _FILE_OFFSET_BITS=64 doesn't affect them. What's the deal on ppc64el?
> 
> Copying the powerpc porters list. Could you please look into this?
> 
> [1] 
> https://ci.debian.net/data/autopkgtest/unstable/ppc64el/libf/libfile-fcntllock-perl/34669085/log.gz
> [2] perl -MPOSIX -E 'say F_GETLK'
> [3] printf '#include \nF_GETLK\nF_GETLK64\n' | cpp 
> -D_FILE_OFFSET_BITS=64 | tail -2

I think the relevant change here is this in libc6-dev_2.36-9+deb12u1 for 
bookworm:

--- libc6-dev_2.36-9/usr/include/powerpc64le-linux-gnu/bits/fcntl.h 
2023-04-10 09:35:16.0 +0100
+++ libc6-dev_2.36-9+deb12u1/usr/include/powerpc64le-linux-gnu/bits/fcntl.h 
2023-07-13 19:07:47.0 +0100
@@ -33,6 +33,12 @@
 # define __O_LARGEFILE 020
 #endif
 
+#if __WORDSIZE == 64
+# define F_GETLK   5
+# define F_SETLK   6
+# define F_SETLKW  7
+#endif
+

and a similar one in 2.37-2 for trixie/sid.

The applicable changelog entry is presumably

   [ Aurelien Jarno ]
   * debian/patches/git-updates.diff: update from upstream stable branch:
 [...]
 - Not affecting bookworm release architectures:
   - Fix LFS POSIX lock constants for powerpc64.

Aurelien, it seems that there's an oversight as ppc64el is a release 
architecture?

I can see that this changed for the better, but what should I do with the above
breakage? Rebuild perl and libfcntl-fcntllock-perl and declare some Breaks?
Do we want to do that for stable too?
-- 
Niko Tyni   nt...@debian.org



Bug#1050592: perl: F_GETLK / F_GETLK64 confusion on ppc64el breaking libfile-fcntllock-perl

2023-08-26 Thread Niko Tyni
Package: perl
Version: 5.36.0-8
Severity: serious
X-Debbugs-Cc: debian-powe...@lists.debian.org
Control: affects -1 libfile-fcntllock-perl

Hi,

debugging an unexpected autopkgtest failure of
libfile-fcntllock-perl_0.22-4+b1 with perl_5.36.0-8 on ppc64el [1] I found
it's because the old perl binary (5.36.0-7) was built with the fcntl(2)
constant F_GETLK == 12, but the new one with F_GETLK == 5 [2].

There are no source or build system changes in perl that would have caused
this change. The failure is currently blocking perl testing migration,
so filing at 'serious'.

Perl is built with -D_FILE_OFFSET_BITS=64, and I see that on bullseye
this causes F_GETLK == F_GETLK64 == 12, but on bookworm and later
F_GETLK == 5 while F_GETLK64 == 12 [3]. I didn't find the exact
change that caused this yet.

As can be expected from the above, building libfile-fcntllock-perl on
bookworm against perl_5.36.0-7 makes it fail its test suite in a similar
way. And rebuilding it on sid against perl_5.36.0-8 makes it pass.

On amd64 the constants have stayed equal (== 5) from bullseye to sid,
and _FILE_OFFSET_BITS=64 doesn't affect them. What's the deal on ppc64el?

Copying the powerpc porters list. Could you please look into this?

[1] 
https://ci.debian.net/data/autopkgtest/unstable/ppc64el/libf/libfile-fcntllock-perl/34669085/log.gz
[2] perl -MPOSIX -E 'say F_GETLK'
[3] printf '#include \nF_GETLK\nF_GETLK64\n' | cpp 
-D_FILE_OFFSET_BITS=64 | tail -2

-- 
Niko Tyni   nt...@debian.org



Bug#1043344: perl: Use of freed value in iteration with base.pm dotless-INC guard when looping over @INC

2023-08-24 Thread Niko Tyni
found 1043344 5.26.0-3
severity 1043344 normal
affects 1043344 =
user debian-p...@lists.debian.org
usertags 1043344 =
thanks

On Wed, Aug 09, 2023 at 01:53:53PM +0300, Niko Tyni wrote:
> Package: perl
> Version: 5.38.0-1
> Severity: important
> Tags: upstream
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> Control: affects -1 libhtml-widget-perl
> 
># Tried to use 'HTML::Widget'.
># Error:  Use of freed value in iteration at 
> /usr/share/perl5/Module/Pluggable/Fast.pm line 74.

This has been worked around in libhtml-widget-perl and is a long
standing issue, so not relevant to the 5.38 transition. Updating
metadata accordingly.

Still haven't got around to filing an upstream report...
-- 
Niko



Bug#1050458: apache2: given is deprecated at /usr/sbin/a2enmod

2023-08-24 Thread Niko Tyni
Package: apache2
Version: 2.4.57-2
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest
Control: affects -1 munin

Installing this package spews warnings with Perl 5.38 (currently in 
experimental)
because a2enmod uses the deprecated 'given' and 'when' Perl keywords.

   Setting up apache2 (2.4.57-2) ...
   given is deprecated at /usr/sbin/a2enmod line 577.
   when is deprecated at /usr/sbin/a2enmod line 578.
   when is deprecated at /usr/sbin/a2enmod line 586.
   Enabling module mpm_event.
   given is deprecated at /usr/sbin/a2enmod line 577.
   when is deprecated at /usr/sbin/a2enmod line 578.
   when is deprecated at /usr/sbin/a2enmod line 586.
   [...]

This breaks at least the munin autopkgtest checks as seen at

  https://ci.debian.net/data/autopkgtest/unstable/amd64/m/munin/37098324/log.gz

 429s master-cgi-systemd   FAIL stderr: given is deprecated at 
/usr/sbin/a2enmod line 577.

so filing at 'important' (but feel free to adjust.)
-- 
Niko Tyni   nt...@debian.org



Bug#1050456: prolix: autopkgtest failure with Perl 5.38: when is deprecated

2023-08-24 Thread Niko Tyni
Source: prolix
Version: 0.03-2
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  https://ci.debian.net/data/autopkgtest/unstable/amd64/p/prolix/37098325/log.gz

 56s #   Failed test ' /usr/bin/perl -w -M"App::Prolix" -e 1 2>&1 produced no 
(non-whitelisted) output'
 56s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 56s # Structures begin differing at:
 56s #  $got->[0] = 'when is deprecated at 
/usr/share/perl5/App/Prolix.pm line 207.
 56s # '
 56s # $expected->[0] = Does not exist
 57s 
 57s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"App::Prolix" 
-e 1 2>&1 produced no (non-whitelisted) output'
 57s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 57s # Structures begin differing at:
 57s #  $got->[0] = 'when is deprecated at 
/usr/share/perl5/App/Prolix.pm line 207.
 57s # '
 57s # $expected->[0] = Does not exist
 57s # Looks like you failed 2 tests of 4.

-- 
Niko Tyni   nt...@debian.org



Bug#1050455: libtravel-routing-de-vrr-perl: autopkgtest failure with Perl 5.38: given is deprecated

2023-08-24 Thread Niko Tyni
Source: libtravel-routing-de-vrr-perl
Version: 2.21-1
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libt/libtravel-routing-de-vrr-perl/37098320/log.gz

 82s #   Failed test ' /usr/bin/perl -w -M"Travel::Routing::DE::VRR" -e 1 2>&1 
produced no (non-whitelisted) output'
 82s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 82s # Structures begin differing at:
 82s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Travel/Routing/DE/EFA.pm line 179.
 82s # '
 82s # $expected->[0] = Does not exist
 82s 
 82s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Travel::Routing::DE::VRR" -e 1 2>&1 produced no (non-whitelisted) output'
 82s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 82s # Structures begin differing at:
 82s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Travel/Routing/DE/EFA.pm line 179.
 82s # '
 82s # $expected->[0] = Does not exist
 82s # Looks like you failed 2 tests of 4.

-- 
Niko Tyni   nt...@debian.org



Bug#1050454: libregexp-debugger-perl: autopkgtest failure with Perl 5.38: Smartmatch is deprecated

2023-08-24 Thread Niko Tyni
Package: libregexp-debugger-perl
Version: 0.002006-2
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libr/libregexp-debugger-perl/37098316/log.gz

 73s #   Failed test ' /usr/bin/perl -w -M"Regexp::Debugger" -e 1 2>&1 produced 
no (non-whitelisted) output'
 73s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 73s # Structures begin differing at:
 73s #  $got->[0] = 'Smartmatch is deprecated at 
/usr/share/perl5/Regexp/Debugger.pm line 231.
 73s # '
 73s # $expected->[0] = Does not exist
 73s 
 73s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Regexp::Debugger" -e 1 2>&1 produced no (non-whitelisted) output'
 73s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 73s # Structures begin differing at:
 73s #  $got->[0] = 'Smartmatch is deprecated at 
/usr/share/perl5/Regexp/Debugger.pm line 231.
 73s # '
 73s # $expected->[0] = Does not exist
 73s # Looks like you failed 2 tests of 4.

-- 
Niko Tyni   nt...@debian.org



Bug#1050452: libpoe-component-jabber-perl: autopkgtest failure with Perl 5.38: given is deprecated

2023-08-24 Thread Niko Tyni
Source: libpoe-component-jabber-perl
Version: 3.00-5
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libp/libpoe-component-jabber-perl/37098315/log.gz

 63s #   Failed test ' /usr/bin/perl -w -M"POE::Component::Jabber" -e 1 2>&1 
produced no (non-whitelisted) output'
 63s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 63s # Structures begin differing at:
 63s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/POE/Component/Jabber/XMPP.pm line 141.
 63s # '
 63s # $expected->[0] = Does not exist
 63s 
 63s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"POE::Component::Jabber" -e 1 2>&1 produced no (non-whitelisted) output'
 63s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 63s # Structures begin differing at:
 63s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/POE/Component/Jabber/XMPP.pm line 141.
 63s # '
 63s # $expected->[0] = Does not exist
 63s # Looks like you failed 2 tests of 4.

-- 
Niko Tyni   nt...@debian.org



Bug#1050451: libperl-languageserver-perl: autopkgtest failure with Perl 5.38: given is deprecated

2023-08-24 Thread Niko Tyni
Source: libperl-languageserver-perl
Version: 2.5.0-1
Severity: important
Tags: trixie sid upstream
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest
Forwarded: https://github.com/richterger/Perl-LanguageServer/issues/190

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libp/libperl-languageserver-perl/37098313/log.gz

 61s #   Failed test ' /usr/bin/perl -w -M"Perl::LanguageServer" -e 1 2>&1 
produced no (non-whitelisted) output'
 61s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 61s # Structures begin differing at:
 61s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Perl/LanguageServer/Parser.pm line 136.
 61s # '
 61s # $expected->[0] = Does not exist
 61s 
 61s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Perl::LanguageServer" -e 1 2>&1 produced no (non-whitelisted) output'
 61s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 61s # Structures begin differing at:
 61s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Perl/LanguageServer/Parser.pm line 136.
 61s # '
 61s # $expected->[0] = Does not exist
 61s # Looks like you failed 2 tests of 4.

-- 
Niko Tyni   nt...@debian.org



Bug#1050450: libje-perl: autopkgtest failure with Perl 5.38: Old package separator "'" deprecated

2023-08-24 Thread Niko Tyni
Source: libje-perl
Version: 0.066-3
Severity: important
Tags: trixie sid upstream patch
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=146685

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libj/libje-perl/37098308/log.gz

 73s #   Failed test ' /usr/bin/perl -w -M"JE" -e 1 2>&1 produced no 
(non-whitelisted) output'
 73s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 73s # Structures begin differing at:
 73s #  $got->[0] = 'Old package separator "'" deprecated at 
/usr/share/perl5/JE/Code.pm line 181.
 73s # '
 73s # $expected->[0] = Does not exist
 73s 
 73s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"JE" -e 1 
2>&1 produced no (non-whitelisted) output'
 73s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 73s # Structures begin differing at:
 73s #  $got->[0] = 'Old package separator "'" deprecated at 
/usr/share/perl5/JE/Code.pm line 181.
 73s # '
 73s # $expected->[0] = Does not exist
 73s # Looks like you failed 2 tests of 4.
 
There's a patch by Yves Orton in the upstream ticket.
-- 
Niko Tyni   nt...@debian.org



Bug#1050449: libweb-api-perl: autopkgtest failure with Perl 5.38: given is deprecated

2023-08-24 Thread Niko Tyni
Source: libweb-api-perl
Version: 2.7-2
Severity: important
Tags: trixie sid fixed-upstream
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest
Forwarded: https://github.com/nupfel/Web-API/issues/31

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)


  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libw/libweb-api-perl/37098321/log.gz

 69s #   Failed test ' /usr/bin/perl -w -M"Web::API" -e 1 2>&1 produced no 
(non-whitelisted) output'
 69s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 69s # Structures begin differing at:
 69s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Web/API.pm line 376.
 69s # '
 69s # $expected->[0] = Does not exist
 69s 
 69s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"Web::API" 
-e 1 2>&1 produced no (non-whitelisted) output'
 69s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 69s # Structures begin differing at:
 69s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Web/API.pm line 376.
 69s # '
 69s # $expected->[0] = Does not exist
 69s # Looks like you failed 2 tests of 4.
 
This seems to be fixed upstream with

  https://github.com/nupfel/Web-API/pull/32

-- 
Niko Tyni   nt...@debian.org



Bug#1050447: libsub-delete-perl: autopkgtest failure with Perl 5.38: Old package separator "'" deprecated

2023-08-24 Thread Niko Tyni
Source: libsub-delete-perl
Version: 1.2-3
Severity: important
Tags: trixie sid upstream patch
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=146682

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libs/libsub-delete-perl/37098317/log.gz

 54s #   Failed test ' /usr/bin/perl -w -M"Sub::Delete" -e 1 2>&1 produced 
no (non-whitelisted) output'
 54s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 54s # Structures begin differing at:
 54s #  $got->[0] = 'Old package separator "'" deprecated at 
/usr/share/perl5/Sub/Delete.pm line 47.
 54s # '
 54s # $expected->[0] = Does not exist
 54s 
 54s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Sub::Delete" -e 1 2>&1 produced no (non-whitelisted) output'
 54s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 54s # Structures begin differing at:
 54s #  $got->[0] = 'Old package separator "'" deprecated at 
/usr/share/perl5/Sub/Delete.pm line 47.
 54s # '
 54s # $expected->[0] = Does not exist
 54s # Looks like you failed 2 tests of 4.
 
There's a patch by Yves Orton in the upstream ticket.
-- 
Niko Tyni   nt...@debian.org



Bug#1050445: libgtk3-imageview-perl: autopkgtest failure with Perl 5.38: given is deprecated

2023-08-24 Thread Niko Tyni
Source: libgtk3-imageview-perl
Version: 10-1
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libg/libgtk3-imageview-perl/37098305/log.gz

110s #   Failed test ' /usr/bin/perl -w -M"Gtk3::ImageView" -e 1 2>&1 
produced no (non-whitelisted) output'
110s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
110s # Structures begin differing at:
110s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Gtk3/ImageView.pm line 179.
110s # '
110s # $expected->[0] = Does not exist
110s 
110s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Gtk3::ImageView" -e 1 2>&1 produced no (non-whitelisted) output'
110s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
110s # Structures begin differing at:
110s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Gtk3/ImageView.pm line 179.
110s # '
110s # $expected->[0] = Does not exist
110s # Looks like you failed 2 tests of 4.
 
-- 
Niko Tyni   nt...@debian.org



Bug#1050444: libio-prompter-perl: autopkgtest failure with Perl 5.38: Smartmatch is deprecated

2023-08-24 Thread Niko Tyni
Package: libio-prompter-perl
Version: 0.004015-2
Severity: important
Tags: trixie sid fixed-upstream
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libi/libio-prompter-perl/37098307/log.gz

 75s #   Failed test ' /usr/bin/perl -w -M"IO::Prompter" -e 1 2>&1 produced no 
(non-whitelisted) output'
 75s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 75s # Structures begin differing at:
 75s #  $got->[0] = 'Smartmatch is deprecated at 
/usr/share/perl5/IO/Prompter.pm line 245.
 75s # '
 75s # $expected->[0] = Does not exist
 75s 
 75s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"IO::Prompter" 
-e 1 2>&1 produced no (non-whitelisted) output'
 75s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 75s # Structures begin differing at:
 75s #  $got->[0] = 'Smartmatch is deprecated at 
/usr/share/perl5/IO/Prompter.pm line 245.
 75s # '
 75s # $expected->[0] = Does not exist
 75s # Looks like you failed 2 tests of 4.

This seems to be fixed upstream in 0.005000.
-- 
Niko Tyni   nt...@debian.org



Bug#1050307: libdata-format-html-perl: autopkgtest failure with Perl 5.38: given is deprecated

2023-08-22 Thread Niko Tyni
Source: libdata-format-html-perl
Version: 0.5.1-2
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/libd/libdata-format-html-perl/37062112/log.gz

 56s autopkgtest [20:13:39]: test autodep8-perl: 
/usr/share/pkg-perl-autopkgtest/runner runtime-deps
 56s autopkgtest [20:13:39]: test autodep8-perl: [---
 56s 
 56s #   Failed test ' /usr/bin/perl -w -M"Data::Format::HTML" -e 1 2>&1 
produced no (non-whitelisted) output'
 56s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 56s # Structures begin differing at:
 56s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Data/Format/HTML.pm line 193.
 56s # '
 56s # $expected->[0] = Does not exist
 56s 
 56s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Data::Format::HTML" -e 1 2>&1 produced no (non-whitelisted) output'
 56s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 56s # Structures begin differing at:
 56s #  $got->[0] = 'given is deprecated at 
/usr/share/perl5/Data/Format/HTML.pm line 193.
 56s # '
 56s # $expected->[0] = Does not exist
 56s # Looks like you failed 2 tests of 4.
 56s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 
 56s 1..4
 56s # given is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 193.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 194.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 195.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 196.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 197.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 199.
 56s ok 1 -  /usr/bin/perl -w -M"Data::Format::HTML" -e 1 2>&1 exited 
successfully
 56s not ok 2 -  /usr/bin/perl -w -M"Data::Format::HTML" -e 1 2>&1 produced 
no (non-whitelisted) output
 56s # given is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 193.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 194.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 195.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 196.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 197.
 56s # when is deprecated at /usr/share/perl5/Data/Format/HTML.pm line 199.
 56s ok 3 - env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"Data::Format::HTML" 
-e 1 2>&1 exited successfully
 56s not ok 4 - env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Data::Format::HTML" -e 1 2>&1 produced no (non-whitelisted) output
 56s Dubious, test returned 2 (wstat 512, 0x200)
 56s Failed 2/4 subtests 
 
-- 
Niko Tyni   nt...@debian.org



Bug#1050306: libautobox-junctions-perl: autopkgtest failure with Perl 5.38: Smartmatch is deprecated

2023-08-22 Thread Niko Tyni
Source: libautobox-junctions-perl
Version: 0.002-2
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  
https://ci.debian.net/data/autopkgtest/unstable/amd64/liba/libautobox-junctions-perl/37060385/log.gz

 79s autopkgtest [18:52:20]: test autodep8-perl: 
/usr/share/pkg-perl-autopkgtest/runner runtime-deps
 79s autopkgtest [18:52:20]: test autodep8-perl: [---
 80s 
 80s #   Failed test ' /usr/bin/perl -w -M"autobox::Junctions" -e 1 2>&1 
produced no (non-whitelisted) output'
 80s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 80s # Structures begin differing at:
 80s #  $got->[0] = 'Smartmatch is deprecated at (eval 5) line 8.
 80s # '
 80s # $expected->[0] = Does not exist
 80s 
 80s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"autobox::Junctions" -e 1 2>&1 produced no (non-whitelisted) output'
 80s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 80s # Structures begin differing at:
 80s #  $got->[0] = 'Smartmatch is deprecated at (eval 5) line 8.
 80s # '
 80s # $expected->[0] = Does not exist
 80s # Looks like you failed 2 tests of 4.
 80s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 
 80s 1..4
 80s # Smartmatch is deprecated at (eval 5) line 8.
 80s # Smartmatch is deprecated at (eval 5) line 15.
 80s # Smartmatch is deprecated at (eval 6) line 8.
 80s # Smartmatch is deprecated at (eval 6) line 15.
 80s # Smartmatch is deprecated at (eval 7) line 8.
 80s # Smartmatch is deprecated at (eval 7) line 15.
 80s # Smartmatch is deprecated at (eval 8) line 11.
 80s # Smartmatch is deprecated at (eval 8) line 21.
 80s ok 1 -  /usr/bin/perl -w -M"autobox::Junctions" -e 1 2>&1 exited 
successfully
 80s not ok 2 -  /usr/bin/perl -w -M"autobox::Junctions" -e 1 2>&1 produced 
no (non-whitelisted) output
 80s # Smartmatch is deprecated at (eval 5) line 8.
 80s # Smartmatch is deprecated at (eval 5) line 15.
 80s # Smartmatch is deprecated at (eval 6) line 8.
 80s # Smartmatch is deprecated at (eval 6) line 15.
 80s # Smartmatch is deprecated at (eval 7) line 8.
 80s # Smartmatch is deprecated at (eval 7) line 15.
 80s # Smartmatch is deprecated at (eval 8) line 11.
 80s # Smartmatch is deprecated at (eval 8) line 21.
 80s ok 3 - env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"autobox::Junctions" 
-e 1 2>&1 exited successfully
 80s not ok 4 - env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"autobox::Junctions" -e 1 2>&1 produced no (non-whitelisted) output
 80s Dubious, test returned 2 (wstat 512, 0x200)
 80s Failed 2/4 subtests 
 
-- 
Niko Tyni   nt...@debian.org



Bug#1050304: dizzy: autopkgtest failure with Perl 5.38: Smartmatch is deprecated

2023-08-22 Thread Niko Tyni
Source: dizzy
Version: 0.3-4
Severity: important
Tags: trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition autopkgtest

This package fails its autopkgtest checks with Perl 5.38 (currently
in experimental.)

  https://ci.debian.net/data/autopkgtest/unstable/amd64/d/dizzy/37060138/log.gz

 78s autopkgtest [18:02:48]: test autodep8-perl: 
/usr/share/pkg-perl-autopkgtest/runner runtime-deps
 78s autopkgtest [18:02:48]: test autodep8-perl: [---
 79s 
 79s #   Failed test ' /usr/bin/perl -w -M"Dizzy::Core" -e 1 2>&1 produced 
no (non-whitelisted) output'
 79s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 79s # Structures begin differing at:
 79s #  $got->[0] = 'Smartmatch is deprecated at 
/usr/share/perl5/Dizzy/Perl2GLSL.pm line 18.
 79s # '
 79s # $expected->[0] = Does not exist
 79s 
 79s #   Failed test 'env PERL_DL_NONLAZY=1  /usr/bin/perl -w 
-M"Dizzy::Core" -e 1 2>&1 produced no (non-whitelisted) output'
 79s #   at /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t line 110.
 79s # Structures begin differing at:
 79s #  $got->[0] = 'Smartmatch is deprecated at 
/usr/share/perl5/Dizzy/Perl2GLSL.pm line 18.
 79s # '
 79s # $expected->[0] = Does not exist
 79s # Looks like you failed 2 tests of 4.
 79s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 
 79s 1..4
 79s # Smartmatch is deprecated at /usr/share/perl5/Dizzy/Perl2GLSL.pm line 
18.
 79s # Smartmatch is deprecated at /usr/share/perl5/Dizzy/Perl2GLSL.pm line 
182.
 79s ok 1 -  /usr/bin/perl -w -M"Dizzy::Core" -e 1 2>&1 exited successfully
 79s not ok 2 -  /usr/bin/perl -w -M"Dizzy::Core" -e 1 2>&1 produced no 
(non-whitelisted) output
 79s # Smartmatch is deprecated at /usr/share/perl5/Dizzy/Perl2GLSL.pm line 
18.
 79s # Smartmatch is deprecated at /usr/share/perl5/Dizzy/Perl2GLSL.pm line 
182.
 79s ok 3 - env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"Dizzy::Core" -e 1 
2>&1 exited successfully
 79s not ok 4 - env PERL_DL_NONLAZY=1  /usr/bin/perl -w -M"Dizzy::Core" -e 
1 2>&1 produced no (non-whitelisted) output
 79s Dubious, test returned 2 (wstat 512, 0x200)
 79s Failed 2/4 subtests 

-- 
Niko Tyni   nt...@debian.org



Bug#1042238: devscripts: FTBFS: dh_auto_test: error: make -j8 test returned exit code 2

2023-08-22 Thread Niko Tyni
Control: tag -1 pending

On Wed, Jul 26, 2023 at 10:19:53PM +0200, Lucas Nussbaum wrote:
> Source: devscripts
> Version: 2.23.5
> Severity: serious
> Justification: FTBFS
> Tags: trixie sid ftbfs
> User: lu...@debian.org
> Usertags: ftbfs-20230726 ftbfs-trixie

> During a rebuild of all packages in sid, your package failed to build
> on amd64.

> > Undefined subroutine ::to_json called at ./t/salsa.pm line 49.
> > # Tests were run but no plan was declared and done_testing() was not seen.
> > # Looks like your test exited with 255 just after 1.
> > test_comments_in_quoted_strings2
> > t/salsa.t . 
> > Dubious, test returned 255 (wstat 65280, 0xff00)

This regressed with libgitlab-api-v4-perl 0.27-1, which is not migrating
to testing because of the same failure on the autopkgtest side.

The problem is that t/salsa.pm uses JSON::to_json() without loading the
JSON module. This was always wrong, but GitLab::API::v4::RESTClient used
to bring it in transitively. That has now changed as libgitlab-api-v4-perl
has switched from the JSON module to JSON::MaybeXS.

Umh. After patching this and another thing locally I see now that it's
also #1041220 / #1038486, which were incorrectly merged resulting in
confused metadata that makes it look like it's all a thing of the past.

FWIW I think #1041220 should not have been reassigned + merged. It was
about libgitlab-api-v4-perl 0.26-3 being seriously buggy because it is out
of sync with unstable. When devscripts is fixed, libgitlab-api-v4-perl
0.27-1 will then migrate and #1041220 would have stopped affecting
testing without any other action on that bug. But undoing the merge now
would probably make things even more confusing.

Copying Yadd and Gregor who were involved. It looks like devscripts.git
has the necessary patches (including a perltidy fix) but somebody just
needs to upload it (and possibly fix the BTS mess afterwards if it
becomes a problem.)
-- 
Niko



Bug#1043425: libmethod-signatures-perl: FTBFS with Perl 5.38: Smartmatch is deprecated

2023-08-20 Thread Niko Tyni
Control: tag -1 patch

On Thu, Aug 10, 2023 at 09:20:42PM +0300, Niko Tyni wrote:
> Source: libmethod-signatures-perl
> Version: 20170211-3
> Severity: important
> Tags: ftbfs trixie sid
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> 
> This package fails to build from source with Perl 5.38 (currently in
> experimental.)
> 
>   
> http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libmethod-signatures-perl_20170211-3/libmethod-signatures-perl_20170211-3_amd64-2023-08-04T06:11:02Z.build
> 
> #   Failed test 'no warnings for using smartmatch'
> #   at t/where.t line 21.
> # found warning: Smartmatch is deprecated at (eval 34) line 1.
> # didn't expect to find a warning

Here's a patch for this issue.
-- 
Niko Tyni   nt...@debian.org
>From 958378982f9a046708cdd69b1c5e1189700f5273 Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Sun, 20 Aug 2023 20:19:59 +0100
Subject: [PATCH] Skip smartmatch warnings test for newer perls

Bug-Debian: http://bugs.debian.org/1043425
---
 t/where.t | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/t/where.t b/t/where.t
index 09f027d..511860c 100644
--- a/t/where.t
+++ b/t/where.t
@@ -18,8 +18,10 @@ use Method::Signatures;
 
 
 my $where_func = q{ func silly_test ($x where { $_ == 3 }) {} };
-warning_is { eval $where_func } undef, 'no warnings for using smartmatch';
-
+SKIP: {
+skip "Smartmatch should warn for Perl >= 5.37.10", 1 if $] >= 5.037010;
+warning_is { eval $where_func } undef, 'no warnings for using smartmatch';
+}
 
 subtest 'where { block() }' => sub {
 plan tests => 3;
@@ -152,15 +154,15 @@ subtest 'where with placeholders' => sub {
 ok eval { constrained_placeholder(2) }, 'constrained_placeholder() called as expected'
 or note $@;
 
-# line 155
+# line 157
 throws_ok { constrained_placeholder() }
-required_placeholder_error('main', 0, 'constrained_placeholder', LINE => 156),
+required_placeholder_error('main', 0, 'constrained_placeholder', LINE => 158),
 'missing requierd constrained placeholder';
 throws_ok { constrained_placeholder('foo') }
-placeholder_badval_error('main', 0, 'Int' => 'foo', 'constrained_placeholder', LINE => 159),
+placeholder_badval_error('main', 0, 'Int' => 'foo', 'constrained_placeholder', LINE => 161),
 'placeholder value wrong type';
 throws_ok { constrained_placeholder(99) }
-placeholder_failed_constraint_error('main', 0, 99 => '{$_<10}', 'constrained_placeholder', LINE => 162),
+placeholder_failed_constraint_error('main', 0, 99 => '{$_<10}', 'constrained_placeholder', LINE => 164),
 'placeholder value wrong type';
 };
 
-- 
2.39.1



Bug#1040655: liblmdb-file-perl: FTBFS with Perl 5.38: undefined reference to `Perl_do_vecget'

2023-08-20 Thread Niko Tyni
Control: tag -1 patch

On Sat, Jul 08, 2023 at 07:17:23PM +0300, Niko Tyni wrote:
> Source: liblmdb-file-perl
> Version: 0.12-4
> Severity: important
> Tags: ftbfs trixie sid upstream
> Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=148421
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> 
> This package fails to build with Perl 5.38 (currently in experimental).

>   /usr/bin/ld: LMDB.o: in function `XS_LMDB_File__cmp':
>   ././LMDB.c:2731: undefined reference to `Perl_do_vecget'

Here's a patch I just sent upstream that works around this by copying
a simplified version of Perl_do_vecget into this module.
-- 
Niko Tyni   nt...@debian.org
>From 1469c3d13a99f401ac2457b37564bc7aedcf050a Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Sat, 19 Aug 2023 21:08:33 +0100
Subject: [PATCH] Lift vecget function from Perl core for 5.38 compatibility
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As suggested by Petr Písař.

Simplified to only handle size <= 8 as the module only needs size==2.

Bug: https://rt.cpan.org/Ticket/Display.html?id=148421
Bug-Debian: https://bugs.debian.org/1040655
---
 LMDB.xs | 45 -
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/LMDB.xs b/LMDB.xs
index f474abb..647e463 100644
--- a/LMDB.xs
+++ b/LMDB.xs
@@ -110,6 +110,49 @@ S_mySvPVutf8(pTHX_ SV *sv, STRLEN *const len) {
 
 typedef IV MyInt;
 
+/* lifted from Perl core and simplified [rt.cpan.org #148421] */
+STATIC UV
+my_do_vecget(pTHX_ SV *sv, STRLEN offset, int size)
+{
+STRLEN srclen;
+const I32 svpv_flags = ((PL_op->op_flags & OPf_MOD || LVRET)
+  ? SV_UNDEF_RETURNS_NULL : 0);
+unsigned char *s = (unsigned char *)
+SvPV_flags(sv, srclen, (svpv_flags|SV_GMAGIC));
+UV retnum = 0;
+
+if (!s) {
+  s = (unsigned char *)"";
+}
+
+/* aka. PERL_ARGS_ASSERT_DO_VECGET */
+assert(sv);
+/* sanity checks to make sure the premises for our simplifications still hold */
+assert(LMDB_OFLAGN <= 8);
+if (size != LMDB_OFLAGN)
+Perl_croak(aTHX_ "This is a crippled version of vecget that supports size==%d (LMDB_OFLAGN)", LMDB_OFLAGN);
+
+if (SvUTF8(sv)) {
+if (Perl_sv_utf8_downgrade_flags(aTHX_ sv, TRUE, 0)) {
+/* PVX may have changed */
+s = (unsigned char *) SvPV_flags(sv, srclen, svpv_flags);
+}
+else {
+Perl_croak(aTHX_ "Use of strings with code points over 0xFF"
+ " as arguments to vec is forbidden");
+}
+}
+
+STRLEN bitoffs = ((offset % 8) * size) % 8;
+STRLEN uoffset = offset / (8 / size);
+
+if (uoffset >= srclen)
+return 0;
+
+retnum = (s[uoffset] >> bitoffs) & nBIT_MASK(size);
+return retnum;
+}
+
 static void
 populateStat(pTHX_ HV** hashptr, int res, MDB_stat *stat)
 {
@@ -152,7 +195,7 @@ typedef struct {
 
 START_MY_CXT
 
-#define LMDB_OFLAGS TOHIWORD(Perl_do_vecget(aTHX_ MY_CXT.OFlags, dbi, LMDB_OFLAGN))
+#define LMDB_OFLAGS TOHIWORD(my_do_vecget(aTHX_ MY_CXT.OFlags, dbi, LMDB_OFLAGN))
 #define MY_CMP   *av_fetch(MY_CXT.Cmps, MY_CXT.curdb, 1)
 #define MY_DCMP	 *av_fetch(MY_CXT.DCmps, MY_CXT.curdb, 1)
 
-- 
2.39.1



Bug#1043234: libmath-bigint-perl: subclassing breaks numeric comparison

2023-08-10 Thread Niko Tyni
Control: forwarded -1 https://github.com/pjacklam/p5-Math-BigInt/issues/8
Control: tag -1 patch
Control: affects -1 libpgobject-type-bigfloat-perl

On Mon, Aug 07, 2023 at 08:06:09PM +0100, Niko Tyni wrote:
> Package: libmath-bigint-perl
> Version: 1.999838-1
> Severity: important
> Tags: ftbfs upstream
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> Control: affects -1 ledgersmb

> I was able to narrow it down to this test, which fails with newer versions:
> 
> ---
> package MyFloat;
> use base qw(Math::BigFloat);
> 1;
> 
> print MyFloat->new(.99) == Math::BigFloat->new(.99) ? "ok\n": "not 
> ok\n";
> ---
> 
> It bisects down to upstream commit 
> 
>   
> https://github.com/pjacklam/p5-Math-BigInt/commit/46d1252c98f565ae787c840173e5f98acf8953f1
> 
> so it regressed with upstream version 1.999836.

I've filed an upstream bug at 
https://github.com/pjacklam/p5-Math-BigInt/issues/8
and sent a proposed patch at  https://github.com/pjacklam/p5-Math-BigInt/pull/9

-- 
Niko



Bug#1043425: libmethod-signatures-perl: FTBFS with Perl 5.38: Smartmatch is deprecated

2023-08-10 Thread Niko Tyni
Source: libmethod-signatures-perl
Version: 20170211-3
Severity: important
Tags: ftbfs trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libmethod-signatures-perl_20170211-3/libmethod-signatures-perl_20170211-3_amd64-2023-08-04T06:11:02Z.build

#   Failed test 'no warnings for using smartmatch'
#   at t/where.t line 21.
# found warning: Smartmatch is deprecated at (eval 34) line 1.
# didn't expect to find a warning
Any::Moose is deprecated. Please use Moo instead at 
/<>/blib/lib/Method/Signatures.pm line 1293.
# Looks like you failed 1 test of 6.
t/where.t  
not ok 1 - no warnings for using smartmatch
[...]
Test Summary Report
---
t/role_check_basic.t   (Wstat: 0 Tests: 2 Failed: 0)
  TODO passed:   1-2
t/syntax_errors.t  (Wstat: 0 Tests: 3 Failed: 0)
  TODO passed:   2
t/where.t  (Wstat: 256 (exited 1) Tests: 6 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
Files=68, Tests=446,  9 wallclock secs ( 0.18 usr  0.07 sys +  7.81 cusr  
1.39 csys =  9.45 CPU)
Result: FAIL
 
-- 
Niko Tyni   nt...@debian.org



Bug#1043344: perl: Use of freed value in iteration with base.pm dotless-INC guard when looping over @INC

2023-08-09 Thread Niko Tyni
Package: perl
Version: 5.38.0-1
Severity: important
Tags: upstream
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition
Control: affects -1 libhtml-widget-perl

The libhtml-widget-perl package fails to build with Perl 5.38 on
perl.debian.net:

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libhtml-widget-perl_1.11-6/libhtml-widget-perl_1.11-6_amd64-2023-08-09T09:20:08Z.build

   #   Failed test 'use HTML::Widget;'
   #   at t/01use.t line 6.
   # Tried to use 'HTML::Widget'.
   # Error:  Use of freed value in iteration at 
/usr/share/perl5/Module/Pluggable/Fast.pm line 74.
   # Compilation failed in require at t/01use.t line 6.
   # BEGIN failed--compilation aborted at t/01use.t line 6.
   # Looks like you failed 1 test of 1.

   [...]
 
The build fails deterministically every time on that host, but not on
my local workstation (and neither on Gregor's according to his report on
IRC.) It also fails if I run the test suite manually on perl.debian.net.

After a few nights of glaring at this, I think it's probably an instance
of the longstanding stack-not-refcounted issue (see #582925) and has
been present ever since '.' was removed from the default @INC and base.pm
acquired the "dotless-INC guard" in

https://github.com/Perl/perl5/commit/fa71f6670dda393818d17f2f3bd2bee165347849

As I understand it, Module::Pluggable::Fast is looping over @INC and
ends up calling base.pm which fiddles with @INC under the hood if
it contains cwd (dot). This results in rather undefined behaviour,
sometimes triggering the fatal "Use of freed value in iteration" error.

The undefined behaviour is very sensitive to @INC contents and
length, making this something of a heisenbug. It's easier to trigger with
Perl 5.38 than earlier versions but that's probably just by chance.

I'm able to trigger it in the HTML-Widget build on my local workstation
with Perl 5.38 by running "PERL5LIB=.:. make test". It also triggers on
sid / Perl 5.36 both on my workstation and perl.debian.net with something
silly like

  PERL5LIB=$(perl -e "print 'x:'x40")x make test

The HTML-Widget build runs the test suite with Test::Harness, which
sets PERL_USE_UNSAFE_INC=1, putting cwd on @INC and activating the
base.pm guard.  A workaround seems to be explicitly running
  PERL_USE_UNSAFE_INC=0 make test
as Test::Harness respects that. This does make libhtml-widget-perl
test suite pass me on perl.debian.net with Perl 5.38, so maybe it
can be used to mitigate the immediate issue in Debian.

I was able to narrow the thing down to this test case, which fails
deterministically everywhere I've tried, with every Perl version since
the dot-on-INC removal including current upstream bleadperl:

   % tree
   .
   |-- lib
   |   `-- Plugins
   |   `-- B.pm
   `-- test.t
   
   3 directories, 2 files
   % cat test.t
   #!/usr/bin/perl
   BEGIN { print "1..3\n"; }
   
   push @INC, './lib'; # plugin path
   push @INC, '.'; # needed to trigger 'Use of freed value in iteration'
   
   package MyPlugin;
   sub new { print "ok 1 - new() called for plugin $_[0]\n"; }
   1;
   
   package A;
   use Module::Pluggable::Fast search => [qw/Plugins/];
   print scalar A->plugins ?
   "ok 2 - found plugins\n" :
   "not ok 2 - no plugins found\n";
   1;
   
   print "ok 3 - all done\n";
   % cat lib/Plugins/B.pm
   package Plugins::B;
   use base qw/MyPlugin/;
   1;
   % /opt/perl/bin/perl5.39.2 test.t
   1..3
   ok 1 - new() called for plugin Plugins::B
   Use of freed value in iteration at 
/opt/perl/lib/site_perl/5.39.2/Module/Pluggable/Fast.pm line 74.

 
and further down to this, which is sillier but more self contained as
it only uses base.pm:

   % cat test2.t
   BEGIN { print "1..1\n"; }
   
   package X;
   sub x { }
   1;
   
   package main;
   require base;
   
   push @INC, '.';
   foreach my $dir ( grep /./, @INC) 
   {
   base->import('X');
   }
   
   print "ok 1\n";
   % /opt/perl/bin/perl5.39.2 test2.t
   1..1
   Use of freed value in iteration at test2.t line 13.

This whole wall of text should be reported upstream too. Things are
complicated a bit by the fact that HTML-Widget, which prominently exhibits
this behaviour, is dead upstream and rather heavily patched in Debian
to make it able to build at all. But maybe the shorter test case with
Module::Pluggable::Fast is enough to show it's an actual issue.

-- 
Niko



Bug#1043239: lemonldap-ng: FTBFS with Perl 5.38: test failures

2023-08-07 Thread Niko Tyni
Source: lemonldap-ng
Version: 2.16.1+ds-2
Severity: important
Tags: ftbfs trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in 
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/lemonldap-ng_2.16.1+ds-2/lemonldap-ng_2.16.1+ds-2_amd64-2023-08-04T06:12:12Z.build

   #   Failed test 'Found correct error message'
   #   at t/12-Lemonldap-NG-Handler-Jail.t line 114.
   #   'syntax error at (eval 52) line 1, at EOF
   # Execution of (eval 52) aborted due to compilation errors.
   # '
   # doesn't match '(?^:Missing right curly or square bracket)'
   # Looks like you failed 1 test of 22.
   
   #   Failed test 'Found correct error message'
   #   at t/13-Lemonldap-NG-Handler-Fake-Safe.t line 107.
   #   'syntax error at (eval 47) line 1, at EOF
   # Execution of (eval 47) aborted due to compilation errors.
   # '
   # doesn't match '(?^:Missing right curly or square bracket)'
   # Looks like you failed 1 test of 16.
   
   Test Summary Report
   ---
   t/12-Lemonldap-NG-Handler-Jail.t (Wstat: 256 (exited 
1) Tests: 22 Failed: 1)
 Failed test:  22
 Non-zero exit status: 1
   t/13-Lemonldap-NG-Handler-Fake-Safe.t(Wstat: 256 (exited 
1) Tests: 16 Failed: 1)
 Failed test:  16
 Non-zero exit status: 1
   Files=25, Tests=405,  7 wallclock secs ( 0.08 usr  0.03 sys +  4.03 cusr  
0.70 csys =  4.84 CPU)
   Result: FAIL
 
This looks like just an issue of changed diagnostics, but please don't
hesitate to file a bug against perl in case it turns out to have runtime
effects that warrant a Breaks entry.

-- 
Niko Tyni   nt...@debian.org



Bug#1040659: libtest-strict-perl: FTBFS with Perl 5.38: test failures

2023-08-07 Thread Niko Tyni
Control: tag -1 patch

On Sat, Jul 08, 2023 at 08:47:21PM +0300, Niko Tyni wrote:
> Source: libtest-strict-perl
> Version: 0.52-2
> Severity: important
> Tags: ftbfs trixie sid
> Forwarded: https://github.com/manwar/Test-Strict/issues/32
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> 
> This package fails to build with Perl 5.38 (currently in experimental).
> 
>#   Failed test 'Syntax check /tmp/RsMORA8Sdy/G9eCGgt__c.pl'
>#   at /<>/blib/lib/Test/Strict.pm line 435.

> The upstream ticket suggests a fix of separating runs with the -v and
> -c switches.

There's a patch at https://github.com/manwar/Test-Strict/pull/33
-- 
Niko Tyni   nt...@debian.org



Bug#1043234: libmath-bigint-perl: subclassing breaks numeric comparison

2023-08-07 Thread Niko Tyni
Package: libmath-bigint-perl
Version: 1.999838-1
Severity: important
Tags: ftbfs upstream
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition
Control: affects -1 ledgersmb

ledgersmb fails to build with new versions of Math-BigInt,
including the one separately packaged (both in stable and unstable)
as libmath-bigint-perl, and the one bundled with Perl 5.38 (currently
in experimental.)

   #   Failed test 'form: 9.999,99 parsed as 1.000,00 - .99'
   #   at t/02-number-handling.t line 224.
   #  got: .99
   # expected: .99
   
   [...]
   
   Test Summary Report
   ---
   t/02-number-handling.t(Wstat: 5120 (exited 20) Tests: 374 Failed: 20)
 Failed tests:  336-340, 345-349, 354-358, 365-369
 Non-zero exit status: 20
   Files=20, Tests=1802, 17 wallclock secs ( 0.39 usr  0.06 sys + 14.92 cusr  
1.89 csys = 17.26 CPU)
   Result: FAIL

I was able to narrow it down to this test, which fails with newer versions:

---
package MyFloat;
use base qw(Math::BigFloat);
1;

print MyFloat->new(.99) == Math::BigFloat->new(.99) ? "ok\n": "not 
ok\n";
---

It bisects down to upstream commit 

  
https://github.com/pjacklam/p5-Math-BigInt/commit/46d1252c98f565ae787c840173e5f98acf8953f1

so it regressed with upstream version 1.999836.
-- 
Niko Tyni   nt...@debian.org



Bug#1043230: perl: break libgnupg-interface-perl (<< 1.02-4)

2023-08-07 Thread Niko Tyni
Package: perl
Version: 5.38.0-1

As discussed in #1042985, we should add a

  Breaks: libgnupg-interface-perl (<< 1.02-4)

to support partial upgrades to 5.38.
-- 
Niko



Bug#1043228: adequate: FTBFS with Perl 5.38: deprecated keywords

2023-08-07 Thread Niko Tyni
Source: adequate
Version: 0.15.7
Severity: important
Tags: ftbfs sid trixie
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/adequate_0.15.7/adequate_0.15.7_amd64-2023-08-04T06:16:05Z.build

   TESTING: ./adequate --version
   given is deprecated at ./adequate line 93.
   when is deprecated at ./adequate line 94.
   when is deprecated at ./adequate line 97.
   when is deprecated at ./adequate line 100.
   Smartmatch is deprecated at ./adequate line 647.
   when is deprecated at ./adequate line 710.
   when is deprecated at ./adequate line 713.
   when is deprecated at ./adequate line 716.
   when is deprecated at ./adequate line 730.
   when is deprecated at ./adequate line 738.
   when is deprecated at ./adequate line 743.
   when is deprecated at ./adequate line 751.
   when is deprecated at ./adequate line 754.
   when is deprecated at ./adequate line 782.
   when is deprecated at ./adequate line 785.
   when is deprecated at ./adequate line 829.
   Smartmatch is deprecated at ./adequate line 929.
   make[1]: *** [debian/rules:17: override_dh_auto_test] Error 1
   make[1]: Leaving directory '/<>'
   make: *** [debian/rules:6: binary] Error 2
   dpkg-buildpackage: error: debian/rules binary subprocess returned exit 
status 2
 
-- 
Niko Tyni   nt...@debian.org



Bug#1042847: libstring-license-perl: broken with Perl 5.38: syntax error near "class String::License::Naming::Custom :"

2023-08-07 Thread Niko Tyni
Control: found -1 0.0.9-1
Control: tag -1 patch

On Tue, Aug 01, 2023 at 10:25:04PM +0300, Niko Tyni wrote:
> Package: libstring-license-perl
> Version: 0.0.2-1
> Severity: important
> Tags: ftbfs trixie sid
> Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=148507
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> Control: affects -1 licensecheck
> 
> Some modules in this package report syntax errors with Perl 5.38
> (currently in experimental.)
> 
> This also makes the test suite fail, so the package fails to build
> from source.
> 
> When this is fixed, please file a bug on the perl package
> to add a Breaks entry for earlier versions so that partial
> upgrades cannot end up with a broken combination.

As seen in

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libstring-license-perl_0.0.9-1/libstring-license-perl_0.0.9-1_amd64-2023-08-05T15:35:07Z.build

this has now turned into

  Class :isa attribute requires a class but "String::License::Naming" is not 
one at 
/home/ntyni/tmp/libstring-license-perl/blib/lib/String/License/Naming/Custom.pm 
line 64.

This looks like a bug in the current (still experimental) Perl
core implementation of the class feature.  I've just filed
https://github.com/Perl/perl5/issues/21332 about it.

Working around that reveals new errors:

  Bareword "__CLASS__" not allowed while "strict subs" in use at 
lib/String/License.pm line 59.
  Attempt to access disallowed key '__ANON__' in a restricted hash at 
lib/String/License.pm line 64.

String::License using the __CLASS__ keyword, which was not yet implemented
in the core version for 5.38. A quick fix is to just use Object::Pad
instead of Feature::Compat::Class, which fixes the other error as well.

Doing that shows one more instance of the first issue:

  Class :isa attribute requires a class but "String::License::Naming" is not 
one at 
/home/ntyni/tmp/libstring-license-perl/blib/lib/String/License/Naming/SPDX.pm 
line 57.

The attached patch has workarounds for all of these. It passes the
test suite for me on both Perl 5.36 (Debian sid) and 5.38 (Debian
experimental.)

Hope this helps,
-- 
Niko Tyni   nt...@debian.org
>From c266d3f0983eaf2155de693bf5d0efb90bfc1145 Mon Sep 17 00:00:00 2001
From: Niko Tyni 
Date: Mon, 7 Aug 2023 18:32:10 +0100
Subject: [PATCH] Workarounds for the class feature on Perl 5.38

__CLASS__ is not implemented in 5.38 yet, so we need to use Object::Pad
for String::License instead of Feature::Compat::Class.

Hierarchical naming currently has a quirk with :isa(), see
https://github.com/Perl/perl5/issues/21332

Bug-Debian: https://bugs.debian.org/1042847
---
 lib/String/License.pm   | 2 +-
 lib/String/License/Naming/Custom.pm | 1 +
 lib/String/License/Naming/SPDX.pm   | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/String/License.pm b/lib/String/License.pm
index dd3d9aa..cdf27c2 100644
--- a/lib/String/License.pm
+++ b/lib/String/License.pm
@@ -4,7 +4,7 @@ use warnings;
 use feature qw(signatures);
 no warnings qw(experimental::signatures);
 
-use Feature::Compat::Class 0.04;
+use Object::Pad;
 
 =head1 NAME
 
diff --git a/lib/String/License/Naming/Custom.pm b/lib/String/License/Naming/Custom.pm
index 28e2941..b00de17 100644
--- a/lib/String/License/Naming/Custom.pm
+++ b/lib/String/License/Naming/Custom.pm
@@ -59,6 +59,7 @@ use Log::Any   ();
 use List::Util qw(uniq);
 use Regexp::Pattern::License 3.4.0;
 
+use String::License::Naming ();
 use namespace::clean;
 
 class String::License::Naming::Custom : isa(String::License::Naming);
diff --git a/lib/String/License/Naming/SPDX.pm b/lib/String/License/Naming/SPDX.pm
index b40ddf6..2b64598 100644
--- a/lib/String/License/Naming/SPDX.pm
+++ b/lib/String/License/Naming/SPDX.pm
@@ -54,6 +54,7 @@ use Regexp::Pattern::License 3.4.0;
 
 use namespace::clean;
 
+use String::License::Naming ();
 class String::License::Naming::SPDX : isa(String::License::Naming);
 
 field $log;
-- 
2.39.1



Bug#1043028: libtest-valgrind-perl: FTBFS with Perl 5.38: t/20-bad.t failure

2023-08-04 Thread Niko Tyni
Source: libtest-valgrind-perl
Version: 1.19-4
Severity: important
Tags: ftbfs trixie sid patch
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=149286
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libtest-valgrind-perl_1.19-4/libtest-valgrind-perl_1.19-4_amd64-2023-08-04T06:09:38Z.build

   # Using valgrind 3.19.0 located at /usr/bin/valgrind
   # Using suppressions from 
/<>/debian/.debhelper/generated/_source/home/.perl/Test-Valgrind/suppressions/1.19/memcheck-3.19.0-bd70d6cc6d8860d399045326be838ffd.supp
   # # leaking some bytes!
   #   10,000 bytes in 1 blocks are still reachable in loss record 18 of 18
   # malloc (/usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) [?:?]
   # tv_leak (/<>/blib/arch/auto/Test/Valgrind/Valgrind.so) 
[Valgrind.xs:34]
   # XS_Test__Valgrind_leak 
(/<>/blib/arch/auto/Test/Valgrind/Valgrind.so) [Valgrind.xs:54]
   # ? (/usr/bin/perl) [?:?]
   # Perl_runops_standard (/usr/bin/perl) [?:?]
   # perl_run (/usr/bin/perl) [?:?]
   # main (/usr/bin/perl) [?:?]
   
   #   Failed test 'Leak_StillReachable'
   #   at /<>/blib/lib/Test/Valgrind/Session.pm line 598.
   #  got: 1
   # expected: 0
   
   #   Failed test 'caught one extra leak'
   #   at /<>/blib/lib/Test/Valgrind.pm line 307.
   #  got: '0'
   # expected: '1'
   
   #   Failed test 'no extra leak caught, hence no bytes leaked'
   #   at /<>/blib/lib/Test/Valgrind.pm line 307.
   
   #   Failed test 'no extra leak caught, hence no block leaked'
   #   at /<>/blib/lib/Test/Valgrind.pm line 307.
   # Looks like your test exited with 1 just after 18.
   
   [...]
   
   Test Summary Report
   ---
   t/20-bad.t  (Wstat: 256 (exited 1) Tests: 18 Failed: 4)
 Failed tests:  15-18
 Non-zero exit status: 1
   Files=10, Tests=200, 21 wallclock secs ( 0.05 usr  0.01 sys + 19.96 cusr  
0.49 csys = 20.51 CPU)
   Result: FAIL

There's a patch/workaround in the upstream ticket (but I haven't tested it.)
-- 
Niko Tyni   nt...@debian.org



Bug#1042985: libgnupg-interface-perl: FTBFS with Perl 5.38: Insecure directory in $ENV{PATH} while running with -T switch

2023-08-03 Thread Niko Tyni
Source: libgnupg-interface-perl
Version: 1.02-3
Severity: important
Tags: ftbfs trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition
X-Debbugs-Cc: Andrew Ruthven 

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libgnupg-interface-perl_1.02-3/libgnupg-interface-perl_1.02-3_amd64-2023-07-06T13:45:16Z.build

   Insecure directory in $ENV{PATH} while running with -T switch at 
/<>/blib/lib/GnuPG/Interface.pm line 355.
   Use of uninitialized value $line in pattern match (m//) at 
/<>/blib/lib/GnuPG/Interface.pm line 828.
   Use of uninitialized value $a in split at 
/<>/blib/lib/GnuPG/Interface.pm line 842.
   Use of uninitialized value $a in split at 
/<>/blib/lib/GnuPG/Interface.pm line 842.
   GnuPG Version 1.4 or 2.2+ required at (eval 208) line 83.
   t/taint.t .. 
   1..2
   Dubious, test returned 255 (wstat 65280, 0xff00)
   Failed 2/2 subtests 
 
This is a Debian specific test file (debian/patches/detect-taint-mode)
but it seems to flag a real upstream issue.

lib/GnuPG/Interface.pm has this:

local $ENV{PATH} if tainted $ENV{PATH};
exec @command or die "exec() error: $ERRNO";

which broke with
  https://github.com/Perl/perl5/commit/5ede4453c4877110eb5214ff400c173210b101b1
for a good reason: an empty $ENV{PATH} is equivalent to '.' (cwd).

Andrew, I'm copying you as you were involved in this stuff a few years
back so you might still be interested :)

Hm, possibly perl should add a Breaks for earlier versions once this is fixed.
-- 
Niko Tyni   nt...@debian.org



Bug#1040387: libb-perlreq-perl: FTBFS with Perl 5.38: t/01-B-PerlReq.t failure

2023-08-03 Thread Niko Tyni
Control: forwarded -1 https://rt.cpan.org/Public/Bug/Display.html?id=148982
Control: tag -1 patch

On Wed, Jul 05, 2023 at 01:26:54PM +0300, Niko Tyni wrote:
> Source: libb-perlreq-perl
> Version: 0.82-7
> Severity: important
> Tags: ftbfs trixie sid
> User: debian-p...@lists.debian.org
> Usertags: perl-5.38-transition
> 
> This package fails to build from source with Perl 5.38 (currently in
> experimental):

There's a patch by Petr Písař in [rt.cpan.org #148982].
-- 
Niko



Bug#1042854: libcss-dom-perl: FTBFS with Perl 5.38: Old package separator "'" deprecated

2023-08-01 Thread Niko Tyni
Source: libcss-dom-perl
Version: 0.17-2
Severity: important
Tags: ftbfs sid trixie patch
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=146661
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

There's a patch by Yves Orton in the upstream ticket.

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libcss-dom-perl_0.17-2/libcss-dom-perl_0.17-2_amd64-2023-07-06T13:44:23Z.build

   #   Failed test 'no warnings for style belonging to element itself'
   #   at t/css-dom.t line 34.
   #  got: 'Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Style.pm line 174.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Style.pm line 175.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Style.pm line 176.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule.pm line 49.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 96.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 97.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 133.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 141.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 146.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 154.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 155.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 161.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 169.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 170.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 177.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Rule/Style.pm line 178.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Parser.pm line 372.
   # Old package separator "'" deprecated at 
/<>/blib/lib/CSS/DOM/Parser.pm line 416.
   # '
   # expected: undef
   # Looks like you failed 1 test of 3.
   
   [...]
   
   Test Summary Report
   ---
   t/css-dom.t(Wstat: 256 (exited 1) Tests: 3 Failed: 1)
 Failed test:  3
 Non-zero exit status: 1
   Files=31, Tests=3203,  4 wallclock secs ( 0.33 usr  0.06 sys +  3.09 cusr  
0.48 csys =  3.96 CPU)
   Result: FAIL
 
-- 
Niko Tyni   nt...@debian.org



Bug#1042853: docknot: FTBFS with Perl 5.38: t/spin/errors.t failure

2023-08-01 Thread Niko Tyni
Source: docknot
Version: 7.01-1
Severity: important
Tags: ftbfs sid trixie
Forwarded: https://github.com/rra/docknot/issues/6
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

This looks like just a test-only diagnostics change, but
please file a bug against perl to add a Breaks entry if
there's actual runtime breakage after all.

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/docknot_7.01-1/docknot_7.01-1_amd64-2023-07-06T13:37:26Z.build

   #   Failed test 'errors are correct'
   #   at t/spin/errors.t line 46.
   #  got: 'errors.th:1: cannot find argument 2: Did not find opening 
bracket after prefix: "(?^:\G\s*)", detected at offset 2
   # errors.th:3: invalid macro placeholder \2 (greater than 1)
   # errors.th:5: invalid macro argument count for \badcount
   # errors.th:9: unknown variable \=UNKNOWN
   # errors.th:11: unknown command or macro \unknown
   # errors.th:14: space in anchor "#foo bar"
   # errors.th:15: no package release information available
   # errors.th:16: no sitemap file found
   # errors.th:17: no package version information available
   # errors.th:17: cannot stat file nonexistent-file
   # '
   # expected: 'errors.th:1: cannot find argument 2: Did not find opening 
bracket after prefix: "\s*", detected at offset 2
   # errors.th:3: invalid macro placeholder \2 (greater than 1)
   # errors.th:5: invalid macro argument count for \badcount
   # errors.th:9: unknown variable \=UNKNOWN
   # errors.th:11: unknown command or macro \unknown
   # errors.th:14: space in anchor "#foo bar"
   # errors.th:15: no package release information available
   # errors.th:16: no sitemap file found
   # errors.th:17: no package version information available
   # errors.th:17: cannot stat file nonexistent-file
   # '
   # Looks like you failed 1 test of 2.
   
   [...]
   
   Test Summary Report
   ---
   t/spin/errors.t   (Wstat: 256 (exited 1) Tests: 2 Failed: 1)
 Failed test:  2
 Non-zero exit status: 1
   Files=32, Tests=872, 24 wallclock secs ( 0.14 usr  0.05 sys + 20.32 cusr  
2.82 csys = 23.33 CPU)
   Result: FAIL

-- 
Niko Tyni   nt...@debian.org



Bug#1042852: liblexical-failure-perl: FTBFS with Perl 5.38: test failures

2023-08-01 Thread Niko Tyni
Source: liblexical-failure-perl
Version: 0.07-3
Severity: important
Tags: ftbfs trixie sid fixed-upstream
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=148315
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

It seems to be fixed upstream in 0.001000 according to the Changes file,
though the upstream bug is still open.

It's not clear to me if this is just a test diagnostics issue, or
if the current version is actually broken with Perl 5.38.
Most of the test failures are about deprecations warnings, but
at least the t/aliased.t failure looks different.

It would probably be prudent to add a Breaks entry on the perl side just
in case, so please file a bug about that when this issue is fixed.

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/liblexical-failure-perl_0.07-3/liblexical-failure-perl_0.07-3_amd64-2023-07-06T13:46:41Z.build
   
   Test Summary Report
   ---
   t/aliased.t (Wstat: 256 (exited 1) Tests: 13 Failed: 1)
 Failed test:  3
 Non-zero exit status: 1
   t/inner_scalar.t(Wstat: 1536 (exited 6) Tests: 21 Failed: 11)
 Failed tests:  2-6, 16-21
 Non-zero exit status: 6
 Parse errors: Bad plan.  You planned 15 tests but ran 21.
   t/simple.t  (Wstat: 256 (exited 1) Tests: 14 Failed: 1)
 Failed test:  4
 Non-zero exit status: 1
   Files=9, Tests=59,  1 wallclock secs ( 0.05 usr  0.00 sys +  0.71 cusr  0.15 
csys =  0.91 CPU)
   Result: FAIL
 
-- 
Niko Tyni   nt...@debian.org



Bug#1042850: libdatabase-dumptruck-perl: FTBFS with Perl 5.38: t/dumptruck.t failure

2023-08-01 Thread Niko Tyni
Source: libdatabase-dumptruck-perl
Version: 1.2-3
Severity: important
Tags: ftbfs trixie sid patch
Forwarded: https://github.com/lkundrak/perl-database-dumptruck/issues/2
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

The upstream ticket points to a possible patch at
  
https://src.fedoraproject.org/rpms/perl-Database-DumpTruck/raw/20e8880e98b146200c20f379edd847b49f4aea0d


Build log at

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libdatabase-dumptruck-perl_1.2-3/libdatabase-dumptruck-perl_1.2-3_amd64-2023-07-06T13:44:51Z.build

  dh_auto_test
/usr/bin/perl Build test --verbose 1
   
   #   Failed test 'Proper data was retrieved from the database'
   #   at t/dumptruck.t line 189.
   # Structures begin differing at:
   #  $got->[0]{random}{yes} = 1
   # $expected->[0]{random}{yes} = '1'
   # Looks like you failed 1 test of 43.
   
   [...]
   
   Test Summary Report
   ---
   t/dumptruck.t (Wstat: 256 (exited 1) Tests: 43 Failed: 1)
 Failed test:  43
 Non-zero exit status: 1
   Files=2, Tests=44,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.25 cusr  0.06 
csys =  0.33 CPU)
   Result: FAIL

-- 
Niko Tyni   nt...@debian.org



Bug#1042849: libmodule-reader-perl: FTBFS with Perl 5.38: t/memory.t failure

2023-08-01 Thread Niko Tyni
Source: libmodule-reader-perl
Version: 0.003003-3
Severity: important
Tags: ftbfs sid trixie
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=148979
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libmodule-reader-perl_0.003003-3/libmodule-reader-perl_0.003003-3_amd64-2023-07-06T13:48:09Z.build

   #   Failed test 'regex fails the same as require'
   #   at t/memory.t line 99.
   #  got: 'Can't locate object method "INC" via package "Regexp"'
   # expected: 'Can't locate object method "INC", nor "INCDIR" nor string 
overload via package "Regexp" in object hook in @INC'
   
   #   Failed test 'class without INC fails the same as require'
   #   at t/memory.t line 99.
   #  got: 'Can't locate object method "INC" via package "NonHook"'
   # expected: 'Can't locate object method "INC", nor "INCDIR" nor string 
overload via package "NonHook" in object hook in @INC'
   # Looks like you failed 2 tests of 18.
   t/memory.t .. 
   ok 1 - correctly load module from sub @INC hook
   ok 2 - loads overridden module from sub @INC hook
   ok 3 - found => \%INC loads mod as it was required
   ok 4 - calculated file matches loaded filename
   ok 5 - hook returning an array ref is ignored
   ok 6 - hook returning a hash ref is ignored
   ok 7 - hash ref fails the same as require
   ok 8 - scalar ref fails the same as require
   not ok 9 - regex fails the same as require
   not ok 10 - class without INC fails the same as require
   ok 11 - class with INC hook works the same as require
   ok 12 - child class of INC hook works the same as require
   ok 13 - array ref without code fails the same as require
   ok 14 - array ref with string fails the same as require
   ok 15 - array ref with stringy main sub fails the same as require
   ok 16 - array ref with stringy fully qualified sub fails the same as require
   ok 17 - array ref with hash ref fails the same as require
   ok 18 - array ref with code fails the same as require
   1..18
   Dubious, test returned 2 (wstat 512, 0x200)
   Failed 2/18 subtests 
   
   Test Summary Report
   ---
   t/memory.t(Wstat: 512 (exited 2) Tests: 18 Failed: 2)
 Failed tests:  9-10
 Non-zero exit status: 2
   Files=3, Tests=119,  1 wallclock secs ( 0.03 usr  0.02 sys +  0.24 cusr  
0.06 csys =  0.35 CPU)
   Result: FAIL
   Failed 1/3 test programs. 2/119 subtests failed.
   make[1]: *** [Makefile:826: test_dynamic] Error 2
   make[1]: Leaving directory '/<>'
   dh_auto_test: error: make -j4 test TEST_VERBOSE=1 returned exit code 2
   make: *** [debian/rules:4: build] Error 25

-- 
Niko Tyni   nt...@debian.org



Bug#1042847: libstring-license-perl: broken with Perl 5.38: syntax error near "class String::License::Naming::Custom :"

2023-08-01 Thread Niko Tyni
Package: libstring-license-perl
Version: 0.0.2-1
Severity: important
Tags: ftbfs trixie sid
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=148507
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition
Control: affects -1 licensecheck

Some modules in this package report syntax errors with Perl 5.38
(currently in experimental.)

This also makes the test suite fail, so the package fails to build
from source.

When this is fixed, please file a bug on the perl package
to add a Breaks entry for earlier versions so that partial
upgrades cannot end up with a broken combination.

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libstring-license-perl_0.0.2-1/libstring-license-perl_0.0.2-1_amd64-2023-07-06T13:51:44Z.build

  dh_auto_test
make -j4 test TEST_VERBOSE=1
   make[1]: Entering directory '/<>'
   PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" 
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 
'blib/lib', 'blib/arch')" t/*.t
   syntax error at /<>/blib/lib/String/License/Naming/Custom.pm 
line 62, near "class String::License::Naming::Custom :"
   Execution of /<>/blib/lib/String/License/Naming/Custom.pm 
aborted due to compilation errors.
   Compilation failed in require at /<>/blib/lib/String/License.pm 
line 45.
   BEGIN failed--compilation aborted at 
/<>/blib/lib/String/License.pm line 45.
   Compilation failed in require at t/basic-lib-no-RE2.t line 7.
   BEGIN failed--compilation aborted at t/basic-lib-no-RE2.t line 7.
   [...]
  dh_auto_test
make -j4 test TEST_VERBOSE=1
   make[1]: Entering directory '/<>'
   PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" 
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 
'blib/lib', 'blib/arch')" t/*.t
   syntax error at /<>/blib/lib/String/License/Naming/Custom.pm 
line 62, near "class String::License::Naming::Custom :"
   Execution of /<>/blib/lib/String/License/Naming/Custom.pm 
aborted due to compilation errors.
   Compilation failed in require at /<>/blib/lib/String/License.pm 
line 45.
   BEGIN failed--compilation aborted at 
/<>/blib/lib/String/License.pm line 45.
   Compilation failed in require at t/basic-lib-no-RE2.t line 7.
   BEGIN failed--compilation aborted at t/basic-lib-no-RE2.t line 7.
 
-- 
Niko Tyni   nt...@debian.org



Bug#1042846: sdf: FTBFS with Perl 5.38: Old package separator "'" deprecated

2023-08-01 Thread Niko Tyni
Source: sdf
Version: 2.001+1-8
Severity: important
Tags: ftbfs trixie sid
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/sdf_2.001+1-8/sdf_2.001+1-8_amd64-2023-07-06T15:02:55Z.build

  dh_auto_test
make -j4 test TEST_VERBOSE=1
   make[1]: Entering directory '/<>'
   make[2]: Entering directory '/<>/bin'
   Manifying 1 pod document
   make[2]: Leaving directory '/<>/bin'
   make[2]: Entering directory '/<>/perllib'
   make[2]: Leaving directory '/<>/perllib'
   "/usr/bin/perl" t/TEST 1
   Old package separator "'" deprecated at ../../blib/script/sdf line 607.
   Old package separator "'" deprecated at ../../blib/script/sdf line 608.
   Old package separator "'" deprecated at ../../blib/script/sdf line 608.
   Old package separator "'" deprecated at ../../blib/script/sdf line 609.
   Old package separator "'" deprecated at ../../blib/script/sdf line 610.
   Old package separator "'" deprecated at ../../blib/script/sdf line 610.
   [...]
   filter/table.t . 
   1..2
   # table.sdf: output file ok
   ok 1
   # table.sdf: log file FAILED
   not ok 2
   Failed 1/2 subtests 
   
   Test Summary Report
   ---
   general/expr.t   (Wstat: 0 Tests: 2 Failed: 1)
 Failed test:  2
   general/formats.t (Wstat: 0 Tests: 2 Failed: 1)
 Failed test:  2
   [...]
   filter/table.t   (Wstat: 0 Tests: 2 Failed: 1)
 Failed test:  2
   Files=50, Tests=100, 15 wallclock secs ( 0.27 usr  0.19 sys +  4.88 cusr  
0.99 csys =  6.33 CPU)
   Result: FAIL
   Failed 50/50 test programs. 50/100 subtests failed.
   make[1]: *** [Makefile:812: test] Error 255
 
-- 
Niko Tyni   nt...@debian.org



Bug#1042845: libembperl-perl: FTBFS with Perl 5.38: test failures

2023-08-01 Thread Niko Tyni
Source: libembperl-perl
Version: 2.5.0-17
Severity: important
Tags: ftbfs sid trixie
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

I assume the diagnostics have changed again and it's just the tests that
need adjusting, but I haven't checked properly.

  
http://perl.debian.net/rebuild-logs/perl-5.38/libembperl-perl_2.5.0-17/libembperl-perl_2.5.0-17+b1_amd64-2023-07-21T10:56:05Z.build

   PERL_DL_NONLAZY=0 "/usr/bin/perl" "-Iblib/lib" "-Iblib/arch" test.pl 
   
   loading...ok
   
   Testing offline mode...
   
   #0 ascii...   ok
   #1 pure.htm...ok
   #2 nooutput.htm...ok
   #3 nooutput.htm...ok
   #4 plain.htm...   ok
   #5 plain.htm...   ok
   #6 plain.htm...   ok
   #7 plainblock.htm...  ok
   #8 plainblock.htm...  ok
   #15 error.htm...  
   
   Expected 4 more error(s) in logfile
   
   Input:   test/html/error.htm
   Output:  test/tmp/out.htm
   Log: test/tmp/test.log
   Testparameter:
 errors = 6
 condition = $] >= 5.01
 version = 2
 cgi = 0
 repeat = 3
   
ERRORS detected! NOT all tests have been passed successfully
   
   cat: test/tmp/httpd.pid: No such file or directory
   make[1]: *** [Makefile:1462: test_dynamic] Error 1
   make[1]: Leaving directory '/<>'
   dh_auto_test: error: make -j1 test TEST_VERBOSE=1 returned exit code 2
   make: *** [debian/rules:19: binary-arch] Error 25
   dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2

-- 
Niko Tyni   nt...@debian.org



Bug#1042844: elinks: FTBFS with Perl 5.38: error: redefinition of ‘struct object’

2023-08-01 Thread Niko Tyni
Source: elinks
Version: 0.16.1.1-4
Severity: important
Tags: ftbfs sid trixie fixed-upstream
Forwarded: https://github.com/rkd77/elinks/pull/243
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in 
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38/elinks_0.16.1.1-4/elinks_0.16.1.1-4+b1_amd64-2023-07-01T14:49:32Z.build

   FAILED: src/elinks.p/scripting_perl_core.c.o 
   cc -Isrc/elinks.p -Isrc -I../src -I. -I.. -I/usr/include/p11-kit-1 
-I/usr/include/lua5.3 -I/usr/local/include 
-I/usr/lib/x86_64-linux-gnu/perl/5.38/CORE -fdiagnostics-color=always -Wall 
-Winvalid-pch '-DGETTEXT_PACKAGE="elinks"' '-DBUILD_ID=""' -g -O2 
-ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 
-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -isystem /usr/include/mit-krb5 
-Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -fno-strict-aliasing 
-Wno-address -Wno-builtin-declaration-mismatch -Wc++-compat -MD -MQ 
src/elinks.p/scripting_perl_core.c.o -MF src/elinks.p/scripting_perl_core.c.o.d 
-o src/elinks.p/scripting_perl_core.c.o -c ../src/scripting/perl/core.c
   In file included from /usr/lib/x86_64-linux-gnu/perl/5.38/CORE/perl.h:4530,
from ../src/scripting/perl/core.h:6,
from ../src/scripting/perl/core.c:16:
   /usr/lib/x86_64-linux-gnu/perl/5.38/CORE/sv.h:285:8: error: redefinition of 
‘struct object’
 285 | struct object {
 |^~
   In file included from ../src/config/options.h:4,
from ../src/intl/libintl.h:4,
from ../src/scripting/perl/core.c:13:
   ../src/main/object.h:14:8: note: originally defined here
  14 | struct object {
 |^~
 

This seems to be fixed upstream with the PR at
  https://github.com/rkd77/elinks/pull/243

-- 
Niko Tyni   nt...@debian.org



Bug#1042843: libimage-sane-perl: FTBFS with Perl 5.38: given is deprecated

2023-08-01 Thread Niko Tyni
Source: libimage-sane-perl
Version: 5-1
Severity: important
Tags: ftbfs sid trixie upstream patch
Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=148487
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in
experimental.)

  
http://perl.debian.net/rebuild-logs/perl-5.38/libimage-sane-perl_5-1/libimage-sane-perl_5-1+b4_amd64-2023-06-29T01:43:33Z.build

   #   Failed test '--device=test --test 2>&1'
   #   at t/81_scanimage-perl.t line 41.
   #  got: 'scanimage: scanning image of size 157x196 pixels at 8 
bits/pixel
[...]
   # '
   # expected: 'given is deprecated at examples/scanimage line 125.
   # when is deprecated at examples/scanimage line 126.
[...]
   Test Summary Report
   ---
   t/81_scanimage-perl.t (Wstat: 1280 (exited 5) Tests: 6 Failed: 5)
 Failed tests:  2-6
 Non-zero exit status: 5
   Files=11, Tests=341,  7 wallclock secs ( 0.05 usr  0.01 sys +  1.18 cusr  
0.30 csys =  1.54 CPU)
   Result: FAIL
 
There's a patch by Petr Písař in the upstream ticket.
-- 
Niko Tyni   nt...@debian.org



Bug#1042526: libb-keywords-perl: FTBFS with Perl 5.38: Failed test 'keyword: ADJUST'

2023-07-29 Thread Niko Tyni
Source: libb-keywords-perl
Version: 1.24-2
Severity: important
Tags: ftbfs sid trixie fixed-upstream
Forwarded: https://github.com/rurban/b-keywords/pull/8
User: debian-p...@lists.debian.org
Usertags: perl-5.38-transition

This package fails to build from source with Perl 5.38 (currently in 
experimental.)

 
http://perl.debian.net/rebuild-logs/perl-5.38-throwaway/libb-keywords-perl_1.24-2/libb-keywords-perl_1.24-2_amd64-2023-07-06T13:42:55Z.build
   
   #   Failed test 'keyword: ADJUST'
   #   at t/11keywords.t line 71.
   # 
   
   #   Failed test 'keyword: class'
   #   at t/11keywords.t line 71.
   # 
   
   #   Failed test 'keyword: field'
   #   at t/11keywords.t line 71.
   # 
   
   #   Failed test 'keyword: method'
   #   at t/11keywords.t line 71.
   # 
   # Looks like you failed 4 tests of 547.

This seems to be fixed upstream in 1.25.
-- 
Niko Tyni   nt...@debian.org



  1   2   3   4   5   6   7   8   9   10   >