The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Nemo/Creating Releases

From Mer Wiki
< Nemo(Difference between revisions)
Jump to: navigation, search
(Taking new Mer release to Nemo)
(Taking new Mer release to Nemo)
Line 16: Line 16:
 
TODO: How MDS2 release is imported?
 
TODO: How MDS2 release is imported?
  
When new mer release is taken in use in nemo it is first added to '''devel'''. This is done by editing mer:devel  
+
When new mer release is taken in use in nemo it is first added to '''devel'''. This is done by editing mer:devel project in the Mer OBS, e.g.,
 
  osc -A https://api.merproject.org meta prj mer:devel -e
 
  osc -A https://api.merproject.org meta prj mer:devel -e
  
There update the '''path'' lines to match the new release:
+
With your favorite editor the '''path'' lines of appropriate release '''latest_''' and/or '''next_''' to match the new release:
 
   <repository name="'''latest_'''i586">                                                                                                                                                                                                             
 
   <repository name="'''latest_'''i586">                                                                                                                                                                                                             
 
     <path project="mer:mds2:Core:i586:'''0.20130411.1'''" repository="Core_i586"/>                                                                                                                                                                 
 
     <path project="mer:mds2:Core:i586:'''0.20130411.1'''" repository="Core_i586"/>                                                                                                                                                                 
Line 25: Line 25:
 
   </repository>                                                                                                                                                                                                                               
 
   </repository>                                                                                                                                                                                                                               
  
'''NOTE''': latest_* and next_* should always match to values reported at http://releases.merproject.org/releases/
+
'''NOTE''': You can see the latest releases from http://releases.merproject.org/releases/latest-release and http://releases.merproject.org/releases/next-release
  
After this is done one needs to also update the repository links at http://releases.nemomobile.org/rnd/repos/ to match the new release. This is done by editing the rnd/repos/mer-latest-devel/.htaccess file. Should be noted though that on '''devel''' level the links are made to point latest and next and should not need changing.
+
For '''testing''' the process is similar to '''devel'''. Addition thing with ''testing'' level is that one needs also update the repository links at http://releases.nemomobile.org/rnd/repos/ to match the new release. This is done by editing the rnd/repos/mer-latest-testing/.htaccess file. Should be noted though that on '''devel''' level the links are made to point latest and next and should not need changing.
 
+
For '''testing''' the process is similar to '''devel''' except there one needs to be sure that the .htaccess file has also right version setup.
+
  
 
== Repository snapshots ==
 
== Repository snapshots ==

Revision as of 09:27, 29 April 2013

This page guides how to build Nemo Mobile releases.

Contents

Prerequisites

Background

Nemo has three levels or phases on repositories. First is devel level that contains the latest and the greatest. To this level commits are done by developers and for packages that have been converted to git format the the updates are coming straight from the git commits see Nemo/Development. Because of this there can be occasional breakages in the devel.

After devel comes testing to which packages are submitted usually with creq's by the maintainer/qa person who tests the packages and accepts them.

Last phase is stable that is currently not used, but it will contain more testing and where nothing should not break.

Taking new Mer release to Nemo

TODO: How MDS2 release is imported?

When new mer release is taken in use in nemo it is first added to devel. This is done by editing mer:devel project in the Mer OBS, e.g.,

osc -A https://api.merproject.org meta prj mer:devel -e

With your favorite editor the path lines of appropriate release latest_' and/or next_ to match the new release:

 <repository name="latest_i586">                                                                                                                                                                                                            
   <path project="mer:mds2:Core:i586:0.20130411.1" repository="Core_i586"/>                                                                                                                                                                 
   <arch>i586</arch>                                                                                                                                                                                                                        
 </repository>                                                                                                                                                                                                                              

NOTE: You can see the latest releases from http://releases.merproject.org/releases/latest-release and http://releases.merproject.org/releases/next-release

For testing the process is similar to devel. Addition thing with testing level is that one needs also update the repository links at http://releases.nemomobile.org/rnd/repos/ to match the new release. This is done by editing the rnd/repos/mer-latest-testing/.htaccess file. Should be noted though that on devel level the links are made to point latest and next and should not need changing.

Repository snapshots

Creating the snapshot

Tool for creating the snapshot is available at https://github.com/nemomobile/release-tools and is used to create a snapshot and update the links. To create for example testing snapshot call

./nemo-snapshot.sh testing

NOTE: This script currently assumes that you are on crepo server and have certain permissions and directories.

Images

Getting the build script and configs

# Create new directory for Nemo Releases
mkdir nemo-releases
cd nemo-releases
# Install mer configs and mer-kickstarter
zypper install mer-kickstarter-configs mer-kickstarter
# Install nemo configs
git clone git://github.com/nemomobile/nemo-kickstarter-configs.git
cd nemo-kickstarter-configs
# Create kickstart files
mer-kickstarter -c repos.yaml -o nemo-ks/
cd ..
# Get the daily image builder script that is used to do releases
git clone git://gitorious.org/image-building-tools/daily-image-builder.git
cd daily-image-builder

Next thing is to configure the script for your needs. The default config should be fine though

cp builder.conf.tmpl builder.conf

Creating mic cmdlines to test individual image creation

Following command lists all the mic cmdlines for the .ks files that can be used to create individual images manually

./builder.py --use-ks-dir=../nemo-kickstarter-configs/nemo-ks/ --release-id=latest

Building the release images

Release

The release images are done with following command:

sudo ./builder.py --use-ks-dir=../nemo-kickstarter-configs/nemo-ks/ --release-id=latest --extra-filter=-pandaboard,-rnd --run-mic

RND

The rnd image creation differs a bit, for that you need to give filter rnd instead of -rnd and also you need to give FLAVOUR and SSU_RELEASE_TYPE as values to the tokenmap.
Example below will create all RND images except for the PandaBoard:

sudo ./builder.py --use-ks-dir=../nemo-kickstarter-configs/nemo-ks/ --release-id=latest --extra-filter=-pandaboard,rnd --tokenmap=SSU_RELEASE_TYPE:rnd,FLAVOUR:devel --run-mic
Personal tools