[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Removed, or missing, protocols file.
From: |
Mats Erik Andersson |
Subject: |
Re: Removed, or missing, protocols file. |
Date: |
Wed, 8 Apr 2015 16:36:27 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Thursday den 2 April 2015 klockan 17:14 skrev Eelco Dolstra detta:
> Hi,
>
> On 02/04/15 16:15, Mats Erik Andersson wrote:
>
> > in the recent commit 4aa8225 to your 'inetutils/release.nix'
> > the assignment
> >
> > __noChroot = true
> >
> > was removed. With large probability you are breaking the
> > test suite that GNU Inetutils needs to run at your build step.
>
> I don't think I have commit access to the hydra-recipes repository, but this
> problem can be fixed by adding the line:
>
> __impureHostDeps = [ "/etc/protocols" ];
>
> where __noChroot used to be. This will import /etc/protocols (and nothing
> else)
> into the chroot.
Thinking closer about this issue reveals more facts:
* The building of GNU Inetutils by Hydra fails as soon as tests
of built executables are incorporated.
* The only test observed to fail is that of 'inetd', due to an
incomplete chroot.
* Inetd is needing access to system entities to achieve its duty
of starting subprocessess and suitable network listeners.
* The potentially critical library calls are:
getprotobyname(3), getaddrinfo(3), getpwnam(3), getgrnam(3).
* The corresponding entity files are
/etc/services (not needed in presently used test script)
/etc/protocols (needed for "tcp" in present script)
/etc/passwd (needed for build process owner "nixbld")
/etc/group (not used by present script)
/etc/pwd.db (used by BSD systems in place of /etc/passwd)
Conclusion:
A build service at Hydra with testing of GNU Inetutils for any
target GNU/Linux must include two files in a chrooted environment:
/etc/protocols
/etc/passwd (naming at least "nixbld")
Preferably also the files
/etc/services
/etc/group
should be included, since they are likely to be relevant for
testing of other source packages.
Best regards,
Mats Erik Andersson, on behalf of GNU Inetutils