Bug 29286 - pipewire-pulseaudio installation tries to uninstall lots of packages including plasma-desktop
Summary: pipewire-pulseaudio installation tries to uninstall lots of packages includin...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal critical
Target Milestone: ---
Assignee: Neal Gompa
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-24 17:44 CEST by Barry Jackson
Modified: 2022-03-16 17:49 CET (History)
4 users (show)

See Also:
Source RPM: pipewire-pulseaudio-0.3.32-1.mga9.x86_64
CVE:
Status comment:


Attachments
urpmi --test --debug output (50.25 KB, text/plain)
2021-07-24 17:48 CEST, Barry Jackson
Details
Spec patch (853 bytes, patch)
2021-07-26 00:52 CEST, Barry Jackson
Details | Diff

Description Barry Jackson 2021-07-24 17:44:36 CEST
Description of problem: As summary.
urpmi output to be attached below.


Version-Release number of selected component (if applicable):
pipewire-pulseaudio-0.3.32-1.mga9.x86_64

How reproducible:


Steps to Reproduce:
1.
2.
3.
Comment 1 Barry Jackson 2021-07-24 17:48:35 CEST
Created attachment 12873 [details]
urpmi --test --debug output
Comment 2 Aurelien Oudelet 2021-07-25 18:32:49 CEST
Cauldron change.

Assigning to package maintainer for advice.

CC: (none) => ouaurelien
Assignee: bugsquad => thierry.vignaud

Comment 3 Barry Jackson 2021-07-25 19:51:28 CEST
The final fail statement in the log is:

Installation failed:    pipewire >= 0.2.90 is needed by (installed) xdg-desktop-portal-1.8.1-1.mga9.x86_64

However pipewire-0.3.32-1.mga9.tainted is already installed.

Are tainted packages being properly considered by urpmi?

I have tested in two (plasma) cauldron systems (real and VM) and hit the same issue.
Comment 4 Dave Hodgins 2021-07-25 20:31:02 CEST
From the log ... The following packages have to be removed for others to be upgraded:
pipewire-0.3.32-1.mga9.tainted.x86_64
 (due to missing libpulse.so.0(PULSE_0)(64bit),
  due to missing libpulse.so.0()(64bit))

So the problem appears to be pipewire requiring libs from pulseaudio

CC: (none) => davidwhodgins

Comment 5 Barry Jackson 2021-07-26 00:19:04 CEST
Thanks Dave,
I have taken a look at the change in pipewire requires between Mga8 (0.3.19) and Mga9 (0.3.32)

Sorted and duplicates removed:

--- pipewire_requires_mageia_8 (0.3.19)
+++ pipewire_requires_mageia_9 (0.3.32)
-config(pipewire)
+libavahi-client.so.3
+libavahi-common.so.3
+libbluetooth.so.3
+libc.so.6
+libdl.so.2
+libfdk-aac.so.2
+libgcc_s.so.1
-libjack.so.0
-libncurses.so.6
+libpthread.so.0
+libpulse.so.0
+libstdc++.so.6
-libtinfo.so.6
+libusb-1.0.so.0
+libwebrtc_audio_processing.so.1
+pipewire-session-manager

