The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
OBS projects setup
From Mer Wiki
(Difference between revisions)
(→Download on Demand) |
(→Building for different targets in OBS) |
||
Line 12: | Line 12: | ||
=== Download on Demand === | === Download on Demand === | ||
− | Steps for | + | Steps for deb based distros : |
* Choose a fast mirror of the repository you want to build against. It has to be static as cached information will not be refreshed automatically by OBS. | * Choose a fast mirror of the repository you want to build against. It has to be static as cached information will not be refreshed automatically by OBS. | ||
− | + | Debian stable I use http://debian.osuosl.org/debian/ | |
* Locate the Packages file for the dist and architecture you want. For squeeze (stable) i386 it is at : | * Locate the Packages file for the dist and architecture you want. For squeeze (stable) i386 it is at : | ||
Line 24: | Line 24: | ||
* Create a project using the web UI or the osc. For example to create a toplevel Debian:6.0 using osc : | * Create a project using the web UI or the osc. For example to create a toplevel Debian:6.0 using osc : | ||
− | osc -A apiurl meta prj -e Debian:6.0 | + | osc -A apiurl meta prj -e Debian:6.0 |
* Fill the project meta similar to the following xml : | * Fill the project meta similar to the following xml : | ||
− | <project name="Debian:6.0"> | + | <project name="Debian:6.0"> |
− | + | <title>Debian stable (Squeeze)</title> | |
− | + | <description>Debian 6.0 stable (Squeeze) using download and demand from http://debian.osuosl.org/debian/dists/squeeze</description> | |
− | + | <person userid="Admin" role="maintainer"/> | |
− | + | <person userid="Admin" role="bugowner"/> | |
− | + | <download mtype="debmd" arch="i586" baseurl="http://debian.osuosl.org/debian/" metafile="Packages"/> | |
− | + | <build> | |
− | + | <disable/> | |
− | + | </build> | |
− | + | <publish> | |
− | + | <disable/> | |
− | + | </publish> | |
− | + | <repository name="standard"> | |
− | + | <arch>i586</arch> | |
− | + | </repository> | |
− | </project> | + | </project> |
Notes : | Notes : | ||
− | * mtype is debmd for | + | * mtype is debmd for deb based repositories |
* arch matches this repository and Packages file to an OBS scheduler, so debian i386 will be handeled by the i586 scheduler | * arch matches this repository and Packages file to an OBS scheduler, so debian i386 will be handeled by the i586 scheduler | ||
* baseurl is used to construct the URL of the packages mentioned in the Packages file | * baseurl is used to construct the URL of the packages mentioned in the Packages file | ||
− | * | + | * in the OBS backend create a directory : |
+ | mkdir -p /srv/obs/build/Debian:6.0/standard/i586/:full | ||
+ | cd /srv/obs/build/Debian:6.0/standard/i586/:full | ||
+ | wget http://debian.osuosl.org/debian/dists/squeeze/main/binary-i386/Packages.gz | ||
+ | gunzip Packages.gz | ||
+ | chown -R obsrun:obsrun /srv/obs/build/Debian:6.0 | ||
+ | |||
+ | * create a prjconf for this distro. For debian there is one at (opensuse obs down) | ||
References : | References : | ||
* http://en.opensuse.org/openSUSE:Build_Service_Concept_Download_on_Demand | * http://en.opensuse.org/openSUSE:Build_Service_Concept_Download_on_Demand |
Revision as of 13:27, 14 January 2012
Building for different targets in OBS
You might want to build packages for different targets like Debian or Opensuse. There are two ways to do that :
- inter-OBS link provided by build.opensuse.org
- download on demand against a static repository
Explain inter-OBS link
Download on Demand
Steps for deb based distros :
- Choose a fast mirror of the repository you want to build against. It has to be static as cached information will not be refreshed automatically by OBS.
Debian stable I use http://debian.osuosl.org/debian/
- Locate the Packages file for the dist and architecture you want. For squeeze (stable) i386 it is at :
http://debian.osuosl.org/debian/dists/squeeze/main/binary-i386/Packages.gz
- Create a project using the web UI or the osc. For example to create a toplevel Debian:6.0 using osc :
osc -A apiurl meta prj -e Debian:6.0
- Fill the project meta similar to the following xml :
<project name="Debian:6.0"> <title>Debian stable (Squeeze)</title> <description>Debian 6.0 stable (Squeeze) using download and demand from http://debian.osuosl.org/debian/dists/squeeze</description> <person userid="Admin" role="maintainer"/> <person userid="Admin" role="bugowner"/> <download mtype="debmd" arch="i586" baseurl="http://debian.osuosl.org/debian/" metafile="Packages"/> <build> <disable/> </build> <publish> <disable/> </publish> <repository name="standard"> <arch>i586</arch> </repository> </project>
Notes :
- mtype is debmd for deb based repositories
- arch matches this repository and Packages file to an OBS scheduler, so debian i386 will be handeled by the i586 scheduler
- baseurl is used to construct the URL of the packages mentioned in the Packages file
- in the OBS backend create a directory :
mkdir -p /srv/obs/build/Debian:6.0/standard/i586/:full cd /srv/obs/build/Debian:6.0/standard/i586/:full wget http://debian.osuosl.org/debian/dists/squeeze/main/binary-i386/Packages.gz gunzip Packages.gz chown -R obsrun:obsrun /srv/obs/build/Debian:6.0
- create a prjconf for this distro. For debian there is one at (opensuse obs down)
References :