Tutorial

This is a tutorial on how to use the osc python api.

Key to the open build service are (remote):

  1. A project
  2. A project has associated multiple repositories (linux distributions)
  3. Multiple packages in a project will hold the builds against the difefrent repositories

A user will deal with local checkout of a project in a working copy: this is similar to the subversion checkout model.

Initial config setup

Osc the library requires an initial setup:

>>> import osc.conf
>>> osc.conf.get_config()

This will read all the external config files (eg. ~/.oscrc) and the internal configuration values.

Acquiring the apiurl

All the osc operation will use a apiurl to lookup for things like passwords, username and other parameters while performing operations:

>>> apiurl = osc.conf.config['apiurl']

Operations on a remote build server

osc is similar to subversion, it has a remote server and a local (checkout) working directory. First we’ll go through the remote operation on a server NOT requiring a checkout. Operations are contained in the osc.core module:

>>> import osc.core

List all the projects and packages

This will show all the projects on the remote open build service:

>>> for prj in osc.core.meta_get_project_list(apiurl, deleted=False):
        print prj

A project has repositories associated with it (eg. linux distributions):

>>> prj = 'home:cavallo71:opt-python-interpreters'
>>> for repo in osc.core.get_repos_of_project(apiurl, prj):
        print repo

A project contains packages and to list them all:

>>> prj = 'home:cavallo71:opt-python-interpreters'
>>> for pkg in osc.core.meta_get_packagelist(apiurl, prj):
        print pkg

Add a package to an existing project

Operations in a checked out working copy

Create your first project: the hello project

Todo

add he description on how to init a project

Adding your firs package to the project hello: the world package

Todo

add he description on how to add a package

Setting the build architectures