This is emacs -*- mode:org -*- format
* MeeGo SF: Build Tutorial
** Pre-requisites
*** web browser for basics
*** osc & build for command line usage and local builds
*** qemu for ARM
*** Installation
**** Debian
**** Ubuntu
**** Fedora
** Simple source -> installable package
*** OBS Account Setup
Discuss 2 OBSes
Get your meego.com account enabled
Login to https://build.pub.meego.com/
*** create home dir
Either 'Create Project' or click on name in top right
This is the base area - makes sense to create a structure later
home:<user>:Apps:<app1>/app1
*** create sub-project
Go to Home area and create
home:<user>:starting
Title is cosmetic
Description is used in Apps (Niels?)
*** what have you got on the web ui
**** Overview
# Packages
**** Build Status
Info about 'targets', architectures and succeeded/failed/unresolveable
https://build.pub.meego.com/project/show?project=home%3Asmoku%3Acordia
**** Packages
Just lists them
**** Repositories
Targets - build against these (like MeeGo 1.2 or DE or Debian or Fedora)
Decide what to build or publish
**** Monitor
Detailed dashboard
(won't appear until you have something to build)
**** Advanced
Project config : handle how chroot is setup
Users : grant others access to a subproject in your area
Subprojects : See them and make more
Attributes : Not used
Raw config : XML spec of the project
Status : Detailed summary
*** checkout project
osc co
*** git source?
(setup a git repo somewhere)
*** create a spec and .changes file
discuss what goes in .changes
*** upload tar, spec, changes
*** set a target and architecture
Explain about dependency resolution
touch back to prjconf
explain that some targets are dynamic and will trigger rebuilds
*** watch the build happen
monitor #meego-boss for noise - set to highlight when your project
is mentioned
*** publish
That's a PPA
has a .repo suitable for
zypper ar http://download...
This is now like Extras:Devel
*** Project structure
make your own 'devel' and 'stable'
promote to Apps:Testing and then Apps
** Extra stuff
*** YAML?
An example of using yaml to make a spec file
*** Using 'peer' packages
if you
*** Branch
how to get code from DE, KDE, Surrounds or any other project
*** Remote Branch
Even doable for MeeGo.com
*** Apps
App store - no dependencies yet
Introduce Surrounds
*** Project: area
The idea is that this is for collaboration
*** Multiple OBSes
-A allows you to use c.obs and main obs and company obs
(and maemo one too)
*** oscrc file
aliases
build control : directories, pre-installs
*** Local builds
using bind-mount
** See Also
http://wiki.meego.com/Build_Infrastructure/Packagers_Developers/CLI_Part_1
http://wiki.meego.com/Build_Infrastructure/Packagers_Developers/Using_OBS_chroot_for_development
http://wiki.maemo.org/Mer/Build/Application_Building
http://wiki.meego.com/images/Meegokickoff.pdf
http://wiki.meego.com/OBS/Community_OBS/Project_Areas