Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 408891 - Move udevd back to /sbin and create symlink to /usr/lib/systemd/systemd-udevd (for backwards compability, minit, mkinitcpio, dracut, genkernel, systemd related tools, etc)
Summary: Move udevd back to /sbin and create symlink to /usr/lib/systemd/systemd-udevd...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
: 446372 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-03-19 16:46 UTC by octoploid
Modified: 2013-02-10 20:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description octoploid 2012-03-19 16:46:47 UTC
The update to udev-181 broke my system (sys-process/minit)
because udevd moved from /sbin to /lib/udev without warning.
Please create a symlink in /sbin in the ebuild.

See NEWS and http://marc.info/?l=linux-hotplug&m=131835335207882&w=2

Thanks.

Reproducible: Always
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2012-03-19 16:53:08 UTC
uh, no. minit should be fixed to not look for udevd in /sbin
Comment 2 octoploid 2012-03-19 19:15:19 UTC
(In reply to comment #1)
> uh, no. minit should be fixed to not look for udevd in /sbin

Minit was just an example. Every script that expects udevd in /sbin
is broken right now.
(In my case the symptoms were a non working mouse and keyboard in X.
Fun thing to debug...)
And all this because moving things around without any reason whatever
seems to be en vogue right now.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2012-03-19 19:51:03 UTC
The symlink would just be "a bandage" while the reverse dependencies should be fixed to not hardcode the path to udevd (or at least look for both /sbin and /usr/sbin)
I can see both points but the correct way to go with this one isn't necessarily the easiest.
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2012-03-20 18:31:43 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > uh, no. minit should be fixed to not look for udevd in /sbin
> 
> Minit was just an example. Every script that expects udevd in /sbin
> is broken right now.

Like which ones?

> (In my case the symptoms were a non working mouse and keyboard in X.
> Fun thing to debug...)
> And all this because moving things around without any reason whatever
> seems to be en vogue right now.

I just checked minit source tree and there is no reference to udev there whatsoever.
Comment 5 octoploid 2012-03-20 18:45:07 UTC
(In reply to comment #4)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > uh, no. minit should be fixed to not look for udevd in /sbin
> > 
> > Minit was just an example. Every script that expects udevd in /sbin
> > is broken right now.
> 
> Like which ones?

The one I wrote to handle udevd in minit.
 
> > (In my case the symptoms were a non working mouse and keyboard in X.
> > Fun thing to debug...)
> > And all this because moving things around without any reason whatever
> > seems to be en vogue right now.
> 
> I just checked minit source tree and there is no reference to udev there
> whatsoever.

I've switched to mdev today and really don't care about udev anymore.
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2013-01-19 14:00:32 UTC
*** Bug 446372 has been marked as a duplicate of this bug. ***
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2013-01-19 14:03:21 UTC
Starting from udev-197-r3, -r4 and 9999 the files are now installed like this:

-rwxr-xr-x 1 root root 194640 Jan 19 15:41 /sbin/udevd
lrwxrwxrwx 1 root root 11 Jan 19 15:41 /usr/lib/systemd/systemd-udevd -> /sbin/udevd

Old and new location.

The reason why we did this now is that /lib/systemd path doesn't make any sense and nobody would have accepted patches for such directory.

I hope this satisfies all of these requests now.

Let me know of any problems.

Thanks!
Comment 8 devsk 2013-02-10 18:22:28 UTC
Would it be too much to ask to apply the following patch to /etc/init.d/udev? This is needed in my setup because /sbin/udevd is a symlink to ../mnt/livecd/sbin/udevd. This is a livecd setup created from genkernel where all files in "/" are symlinks to files in /mnt/livecd, which is a squashfs looped FS created using 'lndir'. This setup allows modifications to the rootfs in case of emergencies because symlinks are not at "/" level.

I am not sure why that check with ! -L was put in there in the first place. So, please assess if its needed.

--- /etc/init.d/udev    2013-02-09 23:20:37.203298266 -0800
+++ /etc/init.d/._cfg0000_udev  2013-02-10 09:16:10.000000000 -0800
@@ -59,7 +59,7 @@
 
        bins="/sbin/udevd /lib/systemd/systemd-udevd /usr/lib/systemd/systemd-udevd"
        for f in ${bins}; do
-               if [ -x "$f" -a ! -L "$f" ]; then
+               if [ -x "$f" ]; then
                        command="$f"
                fi
        done
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2013-02-10 19:29:14 UTC
(In reply to comment #8)
> Would it be too much to ask to apply the following patch to
> /etc/init.d/udev? This is needed in my setup because /sbin/udevd is a
> symlink to ../mnt/livecd/sbin/udevd. This is a livecd setup created from
> genkernel where all files in "/" are symlinks to files in /mnt/livecd, which
> is a squashfs looped FS created using 'lndir'. This setup allows
> modifications to the rootfs in case of emergencies because symlinks are not
> at "/" level.
> 
> I am not sure why that check with ! -L was put in there in the first place.
> So, please assess if its needed.
> 
> --- /etc/init.d/udev    2013-02-09 23:20:37.203298266 -0800
> +++ /etc/init.d/._cfg0000_udev  2013-02-10 09:16:10.000000000 -0800
> @@ -59,7 +59,7 @@
>  
>         bins="/sbin/udevd /lib/systemd/systemd-udevd
> /usr/lib/systemd/systemd-udevd"
>         for f in ${bins}; do
> -               if [ -x "$f" -a ! -L "$f" ]; then
> +               if [ -x "$f" ]; then
>                         command="$f"
>                 fi
>         done

that won't work, it would launch udevd with process name systemd-udevd :P
need the -L check
Comment 10 devsk 2013-02-10 20:45:04 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > Would it be too much to ask to apply the following patch to
> > /etc/init.d/udev? This is needed in my setup because /sbin/udevd is a
> > symlink to ../mnt/livecd/sbin/udevd. This is a livecd setup created from
> > genkernel where all files in "/" are symlinks to files in /mnt/livecd, which
> > is a squashfs looped FS created using 'lndir'. This setup allows
> > modifications to the rootfs in case of emergencies because symlinks are not
> > at "/" level.
> > 
> > I am not sure why that check with ! -L was put in there in the first place.
> > So, please assess if its needed.
> > 
> > --- /etc/init.d/udev    2013-02-09 23:20:37.203298266 -0800
> > +++ /etc/init.d/._cfg0000_udev  2013-02-10 09:16:10.000000000 -0800
> > @@ -59,7 +59,7 @@
> >  
> >         bins="/sbin/udevd /lib/systemd/systemd-udevd
> > /usr/lib/systemd/systemd-udevd"
> >         for f in ${bins}; do
> > -               if [ -x "$f" -a ! -L "$f" ]; then
> > +               if [ -x "$f" ]; then
> >                         command="$f"
> >                 fi
> >         done
> 
> that won't work, it would launch udevd with process name systemd-udevd :P
> need the -L check

Why is process name systemd-udevd bad on a system running systemd?