Open Build Service

Reference Guide

Publication Date 29 Jul 2014

AuthorsAdrian Schröter

Copyright © 2006–2014 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 http://www.novell.com/company/legal/trademarks/tmlist.html. 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.


Contents

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 Concepts
2.1. Project organization
2.2. The API
2.3. The OBS Interconnect
2.4. Attribute System
2.5. Automatic source processing
3. Build Process
3.1. How is a build process defined
3.2. How does a build process work
3.3. Different ways to build
3.4. Security aspects
4. Source Management
4.1. Find Package Sources
5. Request And Review System
5.1. How a request looks alike
6. Package Formats
6.1. Setting up a format
6.2. Recipe Specials
7. Build Configuration
7.1. Configuration File Syntax
7.2. Macro Section
8. Source Services
8.1. Using services for validation
8.2. Different Modes when using services
8.3. How are source service definitions stored
8.4. How to write a source service
8.5. Interfaces for using source services
9. Signing
9.1. Package signing
9.2. Repository signing
9.3. Product signing
9.4. Configure sign key
10. Product Building
10.1. Requirements of a product
10.2. Possible shapes of a product
10.3. Product Setup in OBS
10.4. Release Management
10.5. Typical Review Process Setup
11. Maintenance Support
11.1. Simple Project Setup
11.2. How to use the maintenance process
11.3. OBS Internal Mechanisms
11.4. How to setup projects for doing a maintenance cycle
11.5. Optional Channel Setup
12. Cross Architecture Build
13. Administration
13.1. Server Components
13.2. Tools for the admin
13.3. Integrate OBS into your environment
14. Scheduling and Dispatching
14.1. How is a build process defined
14.2. Scheduling strategies
15. Build Job Constraints
15.1. hostlabel
15.2. sandbox
15.3. linux
15.4. hardware
16. Build Preinstall Images
17. Authorization
17.1. OBS Authorization Methods
17.2. OBS Token Authorization
18. Quality Assurance(QA) Hooks
18.1. Source related checks
18.2. Build time check
18.3. Work-flow checks
19. openSUSE Factory
19.1. openSUSE:Factory project
19.2. Devel Projects
Glossary
A. How to work on this Book
B. GNU Licenses
B.1. GNU General Public License
B.2. GNU Free Documentation License

List of Figures

11.1. Simple Project Setup