start_udev on udev removal

Kacper Kornet draenog at pld-linux.org
Thu Mar 27 23:03:04 CET 2014


On Thu, Mar 27, 2014 at 11:08:49PM +0200, Elan Ruusamäe wrote:
> posting here, as maybe someday somebody wants to fix this.

> seems start_udev trigger is invoked when *udev* package is removed,
> and that call seems even to succeed!

> # rpm -q dev udev
> dev-3.4-10.x86_64
> udev-208-11.x86_64

And how did you end with both dev and udev installed, as udev obsoletes
dev?

> # rpm -e udev
> * Starting udev...................................................[ BUSY ]
> mknod: ‘/dev/cpu/microcode’: File exists
> mknod: ‘/dev/fuse’: File exists
> mknod: ‘/dev/net/tun’: File exists
> mknod: ‘/dev/ppp’: File exists
> mknod: ‘/dev/mapper/control’: File exists
> [ DONE ]
> * Setup extra nodes...............................................[ DONE ]
> * Retrigger subsystems events.....................................[ DONE ]
> * Retrigger devices events........................................[ DONE ]
> * udevadm settle..................................................[ DONE ]

> # rpm -q udev dev
> package udev is not installed
> dev-3.4-10.x86_64

It seems that the triggerpostun are run based on Provides. As udev
provides dev so the trigger is run. It succeeds as start_udev belongs to
udev-core so is still present in the system.

The solution would be to limit the trigger to dev < 3.5. It is under
assumption that dev proper will never reach that version.

-- 
  Kacper


More information about the pld-devel-en mailing list