Build Service/Installations Tutorial

aus openSUSE, der freien Wissensdatenbank

Übersetzung in Bearbeitung !! Das jeweils aktuellste Original ist unter http://en.opensuse.org/Build_Service/Build_Service_Installation_Tutorial/openSUSE_10.2 abrufbar.


Der openSUSE Build Service ist eine freie und komplette Entwicklungsplattform für Distributionen, die die Infrastruktur für die Entwicklung der zukünftigen Distributionen auf Basis von openSUSE bereitstellt.

Es ermöglicht Entwicklern ihre Software für eine große Zahl von Nutzern zu kompilieren, zu paketieren und zu veröffentlichen - einschließlich der Erstellung von eigenen Distributionen basierend auf openSUSE für verschiedene Hardware-Plattformen.


Inhaltsverzeichnis

Kenndaten

In der Einleitung erwähnten wir, dass der Build Service eine komplette Entwicklungsplattform für Distributionen ist, der die Infrastruktur für kommende auf openSUSE basierende Distributionen bereitstellt.

Daneben ist es auch möglich, für andere Distributionen, wie Fedora, Debian und Ubuntu, Pakete zu bauen.

benutzer von openSUSE können einfach die Nutzer-Seite des Webinterfaces unter http://software.opensuse.org durchsuchen und die aktuellsten Pakete herunterladen.






Open interfaces allow external services (e.g. Source Forge) and web pages to interface with the Build Service and to use its resources.

In an advanced state, it will be accessible to anybody equipped with user/trust management and will be able to create further build targets (e.g. LSB, Xen images).

Advantages

For Developers

  • No "compiler farms" of different hardware needed to build a package for different architectures.
  • Produce better software: some software-projects still use 16bit processes and wonder why their code doesn't compile on 32bit or 64bit platforms.
  • Automatic resolving of dependencies to other packages. If a package depends on another package, this package will be triggered for a rebuild automatically if the depending package is rebuilt.
  • Linking to other projects: Patches can be tested with the newest packages from other projects. For example: a developer has a patch for amarok and wants to test it in a defined environment. He can create a link to the KDE project and use it as environment for his own tests. The result: his patched version of amarok will always be triggered for a rebuild when the KDE project initiates a new build.

For Users

  • Always get the newest software versions for their distribution. Using a trust relationship in the build service, the user can declare "I trust the Project xy" and can afterwards install packages only from this project.
  • Getting upgrades for older distributions. (Like getting a new KDE 3.5.3 for SL 10.0)
  • More unification between the different distributions. Packages from the build service can bring people together - thinking about "Why do they do such things? Why do they use these directories? - I want to get it for my distribution, too". (But this is something for the future... :-)

How to find and install packages ? Look here.

For Distributors

  • The Build Service is able to create complete distributions or modified images easily to be used in different ways. A first version of KIWI to create images for booting via network or to be used as XEN or VMWARE image has been released.

Roadmap

We have a Roadmap and we also maintain a log of smaller changes.

How to Use It

The build service can be used either via the Web Interface, via the Command Line Tool or any other tool using the public API. Packagers might also want to read the cross distribution package how to and the Build Service Tutorial.

An account is currently only given to experienced and known packagers who can deal with the alpha state of the Build Service. To get an account, please read the section in the Build Service Tutorial. You will be asked what you want to do with the build service and your account will be enabled (or not) within some days.

Some hints can be found on the Build Service Tips & Tricks site.

Summer of the Code

There are several Google Summer of the Code projects going on in the context of the openSUSE Build Service:

Build Service Source Code

SVN Repository

The source and documentation of the Build Service tools gets hosted on forge.novell.com. This repository contains the sources for the client tools as well the sources for the servers.

Forge currently has problems with their svn server; until those are resolved checkouts are not possible.


Packages

Packages are around in the buildserver, but they are not really production ready yet. There is quite some work needed, before they can be declared ready. The packages can be found in the openSUSE:/Tools repository. Look for packages named obs-* (openSUSE Build Server).

How To Contribute

As with most open source projects, please start to write patches or a concept what you plan to develop. People who have proven to deliver working code will get write access to the svn repository.

At the moment you also have the opportunity to participate in Google's Summer of Code with an openSUSE Build Service project. See the Summer of Code 2006 page for details and project ideas.

Documentation

  • You can find the latest information on the News site.
  • We do provide two talks from FOSDEM about the Build Service. The first talk gives an overview about the idea of the Build Service and it's architecture. The second talk describes the project model in detail and explains how to build for multiple distributions, including openSUSE, Fedora, Mandriva and Debian.
  • An important piece is the documentation for the API. The API is a simple and generic interface to work with the Build Server. You may use it to integrate it into your tools to submit code updates, check the current state of your projects or doing something very different and cool.
  • You do not like our Web Frontend or command line tool ? You can either improve it or write your own. The source for both is as well available in the forge repository.

Contact

Subscribe to the opensuse-buildservice mailing list (archive). Feedback is welcome, even more welcome are patches, new tools and new ideas.

Some of us do also hang around in #openSUSE-buildservice channel on freenode.

Your openSUSE Build Service Team

Web Client

Command Line Tools

Currently there are two command line tools for the build service. Both are described here:

Additionally, if you're a build service developer, you might be interested in using the build service rest api directly via curl

de:Build_Service