FS#22043 - [openntpd] depends on /etc/services (iana-etc) for getservbyname()

Attached to Project: Community Packages
Opened by Jesse Young (jlyo) - Friday, 10 December 2010, 17:55 GMT
Last edited by Kaiting Chen (kaitocracy) - Wednesday, 15 December 2010, 04:06 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Vesa Kaihlavirta (vegai)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

# ntpd -s
fatal: getservbyname: No such file or directory
dispatch_imsg in main: pipe closed
Lost child: child exited
Terminating

This happens because the /etc/services database, provided by the iana-etc package, is missing.

See man getservent(3) and services(5) for more information.
This task depends upon

Closed by  Kaiting Chen (kaitocracy)
Wednesday, 15 December 2010, 04:06 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Dude's system is screwed. Please use Forums or IRC for support to fix your system.
Comment by Kaiting Chen (kaitocracy) - Tuesday, 14 December 2010, 04:49 GMT
Um why is /etc/services missing? As far as I know /etc/services is provided by iana-etc which is required by filesystem. If you don't have filesystem, then you can expect a lot more problems than just openntpd not working.
Comment by Jesse Young (jlyo) - Tuesday, 14 December 2010, 05:20 GMT
Thanks for that info Kaiting,

filesystem does depends on iana-etc, and I do have filesystem installed, but (at the time) did not have iana-etc installed. Looking into this I found that the core-x86-64 install CD's core-pkgs.sqfs does not include iana-etc. Furthermore, filesystem is in the base group, where iana-etc is not. It is my understanding that all packages have an unwritten dependency (in terms of the depends array) on packages in the base group.

How filesystem got installed without the install CD failing on the missing iana-etc dependency is another path for investigation.

With this information, here is what I suggest:
* Add iana-etc to the base group
* Include iana-etc in the core install CD
* Investigate install CD not mentioning missing dependency.
* Optionally add iana-etc to openntpd depends


--


See  FS#22101 

Comment by Jesse Young (jlyo) - Tuesday, 14 December 2010, 18:44 GMT
 FS#22101  rejected as not a bug. "Regular depends should be declared"
Comment by Jesse Young (jlyo) - Tuesday, 14 December 2010, 19:20 GMT
Since getservbyname() is a libc function and not having iana-etc breaks it. I think glibc should also depend on iana-etc, similar to how glibc depends on tzdata.

I want to get opinions on this before I open a new bug, the first problem to cover is how to categorize this.
Comment by Allan McRae (Allan) - Wednesday, 15 December 2010, 03:14 GMT
Don't bother opening a bug for glibc... I would probably just reject it too.
Comment by Jesse Young (jlyo) - Wednesday, 15 December 2010, 03:24 GMT
Allan, can you please explain? I'm not sure if that is a joke or if I'm missing something completely obvious.
Comment by Allan McRae (Allan) - Wednesday, 15 December 2010, 03:36 GMT
Not having iana-etc (or more specifically /etc/services) does not break getservbyname(). It will return just NULL. So any software that actually breaks because of that is due to poor programming, not an issue with glibc.

This whole bug is "Not a bug" as far as I am concerned. The filesystem package is in the "base" group and pulls iana-etc in as a dependency. If you do not have the filesystem package installed, that is your stupidity, and not a bug.
Comment by Jesse Young (jlyo) - Wednesday, 15 December 2010, 03:51 GMT
For the record, I have filesystem installed, and have had filesystem installed from the beginning. The only packages from base I deselected were lvm2, mdadm, and rp-pppoe, because I never plan on using this machine with LVM, RAID, or PPPoE. Don't just take the first thing you see as truth, especially when that person was jumping to [incorrect] conclusions.

To make myself abundantly clear, allow me to quote myself.
"I do have filesystem installed"
"the core-x86-64 install CD's core-pkgs.sqfs does not include iana-etc"
"How filesystem got installed without the install CD failing on the missing iana-etc dependency is another path for investigation."

You can find these quotes in all their glorious context in comment #2.

I believe there is a bug somewhere. Unless, of course, by some magic voodoo lvm2, mdadm, or rp-pppoe provide /etc/services but either filesystem, iana-etc, or glibc doesn't.
Comment by Allan McRae (Allan) - Wednesday, 15 December 2010, 04:00 GMT
You were wrong then and are still wrong now.

The [core] cd does not need iana-etc. The filesystem package on that CD provides the /etc/services file and so does not depend on iana-etc. When you update from that install, or do a net install, then a new filesystem package will be installed which does get the iana-etc dependency.

Not a bug...

Loading...