Mer/Build

Buiding Mer.

This page is a collection of ramblings about the ongoing experiment with OBS

https://build.opensuse.org

Mer is based on Ubuntu Jaunty

 http://cdimage.ubuntu.com/releases/jaunty/alpha-6/

Installing OBS tools locally

You'll need an account with Novell : http://is.gd/nzxP

Assuming a debian or ubuntu development box locally:

Add osc repo top apt.

 deb http://download.opensuse.org/repositories/openSUSE:/Tools/xUbuntu_8.10/ /

or

 deb http://download.opensuse.org/repositories/openSUSE:/Tools/Debian_5.0/ /

to

 /etc/apt/sources.list.d/obs.list

Then

 apt-get update
 apt-get install osc

run

 osc

and enter novell.com username/passwd

Go and login to https://build.opensuse.org

Make sure you click the "let me build packages" button.

There is a link to 'Home Project' on the left I think. Follow this and enter a description.

From now on where I use "home:lbt" uses your own "home:username"

Now:

 osc ls home:lbt

will list

 osc co home:lbt

will checkout the project

now

 osc meta pkg -e home:lbt epeg

edit the name/description run

 osc up

This makes a package dir

 cp package.tar.gz package.dsc homt:lbt/package
 cd package

Then add them to version control

 osc addremove

and upload them

 osc ci

Now we need to pick build targets:

 https://build.opensuse.org/project/add_target_simple?project=home:lbt

And pick one or two ( I picked Debian Lenny and Ubuntu 8.10)

To watch what is going on:

 osc buildlog <target>

so

 osc buildlog Debian_5.0 i586

This does something like a "tail -f" of the Xen builder.

Scenarios

In the following, Mer environment is defined as the sum of packages with Ubuntu packages, with Mer repository overlaid on top, not what is built in a 'Mer' project.

1. A lone developer sits down and decides to create a project. He assigns a package name to this and his name as maintainer. He builds it locally for Mer and tries it out as he develops it through dpkg-buildpackage'ing (or osc build?) locally and testing his package. He finishes his release, and dpkg-buildpackage -S -us -uc, generating a .dsc and tar.gz. He would like to build his package for the Mer environment, the X86 and ARMEL targets. He doesn't want to maintain a local toolchain beyond his x86 VMDK, so he submits the build job to the OpenSUSE Build Service (which he has registered with). He can then observe the build progress and he can subsequently download resulting .deb(s) and .changes file to upload to the Mer (Extras) repository.

2. Variation on the first but with OpenSUSE Build Service located on maemo.org

3. A company developer sits down and creates a project. He takes this source from a company source code repository, assigns a package name and setting his name as maintainer. He builds it locally for Mer and tries it out as he develops it through dpkg-buildpackage'ing (or osc build?) locally and testing his package. He generates a release (generating a .dsc and tar.gz) and he would like to target Mer environment, and Ubuntu, the X86 and ARMEL targets. He would like to build locally on his VMDK, as the source code should never leave the company premises. He can then watch the build progress and subsequently gets the resulting .deb(s) and .changes, to be able to upload. He should not need a login at all to build locally

4. Same as 3, but is okay to need a login, it is assumed there is a OBS Server appliance with build workers in the company.