Packaging made easy. How the opensuse build service makes building packages easy for developers who don't care about packaging

Similar documents
The opensuse project. Motivation, Goals, and Opportunities. Sonja Krause-Harder Michael Löffler. March 6, 2006

Using SAT for solving package dependencies. Michael Schröder Novell, Inc.

OpenSync. Daniel Gollub SUSE Linux Products GmbH

From GIT to a custom OS image in a few click OS image made easy

openqa making QA interesting since 2013 Ondrej Holecek /aaannz/

openqa features capabilities bugs Ondrej Holecek /aaannz/

Zypper. Ján Kupec YaST Team

Novell SLES 10/Xen. Roadmap Presentation. Clyde R. Griffin Manager, Xen Virtualization Novell, Inc. cgriffin at novell.com.

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

Docker Networking In OpenStack What you need to know now. Fawad Khaliq

Collecting data from IoT devices using Sigfox network

Novell Infiniband and XEN

Essentials. Johannes Meixner. about Disaster Recovery (abbreviated DR) with Relax-and-Recover (abbreviated ReaR)

Welcome to SUSE Expert Days 2017 Service Delivery with DevOps

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

SUSE An introduction...

Zdeněk Kubala Senior QA

SUSE Manager in Large Scale 17220

Define Your Future with SUSE

Managing Linux Servers Comparing SUSE Manager and ZENworks Configuration Management

SUSE OpenStack Cloud. Enabling your SoftwareDefined Data Center. SUSE Expert Days. Nyers Gábor Trainer &

96Boards Enablement for opensuse

How To Make Databases on SUSE Linux Enterprise Server Highly Available Mike Friesenegger

Using Linux Containers as a Virtualization Option

Best practices with SUSE Linux Enterprise Server Starter System and extentions Ihno Krumreich

SUSE Linux Enterprise Kernel Back to the Future

Open Enterprise & Open Community

BOV89296 SUSE Best Practices Sharing Expertise, Experience and Knowledge. Christoph Wickert Technical Writer SUSE /

Build with SUSE Studio, Deploy with SUSE Linux Enterprise Point of Service and Manage with SUSE Manager Case Study

Introduction to Software Defined Infrastructure SUSE Linux Enterprise 15

Protect your server with SELinux on SUSE Linux Enterprise Server 11 SP Sander van Vugt

3 Mobility Pack Installation Instructions

Advanced patching of SUSE Linux Enterprise Server 10 with ZENworks Linux Management 7.2

SUSE Manager and Salt

SUSE Manager Roadmap OS Lifecycle Management from the Datacenter to the Cloud

Provisioning with SUSE Enterprise Storage. Nyers Gábor Trainer &

DevOps with SUSE: How SUSE Manager, SUSE Studio and SUSE Cloud APIs Facilitate Continuous Software Delivery. Wolfgang Engel.

Samba and Ceph. Release the Kraken! David Disseldorp

OpenECOMP SDC Developer Guide

REST APIs on z/os. How to use z/os Connect RESTful APIs with Modern Cloud Native Applications. Bill Keller

Linux and z Systems in the Datacenter Berthold Gunreben

Expert Days SUSE Enterprise Storage

The CephFS Gateways Samba and NFS-Ganesha. David Disseldorp Supriti Singh

Cloud in a box. Fully automated installation of SUSE Openstack Cloud 5 on Dell VRTX. Lars Everbrand. Software Developer

Pushing The Limits Of Linux On ARM

Exploring History with Hawk

Configuring Google Cloud Messaging Service for Android Devices

Saving Real Storage with xip2fs and DCSS. Ihno Krumreich Project Manager for SLES on System z

SAP HANA SPS 08 - What s New? SAP HANA Interactive Education - SHINE (Delta from SPS 07 to SPS 08) SAP HANA Product Management May, 2014

Minosse RDBMS. Antonello Provenzano Deveel Ltd.

Secure Authentication

SUSE Linux Enterprise High Availability Extension

Linux High Availability on IBM z Systems

Novell ZENworks Orchestrator

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

Open Build Service (OBS) Packager Workshop

SaltStack and SUSE Systems and Configuration Management that Scales and is Easy to Extend

Samba HA Cluster on SLES 9

Too Many Metas A high level look at building a metadata desktop. Joe Shaw

See What's Coming in Oracle Taleo Business Edition Cloud Service

Novell Data Synchronizer Mobility Pack Overview. Novell. Readme. January 28, 2013

Lifecycle Manager Governance API

SOA Software Intermediary for Microsoft : Install Guide

CONFIGURATION MANAGEMENT PLAN FİZAN MACROHARD

NetIQ Aegis: Automated Workflow Magic Lab

IO110: Open Enterprise Server 2. Hardware you can hit with a hammer, software you can only curse at...

Using Crowbar to Deploy Your OpenStack Cloud. Adam Spiers Vincent Untz John H Terpstra

Software Defined. All The Way with OpenStack. T. R. Bosworth Senior Product Manager SUSE OpenStack Cloud

Motivations. Luigi De Russis. Why Ruby (on Rails)?

Effective Monitoring for Demanding Operations Environments

Installation Instructions: Oracle XML DB XFILES Demonstration. An Oracle White Paper: November 2011

Novell. NetWare 6. NETWARE WEBACCESS OVERVIEW AND INSTALLATION

This product may require export authorization from the U.S. Department of Commerce prior to exporting from the U.S. or Canada.

Update Management ZENworks Mobile Management 3.2.x September 2015

Novell. NetWare 6. USER ACCESS LICENSING FOR NETWARE

Version is the follow-on release after version 8.1, featuring:

