Hi,

What's the point of trying to detect if eudev is run in a container?
Is it just to not start it in that case?
Would it just fail to start in them otherwise?
Is that actually a problem?
And could eudev not just be uninstalled in a container?

In any case, I don't like the idea of doing hacks like looking at inode numbers or trying to determine if there is a container or not. In addition to this don't like the Idea of checking for being in a container in general.

Instead, I would check for reasons why it doesn't work in a container, choose a sensible thing to check for out of those reasons, and then check for that.

In this case, I would assume the following, although I haven't checked:
1) the container hypervisor (lxc/lxc, docker, libvirt-lxc, etc.) is responsible for managing/creating device files 2) eudev exists for managing/creating device files in other kinds of systems
 3) device files can't be created in a container
4) 3. is due to the container hypervisor removing the cap_mknod capability from containers

Given those assumptions, I think the sensible thing would be to either check for the mknod capability, or check if device nodes can't be created in /dev/ due to a lack of permissions. I think that's closer to the reason why one may not want to start eudev than trying to checking if we're in a container.

Regards,
Daniel Abrecht
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to