Meego Wiki
Views

MeeGo UX Components Chroot Tutorial

From MeeGo wiki
Revision as of 22:40, 28 April 2011 by Dlawlor (Talk | contribs)
Jump to: navigation, search

Contents

Overview

This tutorial will take the developer through the process of building from source the meego-ux-components package in a chroot development environment on Linux.

This tutorial is based on the MeeGo SDK 1.2 Preview (with Tablet) release.

This tutorial was created with a specific Tablet Build (04-01-2011) and has specific instructions related to that build. Specifically, a git checkout of a tag is required.

Prerequisites


Steps

Step 1. Get the latest source of the meego-ux-components

cd ~/meego.gitorious
git clone http://git.gitorious.org/meego-ux/meego-ux-components.git

Step 2. Download the 4/1 version of the QEMU image:

http://download.meego.com/trunk-daily/builds/1.1.90/1.1.99.1.20110401.1/images/meego-tablet-ia32-qemu/

Step 3. Un-tar to get the .raw image

Step 4. Make a fs copy of the image:

sudo mic-chroot -s ./chroot0405 -v
Downloads/meego-tablet-ia32-qemu-1.1.99.1.20110405.3.img
<exit the chroot>

Step 5. mount --bind your source directory to a directory in the fs chroot

# once, after creating the chroot0405 directory
sudo mkdir chroot0405/home/meego-ux-components

#repeat after each reboot, or add to system .profile
sudo mount -B ~/meego.gitorious/meego-ux-components ~/chroot0405/home/meego-ux-components

Step 5. start the chroot

sudo mic-chroot ./chroot0401

Step 6. Before building the sources, you need to git checkout a version that will work with the 4/1 tablet image:

git checkout 0.2.1

Step 7. startmeego to get all the MeeGO services started:

startmeego &
## Note - it will be helpful to edit the script
/usr/bin/startmeego-debug-tablet
## Change: Xephyr $DISP -screen 1024x600
## To: Xephyr $DISP -screen 1280x800

Step 8. Start Qt Creator (in the mic-chroot terminal)

qtcreator &

Step 9: Install packages needed to build meego-ux-components

zypper in libXdamage-devel
zypper in libXcomposite-devel
zypper in libX11-devel
zypper in kcalcore-devel
zypper in qt-mobility-devel
zypper in libqtopengl-devel
zypper in libcontentaction-devel
zypper in contextkit-devel
zypper in mlite
zypper in libexif-devel

Step 10. Build and Install

# In Qt Creator: Build->Build All

# from the chroot terminal (Until install / deploy step in Qt Creator is tested)
cd ../meego-ux-components-build-desktop #If shadow build was checked
make install

Step 11. Run meego-ux-widgetgallery in a separate window

qmlviewer /usr/share/meego-ux-widgetgallery/main.qml

Step 12. Run meego-ux-widgetgallery in the Xephyr startmeego window

export DISPLAY=:2
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml

Step 13. Run meego-ux-widgetgallery directly from the MeeGo environment
# in the Xephyr Window, hit the Home (Windows) key
# Choose the App Viewer
# Click on Terminal
# run this command in the terminal window:
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml

Step 14. You can also copy an existing .desktop file and change the exec statement to meego-ux-widgetgallery if you want to click on an icon to start it.

Todo

  • Automate the creation / startup of the chroot - in the the above steps, design a script which can perform steps 2 - 5, 7, 9, 14
  • Also document how to set up the SDK to run this application on a device.
Personal tools