Building a Secure and Compliant Cloud Infrastructure. Ben Goodman Principal Strategist, Identity, Compliance and Security Novell, Inc.

This product may require export authorization from the U.S. Department of Commerce prior to exporting from the U.S. or Canada.

Collaboration in Teams: Simulink Projects Demonstration

SAP Jam Communities What's New 1808 THE BEST RUN. PUBLIC Document Version: August

Open World Forum 2013

Océ User manual. Printer drivers. Printer driver installation

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

3 NetWare/Windows: Software Installation

Style Guide GroupWise Product Documentation August 2013

Exploring the High Availability Storage Infrastructure. Tutorial 323 Brainshare Jo De Baer Technology Specialist Novell -

Novell. imanager ADMINISTRATION GUIDE

Novell Data Synchronizer 1.2

Boot Interrupt Quirks and (RealTime) Interrupt Handling on x86. Olaf Dabrunz, Stefan Assmann

Frequently Asked Questions Oracle Content Management Integration. An Oracle White Paper June 2007

Novell. ZENworks. for Desktops 3.2 Preboot Services INSTALLATION

System Performance: Sizing and Tuning

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Oracle Taleo Cloud for Midsize (Taleo Business Edition)

This Readme describes the NetIQ Access Manager 3.1 SP5 release.

Making your Applications Portable with Novell ZAV 9 Lecture

Océ PRISMAaccess. Stay in Control. User manual Web Submission

Cloud environment with CentOS, OpenNebula and KVM

KERNEL C.I. USING LINARO S AUTOMATED VALIDATION ARCHITECTURE. Wednesday, September 11, 13

This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and

Transcription:

Packaging made easy How the opensuse build service makes building packages easy for developers who don't care about packaging Cornelius Schumacher <cschum@suse.de>

Motivation Packaging: Creating installable binaries of software for end users Assumption: Software developers don't like packaging Requires specific skills and knowledge Needs time, big fraction of the time is spent waiting Effort multiplies with number of platforms the software should run on Solution: opensuse Build Service provides tools to make packaging easy 2

Overview Architecture Tools Web Client Command Line Client Upstream Integration Client Native GUI Client Getting Involved 3

Architecture

Architecture Web Client Command Line Client Installer (YaST,etc.) Your Client opensuse API Mirror Interface Frontend Storage Backend 5 Build Host Build Host Build Host Build Host Build Host Build Host

Backend Building Packages Storage for sources (version controlled) Farm of build hosts for building packages Runs sandboxed builds (using XEN) Build for multiple hardware architectures (currently i586, x86_64) Storage for built packages Provide build status and logs 6

Mirror Interface Interface to mirrors Interface to end users through installation tools Syncing with mirrors (rsync, drpmsync) Installation source meta data (apt, yum, SUSE) Redirecting users to up-to-date mirrors Support end users with finding and installing packages from opensuse Planned: Notification about new versions (RSS, mail,...) 7 http://software.opensuse.org/download

Frontend Programming Interface to the Build Service Public API for client tools Access to sources Access to build status and logs Access to built packages Control build User management 8

opensuse API Public Programming Interface for the opensuse Build Service Web Service REST based API XML over HTTP 9 Frontend functionality exposed through HTTP operations Control and meta data is transferred and stored as XML Schema validation for all XML data Leverages use of standard tools and frameworks

Client Tools User Interface for Developers and Packagers Web Client Command Line Client (osc) SVN-style user interface Python supports local builds oscupstream 10 based on Ruby on Rails integration with upstream SVN repositories

Web Client Demo

Web Client http://build.opensuse.org 12

Example: adding a screen package 13

Entering package data 14

cont. 15

Adding files to a package 16

cont. 17

cont. 18

cont. 19

cont. 20

We have a new package! 21

Adding Repositories 22

cont. 23

cont. 24

cont. 25

cont. 26

cont. 27

cont. 28

cont. 29

Example: home:mls 30

cont. 31

Adding YaST Installation Source 32

Installing the package 33

Running the program 34

Command Line Client Demo

OSC Demo osc ls osc co home:cschum plutimikation cd home:cschum/plutimikation vi plutimikation.spec osc add plutimikation.spec osc ci osc results osc log 36

Clients under development

Native GUI Client Google Summer of Code 2006 project Author: Jonathan Arsenault 38

Upstream Integration Google Summer of Code 2006 project Author: Rafal Kwasny 39

apbuddy Google Summer of Code 2006 project Author: Rajagopal Natarajan 40

Getting Involved

Getting Involved Public opensuse API makes it easy to write own clients Build Service is free software Improving existing clients Improving the server parts (frontend, backend) Build your own software on the Build Service Package software on the Build Service Getting involved with development of the opensuse distribution 42

opensuse API Documentation http://api.opensuse.org/apidocs 43

API Specification Example <project>: Project name GET /source/ Read list of projects. XmlResult: projects directory.xsd GET /source/<project>/_meta Read project meta file. XmlResult: project 44

Getting the Source http://developer.novell.com/wiki/index.php/opensuse svn co https://forgesvn1.novell.com/svn/opensuse/trunk 45

Conclusion

Conclusion opensuse Build Service makes packaging easy Various tools to help to do the job Web Client Command Line Client Upstream Integration, Native GUI Client, apbuddy Writing own tools is easy opensuse Build Service: http://build.opensuse.org Wiki: http://en.opensuse.org/build_service Mailing List: opensuse-buildservice@opensuse.org IRC: #opensuse-buildservice on irc.opensuse.org 47

General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. Novell, Inc., makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc., reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/bync-sa/2.5/. For other licenses contact author.