Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 799881 - media-video/pipewire: USE=pipewire-alsa conflicts with pulseaudio[alsa-plugin]
Summary: media-video/pipewire: USE=pipewire-alsa conflicts with pulseaudio[alsa-plugin]
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-02 15:44 UTC by Adel KARA SLIMANE
Modified: 2021-09-16 22:44 UTC (History)
3 users (show)

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


Attachments
Initial flag state before doing flag changes (initial-state,9.34 KB, text/plain)
2021-07-02 16:56 UTC, Adel KARA SLIMANE
Details
output of sudo emerge update after flag change (conflicts,4.08 KB, text/plain)
2021-07-02 17:05 UTC, Adel KARA SLIMANE
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adel KARA SLIMANE 2021-07-02 15:44:06 UTC
Hello,

I switched to pipewire yesterday and wanted it to replace everything it can from pulseaudio, so I had the `pipewire-alsa` USE flag enabled. It installed properly. Although, when I tried updating today there was some conflicts that were a little bit difficult to untangle: I had pulseaudio with the alsa-plugin USE flag, and that was the root cause. Do you think it's a good idea to add a blocker for pipewire when pulseaudio has the alsa-plugin enabled ?

Thanks!
Comment 1 Lars Wendler (Polynomial-C) gentoo-dev 2021-07-02 16:02:48 UTC
Please be a bit more specific. What exact USE flags had you set the involved packages for? What was the actual error message? Can you please provide the output of "emerge --info pulseaudio pipewire alsa-plugins"?
Comment 2 Adel KARA SLIMANE 2021-07-02 16:56:14 UTC
Created attachment 721074 [details]
Initial flag state before doing flag changes

So this is the initial state I start from before I want to enable USE=pipewire-alsa for pipewire.
Comment 3 Adel KARA SLIMANE 2021-07-02 17:05:39 UTC
Created attachment 721086 [details]
output of sudo emerge update after flag change

So this is the ouput of "sudo emerge --ask --verbose --update --deep --changed-use --with-bdeps=y @world" after doing the following USE change

media-video/pipewire pipewire-alsa

It looks complicated, but it simply gets fixed by doing this:

media-video/pipewire pipewire-alsa
media-sound/pulseaudio -alsa-plugin

Which makes one think that media-video/pipewire[pipewire-alsa] should block media-sound/pulseaudio[alsa-plugin] instead of block edia-plugins/alsa-plugins[pulseaudio]
Comment 4 Niklāvs Koļesņikovs 2021-07-06 18:44:03 UTC
My understanding is that the current ebuild is correctly blocking the part that can lead to issues - the package actually installing the plugin, which could be installed on its own, so blocking another package did not make sense.

What's happening in this case is that Portage might have allowed to install a package with only partially resolved dependencies and not having checked that the full dependency graph would produce a conflict. Not sure why or how that happened though.

I guess it might be possible to additionally also block the media-sound/pulseaudio[alsa-plugin] even though we don't really have any beef with it (it's a virtual IUSE that does not affect the package itself).
Comment 5 Adel KARA SLIMANE 2021-07-06 19:04:41 UTC
> My understanding is that the current ebuild is correctly blocking the part that can lead to issues - the package actually installing the plugin

You are right, my initial suggestion of swapping the blockers is not good.

> What's happening in this case is that Portage might have allowed to install a package with only partially resolved dependencies and not having checked that the full dependency graph would produce a conflict. Not sure why or how that happened though.

I think the initial state I start from does not have any conflict:
- I did not manually install media-plugins/alsa-plugins[pulseaudio] so it's being pulled only as a dependency with "default" flags
- I do have media-sound/pulseaudio[alsa-plugin] and 
media-video/pipewire[-pipewire-alsa] emerged
- Changing the use flag to +pipewire-alsa 
media-video/pipewire causes the blocker: it is not a bug, it's just simply a bit difficult to understand what's going on. And I think it can be made simpler with an additional blocker, maybe. I do not know what kind of error message would be displayed with it, I need to test.

> I guess it might be possible to additionally also block the media-sound/pulseaudio[alsa-plugin] even though we don't really have any beef with it (it's a virtual IUSE that does not affect the package itself).

I think it makes sense to additionally make media-video/pipewire[pipewire-alsa] block media-sound/pulseaudio[alsa-plugin] as the latter pulls media-plugins/alsa-plugins[pulseaudio], which conflicts with media-video/pipewire[pipewire-alsa].