James Hunt has proposed merging lp:~jamesodhunt/upstart/bug-881885 into 
lp:upstart.

Requested reviews:
  Upstart Reviewers (upstart-reviewers)

For more details, see:
https://code.launchpad.net/~jamesodhunt/upstart/bug-881885/+merge/142540

* scripts/init-checkconf.sh:
  - Check copy is successful.
  - Auto-start dbus-launch if not running and command is available (for
    example in non-desktop environments) (LP: #881885).
  - Auto-stop dbus-daemon if we started it.
-- 
https://code.launchpad.net/~jamesodhunt/upstart/bug-881885/+merge/142540
Your team Upstart Reviewers is requested to review the proposed merge of 
lp:~jamesodhunt/upstart/bug-881885 into lp:upstart.
=== modified file 'ChangeLog'
--- ChangeLog	2013-01-08 10:27:17 +0000
+++ ChangeLog	2013-01-09 16:02:23 +0000
@@ -1,3 +1,11 @@
+2013-01-09  James Hunt  <[email protected]>
+
+	* scripts/init-checkconf.sh:
+	  - Check copy is successful.
+	  - Auto-start dbus-launch if not running and command is available (for
+	    example in non-desktop environments) (LP: #881885).
+	  - Auto-stop dbus-daemon if we started it.
+
 2013-01-04  Dmitrijs Ledkovs  <[email protected]>
 
 	* init/conf.c: add ability to apply override files from higher

=== modified file 'scripts/init-checkconf.sh'
--- scripts/init-checkconf.sh	2011-06-06 12:52:08 +0000
+++ scripts/init-checkconf.sh	2013-01-09 16:02:23 +0000
@@ -34,6 +34,8 @@
 file_valid=n
 running=n
 check_scripts=y
+dbus_cmd=dbus-launch
+started_dbus=n
 
 cleanup()
 {
@@ -44,6 +46,13 @@
     kill -9 "$upstart_pid" >/dev/null 2>&1
   fi
 
+  if [ "$started_dbus" = y -a -n "$DBUS_SESSION_BUS_PID" ]
+  then
+    debug "stopping dbus-daemon (running with PID $DBUS_SESSION_BUS_PID)"
+    kill -0 "$DBUS_SESSION_BUS_PID" >/dev/null 2>&1 && \
+    kill -9 "$DBUS_SESSION_BUS_PID" >/dev/null 2>&1
+  fi
+
   [ -d "$confdir" ] && rm -rf "$confdir"
   [ $file_valid = y ] && exit 0
   exit 1
@@ -182,7 +191,7 @@
 
 job="${filename%.conf}"
 
-cp "$file" "$confdir"
+cp "$file" "$confdir" || die "failed to copy file $file to $confdir"
 debug "job=$job"
 
 upstart_running
@@ -192,6 +201,15 @@
 upstart_out="$(mktemp --tmpdir "${script_name}-upstart-output.XXXXXXXXXX")"
 debug "upstart_out=$upstart_out"
 
+# auto-start dbus if it isn't already running (required in non-desktop
+# environments).
+if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+  [ -z "$(which $dbus_cmd)" ] && die "cannot find $dbus_cmd"
+  eval $($dbus_cmd --auto-syntax)
+  started_dbus=y
+  debug "started $dbus_cmd"
+fi
+
 upstart_cmd=$(printf \
    "%s --session --no-sessions --no-startup-event --verbose --confdir %s" \
   "$upstart_path" \

-- 
upstart-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/upstart-devel

Reply via email to