Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Development status

  • Be the first to comment

  • Be the first to like this


  1. 1. Marco Strigl Build Service Engineer osc2 The modern osc
  2. 2. Overview of osc ● osc is a command line client tool for an open build service instance. (opensuse commander) ● actively developed and maintained ● Python
  3. 3. Some numbers ● 89 commands ● 36443 lines of code
  4. 4. What’s wrong with osc? ● Inconsistent UI osc results project package –repo repo –arch arch osc rebuild project package repo arch osc ls project package -r repo -a arch ● Two big main files: – –
  5. 5. What’s wrong with osc? ● Do the same thing in thousands of different ways: osc abortbuild home:mstrigl cowsay osc abortbuild home:mstrigl cowsay openSUSE_Factory x86_64
  6. 6. What’s wrong with osc? ~/obs/home:marco/cowsay# osc abortbuild –repo openSuSE_Factory –arch x86_64 ~/obs/home:marco/cowsay# osc abortbuild openSuSE_Factory x86_64 # osc abortbuild <prj> <pkg> openSUSE_Factory x86_64 --repo Leap --arch i586
  7. 7. The new approach
  8. 8. New things in osc2 ● URL-like syntax osc2 command api://project/package ● Test driven development
  9. 9. New things in osc2 ● new code structure osc2/cli/<command>/ Command Folder Initialize as package <command>.py Functions UI definition <command>.jinja2 Output template
  10. 10. Contribute? ● ● ●
  11. 11. Questions? ● ● mstrigl on IRC
  12. 12. Join Us at
  13. 13. License This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license. Details can be found at General Disclaimer This document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. openSUSE 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. The development, release, and timing of features or functionality described for openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE 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 openSUSE marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners. Credits Template Richard Brown Design & Inspiration openSUSE Design Team guidelines/