summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/7e2f6757fcc4eefd29cb47d8292714ac8014b9ef.patch38
-rw-r--r--debian/patches/8680c74d1bd83b4969c9305171076b36f56d82fa.patch42
-rw-r--r--debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch30
-rw-r--r--debian/patches/Don-t-build_same_binary_twice.patch36
-rw-r--r--debian/patches/Fix_services.patch23
-rw-r--r--debian/patches/fba7083f8ceb210c7c20aceafeb5c9a8767cf705.patch25
-rw-r--r--debian/patches/series7
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