> On Feb 17, 2016, at 1:37 AM, Michał Górny <mgo...@gentoo.org> wrote: > > On Tue, 16 Feb 2016 21:54:31 -0500 > Richard Yao <r...@gentoo.org> wrote: > >>> On 02/08/2016 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/005516.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. >> >> That was the entire point of the project. Upstream rejected any attempts >> to do things that we actually needed and broke things claiming the >> distributions were responsible for handling the breakage, so eudev was >> started on the basis that we needed a project that would ensure that >> changes in udev occur in a way that makes sense. > > What things? Things like 'let's try to spawn this script third time in > case someone mounted something so that it happens to work this time'? > Yes, that old behavior really made sense. > >>> 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. >> >> If upstream udev were stable, that would be one thing, but it >> intentionally diverges from itself continuously. The only experience >> that could be reliably provided with upstream udev is one of continual >> breakage. > > This is FUD, without any proof.
That kind of breakage is the reason eudev exists. If it did not occur, I would have not organized people to start eudev a few years ago. Part of the motivation was inflicted by the sys-fs/udev maintainers at the time, but systemd upstream did it's fair share by rejecting compatibility patches on the basis that only downstream should handle those. eudev was founded to be that downstream and also be upstream as sys-fs/udev refused to take patches that systemd would not take. > >> >>> 3. eudev has fallen behind systemd/udev more than once in the past, >>> and caused visible breakage to users this way. >> >> When? > > Whenever we installed new systemd and udev versions, and needed to bump > the dependency in virtual, and eudev maintainers were nowhere to be > found. > >> Can we also consider all of the times udev broke the boot process >> because upstream just didn't care about doing changes in a sane way and >> the people interested in providing the upstream experience delivered on >> that goal? > > Proof needed. Go back and look at logs of me talking to WilliamH and talking in #systemd in the year before eudev was founded. There were problems with separate user among others. By the time, eudev was started, it was a wonder why it was not started earlier. > >>> 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? >> >> The FreeBSD developers were complaining about how poorly documented udev >> was well before eudev existed. This is not a regression unless systemd's >> innovations in replacing documented things with undocumented things made >> them worse. > > So... replacing thing that has some docs with a thing that has no docs > and links to docs of udev that aren't exact match for eudev is good? > Good to know. What documentation do you mean? As far as I know, udev documentation had always been nearly non-existent. Just ask the FreeBSD developers who have been looking for documentation so that they could reimplement it in a clean room manner for years. If you would like to see that change, you could start writing documentation.