kde-plasma/plasma-pa depends on pulseaudio[gnome] pulseaudio-12.0-r1 removes the gnome useflag This generates a conflict.
gnome flag was added as a use-dep in bug 596426
The "gnome" USE flag in pulseaudio has been renamed to "gconf", so plasma-pa should depend on that instead for >=pulseaudio-12. I don't know if it's possible to have version-dependent USE deps though.
OK, this seems to work: || ( >=media-sound/pulseaudio-12[gconf] <media-sound/pulseaudio-12[gnome] ) A revbump to plasma-pa-5.12.5-r1 is required in order for a @world update to actually resolve the change, otherwise pulseaudio won't get updated.
Unfortunately it's not that easy. pulseaudio-12.0-r1 ebuild has --disable-gconf hard set because gconf is veeery deprecated and PA upstream recommends to no longer use it. We introduced the "gconf" USE flag merely to provide the /usr/bin/gsettings-data-convert tool from gnome-base/gconf so people can migrate their paprefs settings from gconf to gsettings. I haven't checked but if kde-plasma/plasma-pa needs the PA gconf module, we should report this to upstream so they can change the code to use PA gsettings module instead.
(In reply to Lars Wendler (Polynomial-C) from comment #4) > Unfortunately it's not that easy. > > pulseaudio-12.0-r1 ebuild has --disable-gconf hard set because gconf is > veeery deprecated and PA upstream recommends to no longer use it. > We introduced the "gconf" USE flag merely to provide the > /usr/bin/gsettings-data-convert tool from gnome-base/gconf so people can > migrate their paprefs settings from gconf to gsettings. > > I haven't checked but if kde-plasma/plasma-pa needs the PA gconf module, we > should report this to upstream so they can change the code to use PA > gsettings module instead. I found this related bug upstream: https://bugs.kde.org/show_bug.cgi?id=386665
*** Bug 658694 has been marked as a duplicate of this bug. ***
Because /usr/portage/media-sound/pulseaudio/pulseaudio-12.0.ebuild was deleted as part of this much-to-hasty change those of us who build unstable (e.g. ~x86 ~amd64) now have unbuildable systems. The only work round I can find is to mask the whole of pulse audio and the paprefs change (the latter was the only thing tested, right?) I.e, in package.mask: <media-sound/pulseaudio-12 media-sound/pulseaudio-12.0-r1 =media-sound/paprefs-0.9.11_pre20180621 Please put pulseaudio-12.0.ebuild back, then we can just mask -r1 and the paprefs ebuild. As it is deleting pulseaudio leaves us with a multi-step recovery which involves dropping back to pulseaudio-11 John Bowler
On my KDE Plasma desktop system the issue is confined to kde-plasma/plasma-pa, this is the control panel plug-in, the "Plasma applet for audio volume management using PulseAudio". The plasma-pa ebuild requires 'pulseaudio[gnome]' and, because this is a KDE system, 'gnome' is required on a per-package basis. This (like pulseaudio) isn't in the standard KDE profile so I had: media-sound/pulseaudio gnome in package.use. As discussed before this causes the slot conflict. Given that this renders KDE plasma unbuildable on a system that has pulseaudio USE in make.conf the following work round is necessary in package.use to prevent the plug-in being built: kde-plasma/plasma-desktop -pulseaudio kde-plasma/plasma-meta -pulseaudio I also removed the media-sound/pulseaudio setting, though it doesn't matter because 'gnome' is no longer recognized. A world update then builds everything fine, however it does not remove plasma-pa until emerge --depclean is run. In fact emerge --depclean removes a whole load of gnome poo at the same time. After doing this 'pulseaudio' no longer appears in the KDE control panel; a search for it used to pull up the multimedia audio level controls. I assume the control panel and the audio volume control no longer has any effect on pulseaudio volume, but I don't actually use the system level volume on my system so I don't know. Nevertheless it is possible to both build KDE plasma and have pulseaudio enabled in the global USE with this hack.
Upstream bug points at an existing patch that other distros are using, with some caveats of some feature loss. https://build.opensuse.org/package/view_file/home:cfeck:branches:KDE:Unstable:Frameworks/plasma5-pa/plasma-pa.diff?expand=1 Maybe Gentoo should include it too, perhaps at same visibility level as PA-12 (so stable plasma-pa would still use gconf), and we can keep them in lockstep. Would a pulseaudio[gnome(-)] work better (copmared to pulseaudio[gnome]) for dependency management, to just have it automatically kept at pulseaudio-11.1 for plasma-pa users? Otherwise I believe the breakage claims are greatly exaggerated - package manager should be keeping a pulseaudio[gnome] around, so it just will downgrade from or not upgrade to PA-12.
>Otherwise I believe the breakage claims are greatly exaggerated - package manager should be keeping a pulseaudio[gnome] around Well... I did say I was on unstable; 12.0 built with unstable, 12.0-r1 stopped building. To be clear, it seems to be an issue only for unstable builds, specifcally ~x86 ~amd64. I'll try the upstream (KDE) OpenSUSE diff, although I don't have a good test environment (I don't care about volume control) and I'm not sure, beyond upsetting Australia, what removing Canberra might do.
The OpenSUSE patch "works" against 5.12.6. I put in an overlay with maximal dd [vi]: --- plasma-pa-5.12.6.ebuild 2018-06-29 18:37:37.353814089 -0700 +++ /usr/portage/kde-plasma/plasma-pa/plasma-pa-5.12.6.ebuild 2018-06-27 14:09:38.000000000 -0700 @@ -9,7 +9,6 @@ DESCRIPTION="Plasma applet for audio volume management using PulseAudio" KEYWORDS="~amd64 ~arm ~x86" IUSE="" -PATCHES="${FILESDIR}/pulseaudio-12.dif" DEPEND=" $(add_frameworks_dep kcoreaddons) @@ -22,7 +21,9 @@ $(add_qt_dep qtgui) $(add_qt_dep qtwidgets) dev-libs/glib:2 - media-sound/pulseaudio + gnome-base/gconf:2 + media-libs/libcanberra + media-sound/pulseaudio[gnome] " RDEPEND="${DEPEND}" Then I did an @world emerge followed by a --depclean and, as it were magically, searching in the KDE control panel for "pulseaudio" revealed the multimedia audio level controls (the logic of this escapes me, but that is what was happening before I sidegraded to pulseaudio-12.0.-r2). Whether this works in any meaningful sense is beyond me, but I will continue with the overlay until something changes and, almost certainly, update this bug report if something happens.
Fixed upstream: https://commits.kde.org/plasma-pa/c9fae1fb3f8e8a820fd480ce227d7fabf87bd045
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/kde.git/commit/?id=48d780a14166a76fc932317f03e87c1689aa03e2 commit 48d780a14166a76fc932317f03e87c1689aa03e2 Author: Johannes Huber <johu@gentoo.org> AuthorDate: 2018-07-13 12:48:01 +0000 Commit: Johannes Huber <johu@gentoo.org> CommitDate: 2018-07-13 12:48:01 +0000 kde-plasma/plasma-pa: Update dep for pulseaudio-12 Bug: https://bugs.gentoo.org/658660 Package-Manager: Portage-2.3.42, Repoman-2.3.9 kde-plasma/plasma-pa/plasma-pa-5.13.49.9999.ebuild | 2 +- kde-plasma/plasma-pa/plasma-pa-9999.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
I think that dependencies should be: || ( >=media-sound/pulseaudio-12 ( gnome-base/gconf:2 <media-sound/pulseaudio-12[gnome] ) ) And detection of gconf using 'pkg_check_modules(GCONF gconf-2.0)' should be disabled when >=media-sound/pulseaudio-12 is used.
5.14 may get a real solution: https://phabricator.kde.org/D14147
Can something get backported to 5.13 for getting out of this unfortunate situation? I guess there could be config migration concerns and whatnot somewhere, depends what it's storing in there - if only PA gconf module own settings, then theoretically pulseaudio[gconf] will migrate the settings over, but then they are lost until plasma-pa with proper GIO support becomes available - then suddenly the config applies again (and is lost in unmigrated state forever if user doesn't ever run pulseaudio together with gconf installed; I think the USE flag might not even matter due to automagic on the migration utility)
The settings are trivial to re-apply manually, so I wouldn't make a big fuss about it.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6a4c43375a224af0462e0a67b5c2f033f80d260 commit a6a4c43375a224af0462e0a67b5c2f033f80d260 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2018-07-27 11:38:08 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2018-07-27 11:38:08 +0000 kde-plasma/plasma-pa: Don't depend on gconf anymore. Done through backported upstream patch. Bug: https://bugs.gentoo.org/658660 Package-Manager: Portage-2.3.43, Repoman-2.3.10 .../files/plasma-pa-5.13.3-optional_gconf.patch | 280 +++++++++++++++++++++ kde-plasma/plasma-pa/plasma-pa-5.13.3-r1.ebuild | 32 +++ 2 files changed, 312 insertions(+)
after mentioned commit, seems there still an automagic dep on gconf !!! existing preserved libs: >>> package: gnome-base/gconf-3.2.6-r4 * - /usr/lib64/libgconf-2.so.4 * - /usr/lib64/libgconf-2.so.4.1.5 * used by /usr/lib64/qt5/qml/org/kde/plasma/private/volume/libplasma-volume-declarative.so (kde-plasma/plasma-pa-5.13.3-r1) Caught this after I emerged kde-plasma/plasma-pa-5.13.3-r1 and depcleaned gconf.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f321cc6ff55af50a2f39d7e3f97cf6584f62a11 commit 5f321cc6ff55af50a2f39d7e3f97cf6584f62a11 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2018-07-28 11:33:13 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2018-07-28 11:33:28 +0000 kde-plasma/plasma-pa: Revbump to not automagically depend on gconf. Bug: https://bugs.gentoo.org/658660 Package-Manager: Portage-2.3.43, Repoman-2.3.10 .../files/plasma-pa-5.13.3-automagic_gconf.patch | 18 ++++++++++++++++++ ...-pa-5.13.3-r1.ebuild => plasma-pa-5.13.3-r2.ebuild} | 1 + 2 files changed, 19 insertions(+)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/proj/kde.git/commit/?id=886dcb9e5320402c64b9d45aaafe0ec345b4b5db commit 886dcb9e5320402c64b9d45aaafe0ec345b4b5db Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2018-08-07 07:02:11 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2018-08-07 08:05:03 +0000 kde-plasma/plasma-pa: Do not automagically depend on gconf Closes: https://bugs.gentoo.org/658660 Package-Manager: Portage-2.3.43, Repoman-2.3.10 .../files/plasma-pa-5.13.3-automagic_gconf.patch | 18 ++++++++++++++++++ kde-plasma/plasma-pa/plasma-pa-5.13.49.9999.ebuild | 6 +++--- kde-plasma/plasma-pa/plasma-pa-9999.ebuild | 6 +++--- 3 files changed, 24 insertions(+), 6 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2678504fda2d5f9b8784672157dd9b83bc38a910 commit 2678504fda2d5f9b8784672157dd9b83bc38a910 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2019-04-03 11:45:23 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2019-04-03 12:02:32 +0000 kde-plasma/plasma-pa: Backport patch to port from GConf to GSettings Thanks-to: Lars Wendler <polynomial-c@gentoo.org> Bug: https://bugs.gentoo.org/658660 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> .../files/plasma-pa-5.15.4-gsettings.patch | 622 +++++++++++++++++++++ kde-plasma/plasma-pa/plasma-pa-5.15.4-r1.ebuild | 35 ++ 2 files changed, 657 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/kde.git/commit/?id=a9b15954374b862493738cf6c0d1ad39a6040723 commit a9b15954374b862493738cf6c0d1ad39a6040723 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2019-04-03 11:45:23 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2019-04-04 00:26:11 +0000 kde-plasma/plasma-pa: Backport patch to port from GConf to GSettings Thanks-to: Lars Wendler <polynomial-c@gentoo.org> Bug: https://bugs.gentoo.org/658660 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> .../files/plasma-pa-5.15.4-gsettings.patch | 622 +++++++++++++++++++++ kde-plasma/plasma-pa/plasma-pa-5.15.49.9999.ebuild | 4 +- 2 files changed, 625 insertions(+), 1 deletion(-)