SlideShare a Scribd company logo
1 of 31
Develop and Maintain a Distro with
              Open Build Service


                      Gary Lin
                      Software Engineer, SUSE Labs
                      glin@suse.com
Open Build Service?



Open Build Service (OBS) is an open source
project initiated by SUSE to create a generic
build system to build and distribute packages
from sources in an automatic, consistent and
reproducible way.
Basic Idea


Source code




Patches                    Package
                   OBS      (RPM,
                           DEB, ...)

Changelog


 Whatever
Supported Distributions
Supported Architectures

●   i586
●   x86-64
●   PowerPC 32
●   PowerPC 64
●   IA64
●   ARMv7
●   ARMv5
How OBS works
Project and Package

●   Project
    –   Each project contains the resources needed to build
        one or more packages.
    –   These resources include source archives, patch files,
        spec files, etc.
    –   The project defines the build architectures and the
        general settings.
●   Package
    –   The packages are the build targets of the project.
    –   The package format could be any supported output
        format, e.g. RPM or DEB.
Frontend – Web UI
Frontend - Commandline
Frontend to Backend

Frontend Requests


   Create a package/project


    Query packages/projects


    Check in/modify sources
                              Backend
                              Servers
       Delete a package
              ...




        Submit changes
Backend Components

          scheduler              scheduler                  publish
            i586                  x86_64

      s                      job descriptions
   nt
eve
                    dispatcher                          srcserver                    publisher
                                                                                 s
                                                rce
                                                   s                       ck age
                    jobs                     sou                      pa

                                                                                     download
                      worker                            rep server
                                                                                      server
           warden




                                      dep packages




                                                                      signer
                           ...




                                                            ...




                                                                                        ...
                                        build results                                download
                      worker                            rep server
                                                                                      server
Collaboration
branch
  Project A               home:userA:branches:ProjectA

 Project Settings
 Project Settings                Project Settings
                                 Project Settings

Build Architectures
Build Architectures             Build Architectures
                                Build Architectures




    Package
    Package                         (Package)




                                       Diff
                                       Diff
submitrequest

Project A           home:userA:branches:ProjectA




 Package
 Package                      Package




   Diff
   Diff                         Diff
                                Diff
Real-life case: openSUSE
Current Release

●   All packages are in the release project and the
    update project, e.g. openSUSE:12.1 and
    openSUSE:12.1:Update.
●   Each package update must be reviewed by
    the maintenance team and then be submitted
    to the update project.
●   In general, every update has to be tracked by
    a bugzilla entry.
Maintenance Process



openSUSE 12.1:Update
 openSUSE 12.1:Update              openSUSE:Maintenance:IDXXX
                                    openSUSE:Maintenance:IDXXX
            packageA               patchInfo          packageA

                        m
                         br                      mr
                           an
                              ch

                                       home:userA:branches:
                                        home:userA:branches:
   openSUSE 12.1
    openSUSE 12.1                     openSUSE:12.1:Update
                                       openSUSE:12.1:Update
            packageA               patchInfo          packageA
Next Release

●   The packages for the next release are in the
    “factory” project, e.g. openSUSE:Factory.
●   All developments are happened in the “devel”
    projects.
●   The package updates are reviewed by the
    devel project maintainers.
●   Any modification is allowed as long as the
    maintainer agrees.
openSUSE Factory
Next Release


                            openSUSE:Factory
                             openSUSE:Factory



Devel Projects



         Base:System
         Base:System   Gnome:Factory
                       Gnome:Factory        Gnome:Apps
                                            Gnome:Apps         X11:XOrg
                                                               X11:XOrg
                                                         ...


User Branches                          sr
                   branch

                               home:userA:branches:
                                home:userA:branches:
                                  Gnome:Factory
                                   Gnome:Factory
Try it!




openSUSE Build Service
http://build.opensuse.org
Questions?
Thank You!
References

Open Build System
http://www.open-build-service.org/

