Editing OpenSuse Build Service
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | == | + | = 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 === | |
- | + | <pre> | |
- | + | # 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* | ||
+ | </pre> | ||
+ | |||
+ | === Fremantle:1.1:Bootstrap === | ||
+ | <pre> | ||
+ | # 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 - | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | === Fremantle:1.1:Loaded === | ||
+ | This project | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | 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 | ||
+ | |||
+ | <pre> | ||
+ | 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" | ||
+ | </pre> | ||
+ | |||
+ | === busybox === | ||
+ | This just provides 'su' through busybox-login. | ||
+ | |||
+ | 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 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" | ||
+ | </pre> | ||
+ | |||
+ | === fakeroot === | ||
+ | <pre> | ||
+ | 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" | ||
+ | </pre> |
Learn more about Contributing to the wiki.