Projects/Mobile/Meego development with KDE: Difference between revisions

From KDE TechBase
m (Text replace - "</code>" to "</syntaxhighlight>")
 
(14 intermediate revisions by 5 users not shown)
Line 7: Line 7:


* http://wiki.meego.com/MeeGo_SDK_with_Xephyr
* http://wiki.meego.com/MeeGo_SDK_with_Xephyr
use Xephyr if you have an Intel graphics card, else use Qemu: http://wiki.meego.com/MeeGo_SDK_Development_Options
use Xephyr if you have an Intel graphics card, else use Qemu:
* http://wiki.meego.com/MeeGo_SDK_Development_Options
 
* http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Linux
how to use QtCreator to build meego software


===Maemo, not Meego:===
===Maemo, not Meego:===
Line 18: Line 22:
* using Xephyr (using a chroot)
* using Xephyr (using a chroot)
**Note: only works if you have an Intel graphics card.
**Note: only works if you have an Intel graphics card.
**Use xhost: set it to allow connections to everyone from everywhere if you have problems, yes this is bad security "xhost +"
* using a real device
* using a real device




To build stuff you can either use one of the above three options, or as a fourth (and probably) easier option, you can use qt-creator with madde and its Meego plugin. A problem with this is that there apparently is something wrong if you try to use libmeegotouch.
To build stuff you can either use one of the above three options, or as a fourth (and probably) easier option, you can use qt-creator with madde and its Meego plugin. A problem with this is that there apparently is something wrong if you try to use libmeegotouch.
==Using QEMU==
If you don't have an Intel graphics card you need to use this method.
==Using Xephyr==
*Use xhost: set it to allow connections to everyone from everywhere if you have problems, yes this is bad security "xhost +"
*In chroot, to be non-root, su to user "meego".
*It has a small partition, but you can mount external things via:
mount --bind <source> <path/to/chroot/target>
==Using a real device==


== Dynamic Languages ==
== Dynamic Languages ==
Line 30: Line 46:
=== VirtualBox ===
=== VirtualBox ===
First, get VirtualBox OSE installed on your system. Once that is installed, download the Meego 1.0 Netbook image.
First, get VirtualBox OSE installed on your system. Once that is installed, download the Meego 1.0 Netbook image.
== KDE on MeeGo Community OBS ==
We use the MeeGo community build service (https://build.pub.meego.com/) for KDE packaging.
Since it does not support team repositories yet, we use Mek's personal repository as the official KDE repository for now:
https://build.pub.meego.com/project/show?project=home%3Amkruisselbrink%3Akde
Add the repo like this as root:
zypper ar -f  http://repo.pub.meego.com/home:/mkruisselbrink:/kde/meego_1.1_core/ mek-kde
=== How to get an account ===
(See also http://wiki.meego.com/Build_Infrastructure/Packagers_Developers#How_to_get_started for official guideline)
* get an account on meego.com (you probably have one already if you were at the MeeGo conference, it's the same as the conference account)
* ask a guy named 'lbt' on '#meego' on Freenode to activate your account for the community OBS. Tell him your meego.com user name for that.
* log in to https://build.pub.meego.com/ once (necessary for the following step to succeed).
* ask a member of the KDE MeeGo OBS project to add you to the project (e.g. Mek, Artur, Marco, Volker, full list available at the above repo link)
=== How to access the KDE repository with osc ===
==== Initial setup ====
<syntaxhighlight lang="bash">
zypper install osc
</syntaxhighlight>
Edit the ''apiurl'' line in ''~/.oscrc'' to:
<syntaxhighlight lang="ini">
apiurl = https://api.pub.meego.com
</syntaxhighlight>
Now run ''osc list'' and follow instructions to fill in username and password. You should see a full repository listing there, to confirm the setup was successful.
Now checkout the KDE repository using
<syntaxhighlight lang="bash">
osc checkout home:mkruisselbrink:kde
</syntaxhighlight>
This will take a while and download all our package sources, so have some disk space available. Downloading just some packages is probably possible as well, but we assume in the following you have a full checkout.
==== Adding and Maintaining Packages ====
''osc'' works quite similar to Subversion, most commands should thus look very familiar (''update'', ''add'', ''diff'', ''commit'', etc). To modify existing packages, just edit the .spec file and add/modify the corresponding sources if necessary and commit the result. The OBS will then automatically try to build new packages (both for the one you just modified and for all dependencies).

Latest revision as of 20:57, 29 June 2011

This is a page to help developers get up and running for KDE development on Meego.

Beginning Links

use Xephyr if you have an Intel graphics card, else use Qemu:

how to use QtCreator to build meego software

Maemo, not Meego:

http://wiki.maemo.org/Documentation/Maemo_5_Final_SDK_Installation

Getting Started

There are three ways to get a full MeeGo GUI running:

  • using QEMU (emulating a device)
  • using Xephyr (using a chroot)
    • Note: only works if you have an Intel graphics card.
  • using a real device


To build stuff you can either use one of the above three options, or as a fourth (and probably) easier option, you can use qt-creator with madde and its Meego plugin. A problem with this is that there apparently is something wrong if you try to use libmeegotouch.

Using QEMU

If you don't have an Intel graphics card you need to use this method.

Using Xephyr

  • Use xhost: set it to allow connections to everyone from everywhere if you have problems, yes this is bad security "xhost +"
  • In chroot, to be non-root, su to user "meego".
  • It has a small partition, but you can mount external things via:
mount --bind <source> <path/to/chroot/target>

Using a real device

Dynamic Languages

This is based off an article on The Irish Pengiun, I've put together the following how-to to get Qt Ruby working on Meego. Note, to aid in rapid development, we'll be using the netbook edition.

VirtualBox

First, get VirtualBox OSE installed on your system. Once that is installed, download the Meego 1.0 Netbook image.

KDE on MeeGo Community OBS

We use the MeeGo community build service (https://build.pub.meego.com/) for KDE packaging.

Since it does not support team repositories yet, we use Mek's personal repository as the official KDE repository for now: https://build.pub.meego.com/project/show?project=home%3Amkruisselbrink%3Akde

Add the repo like this as root:

zypper ar -f  http://repo.pub.meego.com/home:/mkruisselbrink:/kde/meego_1.1_core/ mek-kde

How to get an account

(See also http://wiki.meego.com/Build_Infrastructure/Packagers_Developers#How_to_get_started for official guideline)

  • get an account on meego.com (you probably have one already if you were at the MeeGo conference, it's the same as the conference account)
  • ask a guy named 'lbt' on '#meego' on Freenode to activate your account for the community OBS. Tell him your meego.com user name for that.
  • ask a member of the KDE MeeGo OBS project to add you to the project (e.g. Mek, Artur, Marco, Volker, full list available at the above repo link)

How to access the KDE repository with osc

Initial setup

zypper install osc

Edit the apiurl line in ~/.oscrc to:

apiurl = https://api.pub.meego.com

Now run osc list and follow instructions to fill in username and password. You should see a full repository listing there, to confirm the setup was successful.

Now checkout the KDE repository using

osc checkout home:mkruisselbrink:kde

This will take a while and download all our package sources, so have some disk space available. Downloading just some packages is probably possible as well, but we assume in the following you have a full checkout.

Adding and Maintaining Packages

osc works quite similar to Subversion, most commands should thus look very familiar (update, add, diff, commit, etc). To modify existing packages, just edit the .spec file and add/modify the corresponding sources if necessary and commit the result. The OBS will then automatically try to build new packages (both for the one you just modified and for all dependencies).