Meego Wiki
Views

User:Stskeeps/MeeGo Hacker Guide

From MeeGo wiki
Jump to: navigation, search

DRAFT

Hands On: Setting up your workshop

You'll need:

  • An OBS account on either build.meego.com or cbuild.meego.com (use your meego.com login) or on your own OBS with MeeGo release(s) imported.
  • These tools installed on your development machine:
    • Spectacle, autospectacle (on gitorious)
    • MIC2
    • osc
    • Standard development tools (git, wget, svn, make, diff, patch, rsync, ssh, dd, gdb)
    • A graphical web browser (Firefox, Chrome, etc..)

You might need:

  • For local OBS builds, something supporting SSSE3 instructions (this applies for ARM builds too)
  • qemu-arm installed, vdso=0

.. tools to grab images/releases? .. zypper instructions .. proxy instructions, NAT wlan


Theory: Stuff which will make life easier, engage, and profit properly understood

  • Background of the user-space and middle ware stack:
    • The context of the current middle ware discussed.
    • What's beneath it (another layer, the bare metal?), What's on top of it?
    • Nature of inter-relationships: How does it communicate with other components if at all? How does it communicate with hardware?
  • Breakdown to subsystems:
    • Each component have a section with links or content to:
      • Read about the architecture.
      • Libraries and binaries it uses,
      • Current important bugs for triage and fixing, tagged with difficulty level.
      • Find out where offline development discussions happen.
      • Learn about low hanging fruits; not just bug fixing and feature implementation!
  • Background for the UI parts and perhaps follow the same breakdown as for (2) ??
  • Each component resulting in a binary should have links to the proper documentation for it, or a mention where docs are in the RPM packages itself.

IRC dumps of what could become part of documentation, even if somewhat explained in other places


11:57 < timoph> I'm using repo.meego.com to get the tools
11:57 < timoph> deb http://repo.meego.com/MeeGo/tools/repos/ubuntu/10.04/ /
11:57 < timoph> in sources.list
11:58  * sivang adds
11:58 < timoph> the install osc osc-meego-plugins build
11:58 < timoph> s/the/then/
11:59 < timoph> (might need something else too)
12:00 < timoph> after installing osc do 'osc -A http://api.cbuild.meego.com ls' and add your credentials
12:01 < timoph> and edit ~/.oscrc (change su-wrapper to use sudo)
12:01 < sivang> where's the key for apt?
12:01 < sivang> it complains about unauthenticated sources
12:01 < timoph> http://repo.meego.com/MeeGo/tools/repos/ubuntu/10.04/Release.key
12:01 < sivang> thanks
12:03 < sivang> timoph: key imported
12:03 < sivang> E: Couldn't find package osc-meego-plugins
12:03 -!- asinnela [~arsinnel@gw2.digia.com] has joined #meego-qa-tools
12:03 < timoph> you can also 'sudo visudo' and append '[your username] ALL=NOPASSWD: /usr/bin/build'
12:04 < timoph> hmmh. did you do run apt-get update ?
12:04 < sivang> I did, I'll rerun
12:05 < timoph> you can live without the meego-plugins if they're not available
12:05 < timoph> ahh. sorry
12:05 < timoph> it's 'meego-osc-plugins'
12:07 < timoph> have you created your home project?
12:07 -!- petrik [~chatzilla@nat/nokia/x-slqkpgymlbhyqzfn] has joined #meego-qa-tools
12:08 < timoph> after you have created your home project you can checkout it and start creating packages
12:09 < timoph> osc co home:[username]
12:09 < timoph> you'll need to add files to the project before building them e.g. 'osc add some.spec'
12:09 -!- dneary [~dneary@ALyon-152-1-57-212.w86-193.abo.wanadoo.fr] has joined #meego-qa-tools
12:09 -!- dneary [~dneary@ALyon-152-1-57-212.w86-193.abo.wanadoo.fr] has quit [Changing host]
12:09 -!- dneary [~dneary@Maemo/community/docmaster/dneary] has joined #meego-qa-tools
12:10 < timoph> to build locally do 'osc build --no-verify'
12:10 < timoph> easiest way to get started is to take some existing package and play with it
12:11 < timoph> you can copy packages from other user's projects to your home by 'osc copypac home:someuser package 
                home:yourusername'
12:12 < sivang> timoph: okay, pluging installed. Now that ':' notation, this is what you refer to all the time with 
                Trunk:Tools etc?
12:12 < sivang> timoph: what's a home project in that regard?
12:13 < timoph> your own home project
12:13 < timoph> in obs
12:13 < sivang> so my sandbox in obs?
12:13 < timoph> yep
12:13 < sivang> nice, where I can play and break things? and I can link people to my home to install stuff from there?
12:13 < timoph> easiest way to create it is through the www interface
12:13 < sivang> either through apt/yum?
12:14 < timoph> yep. it creates repositories for your packages automagically
12:14 < sivang> oh nice!
12:15 < sivang> but currently the cbuild only supports srpms, according to lbt 
12:15 < lbt> rpms
12:15 < sivang> rpms, yes
12:15  * sivang sets up a home project
12:15 < timoph> :)
12:15 < sivang> timoph: do I need a git repo for that , or does obs handles that as well?
12:16 < timoph> no
12:16 < sivang> that is, acts as a source repo?
12:16 < sivang> ah
12:16 < sivang> so I can have it "watch" an upstrea?
12:16 < timoph> obs eats spec/dsc files and tar balls
12:16 < lbt> yes, but the meego community OBS has no debian repo target
12:16 < timoph> ah
12:16 < lbt> for that you should use suse OBS if possible
12:17 < timoph> good to know
12:17 < sivang> lbt: what timoph just helped me do will most probably find its way to the guide you asked if I could put 
                online
12:17 < lbt> eg https://build.opensuse.org/project/monitor?project=Maemo%3AMeeGo-Infra
12:17 < sivang> lbt: it is mostly similar to the Mer one, I need to see if the tweakes you had in the Mer document apply here
12:17 < sivang> lbt: e.g. http://wiki.maemo.org/Mer/Build/Install_OBS#Handle_OBS_using_.27:.27_in_filenames
12:17 < sivang> for example
12:18 < lbt> yeah... that's a beauty :)
12:18 -!- sievi [~kasievi@gw.digia.com] has left #meego-qa-tools []
12:18 < timoph> sivang: no as in you need version control for your source code :)
12:19 < timoph> anyway. I need to go..
12:19 < timoph> -->
12:19 < sivang> timoph: thank you!
12:23 < sivang> lbt: so for community .deb  apps, a'la maemo-extras, we use suse OBS at build.opensuse.org , and only for 
                core both .debs and .rpms we use build.meego.com ?
12:23 < lbt> for now
12:24 < sivang> sure, just need to get an understanding for the hacking guide's sake
12:24 < lbt> mmm sec
12:24 < lbt> http://wiki.meego.com/Build_Infrastructure first para
12:31 < sivang> lbt: right, there's tons of stuff there
12:31 < sivang> this seems be mostly catering for the mer page- 
                http://wiki.meego.com/Build_Infrastructure/Packagers_Developers/CLI_Part_1

Personal tools