[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#412989: udev startup script prints a lot of errors when ldap is used



On Thu, Mar 01, 2007 at 10:54:19PM +0300, Nikita V. Youshchenko wrote:

> So a *fix* for this issue could be only inside udev package.
> In all other places, only workarounds are possible.
> And these workarounds do have the following drawbacks.
> 
> - if base-passwd will be used as workaround location, this will create a 
> situation when changes to default udev configuration files, introducing 
> references to new groups or removing references to old ones, will cause 
> need of base-files update - which is increased complexity and will cause 
> out-of-sync situations;

My opinion is quite the opposite. Decisions like "all scanners should be
owned by the 'scanner' group" are distro-wide policy, and udev is just
one of the possible implementors of such policy. So the policy should
not be in udev (anyone can write an udev replacement any day). In fact,
MAKEDEV _should_ use the same group on a static /dev; how do you want to
enforce that? (Yes, I realize that MAKEDEV does not have the same amount
of information and therefore can not make such fine-grained decisions as
udev).

Also, on my system the udev configuration references 17 groups of which
12 is already present in /usr/share/base-passwd/group.master. I do not
see any reason not to add the remaining 5 and be done with it.

On the other hand, a rule like "the default udev configuration must not
reference any groups not provided by base-passwd" seems quite
reasonable.

> Also, it is unclear what udevd is going to do with non-resolved groups. 
> Likely it will create devices with invalid ownership. Won't that introduce 
> breakage at unexpected moments? E.g. if a package that actually uses 
> device (and creates a group if it does no exist) will be installed and 
> used before next reboot.

How is that different from MAKEDEV creating the node with bad ownership
on a static /dev?

> From the other hand, fix at udev level is relatively easy.
> It just should extract a list of referenced groups (and probably users) 
> from config files at build time (not at install time, because the talk is 
> only groups referenced in default configs), and add several lines to 
> postinst to create these groups if they don't exist.

That would be HORRIBLE. We should _NOT_ create any groups
unconditionally just because udev upstream likes them. New groups are
needed only if there are real users of them and udev is _not_ an user.
So udev must not be the entity deciding whether a group should be
created or not; it should first be discussed with the users, then added
to base-passwd and after that it can be used by udev. It's not like
we're going to add random new groups every other day...

Gabor

-- 
     ---------------------------------------------------------
     MTA SZTAKI Computer and Automation Research Institute
                Hungarian Academy of Sciences
     ---------------------------------------------------------



Reply to: