diff --git a/pipewire-0.3.31.tar.xz b/pipewire-0.3.31.tar.xz deleted file mode 100644 index ac4c5a4..0000000 --- a/pipewire-0.3.31.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fce3a14bcba000f00432f1c4214451c2ed10e14241f5fd6b24f7edf712097536 -size 1022352 diff --git a/pipewire.changes b/pipewire.changes index b0d5ca7..6d08d95 100644 --- a/pipewire.changes +++ b/pipewire.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jun 29 06:12:36 UTC 2021 - Antonio Larrosa + +- 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 diff --git a/pipewire.spec b/pipewire.spec index cbf5290..7b05fa9 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -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