Open Build Service

Reference Guide

Authors: Adrian Schröter, Frank Schreiner, and Karsten Keil
Publication Date: 07/11/2017
About this Guide
1 Distributing Free Software: Herding Cats
1.1 Goals of the OBS
1.2 History of the OBS
1.3 Future of the OBS
2 OBS Architecture
2.1 Overview graph
2.2 Backend Components
2.3 Communication flow
3 OBS Concepts
3.1 Project organization
3.2 The API
3.3 The OBS Interconnect
3.4 Download on Demand Repositories (DoD)
3.5 Integrate External Source Repositories
3.6 Attribute System
3.7 Automatic source processing
4 Build Process
4.1 How is a build process defined
4.2 How does a build process work
4.3 Different ways to build
4.4 Security aspects
5 Build Containers
5.1 Supported Containers
6 Source Management
6.1 Find Package Sources
7 Request And Review System
7.1 What a request looks like
8 Package Formats
8.1 Setting up a format
8.2 Recipe Specials
9 Image templates
9.1 Structure of image templates
9.2 Adding / removing image templates to the official image template page
9.3 Receiving image templates via interconnect
10 Build Configuration
10.1 Configuration File Syntax
10.2 Macro Section
11 Source Services
11.1 Using services for validation
11.2 Different Modes when using services
11.3 How are source service definitions stored
11.4 Dropping a source service again
11.5 How to write a source service
11.6 Interfaces for using source services
12 Multiple Build Description File Handling
12.1 Overview
12.2 How Multibuild is Defined
13 Signing
13.1 Package signing
13.2 Repository signing
13.3 Product signing
13.4 Configure sign key
14 Product Building
14.1 Requirements of a product
14.2 Possible shapes of a product
14.3 Product Setup in OBS
14.4 Release Management
14.5 Typical Review Process Setup
15 Maintenance Support
15.1 Simple Project Setup
15.2 How to use the maintenance process
15.3 OBS Internal Mechanisms
15.4 How to setup projects for doing a maintenance cycle
15.5 Optional Channel Setup
16 Binary Package Tracking
16.1 Which binaries get tracked?
16.2 What data is tracked?
16.3 osc search interface
16.4 webui search interface
16.5 API search interface
17 Cross Architecture Build
18 Administration
18.1 OBS Components
18.2 OBS Appliances
18.3 Backend Administration
18.4 Frontend Administration
18.5 Tools for the admin
18.6 Integrate OBS into your environment
19 Scheduling and Dispatching
19.1 How is a build process defined
19.2 Scheduling strategies
20 Build Job Constraints
20.1 hostlabel
20.2 sandbox
20.3 linux
20.4 hardware
20.5 Constraint Handling
20.6 Checking constraints with osc
21 Build Preinstall Images
22 Authorization
22.1 OBS Authorization Methods
22.2 OBS Token Authorization
23 Quality Assurance(QA) Hooks
23.1 Source related checks
23.2 Build time check
23.3 Work-flow checks
24 openSUSE Factory
24.1 openSUSE:Factory project
24.2 Devel Projects
A How to work on this Book
B GNU Licenses
B.1 GNU General Public License
B.2 GNU Free Documentation License

Copyright © 2006– 2017 Novell, Inc. and contributors. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled GNU Free Documentation License.

For Novell trademarks, see the Novell Trademark and Service Mark list Linux* is a registered trademark of Linus Torvalds. All other third party trademarks are the property of their respective owners. A trademark symbol (®, ™ etc.) denotes a Novell trademark; an asterisk (*) denotes a third party trademark.

All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither Novell, Inc., SUSE LINUX Products GmbH, the authors, nor the translators shall be held liable for possible errors or the consequences thereof.

Print this page