Open Build Service (OBS) Packager Workshop

Similar documents
BUILDING YOUR OWN RPMS

opensuse Packaging for the osmocom stack Martin Hauke

Building RPMs for Native Application Hosting

Overview. What are community packages? Who installs what? How to compile and install? Setup at FSU RCC. Using RPMs vs regular install

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

Effective packaging. Petr Uzel. L3/Maintenance ptr IRC

DICE and LCFG Software Guidelines

RPM How To: Intro. What is RPM? Why Building RPMS? Who is this howto designed for? Who can build RPMS? What do I need to build RPMS?

Software Packaging with RPM

Pulp OSTree Documentation

Fedora Draft Documentation Packager's Guide

Package Manager. RPM (Red Hat Package Manager)

Frédéric Crozat SUSE Linux Enterprise Release Manager

Building RPMs. Josko Plazonic. & Thomas Uphill. January 25, Building RPMs. Josko Plazonic. Princeton University.

# Example 1: Hello World! (thanks to Mauricio Vergara Ereche)

Tutorial 2 GitHub Tutorial

Submitting your Work using GIT

2 Initialize a git repository on your machine, add a README file, commit and push

Linux Software Installation Exercises 2 Part 1. Install PYTHON software with PIP

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

Revision Control and GIT

RHCE BOOT CAMP. Various Additional Topics

Version Control Systems

Software Deployment Packaging, Installation, Updates

Version Control with GIT

Building Linux Packages with RPM

Future Designs, Inc.

Django MFA Documentation

The OpenStack Project Continuous Integration System. Elizabeth K.

Multi-Arch Layered Image Build System

There are three separate utilities for configuring Linux kernel and they are listed below: Command-line interface # make config. Figure 1.

Git Tutorial. André Sailer. ILD Technical Meeting April 24, 2017 CERN-EP-LCD. ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36

Department of Computer Science College of Engineering Boise State University

Version Control with Git ME 461 Fall 2018

FPLLL. Contributing. Martin R. Albrecht 2017/07/06

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han

ULTEO OPEN VIRTUAL DESKTOP OPENSUSE 11.3 SUPPORT

Python RPM Porting Guide Release 0.1

Buildfarm Client as a Development Tool

Visualizing Git Workflows. A visual guide to 539 workflows

Signals Documentation

DSH-G300 Smart Hub. Manual

Best Practice Guide: Open Build Service

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Code and data management with Git

The Old World. Have you ever had to collaborate on a project by

Admin Login Log. User Guide. Compatibility: 1.5, 1.6, 1.7, 1.8, 1.9. Official Extension Page: Admin Login Log. User Guide: Admin Login Log Page 1

YU Kaltura Media Package User's Guide For version 1.1.x. Written by Media and Information Technology Center, Yamaguchi University.

Hg Tutorial. For : COP Object oriented Programming (Using C++) Biswas Parajuli

TangeloHub Documentation

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

itesla Power System Tools The open-source project for power grid simulations

Step 1: Setup a Gitlab account

R packages from a Fedora perspective

Red Hat JBoss Developer Studio 11.3

User- and distro-friendly packaging

Introduction to RPM Packaging

What s new in RPM. (insider info from upstream development) Jindr ich Novy, September 15, 2009

Building Tizen Development Environment

Integration of UNICORE Components into Linux Systems

Zend Server Community Edition 5.1. Installation Guide. By Zend Technologies.

Red Hat Enterprise Linux 7 RPM Packaging Guide

HOW TO ACTIVATE YOUR FLEXNET LICENSE

Graduating to GUI. PyGObject for Beginners. Presented by Paul W. Frields Red Hat, Inc. / Fedora Project

How to obtain and manage K2 License Keys


From: Sudarshan N Raghavan (770)

Introduction to version control. David Rey DREAM

Upgrade Guide. This document details the upgrade process for customers moving from the full version of OnApp Cloud v2.3.1 to v2.3.2.

Section 1: Tools. Kaifei Chen, Luca Zuccarini. January 23, Make Motivation How... 2

Red Hat JBoss Developer Studio 11.0

Kernel Korner Exploring Dynamic Kernel Module Support (DKMS)