Build system comparison
http://en.opensuse.org/openSUSE:Build_Service_comparison

Build Service Backend Key Components
http://en.opensuse.org/openSUSE:Build_Service_Backend_Key_Components

openSUSE Build System
https://build.opensuse.org/

openSUSE Maintenance Setup
http://doc.opensuse.org/products/draft/OBS/obs-reference-guide_draft/cha.obs.maintenance_setup.html
Backup Slides
Other Build Systems

●   Fedora “Koji”
●   Ubuntu “Launchpad”
●   Mandriva Build System
●   Project Build
●   Build Bot
●   Poky
Comparison
       Name         Multi-      Build for other Package formats Create Images
                 Architecture    distributions

Fedora Koji           N              N        rpm                    Y

Ubuntu
                      Y              N        deb                    N
Launchpad

Mandriva Build
                      Y              N        rpm                  TODO
System
                                              deb, rpm, ebuild,
Project Build         Y              Y                               N
                                              pkg

Build Bot             Y              N        N/A                    N

Poky                  Y              N        rpm, deb, ipg, tgz     Y

Open Build                                    rpm, deb, tgz,
                      Y              Y                               Y
Service                                       exe[*]
* experimental
Package Build

 Build Server             Local Build

   Sources
   Sources                   Sources
                             Sources


Dependencies
Dependencies             Dependencies
                         Dependencies


Base Packages
Base Packages            Base Packages
                         Base Packages


Base System
Base System                  chroot
                              chroot


    qemu
     qemu
copypac

Project A             Project B




 Package
 Package               Package
                       Package



                       Change
linkpac

Project A             Project B




 Package
 Package               (Package)




                          Diff
                          Diff
Tumbleweed

●   Tumbleweed is a project based on the current
    release and the “stable” projects.
●   Tumbleweed is initiated and maintained by
    Greg KH.
Tumbleweed

Tumbleweed


                        openSUSE:Tumbleweed
                         openSUSE:Tumbleweed




Stable Projects                                        Current Release



Gnome:Stable:3.2 KDE:Release:48 ...
Gnome:Stable:3.2 KDE:Release:48       Virtualization
                                      Virtualization   openSUSE:12.1
                                                        openSUSE:12.1

More Related Content

What's hot

Robert collins openstack on openstack 201304162
Robert collins   openstack on openstack 201304162Robert collins   openstack on openstack 201304162
Robert collins openstack on openstack 201304162
OpenStack Foundation
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
Susant Sahani
 

What's hot (20)

OpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf Tutorial
 
How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 
How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hours
 
Robert collins openstack on openstack 201304162
Robert collins   openstack on openstack 201304162Robert collins   openstack on openstack 201304162
Robert collins openstack on openstack 201304162
 
Sweden11
Sweden11Sweden11
Sweden11
 
Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
 
Systemd mlug-20140614
Systemd mlug-20140614Systemd mlug-20140614
Systemd mlug-20140614
 
Pdf c1t tlawaxb
Pdf c1t tlawaxbPdf c1t tlawaxb
Pdf c1t tlawaxb
 
Looking into trusted and encrypted keys
Looking into trusted and encrypted keysLooking into trusted and encrypted keys
Looking into trusted and encrypted keys
 
Systemd poettering
Systemd poetteringSystemd poettering
Systemd poettering
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
 
Install and Configure Ubuntu for Hadoop Installation for beginners
Install and Configure Ubuntu for Hadoop Installation for beginners Install and Configure Ubuntu for Hadoop Installation for beginners
Install and Configure Ubuntu for Hadoop Installation for beginners
 
Oclug 2010
Oclug 2010Oclug 2010
Oclug 2010
 
Oracle linux kube
Oracle linux kubeOracle linux kube
Oracle linux kube
 
Hadoop single cluster installation
Hadoop single cluster installationHadoop single cluster installation
Hadoop single cluster installation
 
Nelf2012
Nelf2012Nelf2012
Nelf2012
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
 
