OpenSuse Build Service/MeeGo Setup

(MeeGo Current)
 
(6 intermediate revisions not shown)
Line 1: Line 1:
= MeeGo =
= MeeGo =
-
Targets:
+
In general the community OBS should map to the release OBS.
-
* Use MeeGo:1.0:Core : Latest Release
+
 
-
* Use MeeGo:Current:Core : Latest snapshot
+
The release OBS projects are:
-
* Use MeeGo:1.0.80.1.20100514.1:Core  : for weekly snapshots See:  http://wiki.meego.com/MeeGo_Release_Creation#Weekly_Builds_and_Build_Numbers
+
* MeeGo:1.0
 +
* MeeGo:1.0:Core
 +
* MeeGo:1.0:Core:Update
 +
* MeeGo:1.0:Core:Update:Testing
 +
* MeeGo:1.0:Extra
 +
* MeeGo:1.0:Extra:Update
 +
* MeeGo:1.0:Extra:Update:Testing
 +
* MeeGo:1.0:Handset
 +
* MeeGo:1.0:IVI
 +
* MeeGo:1.0:IVI:Update
 +
* MeeGo:1.0:IVI:Update:Testing
 +
* MeeGo:1.0:Netbook
 +
* MeeGo:1.0:Netbook:Update
 +
* MeeGo:1.0:Netbook:Update:Testing
 +
* MeeGo:1.0:Staging
 +
* MeeGo:1.0:non-oss
 +
* MeeGo:1.0:non-oss:Update
 +
* MeeGo:1.0:non-oss:Update:Testing
 +
 
 +
We will assume that there are no naming conflicts and consolidate these into the following build targets:
 +
* MeeGo_1.0
 +
* MeeGo_1.0_Update
 +
* MeeGo_1.0_Update_Testing (? do we need this)
 +
 
 +
and then provide a corresponding virtual target that always points to the current weekly snapshot:
 +
* MeeGo_Current
 +
 
 +
and 2 named snapshots for previous releases:1.0.80.1.20100514.1
 +
* MeeGo_1.0.80.1.20100514.1
 +
 
 +
See:  http://wiki.meego.com/Release_Engineering/Release_Versioning
 +
 
=== MeeGo:1.0:Core ===
=== MeeGo:1.0:Core ===
Line 74: Line 105:
Since this project is a target it needs a prjconf
Since this project is a target it needs a prjconf
 +
 +
=== MeeGo Current ===
 +
 +
On the be we must have done:
 +
<pre>
 +
ln -s /backend_storage/obs/meego/current/armv7l_full/ /srv/obs/build/MeeGo:current/standard/armv7el/:full
 +
ln -s /backend_storage/obs/meego/current/ia64_full/ /srv/obs/build/MeeGo:current/standard/ia64/:full
 +
</pre>
 +
 +
 +
<pre>
 +
build=1.0.90.4.20100928.1
 +
BASE=/backend_storage/obs/meego
 +
DL=$BASE/${build}/
 +
PRJ=$BASE/current
 +
 +
# download
 +
FROM="mirrors.kernel.org"
 +
FROMDIR="/meego/builds/1.0.90/${build}/"
 +
 +
mkdir -p $DL
 +
cd $DL
 +
 +
LFTPCOMMAND="mirror --parallel=2 -c -i .rpm -x /images/ -x /debug/ $FROMDIR ."
 +
lftp -c "open -e '$LFTPCOMMAND' $FROM"
 +
 +
mkdir -p $BASE/delete_me
 +
mv $BASE/w-2 $BASE/delete_me
 +
# rm -rf delete_me &
 +
mv $BASE/w-1 $BASE/w-2
 +
mv $BASE/current $BASE/w-1
 +
 +
mkdir -p $BASE/current/armv5l_full
 +
mkdir -p $BASE/current/armv7l_full
 +
mkdir -p $BASE/current/i586_full
 +
 +
find $BASE/${build}/core/repos/ia32/ -name *rpm | xargs -I@ ln @ $BASE/current/i586_full
 +
find $BASE/${build}/core/repos/armv5tel/ -name *rpm | xargs -I@ ln @ $BASE/current/armv5l_full
 +
find $BASE/${build}/core/repos/armv7l/ -name *rpm | xargs -I@ ln @ $BASE/current/armv7l_full
 +
 +
chown -R obsrun:obsrun $BASE/current/
 +
</pre>
 +
 +
Now on the be:
 +
<pre>
 +
/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:current standard i586
 +
/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:current standard armv5el
 +
/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:current standard armv7el
 +
</pre>
 +
[[Category:OpenSuse build service]]
[[Category:OpenSuse build service]]

Latest revision as of 19:54, 30 September 2010

[edit] MeeGo

