Bug#836892: perl: please enable the netbase build dependency on hurd

Pino Toscano pino at debian.org
Wed Sep 7 13:48:43 UTC 2016


In data mercoledì 7 settembre 2016 14:41:41 CEST, Dominic Hargreaves ha scritto:
> On Tue, Sep 06, 2016 at 11:14:44PM +0200, Pino Toscano wrote:
> > one of the tests in the test suite fails:
> > 
> >     cpan/Socket/t/getaddrinfo ..................................... #   Failed test '$err == 0 for host=cpan.perl.org/service=ftp/socktype=STREAM'
> >     #   at t/getaddrinfo.t line 76.
> >     #          got: -8
> >     #     expected: 0
> >     #   Failed test '@res has results'
> >     #   at t/getaddrinfo.t line 78.
> >     # Looks like you failed 2 tests of 31.
> >     FAILED at test 22
> > 
> > -8 is EAI_SERVICE, which is returned by getaddrinfo when the service is
> > not known; since the test is requesting an ftp service
> > 
> >     ( $err, @res ) = getaddrinfo( "cpan.perl.org", "ftp", { socktype => SOCK_STREAM } );
> >     cmp_ok( $err, "==", 0, '$err == 0 for host=cpan.perl.org/service=ftp/socktype=STREAM' );
> > 
> > then most probably it's due to the lack of the /etc/service, provided
> > by netbase.  It seems it was disabled on hurd in version 5.6.1-1,
> > to fix bug #89406; OTOH netbase nowadays (and I guess for many years
> > actually) is arch:all, depending only on another arch:all package,
> > and the installation issue is long gone.
> > 
> > Attached patch to re-enable the netbase build dependency also on hurd
> > architectures.
> 
> Hi Pino,
> 
> Are you able to check whether this patch also has the desired effect
> with perl 5.24.1~rc3-1?

Yes, it should.

> Note that there is one more hurd-specific failure there[1]:
> 
> cpan/File-Path/t/Path ......................................... #   Failed test 'no $arg->{error}: defined 2nd and 3rd args: got expected error message'
> #   at t/Path.t line 672.
> #                   'message in a bottle for /path/to/glory: (os/kern) protection failure at t/Path.t line 666.
> # '
> #     doesn't match '(?^:^message in a bottle for /path/to/glory: (os/kern) protection failure)'
> #   Failed test 'no $arg->{error}: defined 2nd arg; undefined 3rd arg: got expected error message'
> #   at t/Path.t line 684.
> #                   'message in a bottle: (os/kern) protection failure at t/Path.t line 678.
> # '
> #     doesn't match '(?^:^message in a bottle: (os/kern) protection failure)'
> # Looks like you failed 2 tests of 127.
> FAILED at test 117

This looks like a bug in the test: looking at cpan/File-Path/t/Path.t,
line 659 does:

     local $! = 2;

that is, setting the perl error variable as ENOENT on Linux... but on
Hurd the values of the errno constants are different, and in general
POSIX does not specify the values (so only the names are).  I haven't
started fixing it yet, although I believe the fix should be simply
making use of standard ENOENT constant from Errno.  If you have the
chance, could you please provide this fix?

Thanks,
-- 
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20160907/0b70c180/attachment.sig>


More information about the Perl-maintainers mailing list