[arch-dev-public] The udev rule nightmare
So, I wanted to revisit the subject of udev rules. Right now, we have rules in /etc/udev/rules.d and /lib/udev/rules.d - the idea was that "upstream" rules goes to /lib and whatever else goes to /etc. This was interpreted by some of our own dev team that we should put whatever udev and packages ship to /lib and whatever we created ourselves to /etc - which is dumb. Right now we have: - rules from upstream packages in /lib - patched rules from upstream packages in /lib - rules from upstream packages in /etc - Arch rules in /etc It is pure chaos and nobody understands what is where and why. It is a nightmare. Back when we had the discussion, I suggested what I will re-suggest now: - All our packages should have udev rules in /lib only. What Arch officially ships is what we consider "upstream". (To put it in the same terminology that perl uses: core-rules and vendor-rules) - User or site specific rules go to /etc, overriding or complementing the "official" rule set (site-rules) This will lead to a clear distinction and a clear rule instead of the chaos we have until now. It is also the only way that makes sense, everything else will lead to the same chaos again. Please comment.
2009/10/20, Thomas Bächler <thomas@archlinux.org>:
- All our packages should have udev rules in /lib only.
You're right here. Well, do I should fix my kino package, adding --with-udev-rules-dir=/lib/udev/rules.d ? Let me know. -- Arch Linux Developer http://www.archlinux.org http://www.archlinux.it
Giovanni Scafora schrieb:
2009/10/20, Thomas Bächler <thomas@archlinux.org>:
- All our packages should have udev rules in /lib only.
You're right here. Well, do I should fix my kino package, adding --with-udev-rules-dir=/lib/udev/rules.d ? Let me know.
I hope so. The consensus last time we had this discussion was weird at best. I'm hoping for more answers here.
2009/10/20, Thomas Bächler <thomas@archlinux.org>:
I hope so. The consensus last time we had this discussion was weird at best. I'm hoping for more answers here.
OK, then I'm gonna fixing kino package for both arch. -- Arch Linux Developer http://www.archlinux.org http://www.archlinux.it
On Tue, Oct 20, 2009 at 3:01 PM, Thomas Bächler <thomas@archlinux.org> wrote:
Giovanni Scafora schrieb:
2009/10/20, Thomas Bächler <thomas@archlinux.org>:
- All our packages should have udev rules in /lib only.
You're right here. Well, do I should fix my kino package, adding --with-udev-rules-dir=/lib/udev/rules.d ? Let me know.
I hope so. The consensus last time we had this discussion was weird at best. I'm hoping for more answers here.
I don't remember the previous discussion too well, but judging from the current state of things (rules we ship being all over the place), I would say you are right as well
Aaron Griffin schrieb:
I don't remember the previous discussion too well, but judging from the current state of things (rules we ship being all over the place), I would say you are right as well
I'm glad you don't :) We should gradually move rules over to /lib. I was looking into this because I was trying to fix some race issues with udev and cryptsetup which are also heavily discussed upstream - more on that once I know what we should do.
On Tue, Oct 20, 2009 at 15:38, Thomas Bächler <thomas@archlinux.org> wrote:
- All our packages should have udev rules in /lib only. What Arch officially ships is what we consider "upstream". (To put it in the same terminology that perl uses: core-rules and vendor-rules) - User or site specific rules go to /etc, overriding or complementing the "official" rule set (site-rules)
This is how I interpreted it the first time. +1 from me.
2009/10/20, Thomas Bächler <thomas@archlinux.org>:
So, I wanted to revisit the subject of udev rules. Right now, we have rules in /etc/udev/rules.d and /lib/udev/rules.d - the idea was that "upstream" rules goes to /lib and whatever else goes to /etc.
This was interpreted by some of our own dev team that we should put whatever udev and packages ship to /lib and whatever we created ourselves to /etc - which is dumb. Right now we have:
- rules from upstream packages in /lib - patched rules from upstream packages in /lib - rules from upstream packages in /etc - Arch rules in /etc
It is pure chaos and nobody understands what is where and why. It is a nightmare.
Back when we had the discussion, I suggested what I will re-suggest now:
- All our packages should have udev rules in /lib only. What Arch officially ships is what we consider "upstream". (To put it in the same terminology that perl uses: core-rules and vendor-rules) - User or site specific rules go to /etc, overriding or complementing the "official" rule set (site-rules)
This will lead to a clear distinction and a clear rule instead of the chaos we have until now. It is also the only way that makes sense, everything else will lead to the same chaos again.
Please comment.
+1 from me. Well, running pkgfile -r etc/udev/rules.d I got the following lines: community/em8300-utils community/gpsd community/lomoco community/network-ups-tools community/rezero community/xen core/device-mapper core/pcmciautils core/udev extra/bluez extra/capi4hylafax extra/fuse extra/hal extra/libfprint extra/libnjb extra/microcode_ctl I guess that we should fix them. -- Arch Linux Developer http://www.archlinux.org http://www.archlinux.it
Giovanni Scafora schrieb:
core/device-mapper
Eric, I can fix device-mapper, as there is something to change here (I think they even have upstream rules now), see http://bugs.archlinux.org/task/16735
core/pcmciautils core/udev
udev just includes the empty directory, pcmciautils should be a trivial move.
extra/bluez extra/capi4hylafax extra/fuse extra/hal extra/libfprint extra/libnjb extra/microcode_ctl
For those, it's also a trivial move I guess. Can we please check if we have any Arch-specific rules here which we can move to upstream rules? One of the goals here is to stay as close as possible to upstream rules.
On Wed, Oct 21, 2009 at 9:23 AM, Thomas Bächler <thomas@archlinux.org> wrote:
Giovanni Scafora schrieb:
core/device-mapper
Eric, I can fix device-mapper, as there is something to change here (I think they even have upstream rules now), see http://bugs.archlinux.org/task/16735
Sure. I'll let you take care of it.
core/pcmciautils core/udev
udev just includes the empty directory, pcmciautils should be a trivial move.
extra/bluez extra/capi4hylafax extra/fuse extra/hal extra/libfprint extra/libnjb extra/microcode_ctl
For those, it's also a trivial move I guess. Can we please check if we have any Arch-specific rules here which we can move to upstream rules? One of the goals here is to stay as close as possible to upstream rules.
participants (5)
-
Aaron Griffin
-
Daenyth Blank
-
Eric Bélanger
-
Giovanni Scafora
-
Thomas Bächler