Meego Wiki
Views

Getting started with OBS

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
m (Adding files to a sub-project and building them: Minor tweaks)
(Expand with concepts of projects & repositories)
Line 17: Line 17:
* Log in and click on 'create home project' (down at the bottom of the page iirc)
* Log in and click on 'create home project' (down at the bottom of the page iirc)
 +
=Overview=
 +
OBS is based around ''projects'', ''packages'' and ''repositories''. '''Packages''' have a set of files (source code, packaging meta-data, etc.) which are compiled by build servers against particular distributions. Each distribution results in your code being available in a '''repository'''.
-
=Setting up a sub-project=
+
==Setting up a sub-project==
 +
A sub-project allows you to group related activities together.
-
* In the overview tab, click on Actions and select "Create subproject".
+
* In the "Overview" tab for your home project, select "Actions > Create subproject".
-
==Adding files to a sub-project and building them==
+
==Creating a project==
 +
A project is required before anything can be built.
 +
 
 +
* Go to the "Projects" tab for the project in which you wish to create it
 +
* Select "Add a new package"
 +
* Enter a UNIX-style (all lower case) "Name"
 +
* Enter a title-case, with appropriate spacing, "Title"
 +
* Enter a brief "Description"
 +
* Click "Save Changes"
 +
 
 +
==Adding repositories==
 +
 
 +
* Go to the "Repositories" tab for the project in question
 +
* Click "Add Repository"
 +
 
 +
==Adding files to a package and building them==
===From the terminal===
===From the terminal===
-
* Checkout (like SVN) your home project, which will contain your newly created sub-project
+
* Checkout (like SVN) your home project, which will contain all your sub-projects and packages
   osc -A https://api.pub.meego.com co home:[username]
   osc -A https://api.pub.meego.com co home:[username]
Line 31: Line 49:
** For MeeGo this will be a .spec file and a tarball containing your source code, etc.
** For MeeGo this will be a .spec file and a tarball containing your source code, etc.
** For Harmattan this will be a <code>.dsc</code> file, source tarball and <code>debian.tar.gz</code> (this allows one to keep the debian directory out of the source)
** For Harmattan this will be a <code>.dsc</code> file, source tarball and <code>debian.tar.gz</code> (this allows one to keep the debian directory out of the source)
-
   osc -A https://api.pub.meego.com add [filename]
+
   osc add [filename]
* Commit the files
* Commit the files
-
   osc -A https://api.pub.meego.com commit
+
   osc commit
At this point the OBS will try to build your project remotely. You can also build locally by doing <code>osc build</code>
At this point the OBS will try to build your project remotely. You can also build locally by doing <code>osc build</code>

Revision as of 21:38, 29 June 2011

The Meego Online Build System (OBS) seems rather complicated, this page will attempt to make it nice and easy to get started.

It's a work in progress, feel free to add and modify!


Contents

Pre-requisites

  • You need a meego.com login to be able to access the OBS
  • You need to be running one of the supported OSes
  • Install osc (for example, apt-get install osc may work out-of-the-box on recent versions of Ubuntu & Debian, other repositories are available on openSUSE tools)

Setting up your home project

Your home project is like a home directory in which you can create sub-projects, repositories, etc.

Overview

OBS is based around projects, packages and repositories. Packages have a set of files (source code, packaging meta-data, etc.) which are compiled by build servers against particular distributions. Each distribution results in your code being available in a repository.

Setting up a sub-project

A sub-project allows you to group related activities together.

  • In the "Overview" tab for your home project, select "Actions > Create subproject".

Creating a project

A project is required before anything can be built.

  • Go to the "Projects" tab for the project in which you wish to create it
  • Select "Add a new package"
  • Enter a UNIX-style (all lower case) "Name"
  • Enter a title-case, with appropriate spacing, "Title"
  • Enter a brief "Description"
  • Click "Save Changes"

Adding repositories

  • Go to the "Repositories" tab for the project in question
  • Click "Add Repository"

Adding files to a package and building them

From the terminal

  • Checkout (like SVN) your home project, which will contain all your sub-projects and packages
 osc -A https://api.pub.meego.com co home:[username]
  • Add files to your local copy
    • For MeeGo this will be a .spec file and a tarball containing your source code, etc.
    • For Harmattan this will be a .dsc file, source tarball and debian.tar.gz (this allows one to keep the debian directory out of the source)
 osc add [filename]
  • Commit the files
 osc commit

At this point the OBS will try to build your project remotely. You can also build locally by doing osc build

Using the webinterface

  • Add the correct files as listed above and they will be automatically built for you
Personal tools