[pulseaudio-discuss] [PATCH 7/8] launch: Disable autospawn by default when systemd daemon support is enabled.

Colin Guthrie colin at mageia.org
Mon Nov 3 01:42:39 PST 2014


When enabled, this method is prefered over pulseaudio's built in
systems so we should try our best to ensure that it cannot be spawned
outside of the mechanisms desired.

Packagers should call 'systemctl --global enable pulseaudio.socket' to
enable the socket for all users, or alternatively ship an enabling
symlink in /usr/lib/systemd/user/sockets.target.wants/ folder. It may
also make sense for distributions to add in a ConditionNNN= line to the
socket unit if they have a downstream mechanism for enabling or
disabling pulseaudio.

If individual users wish to opt out of this vendor (or administrator)
decision, they can call 'systemctl --user mask pulseaudio.socket'
---
 configure.ac                   | 3 +++
 man/pulse-client.conf.5.xml.in | 2 +-
 src/pulse/client-conf.c        | 4 ++++
 src/pulse/client.conf.in       | 2 +-
 4 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 23905ad..3fa1bc9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1219,6 +1219,9 @@ AS_IF([test "x$enable_systemd_daemon" != "xno"],
 AS_IF([test "x$enable_systemd_daemon" = "xyes" && test "x$HAVE_SYSTEMD_DAEMON" = "x0"],
     [AC_MSG_ERROR([*** Needed systemd daemon support not found])])
 
+AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], [ PA_DEFAULT_AUTOSPAWN=no ], [ PA_DEFAULT_AUTOSPAWN=yes ])
+AC_SUBST(PA_DEFAULT_AUTOSPAWN)
+
 AC_SUBST(HAVE_SYSTEMD_DAEMON)
 AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = x1])
 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], AC_DEFINE([HAVE_SYSTEMD_DAEMON], 1, [Have SYSTEMDDAEMON?]))
diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in
index 45f02da..7025df7 100644
--- a/man/pulse-client.conf.5.xml.in
+++ b/man/pulse-client.conf.5.xml.in
@@ -69,7 +69,7 @@ USA.
 
     <option>
       <p><opt>autospawn=</opt> Autospawn a PulseAudio daemon when
-      needed. Takes a boolean value, defaults to <opt>yes</opt>.</p>
+      needed. Takes a boolean value, defaults to <opt>@PA_DEFAULT_AUTOSPAWN@</opt>.</p>
     </option>
 
     <option>
diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
index e0acc23..80ddae0 100644
--- a/src/pulse/client-conf.c
+++ b/src/pulse/client-conf.c
@@ -65,7 +65,11 @@ static const pa_client_conf default_conf = {
     .cookie_from_x11_valid = false,
     .cookie_file_from_application = NULL,
     .cookie_file_from_client_conf = NULL,
+#ifdef HAVE_SYSTEMD_DAEMON
+    .autospawn = false,
+#else
     .autospawn = true,
+#endif
     .disable_shm = false,
     .shm_size = 0,
     .auto_connect_localhost = false,
diff --git a/src/pulse/client.conf.in b/src/pulse/client.conf.in
index 17753b0..446e22a 100644
--- a/src/pulse/client.conf.in
+++ b/src/pulse/client.conf.in
@@ -24,7 +24,7 @@
 ; default-server =
 ; default-dbus-server =
 
-; autospawn = yes
+; autospawn = @PA_DEFAULT_AUTOSPAWN@
 ; daemon-binary = @PA_BINARY@
 ; extra-arguments = --log-target=syslog
 
-- 
2.1.3



More information about the pulseaudio-discuss mailing list