Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2022-02-04 00:45:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pipewire (Old) and /work/SRC/openSUSE:Factory/.pipewire.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire" Fri Feb 4 00:45:53 2022 rev:50 rq:950944 version:0.3.45 Changes: -------- --- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2022-01-29 21:01:38.270853226 +0100 +++ /work/SRC/openSUSE:Factory/.pipewire.new.1898/pipewire.changes 2022-02-04 00:46:16.197132797 +0100 @@ -1,0 +2,77 @@ +Thu Feb 3 11:56:13 UTC 2022 - Antonio Larrosa <alarr...@suse.com> + +- Update to version 0.3.45: + * Highlights + - Zoom, telegram and other apps should be able to play sound + again. + - Implement a better way to force and lock JACK buffersize. + - Default sink and source names and properties are improved. + - The config loader can now load and merge fragments in conf.d + directories for easier user configuration of config files. + - Many small bug fixes and improvements. + * PipeWire + - pw-cli can now also send Commands to nodes. This can be used + to Suspend a device, for example. + - The eventfd was removed from loops and invoke is now used to + stop the loop, this saves an fd. + - New Alpine CI target to test musl builds, various build + fixes. + - Add force-quantum and force-rate properties. + - The config loader can now load and merge fragments in conf.d + directories. (#207) + - resource error methods can be called without a resource and + then just log an error message. + - link-factory can now also work from the config. (#2095) + * modules + - module-simple-protocol has better argument parsing and can + handle channelmap now. (#2068) It's also possible to + configure latency and rate. + - The native protocol now does extra checks for invalid data. + (#2070) + * ALSA + - TI2902 chips as found in various Behringer cards should have + inputs again. + - Better handling of busy devices in udev, retry when the + inotify close event is emited. + * SPA + - plugins now handle alignment properly and only expect the max + alignment required for the CPU. (#2074) + * Bluetooth + - SBC-XQ is now enabled for the JBL Endurance RUN BT headset. + - Support for non-hexadecimal XAPL version strings to improve + compatibility. + - Use HCI commands again to probe the adapter msbc capability. + This improves compatibility with some adapters. (#2030) + - Set the right startup volume. + - Better A2DP source idle handling. + - Fix a timer bug in SCO sink that could cause busy looping. + * pulse-server + - A playback issue when the tlength > maxlength was fixed. + (#2069) This affected Zoom and other applications. + - The STREAM_BUFFER_ATTR command is now implemented. + - Module names are improved. (#2076) + - Many small fixes and improvements. + - Fix a pavucontrol crash with invalid channels. (#1442) + * JACK + - Use the new force-quantum and force-rate properties in the + JACK API to switch quantum and ensure it can't change for + the lifetime of the JACK app. (#2079) +- Rebase patch: + * reduce-meson-dependency.patch + +------------------------------------------------------------------- +Tue Feb 1 14:23:13 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- pipewire should be a true dependency, not just recommended (e.g., + so that any setup that use no-recommends, like MicroOS, also work) + +------------------------------------------------------------------- +Thu Jan 27 14:04:28 UTC 2022 - Antonio Larrosa <alarr...@suse.com> + +- Add patch to reduce the meson requirement so we can build + pipewire with Leap 15.3. This will be dropped as soon as + Leap 15.4 is released or if it becomes too hard to maintain + (whatever happens before): + * reduce-meson-dependency.patch + +------------------------------------------------------------------- Old: ---- pipewire-0.3.44.obscpio New: ---- pipewire-0.3.45.obscpio reduce-meson-dependency.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pipewire.spec ++++++ --- /var/tmp/diff_new_pack.BY32hU/_old 2022-02-04 00:46:16.945127325 +0100 +++ /var/tmp/diff_new_pack.BY32hU/_new 2022-02-04 00:46:16.949127295 +0100 @@ -53,7 +53,7 @@ %endif Name: pipewire -Version: 0.3.44 +Version: 0.3.45 Release: 0 Summary: A Multimedia Framework designed to be an audio and video server and more License: MIT @@ -61,6 +61,7 @@ URL: https://pipewire.org/ Source0: %{name}-%{version}.tar.xz Source99: baselibs.conf +Patch0: reduce-meson-dependency.patch BuildRequires: docutils BuildRequires: doxygen BuildRequires: fdupes @@ -70,7 +71,11 @@ %endif BuildRequires: gcc-c++ BuildRequires: graphviz +%if 0%{?sle_version} == 150300 +BuildRequires: meson >= 0.54.0 +%else BuildRequires: meson >= 0.59.0 +%endif BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(alsa) >= 1.1.7 @@ -300,8 +305,8 @@ %package pulseaudio Summary: PipeWire PulseAudio implementation Group: Development/Libraries/C and C++ -Recommends: %{name} >= %{version}-%{release} Requires: %{libpipewire} >= %{version}-%{release} +Requires: %{name} >= %{version}-%{release} Conflicts: pulseaudio %if 0%{suse_version} >= 1550 Requires(post): pulseaudio-setup @@ -320,7 +325,10 @@ %lang_package %prep -%autosetup -p1 +%autosetup -N +%if 0%{?sle_version} == 150300 +%patch0 -p1 +%endif %build %if %{pkg_vcmp gcc < 8} @@ -333,6 +341,7 @@ -Dgstreamer=enabled \ -Dffmpeg=enabled \ -Dsystemd=enabled \ + -Dsystemd-user-unit-dir=%{_userunitdir} \ -Dgstreamer-device-provider=disabled \ -Droc=disabled \ %if %{with_vulkan} ++++++ _service ++++++ --- /var/tmp/diff_new_pack.BY32hU/_old 2022-02-04 00:46:16.985127032 +0100 +++ /var/tmp/diff_new_pack.BY32hU/_new 2022-02-04 00:46:16.989127003 +0100 @@ -3,7 +3,7 @@ <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">refs/tags/0.3.44</param> + <param name="revision">refs/tags/0.3.45</param> <param name="versionformat">@PARENT_TAG@</param> <!-- <param name="revision">master</param> <param name="versionformat">@PARENT_TAG@+git%cd.%h</param> ++++++ pipewire-0.3.44.obscpio -> pipewire-0.3.45.obscpio ++++++ /work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.44.obscpio /work/SRC/openSUSE:Factory/.pipewire.new.1898/pipewire-0.3.45.obscpio differ: char 50, line 1 ++++++ pipewire.obsinfo ++++++ --- /var/tmp/diff_new_pack.BY32hU/_old 2022-02-04 00:46:17.045126594 +0100 +++ /var/tmp/diff_new_pack.BY32hU/_new 2022-02-04 00:46:17.049126564 +0100 @@ -1,5 +1,5 @@ name: pipewire -version: 0.3.44 -mtime: 1643275073 -commit: c4ca245b24071c33b1d131e131cf1ebc5fb64f2e +version: 0.3.45 +mtime: 1643887464 +commit: bdd407fe66cc9e46d4bc4dcc989d50679000482b ++++++ reduce-meson-dependency.patch ++++++ Index: pipewire-0.3.44/meson.build =================================================================== --- pipewire-0.3.44.orig/meson.build +++ pipewire-0.3.44/meson.build @@ -1,7 +1,7 @@ project('pipewire', ['c' ], version : '0.3.45', license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ], - meson_version : '>= 0.59.0', + meson_version : '>= 0.54.0', default_options : [ 'warning_level=3', 'c_std=gnu99', 'cpp_std=c++17', @@ -304,8 +304,8 @@ includes_inc = include_directories('incl pipewire_inc = include_directories('src') makedata = configuration_data() -makedata.set('BUILD_ROOT', meson.project_build_root()) -makedata.set('SOURCE_ROOT', meson.project_source_root()) +makedata.set('BUILD_ROOT', meson.build_root()) +makedata.set('SOURCE_ROOT', meson.source_root()) makedata.set('VERSION', pipewire_version) if version_arr.length() == 4 makedata.set('TAG', 'HEAD') @@ -509,20 +509,20 @@ endif setenv = find_program('pw-uninstalled.sh') run_target('pw-uninstalled', command : [setenv, - '-b@0@'.format(meson.project_build_root()), + '-b@0@'.format(meson.build_root()), '-v@0@'.format(pipewire_version)] ) devenv = environment() -builddir = meson.project_build_root() -srcdir = meson.project_source_root() +builddir = meson.build_root() +srcdir = meson.source_root() -devenv.set('PIPEWIRE_CONFIG_DIR', pipewire_dep.get_variable('confdatadir')) -devenv.set('PIPEWIRE_MODULE_DIR', pipewire_dep.get_variable('moduledir')) +devenv.set('PIPEWIRE_CONFIG_DIR', pipewire_dep.get_variable(internal: 'confdatadir')) +devenv.set('PIPEWIRE_MODULE_DIR', pipewire_dep.get_variable(internal: 'moduledir')) -devenv.set('SPA_PLUGIN_DIR', spa_dep.get_variable('plugindir')) -devenv.set('SPA_DATA_DIR', spa_dep.get_variable('datadir')) +devenv.set('SPA_PLUGIN_DIR', spa_dep.get_variable(internal: 'plugindir')) +devenv.set('SPA_DATA_DIR', spa_dep.get_variable(internal: 'datadir')) devenv.set('GST_PLUGIN_PATH', builddir / 'src'/ 'gst') @@ -534,4 +534,6 @@ devenv.set('LD_LIBRARY_PATH', builddir / devenv.set('PW_UNINSTALLED', '1') -meson.add_devenv(devenv) +if meson.version().version_compare('>=0.58.0') + meson.add_devenv(devenv) +endif Index: pipewire-0.3.44/spa/plugins/audioconvert/meson.build =================================================================== --- pipewire-0.3.44.orig/spa/plugins/audioconvert/meson.build +++ pipewire-0.3.44/spa/plugins/audioconvert/meson.build @@ -140,7 +140,7 @@ foreach a : test_apps install : installed_tests_enabled, install_dir : installed_tests_execdir / 'audioconvert'), env : [ - 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')), + 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')), ]) if installed_tests_enabled @@ -170,7 +170,7 @@ foreach a : benchmark_apps install : installed_tests_enabled, install_dir : installed_tests_execdir / 'audioconvert'), env : [ - 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')), + 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')), ]) if installed_tests_enabled Index: pipewire-0.3.44/spa/tests/meson.build =================================================================== --- pipewire-0.3.44.orig/spa/tests/meson.build +++ pipewire-0.3.44/spa/tests/meson.build @@ -5,7 +5,7 @@ find = find_program('find', required: fa summary({'find (for header testing)': find.found()}, bool_yn: true, section: 'Optional programs') if find.found() spa_headers = run_command(find, - meson.project_source_root() / 'spa' / 'include', + meson.source_root() / 'spa' / 'include', '-name', '*.h', '-not', '-name', 'type-info.h', '-type', 'f', @@ -41,7 +41,7 @@ foreach a : benchmark_apps install_dir : installed_tests_execdir, ), env : [ - 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')), + 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')), ] ) Index: pipewire-0.3.44/src/daemon/meson.build =================================================================== --- pipewire-0.3.44.orig/src/daemon/meson.build +++ pipewire-0.3.44/src/daemon/meson.build @@ -18,9 +18,9 @@ conf_config.set('pulse_comment', '#') conf_config_uninstalled = conf_config conf_config_uninstalled.set('pipewire_path', - meson.project_build_root() / 'src' / 'daemon' / 'pipewire') + meson.build_root() / 'src' / 'daemon' / 'pipewire') conf_config_uninstalled.set('pipewire_pulse_path', - meson.project_build_root() / 'src' / 'daemon' / 'pipewire-pulse') + meson.build_root() / 'src' / 'daemon' / 'pipewire-pulse') conf_config_uninstalled.set('pulse_comment', '') build_ms = 'media-session' in get_option('session-managers') @@ -106,7 +106,7 @@ custom_target('pipewire-uninstalled', install: false, input: pipewire_exec, output: 'pipewire-uninstalled', - command: [ln, '-fs', meson.project_build_root() + '/@INPUT@', '@OUTPUT@'], + command: [ln, '-fs', meson.build_root() + '/@INPUT@', '@OUTPUT@'], ) #desktop_file = i18n.merge_file( Index: pipewire-0.3.44/src/daemon/systemd/user/meson.build =================================================================== --- pipewire-0.3.44.orig/src/daemon/systemd/user/meson.build +++ pipewire-0.3.44/src/daemon/systemd/user/meson.build @@ -1,4 +1,4 @@ -systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix]) +#systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix]) if get_option('systemd-user-unit-dir') != '' systemd_user_services_dir = get_option('systemd-user-unit-dir') endif Index: pipewire-0.3.44/src/modules/meson.build =================================================================== --- pipewire-0.3.44.orig/src/modules/meson.build +++ pipewire-0.3.44/src/modules/meson.build @@ -368,9 +368,9 @@ test('pw-test-protocol-native', install_dir : installed_tests_execdir, ), env : [ - 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')), - 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')), - 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')), + 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')), + 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'confdatadir')), + 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'moduledir')), ] ) Index: pipewire-0.3.44/src/tests/meson.build =================================================================== --- pipewire-0.3.44.orig/src/tests/meson.build +++ pipewire-0.3.44/src/tests/meson.build @@ -13,9 +13,9 @@ foreach a : test_apps install : installed_tests_enabled, install_dir : installed_tests_execdir), env : [ - 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')), - 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')), - 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')), + 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')), + 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'confdatadir')), + 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'moduledir')), ]) if installed_tests_enabled Index: pipewire-0.3.44/test/meson.build =================================================================== --- pipewire-0.3.44.orig/test/meson.build +++ pipewire-0.3.44/test/meson.build @@ -14,8 +14,8 @@ pwtest_deps = [ ] pwtest_c_args = [ - '-DBUILD_ROOT="@0@"'.format(meson.project_build_root()), - '-DSOURCE_ROOT="@0@"'.format(meson.project_source_root()), + '-DBUILD_ROOT="@0@"'.format(meson.build_root()), + '-DSOURCE_ROOT="@0@"'.format(meson.source_root()), ] pwtest_inc = [ Index: pipewire-0.3.44/doc/meson.build =================================================================== --- pipewire-0.3.44.orig/doc/meson.build +++ pipewire-0.3.44/doc/meson.build @@ -1,8 +1,8 @@ doxyfile_conf = configuration_data() doxyfile_conf.set('PACKAGE_NAME', meson.project_name()) doxyfile_conf.set('PACKAGE_VERSION', meson.project_version()) -doxyfile_conf.set('top_srcdir', meson.project_source_root()) -doxyfile_conf.set('top_builddir', meson.project_build_root()) +doxyfile_conf.set('top_srcdir', meson.source_root()) +doxyfile_conf.set('top_builddir', meson.build_root()) dot_found = find_program('dot', required: false).found() summary({'dot (used with doxygen)': dot_found}, bool_yn: true, section: 'Optional programs') @@ -48,35 +48,35 @@ extra_docs = [ inputs = [] foreach extra : extra_docs - inputs += meson.project_source_root() / 'doc' / extra + inputs += meson.source_root() / 'doc' / extra endforeach foreach h : pipewire_headers - inputs += meson.project_source_root() / 'src' / 'pipewire' / h + inputs += meson.source_root() / 'src' / 'pipewire' / h endforeach foreach h : pipewire_ext_headers - inputs += meson.project_source_root() / 'src' / 'pipewire' / 'extensions' / h + inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h endforeach foreach h : pipewire_ext_sm_headers - inputs += meson.project_source_root() / 'src' / 'pipewire' / 'extensions' / h + inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h endforeach foreach h : pipewire_sources - inputs += meson.project_source_root() / 'src' / 'pipewire' / h + inputs += meson.source_root() / 'src' / 'pipewire' / h endforeach foreach h : module_sources - inputs += meson.project_source_root() / 'src' / 'modules' / h + inputs += meson.source_root() / 'src' / 'modules' / h endforeach -inputs += meson.project_source_root() / 'test' / 'pwtest.h' -input_dirs = [ meson.project_source_root() / 'spa' / 'include' / 'spa' ] +inputs += meson.source_root() / 'test' / 'pwtest.h' +input_dirs = [ meson.source_root() / 'spa' / 'include' / 'spa' ] path_prefixes = [ - meson.project_source_root() / 'src', - meson.project_source_root() / 'spa' / 'include', - meson.project_source_root(), + meson.source_root() / 'src', + meson.source_root() / 'spa' / 'include', + meson.source_root(), ] cssfiles = [ - meson.project_source_root() / 'doc' / 'doxygen-awesome.css', - meson.project_source_root() / 'doc' / 'custom.css' + meson.source_root() / 'doc' / 'doxygen-awesome.css', + meson.source_root() / 'doc' / 'custom.css' ] # Example files (in order from simple to esoteric) @@ -116,13 +116,25 @@ input_dirs += [ 'doc/examples.dox' ] man_doxygen = [] man_subpages = [] +manpages = [ + 'pipewire.1.rst.in', + 'pipewire-pulse.1.rst.in', + 'pipewire.conf.5.rst.in', + 'pw-cat.1.rst.in', + 'pw-cli.1.rst.in', + 'pw-dot.1.rst.in', + 'pw-metadata.1.rst.in', + 'pw-mididump.1.rst.in', + 'pw-mon.1.rst.in', + 'pw-profiler.1.rst.in', +] foreach m : manpages manconf = configuration_data() - pagename = 'page_man_' + m.split('.rst.in').get(0).replace('.', '_').replace('-', '_') + pagename = 'page_man_' + m.split('.rst.in').get(0).underscorify() filename = m.split('.rst.in').get(0) + '.dox' manconf.set('pagename', pagename) - manconf.set('title', m.split('.rst.in').get(0).replace('.1','').replace('.5','')) - manconf.set('filename', meson.project_source_root() / 'man' / m) + manconf.set('title', m.split('.rst.in').get(0).strip('.15')) + manconf.set('filename', meson.source_root() / 'man' / m) manfile = configure_file(input: 'manpage.dox.in', output: filename, configuration: manconf) @@ -141,8 +153,8 @@ input_dirs += [ 'doc/pipewire-tools.dox' doxyfile_conf.set('inputs', ' '.join(inputs + input_dirs)) doxyfile_conf.set('cssfiles', ' '.join(cssfiles)) doxyfile_conf.set('path_prefixes', ' '.join(path_prefixes)) -doxyfile_conf.set('c_input_filter', meson.project_source_root() / 'doc' / 'input-filter.sh') -doxyfile_conf.set('h_input_filter', meson.project_source_root() / 'doc' / 'input-filter-h.sh') +doxyfile_conf.set('c_input_filter', meson.source_root() / 'doc' / 'input-filter.sh') +doxyfile_conf.set('h_input_filter', meson.source_root() / 'doc' / 'input-filter-h.sh') doxyfile = configure_file(input: 'Doxyfile.in', output: 'Doxyfile',