summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanchayan Maity <sanchayan@asymptotic.io>2020-09-02 19:19:07 +0530
committerArun Raghavan <arun@arunraghavan.net>2020-11-23 22:07:36 +0000
commit45abd0b43c7901b375afcba6d9b0e1cca2f349a8 (patch)
treeae94702b02361a514a02a04b92bf336f64db1bf8
parenta28f2e7293a055588f7bba568b5049ff91b3aad0 (diff)
downloadpulseaudio-45abd0b43c7901b375afcba6d9b0e1cca2f349a8.tar.gz
Add default.pa.d folder support
The .include meta command already supports specifying a directory and when including a directory, all files with the extension '.pa' in that directory will be parsed in alphabetical order. This feature can be used to add support for default.pa.d directory, so that packages for other applications or users can just drop in a file for configuration without changing the default.pa which is shipped. We use the PA_DEFAULT_CONFIG_DIR for this, however, since meson quotes this build variable, introduce an unquoted version for this purpose and use it with .include. Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/909 Signed-off-by: Sanchayan Maity <sanchayan@asymptotic.io>
-rw-r--r--configure.ac1
-rw-r--r--meson.build1
-rwxr-xr-xsrc/daemon/default.pa.in5
-rwxr-xr-xsrc/daemon/system.pa.in5
4 files changed, 12 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index caabef6ed..6e6049fec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1394,6 +1394,7 @@ AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
+AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR_UNQUOTED, pulseconfdir, [Location of configuration files])
#### Mac OSX specific stuff #####
diff --git a/meson.build b/meson.build
index 1c671d32c..217ba0d85 100644
--- a/meson.build
+++ b/meson.build
@@ -136,6 +136,7 @@ cdata.set_quoted('PA_SRCDIR', join_paths(meson.current_source_dir(), 'src'))
cdata.set_quoted('PA_BUILDDIR', meson.current_build_dir())
cdata.set_quoted('PA_SOEXT', '.so')
cdata.set_quoted('PA_DEFAULT_CONFIG_DIR', pulsesysconfdir)
+cdata.set('PA_DEFAULT_CONFIG_DIR_UNQUOTED', pulsesysconfdir)
cdata.set_quoted('PA_BINARY', join_paths(bindir, 'pulseaudio'))
cdata.set_quoted('PA_SYSTEM_RUNTIME_PATH', join_paths(localstatedir, 'run', 'pulse'))
cdata.set_quoted('PA_SYSTEM_CONFIG_PATH', join_paths(localstatedir, 'lib', 'pulse'))
diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in
index 030334f36..3468a89b9 100755
--- a/src/daemon/default.pa.in
+++ b/src/daemon/default.pa.in
@@ -173,3 +173,8 @@ load-module module-filter-apply
### Make some devices default
#set-default-sink output
#set-default-source input
+
+### Allow including a default.pa.d directory, which if present, can be used
+### for additional configuration snippets.
+.nofail
+.include @PA_DEFAULT_CONFIG_DIR_UNQUOTED@/default.pa.d
diff --git a/src/daemon/system.pa.in b/src/daemon/system.pa.in
index 73e39ec93..1470e2368 100755
--- a/src/daemon/system.pa.in
+++ b/src/daemon/system.pa.in
@@ -60,3 +60,8 @@ load-module module-suspend-on-idle
### Enable positioned event sounds
load-module module-position-event-sounds
+
+### Allow including a system.pa.d directory, which if present, can be used
+### for additional configuration snippets.
+.nofail
+.include @PA_DEFAULT_CONFIG_DIR_UNQUOTED@/system.pa.d