wireplumber conflicts with pipewire-media-session & needs fixing

Bug #1977564 reported by Jeremy Bícha
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pipewire-media-session (Debian)
Fix Released
Unknown
pipewire-media-session (Ubuntu)
Fix Released
High
Jeremy Bícha
Jammy
Incomplete
Undecided
Unassigned
wireplumber (Ubuntu)
Fix Released
High
Jeremy Bícha
Jammy
Incomplete
Undecided
Unassigned

Bug Description

Impact
------
Ubuntu 22.04 LTS installs pipewire-media-session by default. If a user attempts to install wireplumber, it will break the pipewire-session-manager systemd user service used by gnome-remote-desktop

Failed to preset unit, file /etc/systemd/user/pipewire-session-manager.service already exists and is a symlink to /usr/lib/systemd/user/pipewire-media-session.service.
Created symlink /etc/systemd/user/pipewire.service.wants/wireplumber.service \u2192 /usr/lib/systemd/user/wireplumber.service.
/usr/bin/deb-systemd-helper: error: systemctl preset failed on wireplumber.service: No such file or directory

More details are needed for whether the broken symlink causes any issues since pipewire appears to still work.

Test Case
---------

What Could Go Wrong
-------------------

Tags: patch kinetic
Jeremy Bícha (jbicha)
Changed in wireplumber (Ubuntu):
status: New → Triaged
importance: Undecided → High
Changed in pipewire-media-session (Ubuntu):
importance: Undecided → High
status: New → Triaged
Changed in pipewire-media-session (Debian):
status: Unknown → Confirmed
Revision history for this message
Rik Mills (rikmills) wrote :

> Is it necessary for wireplumber to conflict with pipewire-media-session?
> Should we add Replaces?

wireplumber already conflicts/replaces pipewire-media-session

It was not shown in the image I posted on IRC, but pipewire-media-session was 'removed' at the start of the apt full-upgrade

Sadly it was removed and NOT purged

Currently in Kubuntu Kinetic it is required to 'apt purge pipewire-media-session' to get things working if you also remove pulseaudio to complete the pipewire switch

Revision history for this message
Rik Mills (rikmills) wrote :

The pipewire-media-session postrm is:

#!/bin/sh
set -e
# Automatically added by dh_installsystemduser/13.7.1ubuntu1
if [ "$1" = "remove" ]; then
 if [ -z "${DPKG_ROOT:-}" ] && [ -x "/usr/bin/deb-systemd-helper" ] ; then
  deb-systemd-helper --user mask 'pipewire-media-session.service' >/dev/null || true
 fi
fi

if [ "$1" = "purge" ]; then
 if [ -z "${DPKG_ROOT:-}" ] && [ -x "/usr/bin/deb-systemd-helper" ] ; then
  deb-systemd-helper --user purge 'pipewire-media-session.service' >/dev/null || true
  deb-systemd-helper --user unmask 'pipewire-media-session.service' >/dev/null || true
 fi
fi
# End automatically added section

Revision history for this message
Jeremy Bícha (jbicha) wrote :

I'm assigning this to me for tracking but I won't be able to look into this more until next week. Sorry.

Changed in wireplumber (Ubuntu):
assignee: nobody → Jeremy Bicha (jbicha)
Changed in ubuntu-meta (Ubuntu):
assignee: nobody → Jeremy Bicha (jbicha)
Changed in pipewire-media-session (Ubuntu):
assignee: nobody → Jeremy Bicha (jbicha)
Revision history for this message
Dylan Aïssi (daissi) wrote :

Basically, pipewire-pulse.service wants pipewire-session-manager.service.
pipewire-session-manager.service is an alias from both wireplumber.service and pipewire-media-session.service.
To avoid this conflict, we need to remove pipewire-media-session.service during the remove step of the package, not only at the purge step.

I am thinking about applying this fix. And a similar patch for wireplumber, just in case a user wants to move from wireplumber to pipewire-media-session for whatever reason.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "0001-Remove-pipewire-media-session.service-when-the-packa.patch" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Dylan, thank you very much for your patch. I'm going to go ahead and upload pipewire-media-session and wireplumber to Ubuntu 22.10 now. Please see the attached patch also to apply on top of your patch.

After this issue is fixed in Debian, I need to backport the fix to Ubuntu 22.04 LTS since some people will attempt to switch to and away from pipewire there.

Changed in wireplumber (Ubuntu):
status: Triaged → Fix Committed
Changed in ubuntu-meta (Ubuntu):
status: Triaged → Fix Committed
Changed in pipewire-media-session (Ubuntu):
status: Triaged → Fix Committed
Jeremy Bícha (jbicha)
tags: removed: block-proposed rls-kk-incoming
tags: added: block-proposed
Jeremy Bícha (jbicha)
tags: removed: block-proposed
no longer affects: ubuntu-meta (Ubuntu)
Jeremy Bícha (jbicha)
description: updated
Changed in pipewire-media-session (Ubuntu Jammy):
status: New → Incomplete
Changed in wireplumber (Ubuntu Jammy):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pipewire-media-session - 0.4.1-3ubuntu1

---------------
pipewire-media-session (0.4.1-3ubuntu1) kinetic; urgency=medium

  [ Dylan Aïssi ]
  * Remove pipewire-media-session.service when the package is removed,
    not only when it is purged to avoid conflict with wireplumber.
    See https://bugs.debian.org/997818 (LP: #1977564)

  [ Jeremy Bicha ]
  * debian/postrm: Don't forget to add #DEBHELPER#

 -- Jeremy Bicha <email address hidden> Thu, 16 Jun 2022 13:53:47 -0400

Changed in pipewire-media-session (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package wireplumber - 0.4.10-2ubuntu1

---------------
wireplumber (0.4.10-2ubuntu1) kinetic; urgency=medium

  * Remove wireplumber.service when the package is removed,
    not only when it is purged to avoid conflict with pipewire-media-session.
    See https://bugs.debian.org/997818 (LP: #1977564)

 -- Jeremy Bicha <email address hidden> Thu, 16 Jun 2022 12:18:29 -0400

Changed in wireplumber (Ubuntu):
status: Fix Committed → Fix Released
Changed in pipewire-media-session (Debian):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.