13 Product Building

OBS is used to build complete product lines. It is employed for openSUSE and also for SUSE Linux Enterprise products.

13.1 Requirements of a product

...

13.2 Possible shapes of a product

product media, appliance, repository...

13.3 Product Setup in OBS

....

13.3.1 Package building

A project is configured in the project meta data. This meta data contains ... These projects contain ...

13.3.2 Appliance setup with kiwi

...

13.3.3 Product creation with kiwi

...

13.3.4 Product Line Setup

Bigger products, like openSUSE or SUSE Linux Enterprise usually contain multiple media. These media must be kept in sync in various ways, for example for installation patterns, version numbering and other meta data. To guarantee this, OBS provides the product definition xml. Submitting such a product xml will create all necessary sources for meta packages and also all needed kiwi source files.

13.4 Release Management

Products needs usually multiple approval steps and should only be released on manual approval. OBS is providing a mechanism which allows to copy sources and binaries to another project in this case. To use this the release target must be configured inside of a repository defintion of the project meta data:

<project name="BuildProject">
  ...
  <repository name="BuildRepo">
    <releasetarget project="ReleaseProject" repository="ReleaseRepo" trigger="manual" />
    ...
  </repository>
</project>
    

The ReleaseProject must be create before and it should be configured as build disabled. The release can be triggered then via

osc release BuildProject

All sources and build results will be copied over from BuildProject to the ReleaseProject and the publishing will happen afterwards. The operation will happen in background since it can take quite some time depending on the project size.

13.5 Typical Review Process Setup

...

Print this page