OpenSuse Build Service/Fremantle Setup

(New page: = 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...)
 
(20 intermediate revisions not shown)
Line 2: Line 2:
This currently refers to some inaccessible repos. I'll open them up as I get time.
This currently refers to some inaccessible repos. I'll open them up as I get time.
 +
 +
Target:
 +
* Use Maemo:Fremantle:1.2 as build target for Maemo Extras
Approach:
Approach:
-
* Copy all Nokia Fremantle Binaries to Fremantle:1.1:Std
+
* Copy all Nokia Fremantle Binaries to Maemo:Fremantle:1.2:Std
-
* Create Fremantle:1.1:Bootstrap/<pkg> to create packages (use useforbuild = no?)
+
* Create Maemo:Fremantle:1.2:Loaded to hold additional binaries needed by OBS
-
* Create Fremantle:1.1:Loaded to include additional binaries needed by OBS
+
* Bootstrap needed packages using scratchbox. Put in Maemo:Fremantle:1.2:Loaded
-
* Create Fremantle:1.1 as the nominal target for :Extras and the main prjconf
+
* Create Maemo:Fremantle:1.2 as the nominal target for :Extras and the main prjconf
 +
 
 +
* Do we need to rebuild Maemo:Fremantle:1.2:Bootstrap/<pkg> to re-create packages
(see https://projects.maemo.org/trac/maemoobs/wiki/Fremantle too)
(see https://projects.maemo.org/trac/maemoobs/wiki/Fremantle too)
-
Setup the projects:
 
-
=== Fremantle:1.1:Std ===
+
== Gitorious Project ==
 +
 
 +
The config and modified source needed to make the OBS work with Fremantle is kept:
 +
  http://gitorious.org/m-obs
 +
 
 +
== Setup the projects ==
 +
 
 +
=== Maemo:Fremantle:1.2:Std ===
<pre>
<pre>
-
# Specify the OBS we're working on
+
# Specify the OBS we're working on
-
API=http://api17/
+
API=http://build.obs.maemo.org/
-
# Get the Fremantle binaries
+
# Get the Fremantle binaries
-
mkdir -p /Downloads/fremantle1.1/
+
mkdir -p /Downloads/fremantle1.2/
-
cd /Downloads/fremantle1.1/
+
cd /Downloads/fremantle1.2/
-
wget -e robots=off --accept \*.deb --mirror --no-parent --progress=dot \
+
wget -e robots=off --accept \*.deb --mirror --no-parent --progress=dot \
-
  --no-host-directories --cut-dirs=2 -nv \
+
--no-host-directories --cut-dirs=2 -nv \
-
  http://repository.maemo.org /pool/fremantle-update2/
+
http://repository.maemo.org/pool/fremantle-update2/
-
# Prepare for the :full dir for the OBS
+
# Prepare for the :full dir for the OBS
-
mkdir all all/all all/armel all/i386
+
OBS=/backend_storage/obs/fremantle1.2
-
find free non-free -name *armel.deb | xargs -I@ ln @ all/armel
+
mkdir -p $OBS
-
find free non-free -name *i386.deb | xargs -I@ ln @ all/i386
+
-
find free non-free -name *all.deb | xargs -I@ ln @ all/all
+
-
# On an OBS client
+
REPO=/backend_storage/maemo-sdk-5/pool/maemo5.0
-
osc -A $API meta prj Fremantle:1.1:Std -F - <<XML
+
cd $OBS
-
<project name="Fremantle:1.1:Std">
+
mkdir -p armel_full i586_full
-
  <title>Fremantle 1.1</title>
+
find $REPO -name *armel.deb | xargs -I@ ln @ armel_full
-
  <description>
+
find $REPO -name *i386.deb | xargs -I@ ln @ i586_full
-
The standard binaries from Nokia
+
find $REPO -name *all.deb | xargs -I@ ln @ armel_full
-
  </description>
+
find $REPO -name *all.deb | xargs -I@ ln @ i586_full#
-
  <person role="maintainer" userid="Admin"/>
+
 
-
  <person role="bugowner" userid="Admin"/>
+
REPO=/backend_storage/maemo-sdk-nokia-binaries-5/
-
  <build>
+
cd $OBS
-
    <enable/>
+
mkdir -p armel_full i586_full
-
  </build>
+
find $REPO -name *armel.deb | xargs -I@ ln @ armel_full
-
  <publish>
+
find $REPO -name *i386.deb | xargs -I@ ln @ i586_full
-
    <disable/>
+
find $REPO -name *all.deb | xargs -I@ ln @ armel_full
-
  </publish>
+
find $REPO -name *all.deb | xargs -I@ ln @ i586_full
-
  <debuginfo>
+
 
-
    <disable/>
+
# On an OBS client
-
  </debuginfo>
+
osc -A $API meta prj Maemo:Fremantle:1.2:Std -F - <<XML
-
  <repository name="standard">
+
<project name="Maemo:Fremantle:1.2:Std">
-
    <arch>armv7el</arch>
+
  <title>Fremantle 1.2</title>
-
    <arch>i586</arch>
+
  <description>
-
  </repository>
+
The standard binaries from Nokia
-
</project>
+
  </description>
 +
  <person role="maintainer" userid="Admin"/>
 +
  <person role="bugowner" userid="Admin"/>
 +
  <build>
 +
    <enable/>
 +
  </build>
 +
  <publish>
 +
    <disable/>
 +
  </publish>
 +
  <debuginfo>
 +
    <disable/>
 +
  </debuginfo>
 +
  <repository name="standard">
 +
    <arch>armv7el</arch>
 +
    <arch>i586</arch>
 +
  </repository>
 +
</project>
XML
XML
# Back on OBS server
# Back on OBS server
# Copy the binaries into the new project
# Copy the binaries into the new project
-
cd /srv/obs/build/Fremantle\:1.1\:Std/standard/
+
cd /srv/obs/build/Maemo:Fremantle\:1.2\:Std/standard/
-
mkdir -p i586/:full armv7el/:full
+
mkdir -p i586 armv7el
-
 
+
ln -s $OBS/i586_full i586/:full
-
ln /Downloads/fremantle1.1/all/armel/* armv7el/:full/
+
ln -s $OBS/armel_full armv7el/:full
-
ln /Downloads/fremantle1.1/all/all/* armv7el/:full/
+
-
ln /Downloads/fremantle1.1/all/i386/* i586/:full/
+
/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Std standard i586
-
ln /Downloads/fremantle1.1/all/all/* i586/:full/
+
/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Std standard armv7el
-
/usr/lib/obs/server/bs_admin --rescan-repository Fremantle:1.1:Std standard i586
+
chown -R obsrun:obsrun /srv/obs/build/Maemo:Fremantle:1.2:Std
-
/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*
+
</pre>
</pre>
-
=== Fremantle:1.1:Bootstrap ===
+
=== Maemo:Fremantle:1.2:Bootstrap ===
<pre>
<pre>
# On an OBS client
# On an OBS client
-
osc -A $API meta prj Fremantle:1.1:Bootstrap -F - <<XML
+
osc -A $API meta prj Maemo:Fremantle:1.2:Bootstrap -F - <<XML
-
<project name="Fremantle:1.1:Std">
+
<project name="Maemo:Fremantle:1.2:Bootstrap">
-
   <title>Fremantle 1.1</title>
+
   <title>Fremantle 1.2</title>
   <description>
   <description>
The standard binaries from Nokia
The standard binaries from Nokia
Line 89: Line 109:
   </build>
   </build>
   <publish>
   <publish>
-
     <disable/>
+
     <enable/>
   </publish>
   </publish>
   <debuginfo>
   <debuginfo>
Line 100: Line 120:
     <path project="openSUSE.org:Debian:5.0" repository="standard"/>
     <path project="openSUSE.org:Debian:5.0" repository="standard"/>
     <arch>armv5el</arch>
     <arch>armv5el</arch>
-
    <arch>armv7el</arch>
 
     <arch>i586</arch>
     <arch>i586</arch>
   </repository>
   </repository>
-
   <repository name="Ubunty_9.04_standard">
+
   <repository name="Ubuntu_9.04_standard">
     <path project="openSUSE.org:Ubuntu:9.04" repository="standard"/>
     <path project="openSUSE.org:Ubuntu:9.04" repository="standard"/>
     <arch>armv5el</arch>
     <arch>armv5el</arch>
-
    <arch>armv7el</arch>
 
     <arch>i586</arch>
     <arch>i586</arch>
   </repository>
   </repository>
Line 115: Line 133:
Now ensure the Ubuntu/Debian bootstrapped armv5el binaries are copied to the armv7el repo
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 -
+
  echo ExportFilter: armel\.deb$ armv5el | osc -A $API meta prjconf Maemo:Fremantle:1.2:Bootstrap -F -
</pre>
</pre>
 +
=== Maemo:Fremantle:1.2:Loaded ===
 +
 +
This project has the extra binaries needed for making the Fremantle
 +
SDK build in the OBS.
-
=== Fremantle:1.1:Loaded ===
 
-
This project
 
<pre>
<pre>
-
  osc -A $API meta prj Fremantle:1.1:Loaded -F - <<XML
+
  osc -A $API meta prj Maemo:Fremantle:1.2:Loaded -F - <<XML
-
<project name="Fremantle:1.1:Loaded">
+
<project name="Maemo:Fremantle:1.2:Loaded">
-
   <title>Fremantle 1.1 Loaded</title>
+
   <title>Fremantle 1.2 Loaded</title>
   <description>
   <description>
This project contains all the binaries used in addition to the
This project contains all the binaries used in addition to the
-
standard Nokia ones. They are built in Fremantle:1.1:Bootstrap and
+
standard Nokia ones. They are built in Maemo:Fremantle:1.2:Bootstrap and
then copied into here.
then copied into here.
   </description>
   </description>
Line 136: Line 156:
   </build>
   </build>
   <publish>
   <publish>
-
     <disable/>
+
     <enable/>
   </publish>
   </publish>
   <debuginfo>
   <debuginfo>
Line 149: Line 169:
</pre>
</pre>
-
=== Fremantle:1.1 ===
+
=== Maemo:Fremantle:1.2 ===
-
This project is used as a target by applications. It is a multi-path project looking first in :Loaded and then in :Std
+
 
 +
This project is used as a target by applications. It is a multi-path
 +
project looking first in :Loaded and then in :Std
<pre>
<pre>
-
osc -A $API meta prj Fremantle:1.1 -F - <<XML
+
osc -A $API meta prj Maemo:Fremantle:1.2 -F - <<XML
-
<project name="Fremantle:1.1">
+
<project name="Maemo:Fremantle:1.2">
-
   <title>Fremantle 1.1</title>
+
   <title>Fremantle 1.2</title>
   <description>
   <description>
This project is the OBS Fremantle target.  It is based on the standard
This project is the OBS Fremantle target.  It is based on the standard
Line 172: Line 194:
   </debuginfo>
   </debuginfo>
   <repository name="standard">
   <repository name="standard">
-
     <path project="Fremantle:1.1:Loaded" repository="standard"/>
+
     <path project="Maemo:Fremantle:1.2:Loaded" repository="standard"/>
-
     <path project="Fremantle:1.1:Std" repository="standard"/>
+
     <path project="Maemo:Fremantle:1.2:Std" repository="standard"/>
     <arch>armv7el</arch>
     <arch>armv7el</arch>
     <arch>i586</arch>
     <arch>i586</arch>
Line 182: Line 204:
Since this project is a target it needs a prjconf:
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
+
http://gitorious.org/m-obs/maemoconf
 +
== Essential Binaries for :Loaded ==
-
== Extras ==
+
=== scratchbox-fake ===
-
 
+
-
Binaries for :Loaded
+
-
 
+
<pre>
<pre>
-
scratchbox-fake
+
cd /maemo/devel/obs-community/
-
osc -A $API meta pkg Fremantle:1.1:Bootstrap scratchbox-fake -e
+
git clone git://gitorious.org/m-obs/scratchbox-fake.git
-
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
cd scratchbox-fake
-
dpkg-buildpackage -S -uc -us
+
dpkg-buildpackage -b -uc -us -rfakeroot
cd ..
cd ..
-
osc addremove
 
-
osc commit -m"From git"
 
</pre>
</pre>
=== busybox ===
=== busybox ===
-
This just provides 'su' through busybox-login.
+
This provides 'su' and 'getopt' through busybox-fremantle
Stskeeps reports that there's a login pkg inside Nokia that would be better.
Stskeeps reports that there's a login pkg inside Nokia that would be better.
 +
It may also be worth repackaging the linux-utils.
<pre>
<pre>
-
osc -A $API meta pkg Fremantle:1.1:Bootstrap busybox -e
+
cd /maemo/devel/obs-community/
-
osc -A $API co Fremantle:1.1:Bootstrap busybox
+
git clone git://gitorious.org/m-obs/busybox.git
-
cd Fremantle:1.1:Bootstrap/busybox
+
-
git clone git@dvcs.projects.maemo.org:OBS/fremantle-deltas/busybox
+
cd busybox
cd busybox
-
dpkg-buildpackage -S -uc -us
+
dpkg-buildpackage -b -uc -us -rfakeroot
cd ..
cd ..
-
osc addremove
 
-
osc commit -m"From git"
 
</pre>
</pre>
=== fakeroot ===
=== fakeroot ===
 +
Fakeroot has had to be updated to 1.11 from Debian and various changes made. See the git log.
<pre>
<pre>
-
osc -A $API meta pkg Fremantle:1.1:Bootstrap fakeroot -e
+
cd /maemo/devel/obs-community/
-
osc -A $API co Fremantle:1.1:Bootstrap fakeroot
+
git clone git://gitorious.org/m-obs/fakeroot.git
-
cd Fremantle:1.1:Bootstrap/fakeroot
+
-
git clone git@dvcs.projects.maemo.org:OBS/fremantle-deltas/fakeroot
+
cd fakeroot
cd fakeroot
-
dpkg-buildpackage -S -uc -us
+
dpkg-buildpackage -b -uc -us -rfakeroot
cd ..
cd ..
-
osc addremove
 
-
osc commit -m"From git"
 
</pre>
</pre>
 +
 +
Other packages:
 +
* http://packages.debian.org/lenny/diff
 +
* maemo-optify http://maemo.org/packages/source/view/fremantle_extras-devel_free_source/maemo-optify/0.2.1/
 +
*
 +
 +
=== Promoting the Bootstrap to Loaded ===
 +
 +
<pre>
 +
cd /maemo/devel/obs-community/
 +
tar cvfz obs-bootstrap.tgz fakeroot_*.deb busybox-fremantle_*.deb scratchbox-fake_*.deb
 +
</pre>
 +
Now get this to the server and unpack it in /tmp
 +
 +
<pre>
 +
 +
cd /tmp
 +
tar xf /backend_storage/obs-bootstrap.tgz
 +
 +
cd /srv/obs/build/Maemo:Fremantle:1.2:Loaded/standard
 +
mkdir -p i586/:full armv7el/:full
 +
ln /tmp/*armel*deb armv7el/:full/
 +
ln /tmp/*all*deb armv7el/:full/
 +
ln /tmp/*all*deb i586/:full/
 +
ln /tmp/*i386*deb i586/:full/
 +
 +
/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Loaded standard i586
 +
/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Loaded standard armv7el
 +
 +
 +
== Extras ==
 +
 +
<pre>
 +
wget -e robots=off --mirror --no-parent --progress=dot  --no-host-directories --cut-dirs=5 -nv http://repository.maemo.org/extras/pool/fremantle/free/source/
 +
</pre>
 +
 +
Then:
 +
<pre>
 +
find /mnt/backend_storage/extras/ -name *dsc -exec /root/obs_package.pl --project Extras:Testing \{} \;
 +
</pre>
 +
(This needs work - it uploads multiple versions and they go to 'excluded' state)
 +
 +
[[Category:OpenSuse build service]]

Latest revision as of 13:30, 18 June 2010

Contents

[edit] Fremantle

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

Target:

  • Use Maemo:Fremantle:1.2 as build target for Maemo Extras

Approach:

  • Copy all Nokia Fremantle Binaries to Maemo:Fremantle:1.2:Std
  • Create Maemo:Fremantle:1.2:Loaded to hold additional binaries needed by OBS
  • Bootstrap needed packages using scratchbox. Put in Maemo:Fremantle:1.2:Loaded
  • Create Maemo:Fremantle:1.2 as the nominal target for :Extras and the main prjconf
  • Do we need to rebuild Maemo:Fremantle:1.2:Bootstrap/<pkg> to re-create packages

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


[edit] Gitorious Project

The config and modified source needed to make the OBS work with Fremantle is kept:

 http://gitorious.org/m-obs

[edit] Setup the projects

[edit] Maemo:Fremantle:1.2:Std

# Specify the OBS we're working on
API=http://build.obs.maemo.org/

# Get the Fremantle binaries
mkdir -p /Downloads/fremantle1.2/
cd /Downloads/fremantle1.2/
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/

# Prepare for the :full dir for the OBS
OBS=/backend_storage/obs/fremantle1.2
mkdir -p $OBS

REPO=/backend_storage/maemo-sdk-5/pool/maemo5.0
cd $OBS
mkdir -p armel_full i586_full
find $REPO -name *armel.deb | xargs -I@ ln @ armel_full
find $REPO -name *i386.deb | xargs -I@ ln @ i586_full
find $REPO -name *all.deb | xargs -I@ ln @ armel_full
find $REPO -name *all.deb | xargs -I@ ln @ i586_full#

REPO=/backend_storage/maemo-sdk-nokia-binaries-5/
cd $OBS
mkdir -p armel_full i586_full
find $REPO -name *armel.deb | xargs -I@ ln @ armel_full
find $REPO -name *i386.deb | xargs -I@ ln @ i586_full
find $REPO -name *all.deb | xargs -I@ ln @ armel_full
find $REPO -name *all.deb | xargs -I@ ln @ i586_full

# On an OBS client
osc -A $API meta prj Maemo:Fremantle:1.2:Std -F - <<XML
<project name="Maemo:Fremantle:1.2:Std">
  <title>Fremantle 1.2</title>
  <description>
The standard binaries from Nokia
  </description>
  <person role="maintainer" userid="Admin"/>
  <person role="bugowner" userid="Admin"/>
  <build>
    <enable/>
  </build>
  <publish>
    <disable/>
  </publish>
  <debuginfo>
    <disable/>
  </debuginfo>
  <repository name="standard">
    <arch>armv7el</arch>
    <arch>i586</arch>
  </repository>
</project>
XML

# Back on OBS server
# Copy the binaries into the new project
cd /srv/obs/build/Maemo:Fremantle\:1.2\:Std/standard/
mkdir -p i586 armv7el
ln -s $OBS/i586_full i586/:full
ln -s $OBS/armel_full armv7el/:full

/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Std standard i586
/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Std standard armv7el

chown -R obsrun:obsrun /srv/obs/build/Maemo:Fremantle:1.2:Std

[edit] Maemo:Fremantle:1.2:Bootstrap

# On an OBS client
osc -A $API meta prj Maemo:Fremantle:1.2:Bootstrap -F - <<XML
<project name="Maemo:Fremantle:1.2:Bootstrap">
  <title>Fremantle 1.2</title>
  <description>
The standard binaries from Nokia
  </description>
  <person role="maintainer" userid="Admin"/>
  <person role="bugowner" userid="Admin"/>
  <build>
    <enable/>
  </build>
  <publish>
    <enable/>
  </publish>
  <debuginfo>
    <disable/>
  </debuginfo>
  <useforbuild>
    <disable/>
  </useforbuild>
  <repository name="Debian_5.0_standard">
    <path project="openSUSE.org:Debian:5.0" repository="standard"/>
    <arch>armv5el</arch>
    <arch>i586</arch>
  </repository>
  <repository name="Ubuntu_9.04_standard">
    <path project="openSUSE.org:Ubuntu:9.04" repository="standard"/>
    <arch>armv5el</arch>
    <arch>i586</arch>
  </repository>
</project>
XML

This project has <useforbuild> 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 Maemo:Fremantle:1.2:Bootstrap -F -

[edit] Maemo:Fremantle:1.2:Loaded

This project has the extra binaries needed for making the Fremantle SDK build in the OBS.

 osc -A $API meta prj Maemo:Fremantle:1.2:Loaded -F - <<XML
<project name="Maemo:Fremantle:1.2:Loaded">
  <title>Fremantle 1.2 Loaded</title>
  <description>
This project contains all the binaries used in addition to the
standard Nokia ones. They are built in Maemo:Fremantle:1.2:Bootstrap and
then copied into here.
  </description>
  <person role="maintainer" userid="Admin"/>
  <person role="bugowner" userid="Admin"/>
  <build>
    <enable/>
  </build>
  <publish>
    <enable/>
  </publish>
  <debuginfo>
    <disable/>
  </debuginfo>
  <repository name="standard">
    <arch>armv7el</arch>
    <arch>i586</arch>
  </repository>
</project>
XML

[edit] Maemo:Fremantle:1.2

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 Maemo:Fremantle:1.2 -F - <<XML
<project name="Maemo:Fremantle:1.2">
  <title>Fremantle 1.2</title>
  <description>
This project is the OBS Fremantle target.  It is based on the standard
Nokia binaries with some additional binaries needed for Fremantle.
  </description>
  <person role="maintainer" userid="Admin"/>
  <person role="bugowner" userid="Admin"/>
  <build>
    <enable/>
  </build>
  <publish>
    <disable/>
  </publish>
  <debuginfo>
    <disable/>
  </debuginfo>
  <repository name="standard">
    <path project="Maemo:Fremantle:1.2:Loaded" repository="standard"/>
    <path project="Maemo:Fremantle:1.2:Std" repository="standard"/>
    <arch>armv7el</arch>
    <arch>i586</arch>
  </repository>
</project>
XML

Since this project is a target it needs a prjconf: http://gitorious.org/m-obs/maemoconf

[edit] Essential Binaries for :Loaded

[edit] scratchbox-fake

cd /maemo/devel/obs-community/
git clone git://gitorious.org/m-obs/scratchbox-fake.git
cd scratchbox-fake
dpkg-buildpackage -b -uc -us -rfakeroot
cd ..

[edit] busybox

This provides 'su' and 'getopt' through busybox-fremantle

Stskeeps reports that there's a login pkg inside Nokia that would be better. It may also be worth repackaging the linux-utils.

cd /maemo/devel/obs-community/
git clone git://gitorious.org/m-obs/busybox.git
cd busybox
dpkg-buildpackage -b -uc -us -rfakeroot
cd ..

[edit] fakeroot

Fakeroot has had to be updated to 1.11 from Debian and various changes made. See the git log.

cd /maemo/devel/obs-community/
git clone git://gitorious.org/m-obs/fakeroot.git
cd fakeroot
dpkg-buildpackage -b -uc -us -rfakeroot
cd ..

Other packages:

[edit] Promoting the Bootstrap to Loaded

cd /maemo/devel/obs-community/
tar cvfz obs-bootstrap.tgz fakeroot_*.deb busybox-fremantle_*.deb scratchbox-fake_*.deb

Now get this to the server and unpack it in /tmp


cd /tmp
tar xf /backend_storage/obs-bootstrap.tgz

cd /srv/obs/build/Maemo:Fremantle:1.2:Loaded/standard
mkdir -p i586/:full armv7el/:full
ln /tmp/*armel*deb armv7el/:full/
ln /tmp/*all*deb armv7el/:full/
ln /tmp/*all*deb i586/:full/
ln /tmp/*i386*deb i586/:full/

/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Loaded standard i586
/usr/lib/obs/server/bs_admin --rescan-repository Maemo:Fremantle:1.2:Loaded standard armv7el


== Extras ==

<pre>
wget -e robots=off --mirror --no-parent --progress=dot  --no-host-directories --cut-dirs=5 -nv http://repository.maemo.org/extras/pool/fremantle/free/source/

Then:

find /mnt/backend_storage/extras/ -name *dsc -exec /root/obs_package.pl --project Extras:Testing \{} \;

(This needs work - it uploads multiple versions and they go to 'excluded' state)