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