Fosscon2013
Fosscon2013Fosscon2013
Fosscon2013
 
The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014
 

Similar to Develop and Maintain a Distro with Open Build Service

Virtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profitVirtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profit
Andreas Heim
 

Similar to Develop and Maintain a Distro with Open Build Service (20)

Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)
 
Building For Mer
Building For MerBuilding For Mer
Building For Mer
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guide
 
Docker for Development
Docker for DevelopmentDocker for Development
Docker for Development
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Gitlab and Lingvokot
Gitlab and LingvokotGitlab and Lingvokot
Gitlab and Lingvokot
 
Docker at OpenDNS
Docker at OpenDNSDocker at OpenDNS
Docker at OpenDNS
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
App container rkt
App container rktApp container rkt
App container rkt
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.
 
Dockerized maven
Dockerized mavenDockerized maven
Dockerized maven
 
Svn Basic Tutorial
Svn Basic TutorialSvn Basic Tutorial
Svn Basic Tutorial
 
Virtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profitVirtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profit
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
Road to sbt 1.0 paved with server
Road to sbt 1.0   paved with serverRoad to sbt 1.0   paved with server
Road to sbt 1.0 paved with server
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
 

More from SUSE Labs Taipei

More from SUSE Labs Taipei (16)

Locked down openSUSE Tumbleweed kernel
Locked down openSUSE Tumbleweed kernelLocked down openSUSE Tumbleweed kernel
Locked down openSUSE Tumbleweed kernel
 
SUSE shim and things related to it
SUSE shim and things related to itSUSE shim and things related to it
SUSE shim and things related to it
 
Multi-signed Kernel Module
Multi-signed Kernel ModuleMulti-signed Kernel Module
Multi-signed Kernel Module
 
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
 
Profiling the ACPICA Namespace and Event Handing
Profiling the ACPICA Namespace and Event HandingProfiling the ACPICA Namespace and Event Handing
Profiling the ACPICA Namespace and Event Handing
 
Kernel debug log and console on openSUSE
Kernel debug log and console on openSUSEKernel debug log and console on openSUSE
Kernel debug log and console on openSUSE
 
The bright future of SUSE and openSUSE
The bright future of SUSE and openSUSEThe bright future of SUSE and openSUSE
The bright future of SUSE and openSUSE
 
EFI Secure Key
EFI Secure KeyEFI Secure Key
EFI Secure Key
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
 
Convert your package to multibuild on Open Build Service
Convert your package to multibuild on Open Build ServiceConvert your package to multibuild on Open Build Service
Convert your package to multibuild on Open Build Service
 
Ixgbe internals
Ixgbe internalsIxgbe internals
Ixgbe internals
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
 
Hands-on ethernet driver
Hands-on ethernet driverHands-on ethernet driver
Hands-on ethernet driver
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
openSUSE12.2 Review
openSUSE12.2 ReviewopenSUSE12.2 Review
openSUSE12.2 Review
 