Software Packaging with RPM. Schalk W. Cronjé

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Collaborative Authoring Tool

Migrating Data from Archivists Toolkit to ArchivesSpace Using the Migration Tool last updated December 19, 2017

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b

Concurrent Versions System (cvs( cvs) Adviser Date August 31, 2004

OTC Tools Development and Release process. Igor Stoppa & Eduard Bartosh & JF Ding V May 2013

Integrations. Native Integrations (Recommended)...3. Canvas Native Integration Instructions...4. Moodle Native Integration Instructions...

Revision Control. An Introduction Using Git 1/15

Hermes Message Dispatching

Unity and Interoperability Among Decentralized Systems. Chris Gebhardt. The InfoCentral Project

GMusicProcurator Documentation

Advanced Linux System Administra3on

SCAP Security Guide Questions / Answers. Contributor WorkShop Volume #2

Open World Forum 2013

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

An Introduction to Box.com

Integration Guide. LoginTC

Software Collections. Honza Horak freenode Red Hat, Brno CentOS Dojo 30 th Jan 2015

Getting the Source Code

Using Git to Manage Source RTL

Continuous Integration INRIA

Importing Files and Directories $ svnadmin create \

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

Centreon SSH Connector Documentation

Transcription:

Open Build Service (OBS) Packager Workshop

A Packagers OBS Tools

Components Overview Hermes Web UI Web UI Command Line Client Your Client Installer (YaST,etc.) Notification Server OBS API (api.opensuse.org) User controller, Database, Search,... Mirror Interface Storage Backend Build Host Build Host Build Host Build Host Build Host Build Host 3

4 A Packagers OBS Tools

A Packagers OBS Tools Reference Server build.opensuse.org 5

6 A Packagers OBS Tools Web Client

A Packagers OBS Tools osc http://openbuildservice.org/download 7

Creating Packages

Creating Packages 1 Create a package in your own home project on the reference server 9

Creating Packages Create your home project build.opensuse.org Login Create your home project 10

Creating Packages Create a new package Terminal X you@laptop $ osc co home:you A home:you you@laptop $ cd home:you you@laptop $ osc mkpac ctris A ctris you@laptop $ cd ctris you@laptop $ vi ctris.spec 11

Creating Packages Write a specfile Name: ctris Summary: Console based Tetris clone URL: http://www.hackl.dhs.org/ctris/ License: GPL Group: Amusements/Games/Action/Arcade Version: 0.42 Release: 1 Source: %{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: ncurses-devel Requires: ncurses %description An ASCII version of the well known game Tetris %prep %setup -q %build make %install make install DESTDIR=$RPM_BUILD_ROOT %debug_package %clean rm -rf $RPM_BUILD_ROOT; %files %defattr (-,root,root) %doc AUTHORS COPYING README TODO %doc %{_mandir}/man6/ctris.6.gz /usr/games/ctris 12

Creating Packages Create a new package Terminal X you@laptop $ wget -q http://www.hackl.dhs.org/data/download/download.php?file=ctris- 0.42.tar.bz2 -O ctris-0.42.tar.bz2 you@laptop $ osc addremove A ctris.spec A ctris-0.42.tar.bz2 you@laptop $ osc ci -m First checkin of the ctris package 13

Creating Packages Playtime Try some stuff on your own: Import an RPM package with osc importsrcpkg Copy an existing package with osc copypac 14

Building Packages

Building Packages 2 Build a package locally on your laptop and on the reference server 16

Building Packages Add Repositories home:you Repositories Add repositories 17

Building Packages Local Builds Terminal X you@laptop $ osc build Building ctris.spec for opensuse_12.2/i586 Getting buildinfo from server and store to /home/you/home:you/ctris/.osc/_buildinfoopensuse_12.2-i586.xml Getting buildconfig from server and store to /home/you/home:you/ctris/.osc/_buildconfigopensuse_12.2-i586 Updating cache of required packages 0.0% cache miss. 109/109 dependencies cached. Verifying integrity of cached packages using keys from opensuse:12.2 Writing build configuration Running build logging output to /var/tmp/build-root/.build.log... 18

Building Packages Local Builds for foreign distributions Terminal X you@laptop $ osc build Fedora_17 Building ctris.spec for Fedora_17/i586 Getting buildinfo from server and store to /home/heino/home:heino1938/ctris/.osc/_buildinfo- Fedora_17-i586.xml Getting buildconfig from server and store to /home/heino/home:heino1938/ctris/.osc/_buildconfig- Fedora_17-i586 Updating cache of required packages 0.0% cache miss. 204/204 dependencies cached. Verifying integrity of cached packages using keys from Fedora:17 Writing build configuration Running build logging output to /var/tmp/build-root/.build.log... 19

Building Packages Checking build results Terminal X you@laptop $ osc results Fedora_17 i586 failed Fedora_17 x86_64 failed opensuse_12.2 i586 succeeded opensuse_12.2 x86_64 succeeded you@laptop $ osc prjresults ctris F Fedora_17 i586 (published) F Fedora_17 x86_64 (published). opensuse_12.2 i586 (published). opensuse_12.2 x86_64 (published) 20

Building Packages Checking build logs Terminal X you@laptop $ osc localbuildlog you@laptop $ osc remotebuildlog home:you ctris Fedora_17 x86_64 21

Building Packages Playtime Try some stuff on your own: Examine other projects with osc pr some:project Examine the build root with osc chroot 22

Collaborating on Packages

Collaborating on Packages 3 Branch a package Submit a merge request Review a merge request 24

Collaborating on Packages Branching Terminal X you@laptop $ osc branch home:hennevogel ctris A working copy of the branched package can be checked out with: osc co home:you:branches:home:hennevogel/ctris you@laptop $ osc co home:you:branches:home:hennevogel/ctris A home:you:branches:home:hennevogel A home:you:branches:home:hennevogel/ctris A home:you:branches:home:hennevogel/ctris/ctris-0.41.tar.bz2 A home:you:branches:home:hennevogel/ctris/ctris.changes A home:you:branches:home:hennevogel/ctris/ctris.spec At revision 2e6f2aea1a884fda8c6e9564c9323ab3. you@laptop $ cd home:you:branches:home:hennevogel 25

Collaborating on Packages Updating Terminal X you@laptop $ vi ctris.spec you@laptop $ wget -q http://www.hackl.dhs.org/data/download/download.php?file=ctris- 0.42.tar.bz2 -O ctris-0.42.tar.bz2 you@laptop $ rm ctris-0.41.tar.bz2 you@laptop $ osc addremove D ctris-0.41.tar.bz2 A ctris-0.42.tar.bz2 26

Collaborating on Packages Testing your changes Terminal X you@laptop $ osc build you@laptop $ osc ci -m Update to version 0.42 you@laptop $ osc results you@laptop $ osc remotebuildlog home:you:branches:home:hennevogel opensuse_12.2 i586 27

Collaborating on Packages Submitting changes Terminal X you@laptop $ osc submitreq created request id 0815 you@laptop $ osc request -M 0815 State:new By:you When:2012-08-16T13:21:35 submit: home:you:branches:home:hennevogel/ctris -> home:hennevogel Descr: Update to version 0.42 28

Collaborating on Packages Assess Requests Terminal X you@laptop hennevogel@work $ $ osc request list home:hennevogel 0815 State:new By:you When:2012-08-16T13:21:35 submit: home:you:branches:home:hennevogel/ctris -> home:hennevogel Descr: Update to version 0.42 hennevogel@work $ osc request accept 0815 -m "Thank you for your contribution :-)" Result of change request state: ok 29

Collaborating on Packages Tracking request Terminal X you@laptop $ osc request -M 0815 State:accepted By:hennevogel When:2012-08-16T13:43:04 submit: home:you:branches:home:hennevogel/ctris -> home:hennevogel From: new(you) Descr: Update Comment: Thank you for your contribution :-) 30

Collaborating on Packages Playtime Try some stuff on your own: Branch/submit a new package with osc branch -N Track a request for opensuse osc request list opensuse:factory 31

Learn more about the Open Build Service www.openbuildservice.org Thank you. 32