After emerging kde-base/kdebase-kioslaves-3.5.7 with hal and dbus USE-flags enabled one would expect HAL to work with KDE. Unfortunately the hal USE-flag doesn't do anything unless hal & dbus were installed previously. So far this is acceptable since this behaviour is described here: http://www.gentoo.org/doc/en/kde-config.xml But there is still one more package that is needed to get HAL-support in KDE: dev-libs/dbus-qt3-old. This is pretty much undocumented and it would make much more sense to install hal, dbus & dbus-qt3-old automatically if the hal-USEflag is enabled anyway. Reproducible: Always Actual Results: HAL/media detection does not work per default Expected Results: Install all required dependencies with hal USE-flag enabled
Run emerge -NuDpv world if you want working HAL support. You really can't enable USE=hal on a single KDE package and expect things to work.
First of all: hal and dbus USE-flags are enabled in /etc/make.conf, so this is a system wide setting. When I enable other USE-flags (like samba or kerberos) the dependencies are being installed automatically. It is normal that one expects things to work as long as the correct USE-flags are enabled. This is why I thought this should be possible with KDE & HAL as well. Nevertheless I think you should at least document this behaviour (dbus-qt3-old) somewhere (handbook or http://www.gentoo.org/doc/en/kde-config.xml).
(In reply to comment #2) You missed the whole point. dev-libs/dbus-qt3-old is *not* a kde-base/kdebase-kioslaves dependency at all. Referring back to your example, setting USE=samba and/or installing samba won't enable samba features anywhere *unless* you run emerge -NuD world and recompile *all* packages that support samba features with this flag enabled. Ebuilds are not a dumpspace for unneeded dependencies, and documenting such tree-wide behaviour in KDE-specific documentation doesn't make sense. Any change in global use flags (the ones in make.conf) requires to run emerge -NuD world to take any effect.
Besides, the dependencies *are* in the ebuild: DEPEND="... hal? ( || ( dev-libs/dbus-qt3-old >=sys-apps/dbus-0.34 ) =sys-apps/hal-0.5* ) ..." If I didn't get anything wrong, this is what you want. I can only second jakub, running emerge -uDN world is required for changes in global use flags.
The thing is: hal & dbus USE-flags were enabled in the first place; from the beginning of the installation. Before I started emerging _any_ single package from the chrooted system I enabled all the USE-flags I needed.