oS KDE Repos & MM
oS KDE Repos & MMoS KDE Repos & MM
oS KDE Repos & MM
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Develop and Maintain a Distro with Open Build Service

  • 1. Develop and Maintain a Distro with Open Build Service Gary Lin Software Engineer, SUSE Labs glin@suse.com
  • 2. Open Build Service? Open Build Service (OBS) is an open source project initiated by SUSE to create a generic build system to build and distribute packages from sources in an automatic, consistent and reproducible way.
  • 3. Basic Idea Source code Patches Package OBS (RPM, DEB, ...) Changelog Whatever
  • 5. Supported Architectures ● i586 ● x86-64 ● PowerPC 32 ● PowerPC 64 ● IA64 ● ARMv7 ● ARMv5
  • 7. Project and Package ● Project – Each project contains the resources needed to build one or more packages. – These resources include source archives, patch files, spec files, etc. – The project defines the build architectures and the general settings. ● Package – The packages are the build targets of the project. – The package format could be any supported output format, e.g. RPM or DEB.
  • 10. Frontend to Backend Frontend Requests Create a package/project Query packages/projects Check in/modify sources Backend Servers Delete a package ... Submit changes
  • 11. Backend Components scheduler scheduler publish i586 x86_64 s job descriptions nt eve dispatcher srcserver publisher s rce s ck age jobs sou pa download worker rep server server warden dep packages signer ... ... ... build results download worker rep server server
  • 13. branch Project A home:userA:branches:ProjectA Project Settings Project Settings Project Settings Project Settings Build Architectures Build Architectures Build Architectures Build Architectures Package Package (Package) Diff Diff
  • 14. submitrequest Project A home:userA:branches:ProjectA Package Package Package Diff Diff Diff Diff
  • 16. Current Release ● All packages are in the release project and the update project, e.g. openSUSE:12.1 and openSUSE:12.1:Update. ● Each package update must be reviewed by the maintenance team and then be submitted to the update project. ● In general, every update has to be tracked by a bugzilla entry.
  • 17. Maintenance Process openSUSE 12.1:Update openSUSE 12.1:Update openSUSE:Maintenance:IDXXX openSUSE:Maintenance:IDXXX packageA patchInfo packageA m br mr an ch home:userA:branches: home:userA:branches: openSUSE 12.1 openSUSE 12.1 openSUSE:12.1:Update openSUSE:12.1:Update packageA patchInfo packageA
  • 18. Next Release ● The packages for the next release are in the “factory” project, e.g. openSUSE:Factory. ● All developments are happened in the “devel” projects. ● The package updates are reviewed by the devel project maintainers. ● Any modification is allowed as long as the maintainer agrees.
  • 19. openSUSE Factory Next Release openSUSE:Factory openSUSE:Factory Devel Projects Base:System Base:System Gnome:Factory Gnome:Factory Gnome:Apps Gnome:Apps X11:XOrg X11:XOrg ... User Branches sr branch home:userA:branches: home:userA:branches: Gnome:Factory Gnome:Factory
  • 20. Try it! openSUSE Build Service http://build.opensuse.org
  • 23. References Open Build System http://www.open-build-service.org/ Build system comparison http://en.opensuse.org/openSUSE:Build_Service_comparison Build Service Backend Key Components http://en.opensuse.org/openSUSE:Build_Service_Backend_Key_Components openSUSE Build System https://build.opensuse.org/ openSUSE Maintenance Setup http://doc.opensuse.org/products/draft/OBS/obs-reference-guide_draft/cha.obs.maintenance_setup.html
  • 25. Other Build Systems ● Fedora “Koji” ● Ubuntu “Launchpad” ● Mandriva Build System ● Project Build ● Build Bot ● Poky
  • 26. Comparison Name Multi- Build for other Package formats Create Images Architecture distributions Fedora Koji N N rpm Y Ubuntu Y N deb N Launchpad Mandriva Build Y N rpm TODO System deb, rpm, ebuild, Project Build Y Y N pkg Build Bot Y N N/A N Poky Y N rpm, deb, ipg, tgz Y Open Build rpm, deb, tgz, Y Y Y Service exe[*] * experimental
  • 27. Package Build Build Server Local Build Sources Sources Sources Sources Dependencies Dependencies Dependencies Dependencies Base Packages Base Packages Base Packages Base Packages Base System Base System chroot chroot qemu qemu
  • 28. copypac Project A Project B Package Package Package Package Change
  • 29. linkpac Project A Project B Package Package (Package) Diff Diff
  • 30. Tumbleweed ● Tumbleweed is a project based on the current release and the “stable” projects. ● Tumbleweed is initiated and maintained by Greg KH.
  • 31. Tumbleweed Tumbleweed openSUSE:Tumbleweed openSUSE:Tumbleweed Stable Projects Current Release Gnome:Stable:3.2 KDE:Release:48 ... Gnome:Stable:3.2 KDE:Release:48 Virtualization Virtualization openSUSE:12.1 openSUSE:12.1