Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2021-07-02 13:26:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pipewire (Old) and /work/SRC/openSUSE:Factory/.pipewire.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire" Fri Jul 2 13:26:41 2021 rev:35 rq:902931 version:0.3.31 Changes: -------- --- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2021-06-25 15:01:16.972147545 +0200 +++ /work/SRC/openSUSE:Factory/.pipewire.new.2625/pipewire.changes 2021-07-02 13:27:08.388912945 +0200 @@ -1,0 +2,100 @@ +Tue Jun 29 06:12:36 UTC 2021 - Antonio Larrosa <alarr...@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 <fcro...@suse.com> + +- Update to 0.3.31: + * Highlights + - Fixes for alsa-lib 1.2.5 + - New pulseaudio modules: module-avahi-zeroconf, + module-pipe-source, module-roc-sink, module-roc-source + - JACK has seen massive stability improvements. Locking + and correctness wrt to callbacks and has been reworked. Also + thread priorities have improved. + - Handle various crashes and lockups when running out of file + descriptors. + - Bluetooth now uses a hardware database to disable + non-working features on listed devices. + - Scheduling quantum and rate can now be changed dynamically + with pw-metadata. + - Many bugfixes and improvements. + * PipeWire + - Improve cleanup of context in error cases. + - There is now a pw-test framework for improved unit tests. + - Improve property serialization to valid JSON. + - Fix some macros to work with better with coverity. + - Metadata permissions are checked now. Clients need the + M permission on an object to be able to set metadata for + it. + - The core metadata object will now remove metadata for + removed objects, the implementor does not need to worry + about that anymore. + - Audioadapter will now follow the rate of the graph with + the resampler adjusting itself dynamically. + - Core now has a metadata implementation helper. A context + will expose a metadata with settings that can be changed + at runtime. This can be used to change the lowlevel or + graph quantum and samplerate on the fly. + - An infinite loop was fixed in the audio converter. + - Handle out-of-fds more gracefully. Handle truncated + control data by dropping the client connection. + - Fix profiler crash with many streams. + - Improve latency handling in pw-filter. There is now a + default handler and a ProcessLatency parameter to simplify + latency reporting. + - Latency reporting was improved in devices and streams. + - And example sink/source was added. + * ALSA + - hardware mute and volume are now properties on the + Route param to make things easier. + - More fixes for alsa-ucm 1.2.5. + * Tools + - spa-json-dump now properly encodes string and keys + - pw-dump now shows the correct subject of the metadata. + * PulseAudio server + - Ensure the node.description is set, some applications + crash otherwise (TeamSpeak). + - Module loading and unloading was improved. + - module-avahi-zeroconf was implemented. + - module-pipe-source was implemented + - module-roc-sink and module-roc-source was implemented + - The maximum amount of connections has been limited to 64, + like pulseaudio. + - Handle out-of-fds more gracefully. + - Fix overflow of read/write pointers. + - source and sink state are now decoupled from the monitor + state and will report IDLE when not playing anything. + * media-session + - Port switching should now happen to/from the port that + actually changed. + * JACK + - The locking was reviewed. All callbacks are not emited + from the PipeWire thread with the lock released and + the process function will be disabled for the duration + of the callback. This ensures that no two callbacks are + called at the same time. + - Improve internal consistency and try to never call callbacks + with invalid objects. + - Monitor port can now be accessed with system:monitor_%d + - client threads are now created with SCHED_FIFO and module-rt + is used to create the other RT threads. This should avoid + SIGKILL from RTKit in some cases. + * Bluetooth + - Various bugfixes to improve connections to devices. + - Handle delayed UUID connection. + - There is now a hardware database that can disable features + in listed devices. + - Use libusb to detect availability of mSBC. + * ALSA + - The virtual device name can now also contain a media role. + +- Add BuildRequires(libusb-1.0) to detect mSBC support for Bluetooth. +- Move media-session to a separate package (similar to Fedora), + allowing to switch to another session manager. + +------------------------------------------------------------------- Old: ---- pipewire-0.3.30+55.obscpio New: ---- pipewire-0.3.31.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pipewire.spec ++++++ --- /var/tmp/diff_new_pack.iwaXCC/_old 2021-07-02 13:27:09.136907142 +0200 +++ /var/tmp/diff_new_pack.iwaXCC/_new 2021-07-02 13:27:09.140907111 +0200 @@ -44,7 +44,7 @@ %bcond_with aptx Name: pipewire -Version: 0.3.30+55 +Version: 0.3.31 Release: 0 Summary: A Multimedia Framework designed to be an audio and video server and more License: MIT @@ -96,6 +96,7 @@ BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(sbc) @@ -107,6 +108,7 @@ BuildRequires: pkgconfig(x11) Requires: %{libpipewire} = %{version} Requires: %{name}-modules = %{version} +Requires: %{name}-session-manager Requires: %{name}-spa-plugins-%{spa_ver_str} = %{version} Requires: %{name}-spa-tools = %{version} Requires: %{name}-tools = %{version} @@ -242,6 +244,16 @@ %description doc This package contains documentation for the PipeWire media server. +%package media-session +Summary: PipeWire Media Session Manager +Group: Development/Libraries/C and C++ +Recommends: %{name} >= %{version}-%{release} +Provides: pipewire-session-manager + +%description media-session +This package contains the reference Media Session Manager for the +PipeWire media server. + %package alsa Summary: PipeWire media server ALSA support Group: Development/Libraries/C and C++ @@ -283,6 +295,7 @@ -Dffmpeg=enabled \ -Dsystemd=enabled \ -Dgstreamer-device-provider=disabled \ + -Droc=disabled \ %if %{with_vulkan} -Dvulkan=enabled \ %else @@ -339,7 +352,7 @@ %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 @@ -350,12 +363,12 @@ 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 @@ -373,10 +386,47 @@ fi %preun -%systemd_user_preun pipewire.service pipewire.socket pipewire-media-session.service +%systemd_user_preun pipewire.service pipewire.socket %postun -%systemd_user_postun pipewire.service pipewire.socket pipewire-media-session.service +%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 + +%postun media-session +%systemd_user_postun pipewire-media-session.service %pre pulseaudio %systemd_user_pre pipewire-pulse.service pipewire-pulse.socket @@ -424,26 +474,31 @@ %files %{_bindir}/pipewire -%{_bindir}/pipewire-media-session %{_userunitdir}/pipewire.service %{_userunitdir}/pipewire.socket -%{_userunitdir}/pipewire-media-session.service %{_mandir}/man1/pipewire.1%{ext_man} %{_mandir}/man5/pipewire.conf.5%{ext_man} - %dir %{_datadir}/pipewire %{_datadir}/pipewire/pipewire.conf %{_datadir}/pipewire/client.conf %{_datadir}/pipewire/client-rt.conf %{_datadir}/pipewire/jack.conf %{_datadir}/pipewire/pipewire-pulse.conf -%dir %{_datadir}/pipewire/media-session.d -%{_datadir}/pipewire/media-session.d/media-session.conf +%ghost %dir %{_localstatedir}/lib/pipewire +%ghost %{_localstatedir}/lib/pipewire/pipewire_post_workaround + +%files media-session +%{_bindir}/pipewire-media-session +%{_userunitdir}/pipewire-media-session.service +%dir %{_datadir}/pipewire/media-session.d/ %{_datadir}/pipewire/media-session.d/alsa-monitor.conf +%{_datadir}/pipewire/media-session.d/bluez-hardware.conf %{_datadir}/pipewire/media-session.d/bluez-monitor.conf +%{_datadir}/pipewire/media-session.d/media-session.conf %{_datadir}/pipewire/media-session.d/v4l2-monitor.conf -%ghost %dir %{_localstatedir}/lib/pipewire -%ghost %{_localstatedir}/lib/pipewire/pipewire_post_workaround +%{_datadir}/pipewire/media-session.d/with-alsa +%{_datadir}/pipewire/media-session.d/with-jack +%{_datadir}/pipewire/media-session.d/with-pulseaudio %files -n %{libpipewire} %license LICENSE COPYING @@ -462,7 +517,6 @@ %{_bindir}/pw-jack %{_mandir}/man1/pw-jack-%{apiver}.1%{ext_man} %{_mandir}/man1/pw-jack.1%{ext_man} -%{_datadir}/pipewire/media-session.d/with-jack %files -n gstreamer-plugin-pipewire %{_libdir}/gstreamer-1.0/libgstpipewire.so @@ -588,7 +642,6 @@ %files pulseaudio %{_bindir}/pipewire-pulse %{_userunitdir}/pipewire-pulse.* -%{_datadir}/pipewire/media-session.d/with-pulseaudio %ghost %{_localstatedir}/lib/pipewire/pipewire-pulseaudio_post_workaround %files alsa @@ -602,7 +655,6 @@ %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf -%{_datadir}/pipewire/media-session.d/with-alsa %files lang -f %{name}.lang ++++++ _service ++++++ --- /var/tmp/diff_new_pack.iwaXCC/_old 2021-07-02 13:27:09.172906863 +0200 +++ /var/tmp/diff_new_pack.iwaXCC/_new 2021-07-02 13:27:09.176906832 +0200 @@ -3,10 +3,8 @@ <service name="obs_scm" mode="disabled"> <param name="scm">git</param> <param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param> - <param name="revision">master</param> - <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> - <param name="versionrewrite-pattern">(.*)\+0</param> - <param name="versionrewrite-replacement">\1</param> + <param name="revision">refs/tags/0.3.31</param> + <param name="versionformat">@PARENT_TAG@</param> </service> <service name="tar" mode="buildtime"/> <service name="recompress" mode="buildtime"> ++++++ pipewire-0.3.30+55.obscpio -> pipewire-0.3.31.obscpio ++++++ /work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.30+55.obscpio /work/SRC/openSUSE:Factory/.pipewire.new.2625/pipewire-0.3.31.obscpio differ: char 49, line 1 ++++++ pipewire.obsinfo ++++++ --- /var/tmp/diff_new_pack.iwaXCC/_old 2021-07-02 13:27:09.240906335 +0200 +++ /var/tmp/diff_new_pack.iwaXCC/_new 2021-07-02 13:27:09.240906335 +0200 @@ -1,5 +1,5 @@ name: pipewire -version: 0.3.30+55 -mtime: 1623317317 -commit: 342ae0b643004e6ddbd64ff9eee414e6a8dfacd2 +version: 0.3.31 +mtime: 1624893688 +commit: 5497d2d907ed8614c2c0b6482ea709cc7314f301