[opensuse-factory] Conflicting packages / dbus services
Hi all, Coolo (rightly) declined a package submissions of mine against openSUSE:Factory, where a conflict between two packages was identified but not marked as such in the meta data. The reasoning is clear.. now we're looking for the best solution (please, only people that have implementation recipes speak up.. we don't want to organise full workflows and change the distribution). Issue: ====== Two packages involved: * apper * gnome-packagekit Both provide the file /usr/share/dbus-1/services/org.freedesktop.PackageKit.service and implement the PackageKit dbus service (they are the respective frontends for KDE and GNOME). Now, already visible, correctly, they conflict on file level. The last thing I am planning to do is Conflicts: apper in gnome-packagekit (even though this would solve the issue at hand... but it's not the 'right' thing per se and does not scale). Proposed solution: ================== Packages have to provide their dbus service in the metadata, in the form Provides: dbusservice(org.freedesktop.PackageKit) And generally, all those provides should be also specified as Conflicts: otherproviders(dbusservice(org.freedesktop.PackageKit)) Now, obviously, this would best be done automagically (not targetting 'one' case, but actually all possible usecases. Suggestions? Ideas? Better solutions? The Provides: part is rather simple to implement using rpm find/prov hooks.. can this be done to also add Conflicts the same way? Followup issue: =============== Now, whereas this is rather simple to solve on a technical / packaging level (somebody might have better Ideas for above), this leave the problem that a machine with KDE AND GNOME installed would end up with only one provider of org.freedesktop.PackageKit (which is not different to what is now, just that it's clear on the pkg metadata). What are the expectations around this? Similar issues: =============== The same problem is also observed between Empathy and KDE Telepathy (ktp). Looking forward for your inputs! Dominique (in the name of the KDE and GNOME teams, I'd say) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am 02.04.2013 17:07, schrieb Dominique Leuenberger a.k.a. Dimstar:
Followup issue: =============== Now, whereas this is rather simple to solve on a technical / packaging level (somebody might have better Ideas for above), this leave the problem that a machine with KDE AND GNOME installed would end up with only one provider of org.freedesktop.PackageKit (which is not different to what is now, just that it's clear on the pkg metadata). What are the expectations around this?
Just answering with my expectations. I consider openSUSE still being a multi user system where people can run different desktops and window managers from the same installation. I'd really hope that it can stay that way. IMHO one more main differentiator for openSUSE would be gone if that's not possible anymore. Please note that I do not know anything about PackageKit and how to solve the issue on a technical level unfortunately. Wolfgang -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
* Dominique Leuenberger a.k.a. Dimstar
Hi all,
Coolo (rightly) declined a package submissions of mine against openSUSE:Factory, where a conflict between two packages was identified but not marked as such in the meta data.
The reasoning is clear.. now we're looking for the best solution (please, only people that have implementation recipes speak up.. we don't want to organise full workflows and change the distribution).
Issue: ====== Two packages involved: * apper * gnome-packagekit
Both provide the file /usr/share/dbus-1/services/org.freedesktop.PackageKit.service
and implement the PackageKit dbus service (they are the respective frontends for KDE and GNOME). Now, already visible, correctly, they conflict on file level.
The last thing I am planning to do is Conflicts: apper in gnome-packagekit (even though this would solve the issue at hand... but it's not the 'right' thing per se and does not scale).
Proposed solution: ================== Packages have to provide their dbus service in the metadata, in the form Provides: dbusservice(org.freedesktop.PackageKit)
And generally, all those provides should be also specified as Conflicts: otherproviders(dbusservice(org.freedesktop.PackageKit))
Now, obviously, this would best be done automagically (not targetting 'one' case, but actually all possible usecases.
Suggestions? Ideas? Better solutions? The Provides: part is rather simple to implement using rpm find/prov hooks.. can this be done to also add Conflicts the same way?
Followup issue: =============== Now, whereas this is rather simple to solve on a technical / packaging level (somebody might have better Ideas for above), this leave the problem that a machine with KDE AND GNOME installed would end up with only one provider of org.freedesktop.PackageKit (which is not different to what is now, just that it's clear on the pkg metadata). What are the expectations around this?
Similar issues: =============== The same problem is also observed between Empathy and KDE Telepathy (ktp).
Looking forward for your inputs!
Can't you just go for a solution similar to what we do with mime preferences, that is each DE delivers service files to a DE-specific subdirectory /usr/share/dbus-1/services/{kde,gnome,xfce} and starts the session DBus with that servicedir preferred over /usr/share/dbus-1/services? -- Guido Berhoerster -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am 02.04.2013 18:25, schrieb Guido Berhoerster:
Can't you just go for a solution similar to what we do with mime preferences, that is each DE delivers service files to a DE-specific subdirectory /usr/share/dbus-1/services/{kde,gnome,xfce} and starts the session DBus with that servicedir preferred over /usr/share/dbus-1/services?
Either that or have kde-service and gnome-service and let *the* dbus service be a multipler aware of all solutions like xdg-su Greetings, Stephan -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Dominique Leuenberger a.k.a. Dimstar
-
Guido Berhoerster
-
Stephan Kulow
-
Wolfgang Rosenauer