Plymouth/Upstart integration

Scott James Remnant scott at netsplit.com
Mon Dec 20 09:53:29 UTC 2010


These were applied for 0.6.7 - forgot to reply to the list.

On Sun, Nov 14, 2010 at 3:23 PM, Colin Watson <cjwatson at ubuntu.com> wrote:
> I've been working on solving the problem whereby users of Ubuntu server
> systems (in particular) get no indication that Upstart jobs are
> starting.  Following suggestions from Scott James Remnant and Ray
> Strode, I've written a plymouth-upstart-bridge process which connects to
> Upstart's D-Bus interface and provides updates to Plymouth as events
> change state.  Here's a preliminary patch for review.
>
> This patch depends on
> https://code.launchpad.net/~cjwatson/upstart/state-changed and
> https://code.launchpad.net/~cjwatson/upstart/goal-changed, which add a
> few more features to Upstart's D-Bus interface.
>
> A working Upstart job for this bridge process looks something like this:
>
>  # plymouth-upstart-bridge - Bridge Upstart state changes into Plymouth
>  #
>  # This helper process receives Upstart state changes over D-Bus and sends
>  # corresponding messages to Plymouth.
>
>  description     "Bridge Upstart state changes into Plymouth"
>
>  start on (started dbus
>            or runlevel [06])
>  stop on stopping plymouth
>
>  console output
>
>  exec plymouth-upstart-bridge
>
> (Ideally this would have 'start on (started plymouth and started dbus)',
> but since the plymouth job is often started in the initramfs and
> imported into Upstart's view of the world by means of a gross hack, that
> won't work properly until Upstart grows the concept of states.)
>
> Known flaws, which may or may not be critical:
>
>  * This still crashes now and again for me, and the output is a bit
>    messy because it tends to overlap with 'console output' jobs that
>    write their own progress messages.
>
>  * This only tells you when a job has started rather than letting you
>    know when it's starting, which isn't ideal because you can't see
>    what the boot process is currently hung up on, but doing otherwise
>    without crazily confusing overlapping messages requires something a
>    good deal more sophisticated than just writing to the console.
>
>  * The bridge process has some distribution-specific policy in it (the
>    console output format).  Maybe folks can just patch this as
>    necessary; I'm not sure.
>
>  * I think probably plymouth-upstart-bridge ought to link against
>    libdbus directly rather than having libply.la do so.
>
>  * Since I had to use the low-level libdbus, the code is much longer
>    than I'd have liked.
>
> Still, I think this is far enough along to ask for review.  Comments?
>
> Thanks,
>
> --
> Colin Watson                                       [cjwatson at ubuntu.com]
>
> --
> upstart-devel mailing list
> upstart-devel at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel
>
>



More information about the upstart-devel mailing list