Eliminate dependency on udevd from oneshot startup scripts.
One example among others: Kernel events are used to automatically load dynamic kernel modules. Say you need to mount a filesystem of a type that's not known in your core kernel, but you have a module for that. Either you manually modprobe everything in your initial oneshots (which is possible, but less flexible and more painful), or you just spawn udevd first and can then mount everything you need. The latter is clearly the intended use case - that's what automatic module loading is for. But you can only do that by making oneshots depend on the udevd longrun. Don't organize your system around the tools you have. You shouldn't have to jump through hoops to accommodate mediocre tools/architecture or distributor laziness; it's a losing game in the end, and the user is the one who loses. Instead, get the tools you need so your system works as painlessly as possible for the user. In some cases, you won't need a service manager; in most cases, you will. -- Laurent