Summary: | media-video/pipewire[pipewire-alsa] error in RDEPEND logic (media-libs/alsa-plugins should not have the pulseaudio flag) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Olivier Huber <oli.huber> |
Component: | Current packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | asturm, gerion.entrup, sam, whissi |
Priority: | Normal | Keywords: | PATCH, PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=813099 https://github.com/gentoo/gentoo/pull/25264 https://github.com/gentoo/gentoo/pull/25269 https://bugs.gentoo.org/show_bug.cgi?id=852230 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
ebuild patch
ebuild patch patch for 0.3.34 |
Description
Olivier Huber
2021-05-22 16:00:35 UTC
Assuming this still works as intended, I'm sorry for introducing this bug. As for MULTILIB_USEDEP there, it being set or not when blocking the PA plugin should not make a difference to PipeWire's functionality. The PW's ALSA plugins will be built and installed according to multilib USE flags for pipewire ebuild, and multilib'ing of other ALSA plugins is irrelevant. The only thing important is that PipeWire and PulseAudio plugins are not installed at the same time. If it was necessary for correct dependency resolution, that's fine, however. No worries, when I looked at the ebuild I guessed an intention and it seems that portage's dependency resolution algorithm sees it differently. I'm not an ebuild expert either. The remaining question is whether the condition !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] is necessary? In essence, if the pipewire-alsa useflag is not active, do we need to pull a dependency on media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ? From what I get, it is clear that if pipewire-alsa is enabled then media-plugins/alsa-plugins[-pulseaudio] is required. Is anything more required? If the user choose not to have pulseaudio-related functionalities at all, we might not want to force them on him/her? That's just bug 785076 all over again and I expect the answer hasn't changed - Gentoo cares for decent out of the box experience and not someone's hate for ALSA or PulseAudio or (misguided) intentions to build a minimalist setup. Users are free to pursue them by using package.provided and other support voiding techniques but Gentoo as a project is under no obligation or intention of complicating ebuild logic or adding additional USE flags, or intentionally enabling known broken configurations just because someone feels entitled to that. So there is no technical argument for this dependency. The updated patch takes care of helping provide a good experience by having an IUSE default flag on pipewire-alsa Created attachment 711006 [details, diff]
ebuild patch
updated ebuild patch
Olivier, I think you accidentally posted the old patch instead of the updated one. Created attachment 736651 [details, diff]
patch for 0.3.34
Updated patch for 0.3.34.
(In reply to Róbert Čerňanský from comment #6) > Olivier, I think you accidentally posted the old patch instead of the > updated one. Sorry about that. The updated patch for 0.3.34 should be okay. Let me know if you run into any trouble. Just as a quick reminder, media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] *does not* depend on or link against media-pulse/pulseaudio, so the dependency is very small and lightweight, therefore it's really unreasonably to object to just because it has pulseaudio in the USE flag. Meanwhile not having it installed will break the user experience for far more people than the number who care about having a system without the word pulseaudio anywhere in its filesystem. Correction, I was kinda wondering about this, so I did a quick check and turns out I was wrong and it does link against PulseAudio, so while the plugin itself is still just a few average size C files, it does pull in pulseaudio (though it should compile against media-sound/pulseaudio[-daemon]). Is it really not good enough to just turn pipewire-alsa USE flag on and not care that by default it will pull in a package that pulls in PulseAudio? The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb2267c8c9f435c2623e924e3ae2ad4e444642b9 commit bb2267c8c9f435c2623e924e3ae2ad4e444642b9 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-09-16 21:50:15 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-09-16 21:51:36 +0000 media-video/pipewire: add 0.3.36 Bug: https://bugs.gentoo.org/791499 Bug: https://bugs.gentoo.org/813099 Thanks-to: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com> (pointing out the version bug) Signed-off-by: Sam James <sam@gentoo.org> media-video/pipewire/Manifest | 1 + media-video/pipewire/pipewire-9999.ebuild | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d32da171523679474240d62b5dc7be927a6b218 commit 7d32da171523679474240d62b5dc7be927a6b218 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-09-16 21:54:50 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-09-16 21:55:36 +0000 media-video/pipewire: add 0.3.36 Bug: https://bugs.gentoo.org/791499 Bug: https://bugs.gentoo.org/813099 Fixes: bb2267c8c9f435c2623e924e3ae2ad4e444642b9 Signed-off-by: Sam James <sam@gentoo.org> ...pewire-0.3.36-fix-crash-uaf-media-session.patch | 36 +++ .../files/pipewire-0.3.36-fix-version.patch | 25 ++ media-video/pipewire/pipewire-0.3.36.ebuild | 280 +++++++++++++++++++++ media-video/pipewire/pipewire-9999.ebuild | 2 +- 4 files changed, 342 insertions(+), 1 deletion(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=431a2f1ce462c3b915184beac83eb73181fcf2cd commit 431a2f1ce462c3b915184beac83eb73181fcf2cd Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2022-04-30 16:18:09 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-05-01 19:48:53 +0000 media-video/pipewire: Drop alsa-plugins[pulseaudio] blocker Currently alsa-plugins[pulseaudio] installs pulse plugin which is only enabled in alsa lib configuration if plugin can access pulseaudio server in runtime. This is implemented using a runtime conf hook in 51-pulseaudio-probe.conf Alsa lib runtime conf hooks are run after all static configuration is applied. This causes a problem to coexistence of pipewire-alsa and pulse plugin: - normally, pipewire-pulse is enabled which provides pulseaudio server connection to libpulse users - since pulseaudio server is accessible, pulse conf hook will override alsa pcm.!default and ctl.!default to use pulse plugin. To work around this, change pipewire-alsa plugin configuration from static conf to conf hook which will run after pulse conf hook. To make sure user can still override default device, make sure this new conf hook will also load /etc/asound.conf and ~/.asoundrc again like it is done by pulse conf hook. Since pipewire plugin will take precedence now if pipewire-alsa is installed, drop the blocker with media-sound/alsa-plugins[pulseaudio] Closes: https://bugs.gentoo.org/799881 Closes: https://bugs.gentoo.org/791499 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/25269 Signed-off-by: Sam James <sam@gentoo.org> .../pipewire/files/99-pipewire-default-hook.conf | 17 +++++++++++++++++ ...pipewire-0.3.51.ebuild => pipewire-0.3.51-r1.ebuild} | 8 ++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) |