Mer/Build: Difference between revisions

From Maemo Wiki
Jump to navigationJump to search
imported>lbt
Notes from darix's walkthrough
imported>thedead1440
Undo revision 50502 by 94.23.1.28 (Talk) due to vandalism
 
(78 intermediate revisions by 17 users not shown)
Line 1: Line 1:
=Buiding Mer.=
{{Mer}}


This page is a collection of ramblings about the ongoing experiment with OBS
This section documents how to use the [http://build.opensuse.org openSUSE Build Service] with Mer. More on the openSUSE Buildservice [http://en.opensuse.org/Build_Service here].


https://build.opensuse.org
A simple way to think of OBS is as a version control system for source tarballs and .dsc files and whenever you commit a tarball the build farm compiles it for you.


Mer is based on Ubuntu Jaunty
Over and above this OBS provides a local tool called osc that lets you do clean builds not only for your own OS and architecture but also for other distros and even other architectures (armel).
  http://cdimage.ubuntu.com/releases/jaunty/alpha-6/


== Installing OBS tools locally ==
==Getting Started==
You'll need an account with Novell : http://is.gd/nzxP


Assuming a debian or ubuntu development box locally:
Approaching OBS can look overwhelming... but it is perfectly possible to get an existing package built for Mer just using a web browser.


Add osc repo top apt.
The first thing to do is to [[/Install OBS|install OBS]]. This will provide access to the tools and source used to build Mer.
  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
Then you should become familiar with building an application using OBS but outside the Mer repository. This is explained in detail in [[/Application Building|Application Building]] which takes you through an example application.
  apt-get update
  apt-get install osc


run
  osc
and enter novell.com username/passwd


Go and login to https://build.opensuse.org
==Mer Internals==


Make sure you click the "let me build packages" button.
When you are comfortable building your own applications for Mer then you can look at the [[Mer/Packages|Mer Packages]] and start helping to improve Mer itself.


There is a link to 'Home Project' on the left I think. Follow this and enter a description.
There are [[/Processes|processes]] used to manage the Mer packages which may include [[/UsingGitorious|Using Gitorious]].


From now on where I use "home:lbt" uses your own "home:username"
The OBS [[/Cross Build|cross build]] page describes how the OBS has been accelerated.


Now:
== OBS Build Farm ==
  osc ls home:lbt
will list


  osc co home:lbt
http://wiki.maemo.org/Mer/Documentation/Build/Common_Problems
will checkout the project


now
  osc meta pkg -e home:lbt epeg


edit the name/description
== QEMU armel image ==
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:
An Ubuntu armel image for QEMU is available from here:<br>
  https://build.opensuse.org/project/add_target_simple?project=home:lbt
http://gitorious.org/mer-toggles/qemu-armel-image (login: qemu/qemu)
And pick one or two ( I picked Debian Lenny and Ubuntu 8.10)
<br>
Based on these instructions:<br>
https://wiki.ubuntu.com/ARM/RootfsFromScratch<br>


To watch what is going on:
This is NOT a Mer development image like Mer VMDK is.
  osc buildlog <target>
so
  osc buildlog Debian_5.0 i586


This does something like a "tail -f" of the Xen builder.
== Mer Source ==
Currently you cannot <code>apt-get source</code> for Mer.
 
Our approach requires you to get a Novell account and is similar to the one in HHGTTG:
 
<blockquote>
"`...You hadn't exactly gone out of your way to call attention to them had you? I mean like actually telling anyone or anything.'<br>
`But the plans were on display...'<br>
`On display? I eventually had to go down to the cellar to find them.'<br>
`That's the display department.'<br>
`With a torch.'<br>
`Ah, well the lights had probably gone.'<br>
`So had the stairs.'<br>
`But look you found the notice didn't you?'<br>
`Yes,' said Arthur, `yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of The Leopard".'"
</blockquote>
<br>
But slightly simpler...
 
Nb... the fix is trivial and simply requires you to modify the GPL licensed OBS system to publish debian style source distros ... patches accepted.

Latest revision as of 12:03, 9 February 2013

Mer is back : Please visit http://www.merproject.org to learn more about this news.


This section documents how to use the openSUSE Build Service with Mer. More on the openSUSE Buildservice here.

A simple way to think of OBS is as a version control system for source tarballs and .dsc files and whenever you commit a tarball the build farm compiles it for you.

Over and above this OBS provides a local tool called osc that lets you do clean builds not only for your own OS and architecture but also for other distros and even other architectures (armel).

Getting Started

Approaching OBS can look overwhelming... but it is perfectly possible to get an existing package built for Mer just using a web browser.

The first thing to do is to install OBS. This will provide access to the tools and source used to build Mer.

Then you should become familiar with building an application using OBS but outside the Mer repository. This is explained in detail in Application Building which takes you through an example application.


Mer Internals

When you are comfortable building your own applications for Mer then you can look at the Mer Packages and start helping to improve Mer itself.

There are processes used to manage the Mer packages which may include Using Gitorious.

The OBS cross build page describes how the OBS has been accelerated.

OBS Build Farm

http://wiki.maemo.org/Mer/Documentation/Build/Common_Problems


QEMU armel image

An Ubuntu armel image for QEMU is available from here:
http://gitorious.org/mer-toggles/qemu-armel-image (login: qemu/qemu)
Based on these instructions:
https://wiki.ubuntu.com/ARM/RootfsFromScratch

This is NOT a Mer development image like Mer VMDK is.

Mer Source

Currently you cannot apt-get source for Mer.

Our approach requires you to get a Novell account and is similar to the one in HHGTTG:

"`...You hadn't exactly gone out of your way to call attention to them had you? I mean like actually telling anyone or anything.'
`But the plans were on display...'
`On display? I eventually had to go down to the cellar to find them.'
`That's the display department.'
`With a torch.'
`Ah, well the lights had probably gone.'
`So had the stairs.'
`But look you found the notice didn't you?'
`Yes,' said Arthur, `yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of The Leopard".'"


But slightly simpler...

Nb... the fix is trivial and simply requires you to modify the GPL licensed OBS system to publish debian style source distros ... patches accepted.