Ted Gould has proposed merging lp:~ted/upstart/starting-reversal into 
lp:upstart.

Commit message:
Special case the 'starting' job command in dot visualization

Requested reviews:
  Upstart Reviewers (upstart-reviewers)

For more details, see:
https://code.launchpad.net/~ted/upstart/starting-reversal/+merge/172660

Basically this handles 'starting' as a special case because it kinda works 
deferently as it inserts itself before the job being mentioned.  Here, by 
reversing the edge, we can show that in the graphviz diagram and thus graphviz 
can put those jobs earlier in the diagram.
-- 
https://code.launchpad.net/~ted/upstart/starting-reversal/+merge/172660
Your team Upstart Reviewers is requested to review the proposed merge of 
lp:~ted/upstart/starting-reversal into lp:upstart.
=== modified file 'scripts/initctl2dot.py'
--- scripts/initctl2dot.py	2013-06-28 20:17:15 +0000
+++ scripts/initctl2dot.py	2013-07-02 20:11:27 +0000
@@ -263,9 +263,13 @@
     ofh.write("  %s -> %s [color=\"%s\"];\n" % (from_node, to_node, color))
 
 
-def show_start_on_job_edge(ofh, from_job, to_job):
-    show_edge(ofh, "%s:job" % mk_job_node_name(to_job),
-              "%s:start" % mk_job_node_name(from_job), options.color_start_on)
+def show_start_on_job_edge(ofh, from_job, to_job, relation):
+    if relation == 'starting':
+        show_edge(ofh, "%s:start" % mk_job_node_name(from_job),
+                  "%s:job" % mk_job_node_name(to_job),options.color_start_on)
+    else:
+        show_edge(ofh, "%s:job" % mk_job_node_name(to_job),
+                  "%s:start" % mk_job_node_name(from_job), options.color_start_on)
 
 
 def show_start_on_event_edge(ofh, from_job, to_event):
@@ -298,7 +302,7 @@
 
     for job in jobs_list:
         for s in jobs[job]['start on']['job']:
-            show_start_on_job_edge(ofh, job, s)
+            show_start_on_job_edge(ofh, job, s, jobs[job]['start on']['job'][s])
 
         for s in jobs[job]['start on']['event']:
             show_start_on_event_edge(ofh, job, s)
@@ -384,7 +388,7 @@
             _event = encode_dollar(job, result.group(1))
             _job = result.group(2)
             if _job:
-                jobs[job]['start on']['job'][_job] = 1
+                jobs[job]['start on']['job'][_job] = _event
             else:
                 jobs[job]['start on']['event'][_event] = 1
                 events[_event] = 1

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

Reply via email to