Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 935139 - media-video/pipewire-1.2.0 - failed to emerge - file collision
Summary: media-video/pipewire-1.2.0 - failed to emerge - file collision
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Sam James
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-29 14:36 UTC by Leonid Kopylov
Modified: 2024-07-01 08:19 UTC (History)
2 users (show)

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


Attachments
build.log.xz (build.log.xz,58.07 KB, application/x-xz)
2024-06-29 14:37 UTC, Leonid Kopylov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2024-06-29 14:36:47 UTC
# emerge -pvq =media-video/pipewire-1.2.0
[ebuild     U ] media-video/pipewire-1.2.0 [1.0.7] USE="X bluetooth dbus doc echo-cancel extra ffmpeg flatpak gsettings gstreamer jack-client liblc3 lv2 man readline roc ssl systemd v4l zeroconf -ieee1394 -jack-sdk -modemmanager -pipewire-alsa (-selinux) -sound-server (-system-service) -test" ABI_X86="32 (64) (-x32)"
Comment 1 Leonid Kopylov 2024-06-29 14:37:24 UTC
Created attachment 896626 [details]
build.log.xz
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-06-29 14:43:12 UTC
Ah, yeah. We should conditionalise it on USE=sound-server.
Comment 3 Eli Schwartz gentoo-dev 2024-06-30 16:06:12 UTC
Upstream commit implementing an option whether to install this conflicting file:

https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/bd87902da6a2badae096e4679eedfe9da2e75d79

The builtin default is

       type: 'feature',
       value: 'auto')


and the file is only installed based on:

  if get_option('gsettings-pulse-schema').enabled()


So you should have to explicitly pass =enabled to install it, which we don't do and which isn't in your log.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-06-30 17:17:36 UTC
Did you look at the wrong part of the log? Remember that it's multilib.

> -Dgsettings=enabled -Dgsettings-pulse-schema=enabled
Comment 5 Eli Schwartz gentoo-dev 2024-06-30 17:24:11 UTC
I thought I grepped the whole thing...
Comment 6 Eli Schwartz gentoo-dev 2024-06-30 17:50:32 UTC
Fun.
Comment 7 Eli Schwartz gentoo-dev 2024-06-30 21:05:17 UTC
Okay, I am now able to reproduce this locally via USE="gsettings bluetooth". Patch accepted upstream to break the accidental USE=gsettings overwriting by USE=-bluetooth.

Fixing the file conflict is a bit messy since there's no query function to check when two USE flags are set together.
Comment 8 Larry the Git Cow gentoo-dev 2024-07-01 08:19:57 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f91e6697fba4b081fff1cc188040c34aee59ea58

commit f91e6697fba4b081fff1cc188040c34aee59ea58
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2024-06-30 15:36:54 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-07-01 08:19:12 +0000

    media-video/pipewire: fix file conflicts with pulseaudio-daemon
    
    We don't *have* to be replacing it as the sound server, that's why a USE
    flag exists for precisely that. But pipewire 1.2.0+ offers to install
    files from pulseaudio-daemon on the theory it can be replacing it...
    which means we need to tell it not to do so when USE="-sound-server".
    
    Previously, we installed this whenever gsettings was enabled, even
    though its purpose was to enable API usage independent of being the main
    sound server.
    
    Closes: https://bugs.gentoo.org/935139
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 media-video/pipewire/pipewire-1.2.0.ebuild | 11 ++++++++++-
 media-video/pipewire/pipewire-9999.ebuild  | 11 ++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b30d06275a07b58afce9912aafaa86d28bd5985e

commit b30d06275a07b58afce9912aafaa86d28bd5985e
Author:     Eli Schwartz <eschwartz93@gmail.com>
AuthorDate: 2024-06-30 20:33:56 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-07-01 08:19:13 +0000

    media-video/pipewire: fix automagic USE=gsettings when USE=bluetooth
    
    And the reverse. If USE="-bluetooth", the gsettings detection gets reset
    to not-found.
    
    Bug: https://bugs.gentoo.org/935139
    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 .../files/pipewire-1.0.7-automagic-gsettings.patch | 80 ++++++++++++++++++++++
 .../files/pipewire-1.2.0-automagic-gsettings.patch | 79 +++++++++++++++++++++
 media-video/pipewire/pipewire-1.0.7.ebuild         |  2 +
 media-video/pipewire/pipewire-1.2.0.ebuild         |  2 +
 4 files changed, 163 insertions(+)