Accepting request 902930 from home:alarrosa:branches:multimedia:libs

- Add %pre and %post sections to the new media-session subpackage.
- Move the references to the media-session service from the
  workaround in pipewire's %post section to the workaround in the
  new subpackage's %post section.

OBS-URL: https://build.opensuse.org/request/show/902930
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=8
This commit is contained in:
Antonio Larrosa 2021-06-29 06:27:45 +00:00 committed by Git OBS Bridge
parent 8df9a56919
commit 0e18f5e89d
3 changed files with 44 additions and 8 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fce3a14bcba000f00432f1c4214451c2ed10e14241f5fd6b24f7edf712097536
size 1022352

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Tue Jun 29 06:12:36 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
- Add %pre and %post sections to the new media-session subpackage.
- Move the references to the media-session service from the
workaround in pipewire's %post section to the workaround in the
new subpackage's %post section.
-------------------------------------------------------------------
Mon Jun 28 16:14:29 UTC 2021 - Frederic Crozat <fcrozat@suse.com>

View File

@ -252,7 +252,7 @@ Provides: pipewire-session-manager
%description media-session
This package contains the reference Media Session Manager for the
PipeWire media server.
PipeWire media server.
%package alsa
Summary: PipeWire media server ALSA support
@ -352,7 +352,7 @@ done
%meson_test
%pre
%systemd_user_pre pipewire.service pipewire.socket pipewire-media-session.service
%systemd_user_pre pipewire.service pipewire.socket
%post
# Check if the systemd_user_pre macro generated the file
@ -363,12 +363,12 @@ if [ -f /run/systemd/rpm/needs-user-preset/pipewire.socket ]; then
fi
%systemd_user_post pipewire.service pipewire.socket pipewire-media-session.service
# If the pipewire-media-session user service is not enabled and the workaround
# If the pipewire.socket user unit is not enabled and the workaround
# for boo#1186561 has never been executed, we need to execute it now
if [ ! -L %{_sysconfdir}/systemd/user/pipewire.service.wants/pipewire-media-session.service \
if [ ! -L %{_sysconfdir}/systemd/user/sockets.target.wants/pipewire.socket \
-a ! -f %{_localstatedir}/lib/pipewire/pipewire_post_workaround \
-a -x /usr/bin/systemctl ]; then
for service in pipewire.service pipewire.socket pipewire-media-session.service ; do
for service in pipewire.service pipewire.socket ; do
/usr/bin/systemctl --global preset "$service" || :
done
@ -391,6 +391,37 @@ fi
%postun
%systemd_user_postun pipewire.service pipewire.socket
%pre media-session
%systemd_user_pre pipewire-media-session.service
%post media-session
%systemd_user_post pipewire-media-session.service
# If the pipewire-media-session user service is not enabled and the
# wireplumber user service is not enabled either (since it can replace pipewire-media-session)
# and the workaround for boo#1186561 has never been executed,
# we need to execute it now
if [ ! -L %{_sysconfdir}/systemd/user/pipewire.service.wants/pipewire-media-session.service \
-a ! -L %{_sysconfdir}/systemd/user/pipewire.service.wants/wireplumber.service \
-a ! -f %{_localstatedir}/lib/pipewire/pipewire-media-session_post_workaround \
-a -x /usr/bin/systemctl ]; then
for service in pipewire-media-session.service ; do
/usr/bin/systemctl --global preset "$service" || :
done
mkdir -p %{_localstatedir}/lib/pipewire
cat << EOF > %{_localstatedir}/lib/pipewire/pipewire-media-session_post_workaround
# The existence of this file means that the pipewire user services were
# enabled at least once. Please don't remove this file as that would
# make the services to be enabled again in the next package update.
#
# Check the following bugs for more information:
# https://bugzilla.opensuse.org/show_bug.cgi?id=1184852
# https://bugzilla.opensuse.org/show_bug.cgi?id=1183012
# https://bugzilla.opensuse.org/show_bug.cgi?id=1186561
EOF
fi
%preun media-session
%systemd_user_preun pipewire-media-session.service