diff options
Diffstat (limited to 'debian/patches')
7 files changed, 201 insertions, 0 deletions
diff --git a/debian/patches/7e2f6757fcc4eefd29cb47d8292714ac8014b9ef.patch b/debian/patches/7e2f6757fcc4eefd29cb47d8292714ac8014b9ef.patch new file mode 100644 index 0000000..95c751f --- /dev/null +++ b/debian/patches/7e2f6757fcc4eefd29cb47d8292714ac8014b9ef.patch @@ -0,0 +1,38 @@ +From 7e2f6757fcc4eefd29cb47d8292714ac8014b9ef Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Tue, 3 Oct 2023 18:33:46 +0200 +Subject: [PATCH] impl-node: do malloc_trim() after destroying a node. + +Fixes #1840 +--- + src/pipewire/impl-node.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/src/pipewire/impl-node.c ++++ b/src/pipewire/impl-node.c +@@ -28,6 +28,7 @@ + #include <unistd.h> + #include <errno.h> + #include <time.h> ++#include <malloc.h> + + #include <spa/support/system.h> + #include <spa/pod/parser.h> +@@ -1873,6 +1874,7 @@ + struct pw_impl_node *follower; + struct pw_context *context = node->context; + bool active, had_driver; ++ int res; + + active = node->active; + node->active = false; +@@ -1945,6 +1947,9 @@ + + spa_system_close(context->data_system, node->source.fd); + free(impl); ++ ++ res = malloc_trim(0); ++ pw_log_debug("malloc_trim(): %d", res); + } + + SPA_EXPORT diff --git a/debian/patches/8680c74d1bd83b4969c9305171076b36f56d82fa.patch b/debian/patches/8680c74d1bd83b4969c9305171076b36f56d82fa.patch new file mode 100644 index 0000000..f7039c7 --- /dev/null +++ b/debian/patches/8680c74d1bd83b4969c9305171076b36f56d82fa.patch @@ -0,0 +1,42 @@ +From 8680c74d1bd83b4969c9305171076b36f56d82fa Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Wed, 4 Oct 2023 10:59:26 +0200 +Subject: [PATCH] check if malloc_trim() is available + +--- + meson.build | 1 + + src/pipewire/impl-node.c | 5 +++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +--- a/meson.build ++++ b/meson.build +@@ -401,6 +401,7 @@ + ['reallocarray', '#include <stdlib.h>', ['-D_GNU_SOURCE'], []], + ['sigabbrev_np', '#include <string.h>', ['-D_GNU_SOURCE'], []], + ['XSetIOErrorExitHandler', '#include <X11/Xlib.h>', [], [x11_dep]], ++ ['malloc_trim', '#include <malloc.h>', [], []], + ] + + foreach f : check_functions +--- a/src/pipewire/impl-node.c ++++ b/src/pipewire/impl-node.c +@@ -1874,7 +1874,6 @@ + struct pw_impl_node *follower; + struct pw_context *context = node->context; + bool active, had_driver; +- int res; + + active = node->active; + node->active = false; +@@ -1948,8 +1947,10 @@ + spa_system_close(context->data_system, node->source.fd); + free(impl); + +- res = malloc_trim(0); ++#ifdef HAVE_MALLOC_TRIM ++ int res = malloc_trim(0); + pw_log_debug("malloc_trim(): %d", res); ++#endif + } + + SPA_EXPORT diff --git a/debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch b/debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch new file mode 100644 index 0000000..833c971 --- /dev/null +++ b/debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch @@ -0,0 +1,30 @@ +From: Simon McVittie <smcv@debian.org> +Date: Sun, 17 Jan 2021 11:40:01 +0000 +Subject: Don't automatically start pipewire for root logins +Forwarded: not-needed + +Closes: #979791 +--- + src/daemon/systemd/user/pipewire.service.in | 1 + + src/daemon/systemd/user/pipewire.socket | 1 + + 2 files changed, 2 insertions(+) + +--- a/src/daemon/systemd/user/pipewire.service.in ++++ b/src/daemon/systemd/user/pipewire.service.in +@@ -14,6 +14,7 @@ + # After=pipewire.socket is not needed, as it is already implicit in the + # socket-service relationship, see systemd.socket(5). + Requires=pipewire.socket ++ConditionUser=!root + + [Service] + LockPersonality=yes +--- a/src/daemon/systemd/user/pipewire.socket ++++ b/src/daemon/systemd/user/pipewire.socket +@@ -1,5 +1,6 @@ + [Unit] + Description=PipeWire Multimedia System Socket ++ConditionUser=!root + + [Socket] + Priority=6 diff --git a/debian/patches/Don-t-build_same_binary_twice.patch b/debian/patches/Don-t-build_same_binary_twice.patch new file mode 100644 index 0000000..1854dd9 --- /dev/null +++ b/debian/patches/Don-t-build_same_binary_twice.patch @@ -0,0 +1,36 @@ +From: Dylan Aïssi <dylan.aissi@collabora.com> +Date: Thu, 4 Nov 2021 16:01:36 +0100 +Subject: [PATCH] meson: create a symlink for pipewire-pulse instead of + building binary twice + +Because meson does not have native support for symlinks. +See https://github.com/mesonbuild/meson/issues/1602 + +Inspired by xserver: +https://gitlab.freedesktop.org/xorg/xserver/-/commit/a3931ec6f43857aeed7feac5d223d7db6728145e + +Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com> +--- + src/daemon/meson.build | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +--- a/src/daemon/meson.build ++++ b/src/daemon/meson.build +@@ -93,12 +93,11 @@ + dependencies : [ spa_dep, pipewire_dep, ], + ) + +-executable('pipewire-pulse', +- pipewire_daemon_sources, +- install: true, +- c_args : pipewire_c_args, +- include_directories : [ configinc ], +- dependencies : [ spa_dep, pipewire_dep, ], ++meson.add_install_script( ++ 'sh', '-c', ++ 'ln -fs pipewire @0@@1@'.format( ++ '${DESTDIR}', ++ join_paths(get_option('prefix'), get_option('bindir'), 'pipewire-pulse')) + ) + + executable('pipewire-avb', diff --git a/debian/patches/Fix_services.patch b/debian/patches/Fix_services.patch new file mode 100644 index 0000000..fe19732 --- /dev/null +++ b/debian/patches/Fix_services.patch @@ -0,0 +1,23 @@ +Description: Update Wants and After fields with real services (NOT alias) + Due to a systemd bug in the way it manages alias, they have been removed in + wireplumber and pipewire-media-session services. Reflecting this change in + the pipewire-pulse service to be sure it is started AFTER a session manager. +Bug: https://github.com/systemd/systemd/issues/23694 +Bug-Debian: https://bugs.debian.org/997818 + https://bugs.debian.org/1019944 +Author: Dylan Aïssi <daissi@debian.org> +Forwarded: not-needed + +--- a/src/daemon/systemd/user/pipewire-pulse.service.in ++++ b/src/daemon/systemd/user/pipewire-pulse.service.in +@@ -15,8 +15,8 @@ + # socket-service relationship, see systemd.socket(5). + Requires=pipewire-pulse.socket + ConditionUser=!root +-Wants=pipewire.service pipewire-session-manager.service +-After=pipewire.service pipewire-session-manager.service ++Wants=pipewire.service wireplumber.service pipewire-media-session.service ++After=pipewire.service wireplumber.service pipewire-media-session.service + Conflicts=pulseaudio.service + + [Service] diff --git a/debian/patches/fba7083f8ceb210c7c20aceafeb5c9a8767cf705.patch b/debian/patches/fba7083f8ceb210c7c20aceafeb5c9a8767cf705.patch new file mode 100644 index 0000000..1de26c1 --- /dev/null +++ b/debian/patches/fba7083f8ceb210c7c20aceafeb5c9a8767cf705.patch @@ -0,0 +1,25 @@ +From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Thu, 26 Jan 2023 11:57:45 +0100 +Subject: [PATCH] modules: also install module-combine-stream + +--- + src/modules/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/modules/meson.build b/src/modules/meson.build +index 89e4233d9..1bfb03b4b 100644 +--- a/src/modules/meson.build ++++ b/src/modules/meson.build +@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [ + pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream', + [ 'module-combine-stream.c' ], + include_directories : [configinc], +- install : false, ++ install : true, + install_dir : modules_install_dir, + install_rpath: modules_install_dir, + dependencies : [spa_dep, dl_lib, pipewire_dep], +-- +GitLab + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..ea44e8f --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,7 @@ +Don-t-automatically-start-pipewire-for-root-logins.patch +Don-t-build_same_binary_twice.patch +Fix_services.patch +# Recommended patch for 0.3.65 +fba7083f8ceb210c7c20aceafeb5c9a8767cf705.patch +7e2f6757fcc4eefd29cb47d8292714ac8014b9ef.patch +8680c74d1bd83b4969c9305171076b36f56d82fa.patch |