-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 08/02/16 07:46 AM, Michał Górny wrote:
> On Mon, 8 Feb 2016 10:08:22 +0100 Patrick Lauer
> <patr...@gentoo.org> wrote:
> 
>> Ohey,
>> 
>> I've opened a bug at: 
>> https://bugs.gentoo.org/show_bug.cgi?id=573922
>> 
>> The idea here is to change the order of the providers of
>> virtual/udev. For existing installs this has zero impact. For
>> stage3 this would mean that eudev is pulled in instead of
>> udev.
>> 
>> The rationale behind this is:
>> 
>> * eudev is an in-house fork, and there's more than a dozen
>> distros already using it by default that are not us. Which is a
>> little bit weird ...
> 
> That's not an argument. I can also fork random system components.
> Would you consider that a reason to replace the defaults with our
> 'in-house' forks?
> 
>> * Both udev and eudev have pretty much feature parity, so there
>> won't be any user-visible changes
>> 
>> * udev upstream strongly discourages standalone udev (without
>> systemd) since at least 2012
>> 
>> (see for example: 
>> https://lists.freedesktop.org/archives/systemd-devel/2012-June/0055
16.html
>>
>> 
https://lkml.org/lkml/2012/10/3/618
>> )
>> 
>> So it'd be (1) following upstreams recommendations and (2)
>> dogfooding our own tools. I don't see any downsides to this :)
> 
> I'm strongly against this, because:
> 
> 1. It is a conflict-induced fork. As such, it will never be
> merged upstream and it will never be supported upstream. In fact,
> it is continually forces to follow upstream changes and adapt to
> them. eudev is more likely to break because of the Gentoo
> developer(s) working hard to merge upstream changes to their
> incompatible code.

Yes this is true -- however, this claim is based on sys-fs/udev
actually being an upstream package and it really isn't -- it's a
partial package of systemd that upstream really doesn't support as a
separate package anyhow (hence the size and complexity of the ebuild
to build it).

> 
> 2. Many of Gentoo users are programmers who appreciate the
> 'vanilla' API experience Gentoo often provides. Switching the
> defaults to a fork that is known to intentionally diverge from
> upstream goes against that principle. Programs written against
> eudev may not work correctly with upstream udev.

No.  Eudev ensures compatibility with systemd-udev as a principle,
we are not going to fork the API.  Unless upstream decides to do
something with udev that breaks it previous API in an incompatible
way that cannot be reproduced without the rest of systemd, eudev
will retain API compatibility with systemd-udev.  Eudev would not be
nearly as useful as it is, if it wasn't a drop-in replacement for
upstream udevd and libudev.

Besides, now that gudev is its own package there's really just
libudev (rarely changes now), rules.d syntax (afaik hasnt changed
since before the fork), and the support for the builtin's (which we
keep up with) that we need to maintain.


> 3. eudev has fallen behind systemd/udev more than once in the
> past, and caused visible breakage to users this way.


Similarly, in the last 6-12 months eudev's releases have been AHEAD
of sys-fs/udev more than once, too.


> 4. eudev is underdocumented, and the maintainer admits that 'he
> sucks at documenting'. In fact, did anyone even bother to note
> how far eudev diverges from upstream udev to this point?


At this point, WITHOUT the patch applied by USE="rule-generator",
divergence is fairly minimal -- the primary difference is that udev
and libudev contain the internal functions that have been migrated
upstream into the giant libsystemd-common.  Most of the various
improvement patches that we made in the early days have either been
integrated upstream or have been dropped as they are no longer
relevant.  Blueness knows more on this, as I haven't done a thorough
examination of upstream's code in quite a while.


Oh, eudev also doesn't handle network link setup given that external
tools already do this just fine.  That's another difference, though
not one that matters programmatically.  That said, the network-link
setup was added primarily to support systemd's use-case, and there's
very little need or point in having it done by udevd on an rc-based
system.



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAla4u48ACgkQAJxUfCtlWe02JgD+KjY9zpYjh8JZf1gAu3QUahjN
EqtAkPbXZLsELPBuAHgA/Aq2sHQIFg2iKYKow29HXIb43JKUbV96t37m9tUIBBm4
=trQk
-----END PGP SIGNATURE-----

Reply via email to