renaming Xsession config file to match existing pattern (underscore only separates...
[monkeysphere.git] / packaging / debian / 70monkeysphere_use-validation-agent
diff --git a/packaging/debian/70monkeysphere_use-validation-agent b/packaging/debian/70monkeysphere_use-validation-agent
new file mode 100644 (file)
index 0000000..1335458
--- /dev/null
@@ -0,0 +1,37 @@
+# /etc/X11/Xsession.d/70monkeysphere_use_validation_agent
+
+# This is a script to be sourced by Xsession.  It wraps the session
+# startup argument with a monkeysphere-validation-agent nested
+# process, if available and none already exist.
+
+# Enable this system-wide by setting
+# MONKEYSPHERE_USE_VALIDATION_AGENT=true in
+# /etc/monkeysphere/monkeysphere.conf
+
+# Note that there is some weird interaction between this and
+# dbus-session at the moment: dbus-launch can start the msva just
+# fine, but if msva tries to start dbus-launch, dbus-launch fails
+# with:
+
+# Failed to waitpid() for babysitter intermediate process: No child processes
+
+# So this is placed at position 70 -- *before* the dbus Xsession
+# startup script, which is at 75 as of 2010-03-12, when i wrote this.
+
+# Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+
+STARTMSVA=
+MSVAGENT=/usr/bin/monkeysphere-validation-agent
+MSSYSCONFIG=/etc/monkeysphere/monkeysphere.conf
+MSUSERCONFIG="$HOME/.monkeysphere/monkeysphere.conf"
+
+if [ -x "$MSVAGENT" ] ; then
+    USEMSVAGENT=$(sh -c "USE_VALIDATION_AGENT=
+. '$MSSYSCONFIG' 2>/dev/null
+. '$MSUSERCONFIG' 2>/dev/null || :
+printf '%s' "'"$USE_VALIDATION_AGENT"')
+    
+    if [ "$USEMSVAGENT" == "true" ] ; then
+        STARTUP="$MSVAGENT $STARTUP"
+    fi
+fi