However this looks critical:
plasma-pa-5.21.5-1.mga9.x86_64
 (due to missing libpulse.so.0(PULSE_0)(64bit),pulseaudio-14.2-4.mga9.x86_64
 (due to conflicts with pipewire-pulseaudio-0.3.32-1.mga9.tainted.x86_64)
Comment 6 Barry Jackson 2021-07-26 00:39:39 CEST
This in pipewire spec seems to be the cause:

%package pulseaudio
Summary:        PipeWire PulseAudio implementation
License:        MIT
Recommends:     %{name}%{?_isa} = %{version}-%{release}
Requires:       %{libname}%{?_isa} = %{version}-%{release}
BuildRequires:  %{mklibname pulseaudio 0}
Conflicts:      pulseaudio                        <<############
# Fixed pulseaudio subpackages
Conflicts:      %{name}-libpulse < 0.3.13-6
Conflicts:      %{name}-pulseaudio < 0.3.13-6

There is is an unversioned conflict in pipewire_pulseaudio sub-package.
Removing this and re-building pipewire allows a clean install.

[root@localhost baz]# urpmi pipewire-pulseaudio
To satisfy dependencies, the following packages are going to be installed:
  Package                        Version      Release       Arch    
(medium "Extra Release")
  lib64pipewire0.3_0             0.3.32       1.1.mga9_bcj  x86_64  
  pipewire                       0.3.32       1.1.mga9_bcj  x86_64  
  pipewire-pulseaudio            0.3.32       1.1.mga9_bcj  x86_64  
1.4KB of disk space will be freed.
1.2MB of packages will be retrieved.
Proceed with the installation of the 3 packages? (Y/n) y


The following packages have bad signatures:
/var/cache/urpmi/rpms/lib64pipewire0.3_0-0.3.32-1.1.mga9_bcj.x86_64.rpm: Medium without key (OK ((none)))
/var/cache/urpmi/rpms/pipewire-0.3.32-1.1.mga9_bcj.x86_64.rpm: Medium without key (OK ((none)))
/var/cache/urpmi/rpms/pipewire-pulseaudio-0.3.32-1.1.mga9_bcj.x86_64.rpm: Medium without key (OK ((none)))
Do you want to continue installation ? (y/N) y
installing lib64pipewire0.3_0-0.3.32-1.1.mga9_bcj.x86_64.rpm pipewire-pulseaudio-0.3.32-1.1.mga9_bcj.x86_64.rpm pipewire-0.3.32-1.1.mga9_bcj.x86_64.rpm from /var/cache/urpmi/rpms
Preparing...                     #########################################################################################################################
      1/3: pipewire              #########################################################################################################################
      2/3: lib64pipewire0.3_0    #########################################################################################################################
      3/3: pipewire-pulseaudio   #########################################################################################################################
Created symlink /etc/systemd/user/sockets.target.wants/pipewire-pulse.socket → /usr/lib/systemd/user/pipewire-pulse.socket.
      1/2: removing lib64pipewire0.3_0-0.3.32-1.mga9.tainted.x86_64
                                 #########################################################################################################################
      2/2: removing pipewire-0.3.32-1.mga9.tainted.x86_64
                                 #########################################################################################################################
[root@localhost baz]#

I did not build it against tainted repo but it installed OK.
Comment 7 Barry Jackson 2021-07-26 00:52:37 CEST
Created attachment 12875 [details]
Spec patch
Comment 8 Barry Jackson 2021-07-26 12:02:30 CEST
@Thierry
If you are happy with the above change, please advise and I can push it.
Comment 9 Barry Jackson 2021-08-24 01:15:12 CEST
I see the pipewire package was updated on Friday but this is still the same.

Bumping this to critical as without this package AFAICT we can't test pipewire in cauldron.

Severity: major => critical

Comment 10 Neal Gompa 2021-08-24 03:38:34 CEST
The problem is that nobody copied the work done in Fedora to make PulseAudio and PipeWire-PA swappable. I will fix it, since I implemented this in Fedora originally and know how to do it.

CC: (none) => ngompa13
Assignee: thierry.vignaud => ngompa13

Comment 11 Barry Jackson 2021-12-01 21:47:00 CET
Any news on this?
Comment 12 Dave Hodgins 2021-12-01 23:01:38 CET
Adding Thierry to the cc list as the registered maintainer for pipewire

CC: (none) => thierry.vignaud

Comment 13 Barry Jackson 2022-03-15 00:58:50 CET
This is much improved in cauldron.

Thanks Thierry.

I have now managed to get sound to work using pipewire-pulseaudio in a cauldron VM for the first time tonight!

I have submitted easyeffects which provides a comprehensive equaliser and much more for pipewire. 
Pulseffects, although development has stopped should still work if pulseaudio is retained.

This was very useful in finally getting it set up:
https://wiki.debian.org/PipeWire

As far as this bug is concerned the packages that were removed on installation of pipewire-pulseaudio were:

The following packages have to be removed for others to be upgraded:
paprefs-1.2-1.mga9.x86_64
 (due to unsatisfied pulseaudio-module-gsettings >= 12.2-3.mga7)
pavucontrol-4.0-4.mga9.x86_64
 (due to missing pulseaudio)
pulseaudio-15.0-3.mga9.x86_64
 (due to conflicts with pulseaudio-daemon)
pulseaudio-module-gsettings-15.0-3.mga9.x86_64
 (due to unsatisfied pulseaudio(x86-64) == 15.0-3.mga9)
pulseaudio-module-x11-15.0-3.mga9.x86_64
 (due to missing libprotocol-native.so()(64bit),
  due to unsatisfied pulseaudio == 15.0-3.mga9)
pulseaudio-module-zeroconf-15.0-3.mga9.x86_64
 (due to missing libprotocol-native.so()(64bit),
  due to unsatisfied pulseaudio == 15.0-3.mga9)
task-pulseaudio-2018.0-2.mga8.noarch
 (due to missing pulseaudio,
  due to missing pulseaudio-module-x11,
  due to missing paprefs)

I allowed those to be removed and after enabling the systemd units etc. with help from the Debian link above, sound was restored. :)

'Pulseaudio volume control' is still available in the menu as it was with PA and the plasma5 panel audio widget still behaves as it did in pulseaudio.

I think this can be closed but will let Thierry comment first. ;)
Comment 14 Thierry Vignaud 2022-03-16 17:49:21 CET
Yes it can be closed

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.