Home Home > 2010 > 09 > 24
Sign up | Login

Deprecation notice: openSUSE Lizards user blog platform is deprecated, and will remain read only for the time being. Learn more...

Archive for September 24th, 2010

From Source Code to Packages for Various Distributions

September 24th, 2010 by

I presented on Thursday at LinuxKongress 2010 on “From Source Code to Packages for Various Distributions”.

When I arrived in the morning for Jon Corbet’s excellent keynote, a quick check showed that the openSUSE Build Service (OBS) which I wanted to demo as part of my presentation was down. I was glad about the advise of my colleague Michael Löffler that told me to have some backup in case I won’t have internet in the room.  So, I had prepared a screencast (video) and soon I was calm and could concentrate on Jon instead of worrying about OBS.

My talk to a small audience (Linux Kongress is small but high profile event) of around 15 people went well. I started with explaining that a developer writes code but users run binaries, so the question is how to get a binary to the user – especially if you want to support multiple distributions, versions of distributions and cpu architectures. OBS is the rescue. After a live demo (yeah, OBS was working again in time!) with some good questions, I gave some more background about OBS and how it helps upstream developers.

The only question where I struggled with was whether it is possible to checkout the complete package from e.g. Fedora’s package repository (so patches, sources and spec file) and build thus automatically an rpm using OBS. With the new source services for OBS 2.1 this should be possible and I need to ask Adrian what exactly needs to be done for this.

I’ll uploaded my screencast later to YouTube and also uploaded my slides (now with the openSUSE theming) for sharing to the wiki, – and referenced everything from the presentations page.

During my demo I explained briefly how a package can be build as deb or rpm (I used the package “osc” from the project “openSUSE:Tools”), how to handle different package names, projects and packages, submit requests, how multiple users can work on a package and how to give users access, that building happens in the background driven by a scheduler etc.