In general the community OBS should map to the release OBS.

The release OBS projects are:

  • MeeGo:1.0
  • MeeGo:1.0:Core
  • MeeGo:1.0:Core:Update
  • MeeGo:1.0:Core:Update:Testing
  • MeeGo:1.0:Extra
  • MeeGo:1.0:Extra:Update
  • MeeGo:1.0:Extra:Update:Testing
  • MeeGo:1.0:Handset
  • MeeGo:1.0:IVI
  • MeeGo:1.0:IVI:Update
  • MeeGo:1.0:IVI:Update:Testing
  • MeeGo:1.0:Netbook
  • MeeGo:1.0:Netbook:Update
  • MeeGo:1.0:Netbook:Update:Testing
  • MeeGo:1.0:Staging
  • MeeGo:1.0:non-oss
  • MeeGo:1.0:non-oss:Update
  • MeeGo:1.0:non-oss:Update:Testing

We will assume that there are no naming conflicts and consolidate these into the following build targets:

  • MeeGo_1.0
  • MeeGo_1.0_Update
  • MeeGo_1.0_Update_Testing (? do we need this)

and then provide a corresponding virtual target that always points to the current weekly snapshot:

  • MeeGo_Current

and 2 named snapshots for previous releases:1.0.80.1.20100514.1

  • MeeGo_1.0.80.1.20100514.1

See: http://wiki.meego.com/Release_Engineering/Release_Versioning


[edit] MeeGo:1.0:Core

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

# Get the binaries
mkdir -p /backend_storage/MeeGo/1.0/ia32
cd  /backend_storage/MeeGo/1.0/ia32
wget -e robots=off --accept \*.rpm --mirror --no-parent --progress=dot \
 --no-host-directories --cut-dirs=7 -nv \
 http://repo.m2.org/MeeGo/releases/1.0/core/repos/ia32/packages/


# Prepare for the :full dir for the OBS
OBS=/backend_storage/obs/meego1.0
mkdir -p $OBS/i586_full
REPO=/backend_storage/MeeGo/1.0/ia32/
cd $OBS
find $REPO -name *.rpm | xargs -I@ ln @ i586_full

# Not done (11 Jun)
OBS=/backend_storage/obs/meego1.0
mkdir -p $OBS/armel_full
REPO=/backend_storage/MeeGo/1.0/armv7l
cd $OBS
find $REPO -name *rpm | xargs -I@ ln @ armel_full



# On an OBS client
osc -A $API meta prj MeeGo:1.0:Core -F - <<XML
<project name="MeeGo:1.0:Core">
  <title>MeeGo 1.0</title>
  <description>
MeeGo from http://repo.m2.org/MeeGo/releases/1.0/core/repos
  </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/MeeGo\:1.0\:Core/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 MeeGo:1.0:Core standard i586
/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:1.0:Core standard armv7el

chown -R obsrun:obsrun /srv/obs/build/MeeGo:1.0:Core

Since this project is a target it needs a prjconf

[edit] MeeGo Current

On the be we must have done:

ln -s /backend_storage/obs/meego/current/armv7l_full/ /srv/obs/build/MeeGo:current/standard/armv7el/:full
ln -s /backend_storage/obs/meego/current/ia64_full/ /srv/obs/build/MeeGo:current/standard/ia64/:full


build=1.0.90.4.20100928.1
BASE=/backend_storage/obs/meego
DL=$BASE/${build}/
PRJ=$BASE/current

# download
FROM="mirrors.kernel.org"
FROMDIR="/meego/builds/1.0.90/${build}/"

mkdir -p $DL
cd $DL

LFTPCOMMAND="mirror --parallel=2 -c -i .rpm -x /images/ -x /debug/ $FROMDIR ."
lftp -c "open -e '$LFTPCOMMAND' $FROM"

mkdir -p $BASE/delete_me
mv $BASE/w-2 $BASE/delete_me
# rm -rf delete_me &
mv $BASE/w-1 $BASE/w-2
mv $BASE/current $BASE/w-1

mkdir -p $BASE/current/armv5l_full
mkdir -p $BASE/current/armv7l_full
mkdir -p $BASE/current/i586_full

find $BASE/${build}/core/repos/ia32/ -name *rpm | xargs -I@ ln @ $BASE/current/i586_full
find $BASE/${build}/core/repos/armv5tel/ -name *rpm | xargs -I@ ln @ $BASE/current/armv5l_full
find $BASE/${build}/core/repos/armv7l/ -name *rpm | xargs -I@ ln @ $BASE/current/armv7l_full

chown -R obsrun:obsrun $BASE/current/

Now on the be:

/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:current standard i586
/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:current standard armv5el
/usr/lib/obs/server/bs_admin --rescan-repository MeeGo:current standard armv7el