On Fri, Jan 11, 2013 at 3:39 PM, Sascha Cunz <sascha...@babbelbox.org> wrote:
> [...]
>
>> But it fixes how udev it's packaged in Gentoo, which is very good
>> news. I haven't upgraded, since I need systemd-197 also (which wasn't
>> yet in the tree yesterday), and I don't use LVM, but I'm wondering if
>> the LVM problem happens when you use an initramfs. I'm guessing it
>> doesn't, since udev should read rules from /lib/udev/rules.d AND
>> /usr/lib/udev/rules.d.
>
> I don't use an initramfs but neither do i have a separate /usr. Still, lvm2
> hung after the udev upgrade. So it probably did _not_ search the old location.

You are right, the code in udev only searches for one prefix. All the
other commands the other members of the list have been mentioning
would be necessary for all the people needing udev rules to boot.

I believe this is a kinda serious bug in the packaging. And it's
really easy to fix: the following patch should cover all the udev
Gentoo users:

diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index bb57d2a..027750a 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -1602,6 +1602,8 @@ struct udev_rules *udev_rules_new(struct udev
*udev, int resolve_names)

         rules->dirs = strv_new("/etc/udev/rules.d",
                                "/run/udev/rules.d",
+                              "/usr/lib/rules.d",
+                              "/lib/rules.d",
                                UDEVLIBEXECDIR "/rules.d",
                                NULL);
         if (!rules->dirs) {

I thought Gentoo had a patch like that. It's necessary, since not
every package will install rules in /lib.

Regards.
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México

Reply via email to