OpenSuse Build Service/Fremantle Setup

= Fremantle =

This currently refers to some inaccessible repos. I'll open them up as I get time.

Approach:
 * Copy all Nokia Fremantle Binaries to Fremantle:1.1:Std
 * Create Fremantle:1.1:Bootstrap/ to create packages (use useforbuild = no?)
 * Create Fremantle:1.1:Loaded to include additional binaries needed by OBS
 * Create Fremantle:1.1 as the nominal target for :Extras and the main prjconf

(see https://projects.maemo.org/trac/maemoobs/wiki/Fremantle too)

Setup the projects:

Fremantle:1.1:Std
API=http://api17/
 * 1) Specify the OBS we're working on

mkdir -p /Downloads/fremantle1.1/ cd /Downloads/fremantle1.1/ wget -e robots=off --accept \*.deb --mirror --no-parent --progress=dot \ --no-host-directories --cut-dirs=2 -nv \ http://repository.maemo.org /pool/fremantle-update2/
 * 1) Get the Fremantle binaries

mkdir all all/all all/armel all/i386 find free non-free -name *armel.deb | xargs -I@ ln @ all/armel find free non-free -name *i386.deb | xargs -I@ ln @ all/i386 find free non-free -name *all.deb | xargs -I@ ln @ all/all
 * 1) Prepare for the :full dir for the OBS

osc -A $API meta prj Fremantle:1.1:Std -F - < Fremantle 1.1 The standard binaries from Nokia   armv7el i586 XML
 * 1) On an OBS client

cd /srv/obs/build/Fremantle\:1.1\:Std/standard/ mkdir -p i586/:full armv7el/:full
 * 1) Back on OBS server
 * 2) Copy the binaries into the new project

ln /Downloads/fremantle1.1/all/armel/* armv7el/:full/ ln /Downloads/fremantle1.1/all/all/* armv7el/:full/

ln /Downloads/fremantle1.1/all/i386/* i586/:full/ ln /Downloads/fremantle1.1/all/all/* i586/:full/

/usr/lib/obs/server/bs_admin --rescan-repository Fremantle:1.1:Std standard i586 /usr/lib/obs/server/bs_admin --rescan-repository Fremantle:1.1:Std standard armv7el /usr/lib/obs/server/bs_admin --rescan-repository Fremantle:1.1:Std standard armv5el

chown -R obsrun:obsrun /srv/obs/build/Fremantle*

Fremantle:1.1:Bootstrap
osc -A $API meta prj Fremantle:1.1:Bootstrap -F - < Fremantle 1.1 The standard binaries from Nokia     armv5el armv7el i586   armv5el armv7el i586 XML
 * 1) On an OBS client

This project has disabled. This means that a package built in this project will not attempt to resolve dependencies from peer packages.

Now ensure the Ubuntu/Debian bootstrapped armv5el binaries are copied to the armv7el repo echo ExportFilter: armel\.deb$ armv5el | osc -A $API meta prjconf Fremantle:1.1:Bootstrap -F -

Fremantle:1.1:Loaded
This project osc -A $API meta prj Fremantle:1.1:Loaded -F - < Fremantle 1.1 Loaded This project contains all the binaries used in addition to the standard Nokia ones. They are built in Fremantle:1.1:Bootstrap and then copied into here.   armv7el i586 XML

Fremantle:1.1
This project is used as a target by applications. It is a multi-path project looking first in :Loaded and then in :Std

osc -A $API meta prj Fremantle:1.1 -F - < Fremantle 1.1 This project is the OBS Fremantle target. It is based on the standard Nokia binaries with some additional binaries needed for Fremantle.   <path project="Fremantle:1.1:Loaded" repository="standard"/> <path project="Fremantle:1.1:Std" repository="standard"/> armv7el i586 XML

Since this project is a target it needs a prjconf: https://dvcs.projects.maemo.org/git/?p=OBS/maemoConf;a=blob_plain;f=Maemo_Fremantle.conf;h=818bd5a0c9136d13e1bb698cfcf861f64522b1d1;hb=573b391ccecd8fef6e4f5328a272a3ab1c4cdee5

Extras
Binaries for :Loaded

scratchbox-fake osc -A $API meta pkg Fremantle:1.1:Bootstrap scratchbox-fake -e osc -A $API co Fremantle:1.1:Bootstrap scratchbox-fake cd Fremantle:1.1:Bootstrap/scratchbox-fake git clone git@dvcs.projects.maemo.org:OBS/fremantle-deltas/scratchbox-fake cd scratchbox-fake dpkg-buildpackage -S -uc -us cd .. osc addremove osc commit -m"From git"

busybox
This just provides 'su' through busybox-login.

Stskeeps reports that there's a login pkg inside Nokia that would be better.

osc -A $API meta pkg Fremantle:1.1:Bootstrap busybox -e osc -A $API co Fremantle:1.1:Bootstrap busybox cd Fremantle:1.1:Bootstrap/busybox git clone git@dvcs.projects.maemo.org:OBS/fremantle-deltas/busybox cd busybox dpkg-buildpackage -S -uc -us cd .. osc addremove osc commit -m"From git"

fakeroot
osc -A $API meta pkg Fremantle:1.1:Bootstrap fakeroot -e osc -A $API co Fremantle:1.1:Bootstrap fakeroot cd Fremantle:1.1:Bootstrap/fakeroot git clone git@dvcs.projects.maemo.org:OBS/fremantle-deltas/fakeroot cd fakeroot dpkg-buildpackage -S -uc -us cd .. osc addremove osc commit -m"From git"