OpenSuse Build Service
m (OBS moved to OpenSuse Build Service: Expand acronym) |
(nowiki->pre) |
||
Line 14: | Line 14: | ||
=== Fremantle:1.1:Std === | === Fremantle:1.1:Std === | ||
- | < | + | <pre> |
# Specify the OBS we're working on | # Specify the OBS we're working on | ||
API=http://api17/ | API=http://api17/ | ||
Line 72: | Line 72: | ||
chown -R obsrun:obsrun /srv/obs/build/Fremantle* | chown -R obsrun:obsrun /srv/obs/build/Fremantle* | ||
- | </ | + | </pre> |
=== Fremantle:1.1:Bootstrap === | === Fremantle:1.1:Bootstrap === | ||
- | < | + | <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 Fremantle:1.1:Bootstrap -F - <<XML | ||
Line 116: | Line 116: | ||
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 Fremantle:1.1:Bootstrap -F - | ||
- | </ | + | </pre> |
=== Fremantle:1.1:Loaded === | === Fremantle:1.1:Loaded === | ||
This project | This project | ||
- | < | + | <pre> |
osc -A $API meta prj Fremantle:1.1:Loaded -F - <<XML | osc -A $API meta prj Fremantle:1.1:Loaded -F - <<XML | ||
<project name="Fremantle:1.1:Loaded"> | <project name="Fremantle:1.1:Loaded"> | ||
Line 147: | Line 147: | ||
</project> | </project> | ||
XML | XML | ||
- | </ | + | </pre> |
=== Fremantle:1.1 === | === 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 | This project is used as a target by applications. It is a multi-path project looking first in :Loaded and then in :Std | ||
- | < | + | <pre> |
osc -A $API meta prj Fremantle:1.1 -F - <<XML | osc -A $API meta prj Fremantle:1.1 -F - <<XML | ||
<project name="Fremantle:1.1"> | <project name="Fremantle:1.1"> | ||
Line 179: | Line 179: | ||
</project> | </project> | ||
XML | XML | ||
- | </ | + | </pre> |
Since this project is a target it needs a prjconf: | Since this project is a target it needs a prjconf: | ||
Line 189: | Line 189: | ||
Binaries for :Loaded | Binaries for :Loaded | ||
- | < | + | <pre> |
scratchbox-fake | scratchbox-fake | ||
osc -A $API meta pkg Fremantle:1.1:Bootstrap scratchbox-fake -e | osc -A $API meta pkg Fremantle:1.1:Bootstrap scratchbox-fake -e | ||
Line 200: | Line 200: | ||
osc addremove | osc addremove | ||
osc commit -m"From git" | osc commit -m"From git" | ||
- | </ | + | </pre> |
=== busybox === | === busybox === | ||
Line 207: | Line 207: | ||
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. | ||
- | < | + | <pre> |
osc -A $API meta pkg Fremantle:1.1:Bootstrap busybox -e | osc -A $API meta pkg Fremantle:1.1:Bootstrap busybox -e | ||
osc -A $API co Fremantle:1.1:Bootstrap busybox | osc -A $API co Fremantle:1.1:Bootstrap busybox | ||
Line 217: | Line 217: | ||
osc addremove | osc addremove | ||
osc commit -m"From git" | osc commit -m"From git" | ||
- | </ | + | </pre> |
=== fakeroot === | === fakeroot === | ||
- | < | + | <pre> |
osc -A $API meta pkg Fremantle:1.1:Bootstrap fakeroot -e | osc -A $API meta pkg Fremantle:1.1:Bootstrap fakeroot -e | ||
osc -A $API co Fremantle:1.1:Bootstrap fakeroot | osc -A $API co Fremantle:1.1:Bootstrap fakeroot | ||
Line 230: | Line 230: | ||
osc addremove | osc addremove | ||
osc commit -m"From git" | osc commit -m"From git" | ||
- | </ | + | </pre> |
Revision as of 15:19, 15 April 2010
Contents |
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/<pkg> 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
# Specify the OBS we're working on API=http://api17/ # Get the Fremantle binaries 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/ # Prepare for the :full dir for the OBS 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 # On an OBS client osc -A $API meta prj Fremantle:1.1:Std -F - <<XML <project name="Fremantle:1.1:Std"> <title>Fremantle 1.1</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/Fremantle\:1.1\:Std/standard/ mkdir -p i586/:full armv7el/:full 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
# On an OBS client osc -A $API meta prj Fremantle:1.1:Bootstrap -F - <<XML <project name="Fremantle:1.1:Std"> <title>Fremantle 1.1</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> <useforbuild> <disable/> </useforbuild> <repository name="Debian_5.0_standard"> <path project="openSUSE.org:Debian:5.0" repository="standard"/> <arch>armv5el</arch> <arch>armv7el</arch> <arch>i586</arch> </repository> <repository name="Ubunty_9.04_standard"> <path project="openSUSE.org:Ubuntu:9.04" repository="standard"/> <arch>armv5el</arch> <arch>armv7el</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 Fremantle:1.1:Bootstrap -F -
Fremantle:1.1:Loaded
This project
osc -A $API meta prj Fremantle:1.1:Loaded -F - <<XML <project name="Fremantle:1.1:Loaded"> <title>Fremantle 1.1 Loaded</title> <description> 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. </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
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 - <<XML <project name="Fremantle:1.1"> <title>Fremantle 1.1</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="Fremantle:1.1:Loaded" repository="standard"/> <path project="Fremantle:1.1:Std" repository="standard"/> <arch>armv7el</arch> <arch>i586</arch> </repository> </project> 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"