> Is there any other reason we require a /etc/services file? > > We don't require it, but GNU does, and NixOS has a misconfigured GNU > system installation.
Where does GNU require a /etc/services file? Depends on the configuration to be really exact, if /etc/nsswitch.conf contains the `files' lookup method for the NSS service "services", then it will look in /etc/services. This is the default case; but you can configure NSS to look up this data (not just for "services", but for users, host names, sudo database, ...) in other locations, either an SQL data base, LDAP, or what have you. Anything in the get*byname family uses NSS to look up data, the same goes for many other functions in glibc. So basically, NixOS is misconfigured in the sense that it tells glibc to look things up, but doesn't provide where to look it up, it spins and tries other stuff and finally times out (which is what happened I think) where the Hydra build things it is dead in the water and terminates the job. Here is the glibc doc on NSS: http://www.gnu.org/software/libc/manual/html_node/Name-Service-Switch.html What NixOS can do is reconfigure NSS a bit, instead of timing out the can just return: services: files [NOTFOUND=return] protocols: files [NOTFOUND=return] I think the above should work as I think it should :-)
