Task:Maemo OBS

(I like SD69's wording better!)
Line 1: Line 1:
== Goals ==
== Goals ==
-
 
-
To move the current Fremantle autobuilder to maemo.org OBS. Probably Diablo and Chinook as secondary goals.
 
-
 
This project enables the following:
This project enables the following:
-
To provide e a single community OBS that includes Harmattan, Fremantle and Diablo as targets to faciliate the development of applications that work on all platforms.
+
*To provide e a single community OBS that includes Harmattan, Fremantle and Diablo as targets to faciliate the development of applications that work on all platforms.
-
 
+
*To collaborate with Mer/Nemo to share the costs of maintaining and operating community OBS.
-
To collaborate with Mer/Nemo to share the costs of maintaining and operating community OBS.
+
-
 
+
-
== Weekly meetings ==
+
-
 
+
-
We are currently having weekly meetings on Mondays, 15:00 UTC. We will be using the maemo-developers mailing list for communications.
+
== Issues ==
== Issues ==
Line 20: Line 12:
Maemo SDK ships what is called a rootstrap with many packages preinstalled. Developers usually do not explicitly mention those packages in their build dependencies because they're already preinstalled.
Maemo SDK ships what is called a rootstrap with many packages preinstalled. Developers usually do not explicitly mention those packages in their build dependencies because they're already preinstalled.
-
OBS doesn't accept rootstraps. Each builder process starts with an empty virtual machine, and from there a fixed set of packages is installed onto it.  
+
OBS doesn't accept rootstraps. Each builder process starts with an empty virtual machine, and from there a fixed set of packages is installed onto it.
-
 
+
-
Therefore, the packages that do not explicitly list the in-rootstrap packages in their build-dependencies fail to build.
+
-
 
+
-
==== Solutions to consider ====
+
-
 
+
-
# Manually go through all build failures and add the missing build-dependencies to the packages. Hard to contact all the package maintainers.
+
-
# Manually go through all build failures and add the missing build-dependencies to the fixed list of packages that are preinstalled when the VM starts. Each package on this list adds to the build time of all packages...
+
-
# Investigate the use of an actual rootstrap (maybe with SB2 it is possible?)
+
=== Scratchboxisms ===
=== Scratchboxisms ===
Line 36: Line 20:
Many packages have scratchboxisms. The exact number is yet to be determined. Hopefully, not large.
Many packages have scratchboxisms. The exact number is yet to be determined. Hopefully, not large.
-
==== Solutions to consider ====
+
SB2 might help here.
-
 
+
-
# SB2 might help here.
+
-
# Manually fix the packages. The hard way. Most build problems are trivial, but even then this might require quite some time.
+
-
# ... Emulate those Scratchboxisms in some other way?
+
-
 
+
-
== Current progress ==
+
-
 
+
-
=== April 23 2012 ===
+
-
 
+
-
X-Fade [http://mg.pov.lt/maemo-meeting-irclog/%23maemo-meeting.2012-04-23.log.html#t2012-04-23T18:51:05 agreed] to import the Fremantle 1.3 SDK packages to OBS, as well as the current Fremantle extras-testing. This should give us updated estimates on how large the "problems" are
+
-
 
+
-
Additionally, we agreed that we should look for more information on the use of Scratchbox2 on OBS.
+

Revision as of 10:54, 24 April 2012

Contents

Goals

This project enables the following:

  • To provide e a single community OBS that includes Harmattan, Fremantle and Diablo as targets to faciliate the development of applications that work on all platforms.
  • To collaborate with Mer/Nemo to share the costs of maintaining and operating community OBS.

Issues

Build dependencies

Maemo SDK ships what is called a rootstrap with many packages preinstalled. Developers usually do not explicitly mention those packages in their build dependencies because they're already preinstalled.

OBS doesn't accept rootstraps. Each builder process starts with an empty virtual machine, and from there a fixed set of packages is installed onto it.

Scratchboxisms

A scratchboxism happens when a developer assumes something that is only true when running under Scratchbox(1). It might be a special environment variable, special directory, the behavior of certain commands, the fact that is actually x86, or the use of a custom Scratchbox devkit.

Many packages have scratchboxisms. The exact number is yet to be determined. Hopefully, not large.

SB2 might help here.