Meego Wiki
Views

Build Infrastructure

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Community Build System)
(added a note about how surrounds related to app development)
Line 24: Line 24:
* Applications to run on MeeGo
* Applications to run on MeeGo
-
* Surrounds: the MeeGo contribution and sharing area
+
* Surrounds: the MeeGo contribution and sharing area.
 +
  (Practically speaking this is the repository with dependencies to support Applications to run on MeeGo)
* Team Repositories
* Team Repositories
* Personal Repositories
* Personal Repositories

Revision as of 12:43, 20 November 2010

Contents

MeeGo Build Infrastructure

The heart of the Build Infrastructure of MeeGo is the upstream project openSUSE Build Service (OBS). It is an automated system used for building software packages, collaboration of developers, release management, maintenance, and much more. Moblin started using OBS in June 2008 and released Moblin 2.0 and Moblin 2.1, as well as other derivative releases. OBS has proven to be a very reliable infrastructure that is quickly evolving. It is rich with features for distribution building and maintenance. The Linux Foundation is dedicated to the further development of OBS and has a team, including two full-time OBS maintainers, contributing to its development and its use by MeeGo and the Ecosystem.

MeeGo currently uses version 2.0.x of OBS and will soon switch to version 2.1. To learn more about version 2.1 and the additional features in it, see the upstream project details: roadmap.

There are 3 OBS instances that are relevant to MeeGo

  • MeeGo core : essentially, if you're a core package maintainer/developer you get an account here
  • MeeGo community : for anyone to build applications or libraries against MeeGo - anyone with a meego.com account can use this
  • openSuse : this is not for building *against* MeeGo... but we need to support MeeGo tools on many platforms and some of those get built on the openSuse OBS

Overview - What does it do?

Let's set out some basics about the OBS.

  1. It's a build system. You put source on it and say "use this repository" and it builds a minimal SDK-like chroot using the deb/rpms it finds in that repository
  2. It has packages - a package corresponds to a tarball and a spec/dsc
  3. It has projects - a project is like a directory with packages
  4. When a package is built it is "published" from the project where it was uploaded into a corresponding repository (which can be used to build other projects)
  5. The repositories can also be used by devices to download binary packages.
Splash-community.png

Community Build System

The Community OBS is now part of meego.com infrastructure and supports several important kinds of development:

  • Applications to run on MeeGo
  • Surrounds: the MeeGo contribution and sharing area.
 (Practically speaking this is the repository with dependencies to support Applications to run on MeeGo)
  • Team Repositories
  • Personal Repositories

Having these areas allow us to support:

  • Extras : MeeGo's community App store complete with QA via Extras:Testing
  • Managing packages as part of their acceptance into MeeGo core
  • Deprecating packages from MeeGo core
  • A high quality distribution built around MeeGo core

Choose one of the different tracks and guides for:

Splash-garage.png

Packagers/Developers

Peep skate.png

System Administrators/Distribution Managers/On-site

Peep netbook.png

Developing for the openSUSE Build Service

  • Upstream URLs
  • irc / mailing lists / contact
  • Roadmap
  • MeeGo feature wishlist
Personal tools