Merge lp:~ted/upstart/dbus-arguments into lp:upstart
Proposed by
Ted Gould
Status: | Merged |
---|---|
Merged at revision: | 1513 |
Proposed branch: | lp:~ted/upstart/dbus-arguments |
Merge into: | lp:upstart |
Prerequisite: | lp:~ted/upstart/session-jobs |
Diff against target: |
140 lines (+97/-1) 2 files modified
extra/man/dbus-event.7 (+5/-1) extra/upstart-dbus-bridge.c (+92/-0) |
To merge this branch: | bzr merge lp:~ted/upstart/dbus-arguments |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Hunt | Approve | ||
Review via email: mp+172385@code.launchpad.net |
Commit message
Add DBus signal arguments to the Upstart event.
Description of the change
Takes the dbus message and if it has any string arguments adds them to the Upstart event so that other jobs can filter and use them directly.
To post a comment you must log in.
This looks good. A few comments:
- It needs an update to extra/man/ dbus-event. 7 to explain the ARG%d string arguments.
- I think that we should consider supporting all non-aggregate basic types (except maybe BYTE) since types such as BOOLEAN and the numerics could be equally useful.
- Since we've already released upstart 1.9 including the upstart- dbus-bridge, we need to think about how to handle/ break/deprecate the existing 'dbus' event. Allowing the event name to be configurable (lp:~ted/upstart/dbus-configure-event) may be the best way to do it I guess, although the ideal would be to able to support:
dbus BUS=system SIGNAL=... abstract= /com/ubuntu/ upstart- session/ 1000/2536 SIGNAL=...
dbus BUS=session SIGNAL=...
dbus BUS=unix:
... rather than:
dbus-system SIGNAL=...
dbus-session SIGNAL=...
dbus-???? SIGNAL=...
However, if we just switched to that, we'd break any jobs that specify positional values in conditions like 'start on dbus NameAcquired SENDER=...'.
It would lead to slightly more verbose job conditions, but maybe we could change the event to 'message-bug' or similar?:
message-bus TYPE=dbus BUS=system SIGNAL=...