Bug#1014730: liburi-perl: Breaks apt-cacher with "Can't locate Regexp/IPv6.pm" error

Robert Luberda robert at debian.org
Mon Jul 11 11:15:12 BST 2022


gregor herrmann pisze:
> 
> I'm a bit surprised, because the new code in 5.11 should behave
> better if Regexp::IPv6 is not available:

Yes, but it looks like apt-cacher seems to set its own SIG{__DIE__} handler.

> 
> +our $IPv6_re;
> +
> +sub _looks_like_raw_ip6_address {
> +  my $addr = shift;
> +
> +  if ( !$IPv6_re ) { #-- lazy / runs once / use Regexp::IPv6 if installed
> +    eval {

I've just checked that adding

   local $SIG{__DIE__};

here (i.e. before the require line) fixes the issue with apt-cacher for me.

> +      require Regexp::IPv6;
> +      Regexp::IPv6->import( qw($IPv6_re) );
> +      1;
> +    }  ||  do { $IPv6_re = qr/[:0-9a-f]{3,}/; }; #-- fallback: unambitious guess
> 

> But may as well move libregexp-ipv6-perl to Depends, I guess.

Probably yes, but IMHO it would be better to restore default __DIE__ 
handler.

Regards,
robert



More information about the pkg-perl-maintainers mailing list