world update with virtual/udev-197 forces reversion to udev from eudev if USE -modutils is selected this should not happen. e.g. emerge -auDvN --with-bdeps y --keep-going world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] media-fonts/freefont-ttf-20120503 [20100919] USE="X" 10,317 kB [ebuild U ] x11-libs/cairo-1.12.10-r1 [1.12.10] USE="X glib opengl qt4 svg xcb (-aqua) -debug -directfb -doc (-drm) (-gallium) -legacy-drivers -openvg -static-libs" 0 kB [ebuild U ] net-misc/iputils-20121221-r1 [20121221] USE="filecaps%* gnutls ipv6 ssl -SECURITY_HAZARD -caps -doc -idn -static" 0 kB [ebuild N ] sys-fs/udev-197-r4 USE="gudev hwdb keymap kmod openrc -acl -doc -introspection (-selinux) -static-libs" 2,008 kB [uninstall ] sys-fs/eudev-1_beta2-r1 USE="gudev hwdb keymap kmod openrc -doc -introspection -legacy-libudev -modutils (-selinux) -static-libs" [blocks b ] sys-fs/udev ("sys-fs/udev" is blocking sys-fs/eudev-1_beta2-r1) [ebuild R ] virtual/udev-197 USE="gudev hwdb keymap kmod%* -introspection (-selinux) -static-libs" 0 kB [ebuild U ] sys-fs/udev-init-scripts-22 [21-r1] USE="-build%" 5 kB Total: 6 packages (4 upgrades, 1 new, 1 reinstall, 1 uninstall), Size of downloads: 12,329 kB /etc/portage/package.use/package.use has sys-fs/udev gudev hwdb keymap kmod openrc sys-fs/eudev gudev hwdb keymap kmod openrc -modutils virtual/udev gudev hwdb keymap kmod openrc # udev stuff
is the ebuild backwards? should it not be as follows: RDEPEND="|| ( >=sys-fs/udev-197-r3[gudev?,hwdb?,introspection?,keymap?,kmod?,selinux?,static-libs?] kmod? ( >=sys-fs/eudev-1_beta1[gudev?,hwdb?,introspection?,keymap?,selinux?,static-libs?] ) !kmod? ( >=sys-fs/eudev-1_beta1[modutils,gudev?,hwdb?,introspection?,keymap?,selinux?,static-libs?] ) )"
I believe eudev should unconditionally be dependent on kmod as well .. the change in it's (kmod) operation supplying kmod or modutils is selected by the modultils flag
re bug#454386
USE="modutils" , that is --enable-modules , is required in eudev for any module loading support period. On sys-fs/udev , USE="kmod" is required for module loading support as linking with libkmod is the -only- way for module loading to work (hence why it is default) In eudev, USE="kmod" just triggers whether to link to libkmod, or use external calls to modprobe (ie what virtual/modutils provides). Kmod satisfies virtual/modutils if USE="tools" is present (which it is by default), so for the most part this is a non-issue. However, USE="modutils" is still required -- that is, USE="kmod -modutils" will result in eudev not loading modules (afaik) One thing we can do, is make the dependency on virtual/modutils only when USE="-kmod" though, since that technically is true -- would that help?
(In reply to comment #4) > One thing we can do, is make the dependency on virtual/modutils only when > USE="-kmod" though, since that technically is true -- would that help? Actually eudev doesn't depend on virtual/modutils -- that dependency is part of @system. So this is a non-issue.
To my way of thinking it should be as you recommended .. with the .. tools forced on for kmod perhaps checked as well? .. complications .. but does that only effect eudev or also udev? I was under the impression that kmod replaced modutils and thus the modutils flag only activated the older call methods for older kernels .. have i been operating under mistaken information?
actually if the use if +modutils is manditory .... get rid of the flag .. it's useless then .. serves no purpose as it is now dictated to be always on .. i.e. a No-op .. is this your intent? I've been running with the flag off ever since I installed eudev .. but most of my modules are built in .. I have not noticed any issues but maybe there are ..