Open Build Service

Reference Guide

Authors: Adrian Schröter, Frank Schreiner, and Karsten Keil
Publication Date: 02/20/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 Source Management
5.1 Find Package Sources
6 Request And Review System
6.1 What a request looks like
7 Package Formats
7.1 Setting up a format
7.2 Recipe Specials
8 Image templates
8.1 Structure of image templates
8.2 Adding / removing image templates to the official image template page
8.3 Receiving image templates via interconnect
9 Build Configuration
9.1 Configuration File Syntax
9.2 Macro Section
10 Source Services
10.1 Using services for validation
10.2 Different Modes when using services
10.3 How are source service definitions stored
10.4 Dropping a source service again
10.5 How to write a source service
10.6 Interfaces for using source services
11 Multiple Build Description File Handling
11.1 Overview
11.2 How Multibuild is Defined
12 Signing
12.1 Package signing
12.2 Repository signing
12.3 Product signing
12.4 Configure sign key
13 Product Building
13.1 Requirements of a product
13.2 Possible shapes of a product
13.3 Product Setup in OBS
13.4 Release Management
13.5 Typical Review Process Setup
14 Maintenance Support
14.1 Simple Project Setup
14.2 How to use the maintenance process
14.3 OBS Internal Mechanisms
14.4 How to setup projects for doing a maintenance cycle
14.5 Optional Channel Setup
15 Binary Package Tracking
15.1 Which binaries get tracked?
15.2 What data is tracked?
15.3 osc search interface
15.4 webui search interface
15.5 API search interface
16 Cross Architecture Build
17 Administration
17.1 OBS Components
17.2 OBS Appliances
17.3 Backend Administration
17.4 Frontend Administration
17.5 Tools for the admin
17.6 Integrate OBS into your environment
18 Scheduling and Dispatching
18.1 How is a build process defined
18.2 Scheduling strategies
19 Build Job Constraints
19.1 hostlabel
19.2 sandbox
19.3 linux
19.4 hardware
19.5 Constraint Handling
19.6 Checking constraints with osc
20 Build Preinstall Images
21 Authorization
21.1 OBS Authorization Methods
21.2 OBS Token Authorization
22 Quality Assurance(QA) Hooks
22.1 Source related checks
22.2 Build time check
22.3 Work-flow checks
23 openSUSE Factory
23.1 openSUSE:Factory project
23.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