[Pkg-utopia-maintainers] Bug#1050498: pipewire-pulse systemd service not restarted despite dpkg upgrade of all pipewire packages

Dylan Aïssi bob.dybian at gmail.com
Tue Aug 29 17:15:35 BST 2023


Hi Boud,

Le mar. 29 août 2023 à 00:27, Boud Roukema <bouddebbug at cosmo.torun.pl> a écrit :
>
> PROPOSAL (1):
>
> Should the user be informed when doing the system upgrade? More specifically,
> would a one-line warning to the user be considered acceptable, as a post-install
> script? E.g. something like:
>
> "Please recommend that users restart all scripts running pipewire (such as pipewire, pipewire-pulse)"

This is a discouraged behavior. Pipewire is updated every ~ two weeks, if
it displays messages for each update that will annoy people and I will receive
a wave of complaints to disable it.

> PROPOSAL (2):
>
> Add the following file (under the default licence for pipewire - Expat - no
> need to complicate the licensing further):
>
> cat > debian/pipewire-pulse.README.Debian << EOF
> Relation to pipewire and upgrades
> =================================
>
> The pipewire-pulse systemd service runs independently of the pipewire
> service. Both run as user services and are not restarted when a
> system-level upgrade is performed by the root user. If you wish to
> check that you restart pipewire-pulse whenever the pipewire is
> upgraded using dpkg or apt, then consider using either
> "checkrestart" in the "debian-goodies" package [1] or "needrestart" [2].
> These need to be run as root user, but aim to check for both
> system and user services that need restarting.
>
> [1] https://tracker.debian.org/pkg/debian-goodies
> [2] https://tracker.debian.org/pkg/needrestart
> EOF

This would be possible but as you said pipewire-pulse is not the only
user service here that means we should do the same for all other
packages providing a user service. Looks like a waste of resources
as it is the expected behavior.

> PROPOSAL (3)
> Add the following file for the overall pipewire documentation:
>
> cat >> debian/pipewire.README.Debian << EOF
>
>
> After upgrading pipewire
> ========================
>
> A system-level upgrade of pipewire will not automatically restart all
> pipewire-related services. After an upgrade of pipewire, you may check
> the output of "pw-dump" to see if you forgot to restart some services,
> e.g.
>
>    $ pw-dump |grep -nE "core\.(version|name)|process\.binary"
>
> or you may use "checkrestart" [1] or "needrestart" [2] with
> sudo or as root user.
>
> [1] https://tracker.debian.org/pkg/debian-goodies
> [2] https://tracker.debian.org/pkg/needrestart
> EOF

This proposal seems more appropriate :-) merge requests to improve this
file are more than welcome :-P here is the git repo:
https://salsa.debian.org/utopia-team/pipewire
I also want to mention our pipewire wiki page:
https://wiki.debian.org/PipeWire
if you consider it lacks some information then edits are also welcome :-).

> Independent of proposals (1) + (2) + (3), the 'pw-dump'
> output gives me the feeling that restarting pipewire
> should force the restart of all the related services - but
> I don't know how well they are expected to work together
> when according to pw-dump they are using inconsistent
> pipewire versions.

As the interactions between all these components is complex,
the safest way is to restart your device after an update of pipewire.
Or eventually you can try to only close your session and then
reopen a new one to restart user services.

The upstream wiki [1] provides the following command to restart pw/wp
services, but before filling a new bug, I would at least try to restart
my device anyway.

systemctl --user restart wireplumber pipewire pipewire-pulse

[1] https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting

Best  regards,
Dylan



More information about the Pkg-utopia-maintainers mailing list