Plymouth

Main Inclusion Report for plymouth

Requirements

  1. Availability: http://archive.ubuntu.com/ubuntu/pool/universe/p/plymouth; available for all supported architectures.

  2. Rationale:

    • This package provides both a graphical and text-based boot splash screen, using the Kernel DRM interface, Framebuffers or plain consoles as appropriate. It is better maintained, and has better support for KMS, than our existing usplash package.
    • Provides interfaces to provide boot-time progress information, and ask for questions and passphrases during boot; and most importantly interfaces to queue multiple requests.
    • Dependency of mountall, cryptsetup, etc.
  3. Security:

    • CVE entries: None to date.

    • Secunia history: None to date.

    • Plymouth has a daemon that runs as root which provides the splash screen services, a client program communicates with this daemon to send it commands over an AF_UNIX socket; credentials are checked to ensure the origin user is root, and commands refused from other users.
    • No network ports are opened.
    • Opens console devices to log activity, but does not accept commands from this.
    • Uses standard libraries such as libpng for graphics load.
    • Source reviewed by ScottJamesRemnant, it's very clean and well structured (one of the reasons to switch to it, in fact).

  4. Quality assurance:

    • Package when installed will enable loading of DRM and Framebuffer drivers in the initramfs, and is started in the initramfs. It will also be started on an ordinary shutdown.
    • If no DRM or Framebuffer driver is available, it falls back to a text mode splash.
    • No service is currently provided without an initramfs, however this is due to pending changes in Ubuntu's boot sequence rather than a package issue.
    • No debconf questions are asked.
    • Package provides a script to change the theme, rather than using alternatives, because future versions are expected to use a config file for this. Theme switching is a TODO item at this point.
    • Exists in Debian experimental, but only had a single upload and no changes since. There is no common history between this package (which was originally packaged by MichaelVogt, and then updated by our OEM team) and the Debian package.

    • Debian bugs are not relevant.

    • Upstream is Red Hat, and have been extremely helpful with our integration efforts.

    • Upstream bug tracker is well gardened, with no relevant bugs.

    • Package deals with graphics hardware through multiple backend renderer plugins, using either the Kernel DRM or FrameBuffer interfaces. An X11 plugin is also provided.

    • Package includes a test suite, however it did not pass in the buildd environment when I tried it.
  5. UI standards:

    • User-visible strings are internationalized using standard gettext system.
    • Translatable strings builds a PO template during package build.
    • End-user applications (plymouth log viewer) ships a desktop file.
  6. Standards compliance:

    • FHS, Debian Policy compliant.

    • Packaged using debhelper 7, in a bzr branch based off a GIT import.
  7. Dependencies:

    • PNG, Cairo, GTK+, Pango, libdrm; all in main.
  8. Maintenance:

    • Package is a key part of our boot experience, so maintenance is unlikely to be light due to the demands from the DX team.
    • ScottJamesRemnant is bug contact.

Reviewers

MIR bug: https://launchpad.net/bugs/495184

ScottJamesRemnant

MainInclusionReport/Plymouth (last edited 2009-12-10 19:57:38 by scott)