The development and release process of a component involves the following pieces (some of them optional):

  • Upstream trunk branch (e.g. lp:glmark2 or foreign branch imported into lp).
  • Daily packages using launchpad source recipes (in ppa:linaro-graphics-wg/daily).
  • Tarball for latest release.
  • Packaging branch containing the latest release.
  • Package for latest release (in ppa:linaro-graphics-wg/ppa).
  • Official package for Debian/Ubuntu.

The process itself:

  • During each iteration
    • Hack, hack, hack... in trunk.
    • Test important changes locally on all available systems.
    • As trunk changes, daily packages are automatically built and put in ppa:linaro-graphics-wg/daily.
  • Milestone releases
    • Create the tarball for the project (usually with make/waf dist).
    • Test it on all available local systems.
    • Update the packaging branch with the latest version.
    • Perform a local build from the packaging branch using pbuilder.
    • Release the tarball for the project. We release after having tested the packaging process, because some times errors during packaging are caused by faults in the original tarball are better fixed upstream.
    • Build the package in a virtualized (i.e. amd64 and i386 only) PPA.
    • Copy the built package to ppa:linaro-graphics-wg/ppa.
    • Test the packages on available systems using the latest LEB.
  • Debian/Ubuntu sync
    • After each milestone release request a Debian/Ubuntu package update.
    • Wait, wait, wait... It may take some time (esp. for Debian) but we don't really mind as we already have packages in our PPAs.
    • When the package is updated in repositories, sync our packaging branch with the debian/ubuntu package (not usually needed).

WorkingGroups/Middleware/Graphics/Drafts/alf/ReleaseProcess (last modified 2011-06-29 08:45:43)