Jef Spaleta wrote: > you have systems with just KDE and no GNOME installed yes? zif install > paprefs > > with kpackagekit not installed does zif do the more optimal thing and pull > kpackagekit in as a dep to fill PackageKit-session-service requirement?
I'm not sure why you're asking that. It was already pointed out on more than one occasion that zif does NOT decide which provider to pick based on other installed packages, by design. But I did the test anyway: On my notebook, after removing kpackagekit, I get: Transaction summary: Installing: 1. paprefs-0.9.9-8.fc15.x86_64 (fedora) Installing for dependencies: 1. PackageKit-device-rebind-0.6.17-1.fc15.libzif.so.3.x86_64 (fedora- zif-backport) 2. gconfmm26-2.28.2-2.fc15.x86_64 (fedora) 3. gnome-packagekit-3.0.0-5.fc15.x86_64 (updates) 4. pulseaudio-module-gconf-0.9.22-5.fc15.x86_64 (fedora) Run transaction? [y/N] n User declined action After reinstalling KPackageKit, I get: Transaction summary: Installing: 1. paprefs-0.9.9-8.fc15.x86_64 (fedora) Installing for dependencies: 1. gconfmm26-2.28.2-2.fc15.x86_64 (fedora) 2. pulseaudio-module-gconf-0.9.22-5.fc15.x86_64 (fedora) Run transaction? [y/N] n User declined action FWIW, I have tons of GNOME stuff installed already (even gnome-shell), so gnome-packagekit doesn't drag in all that much extra GNOME stuff, and paprefs drags in GNOME stuff by itself, too. (In fact, the kpackagekit package would have happened to require one less dependency, but it isn't even a GNOME dependency, but a PackageKit one.) But in reality, the dependencies are not the real issue at all, the thing is that gnome- packagekit is useless in KDE unless you go and manually enable it. (Or at least it won't be fully functional, because it won't be started up automatically, e.g. to check for updates. It might get D-Bus-activated when paprefs needs it. But there are cases such as the PolicyKit 1 authentication agent where D-Bus activation is not used at all, exactly to ensure the correct agent for the running desktop environment gets used, not a random one.) What is actually needed to satisfy paprefs' dependency is: = begin pseudocode = if (GNOME installed || Xfce installed || LXDE installed) install gnome-packagekit; if (KDE installed) install kpackagekit; (In particular, if both are installed, install both, they're both needed because they'll only start in the respective desktop environment!) if (none of GNOME, KDE, Xfce, LXDE installed) install a desktop environment first, or just error; = end pseudocode = But such complex dependencies cannot be expressed in RPM. The virtual dependency is only an approximation, the general assumption being that either gnome-packagekit or kpackagekit is already installed as part of the desktop in most cases anyway. So deciding based on the dependencies as yum does is only a heuristic, which can only be an approximation to what is truly needed (see the above pseudocode). (And besides, your example is about the worst you could pick, since if somebody is skilled enough with package management to remove the PackageKit frontend, surely he or she knows what to do if zif wants to pick the wrong one. ;-) Real end users will ALWAYS have the PackageKit frontend installed.) Kevin Kofler -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel