Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 658660 - kde-plasma/plasma-pa depends on pulseaudio[gnome] and pulseaudio-12.0-r1 removes gnome useflag
Summary: kde-plasma/plasma-pa depends on pulseaudio[gnome] and pulseaudio-12.0-r1 remo...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL: https://phabricator.kde.org/D13734
Whiteboard: fixed in 5.13.4
Keywords: NeedPatch, UPSTREAM
: 658694 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-06-21 16:06 UTC by Andrés Becerra Sandoval
Modified: 2019-04-04 00:29 UTC (History)
25 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrés Becerra Sandoval 2018-06-21 16:06:28 UTC
kde-plasma/plasma-pa depends on pulseaudio[gnome]
pulseaudio-12.0-r1 removes the gnome useflag

This generates a conflict.
Comment 1 Andreas Sturmlechner gentoo-dev 2018-06-21 18:35:14 UTC
gnome flag was added as a use-dep in bug 596426
Comment 2 Nikos Chantziaras 2018-06-22 03:46:58 UTC
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.
Comment 3 Nikos Chantziaras 2018-06-22 04:04:43 UTC
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.
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2018-06-22 07:22:07 UTC
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.
Comment 5 Andrés Becerra Sandoval 2018-06-22 15:03:47 UTC
(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
Comment 6 Andreas Sturmlechner gentoo-dev 2018-06-22 17:45:00 UTC
*** Bug 658694 has been marked as a duplicate of this bug. ***
Comment 7 John Bowler 2018-06-25 00:52:23 UTC
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
Comment 8 John Bowler 2018-06-29 19:57:04 UTC
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.
Comment 9 Mart Raudsepp gentoo-dev 2018-06-30 00:45:10 UTC
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.
Comment 10 John Bowler 2018-06-30 01:07:06 UTC
>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.
Comment 11 John Bowler 2018-06-30 01:53:34 UTC
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.
Comment 12 Dennis Schridde 2018-07-13 11:49:56 UTC
Fixed upstream: https://commits.kde.org/plasma-pa/c9fae1fb3f8e8a820fd480ce227d7fabf87bd045
Comment 13 Larry the Git Cow gentoo-dev 2018-07-13 12:48:36 UTC
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(-)
Comment 14 Arfrever Frehtes Taifersar Arahesis 2018-07-15 23:28:50 UTC
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.
Comment 15 Andreas Sturmlechner gentoo-dev 2018-07-15 23:50:24 UTC
5.14 may get a real solution: https://phabricator.kde.org/D14147
Comment 16 Mart Raudsepp gentoo-dev 2018-07-15 23:55:52 UTC
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)
Comment 17 Nikos Chantziaras 2018-07-16 07:12:57 UTC
The settings are trivial to re-apply manually, so I wouldn't make a big fuss about it.
Comment 18 Larry the Git Cow gentoo-dev 2018-07-27 11:38:18 UTC
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(+)
Comment 19 Georgy Yakovlev archtester gentoo-dev 2018-07-27 19:40:43 UTC
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.
Comment 20 Larry the Git Cow gentoo-dev 2018-07-28 11:33:36 UTC
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(+)
Comment 21 Larry the Git Cow gentoo-dev 2018-08-07 08:05:38 UTC
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(-)
Comment 22 Larry the Git Cow gentoo-dev 2019-04-03 12:02:57 UTC
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(+)
Comment 23 Larry the Git Cow gentoo-dev 2019-04-04 00:29:32 UTC
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(-)