Meego Wiki
Views

Build Infrastructure

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Community Build System)
(MeeGo Build Infrastructure)
 
(40 intermediate revisions not shown)
Line 1: Line 1:
== MeeGo Build Infrastructure ==
== MeeGo Build Infrastructure ==
-
The heart of the Build Infrastructure of MeeGo is the upstream project [http://wiki.opensuse.org/Portal:Build_Service 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.  
+
The heart of the Build Infrastructure of MeeGo is the upstream project [http://wiki.opensuse.org/Portal:Build_Service Open 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, quickly evolving infrastructure. It is rich with distribution building and maintenance features. 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 OBS version 2.1.6. To learn more about version 2.1 and the additional features in it, see the upstream project details: [http://wiki.opensuse.org/openSUSE:Build_Service_Roadmap roadmap].
 +
 
 +
There are 2 build system instances that are relevant to MeeGo:
 +
* MeeGo build system: Essentially, if you're a package maintainer/developer which is part of MeeGo, you get an account here.
 +
* MeeGo public build system (AKA community OBS): For anyone to build applications or libraries against MeeGo. Anyone with a meego.com account can use this.
-
MeeGo currently uses version 1.7.x of OBS and will soon switch to version 1.8.  To learn more about version 1.8 and the additional features in it, see the upstream project details: [http://wiki.opensuse.org/openSUSE:Build_Service_Roadmap#Milestone_MeeGo_.28Version_1.8.2C_estimated_end_of_April_2010.29 roadmap].
 
=== Overview - What does it do? ===
=== Overview - What does it do? ===
-
Lets set out some basics about the OBS.
+
Let's set out some basics about the OBS.
# 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
# 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
Line 14: Line 19:
# The repositories can also be used by devices to download binary packages.
# The repositories can also be used by devices to download binary packages.
-
Choose one of the different tracks and guides for:
+
[[File:Splash-community.png|right|300px]]
 +
===MeeGo Build Service ===
 +
The [http://build.meego.com MeeGo build system] is part of meego.com infrastructure and supports several important kinds of development:
 +
 
 +
* Applications to run on MeeGo
 +
* Team Repositories
 +
* Personal Repositories
 +
 
 +
Having these areas allow us to support:
 +
* Managing packages as part of their acceptance into MeeGo core
 +
* Deprecating packages from MeeGo core
 +
 
 +
=== MeeGo Community Build Service OBS ===
 +
There's also a [[Build_Infrastructure/Community_Builder|MeeGo Build Service]] available.
-
[[File:Splash-garage.png|right|300px]]
 
=== [[Build_Infrastructure/Packagers_Developers|Packagers/Developers]] ===
=== [[Build_Infrastructure/Packagers_Developers|Packagers/Developers]] ===
 +
* [[Build_Infrastructure/Packagers_Developers#How_to_get_started|How to get started.]]
* [[Build_Infrastructure/Packagers_Developers#How_to_use_the_webinterface|How to use the web interface to view, manage and build your packages.]]
* [[Build_Infrastructure/Packagers_Developers#How_to_use_the_webinterface|How to use the web interface to view, manage and build your packages.]]
* [[Build_Infrastructure/Packagers_Developers#How_to_use_the_commandline_client|How to use the command line client for daily operations]]
* [[Build_Infrastructure/Packagers_Developers#How_to_use_the_commandline_client|How to use the command line client for daily operations]]
Line 23: Line 41:
* [[Build_Infrastructure/Packagers_Developers#QA_Processes_around_the_OBS|QA Processes around the OBS]]
* [[Build_Infrastructure/Packagers_Developers#QA_Processes_around_the_OBS|QA Processes around the OBS]]
* [[Build_Infrastructure/Packagers_Developers#Multi-Architecture_and_Multi-Distribution_packaging|Multi-Architecture and Multi-Distribution packaging]]
* [[Build_Infrastructure/Packagers_Developers#Multi-Architecture_and_Multi-Distribution_packaging|Multi-Architecture and Multi-Distribution packaging]]
-
* [[Build_Infrastructure/Packagers_Developers#Tips_.26_Tricks|Tips & Tricks]]
+
* [[Build_Infrastructure/Packagers_Developers#Tips_.26_Tricks|Verifying Your Package Changes Locally and Online]]
* [[Build_Infrastructure/Packagers_Developers#Troubleshooting|Troubleshooting]]
* [[Build_Infrastructure/Packagers_Developers#Troubleshooting|Troubleshooting]]
* [[Build_Infrastructure/Packagers_Developers#IRC_.2F_mailinglists_.2F_contact|irc / mailing lists / contact]]
* [[Build_Infrastructure/Packagers_Developers#IRC_.2F_mailinglists_.2F_contact|irc / mailing lists / contact]]
-
 
-
[[File:Splash-community.png|right|300px]]
 
-
=== [[Build_Infrastructure/Community_Builder|Community Build System]] ===
 
-
* Also see the Packagers/Developer information above
 
-
* The community OBS is located in the maemo.org area until HW arrives at OSU
 
-
* QA Processes around the Community OBS
 
[[File:peep_skate.png|right]]
[[File:peep_skate.png|right]]
-
=== [[Build_Infrastructure/Sysadmin_Distro|System Administrators/Distribution Managers/On-site]] ===
 
-
* How to setup an Build Service locally for testing
 
-
* Advanced setup topics
 
-
* [[Build_Infrastructure/Sysadmin_Distro#Seamless_cross-compilation.2C_cross-toolchain_integration|Seamless cross-compilation, cross-toolchain integration]]
 
-
* Whats the metadata (prjconf/prj), attributes, admin-tools for.
 
-
* Troubleshooting
 
-
* irc / mailinglists / contact
 
-
 
-
[[File:peep_netbook.png|right]]
 
=== [[Build_Infrastructure/Developing_OBS|Developing for the openSUSE Build Service]] ===
=== [[Build_Infrastructure/Developing_OBS|Developing for the openSUSE Build Service]] ===
-
* Upstream URLs
+
* [http://en.opensuse.org/openSUSE:Build_Service_private_instance How to set up a Build Service locally for testing]
-
* irc / mailing lists / contact
+
* [[Build_Infrastructure/Sysadmin_Distro|More on setting up an OBS server]]
-
* Roadmap
+
** [[Build_Infrastructure/Sysadmin_Distro#Seamless_cross-compilation.2C_cross-toolchain_integration|Seamless cross-compilation, cross-toolchain integration]]
-
* MeeGo feature wishlist
+
* What's the [http://en.opensuse.org/openSUSE:Build_Service_Tutorial#Create_Patterns metadata (prjconf/prj), attributes, admin-tools for?]
 +
[[File:peep_netbook.png|right]]
[[Category:Build Infrastructure]]
[[Category:Build Infrastructure]]

Latest revision as of 12:13, 7 July 2011

Contents

MeeGo Build Infrastructure

The heart of the Build Infrastructure of MeeGo is the upstream project Open 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, quickly evolving infrastructure. It is rich with distribution building and maintenance features. 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 OBS version 2.1.6. To learn more about version 2.1 and the additional features in it, see the upstream project details: roadmap.

There are 2 build system instances that are relevant to MeeGo:

  • MeeGo build system: Essentially, if you're a package maintainer/developer which is part of MeeGo, you get an account here.
  • MeeGo public build system (AKA community OBS): For anyone to build applications or libraries against MeeGo. Anyone with a meego.com account can use this.


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

MeeGo Build Service

The MeeGo build system is part of meego.com infrastructure and supports several important kinds of development:

  • Applications to run on MeeGo
  • Team Repositories
  • Personal Repositories

Having these areas allow us to support:

  • Managing packages as part of their acceptance into MeeGo core
  • Deprecating packages from MeeGo core

MeeGo Community Build Service OBS

There's also a MeeGo Build Service available.

Packagers/Developers

Peep skate.png

Developing for the openSUSE Build Service

Peep netbook.png
Personal tools