DevelopmentEnvironment

Differences between revisions 9 and 10
Revision 9 as of 2007-11-19 11:20:53
Size: 3800
Editor: 14
Comment: Add an outstanding issue
Revision 10 as of 2007-11-21 04:44:18
Size: 3918
Editor: 14
Comment:
Deletions are marked like this. Additions are marked like this.
Line 64: Line 64:
Docuemnt how to get a development environment, both on a device itself, along with a developer's desktop system.
Line 73: Line 75:

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This specification describes an application development environment for Ubuntu Mobile and Embedded (UME), including the necessary tools and documentation, and a means to make them available as a convenient bundle.

Release Note

Rationale

An easily accessible development environment is an important part of encouraging application developers to target UME. Due to the design of UME, all of the necessary components should be available in the Ubuntu archive, and so it is natural to allow an Ubuntu desktop to be easily enabled for UME application development.

The packages in the ubuntu-mobile-dev seed were chosen based on that we wanted a developer to be able to start developing packages for the device, either on the device itself, or inside a chroot that is used for development.

Use Cases

  • Frances is a developer of mobile applications, and is interested in developing for UME. She uses her existing Ubuntu desktop system to install the UME development environment and is able to begin writing and testing the new application immediately
  • Carl is the owner of a UME-based device, and using his basic development skills, would like to create a simple application for his own use. He installs an Ubuntu desktop system, because it provides a simple way to set this up, and begins work

Assumptions

The initial target platforms for UME do not require cross-compilation.

Design

Developer Bundle / SDK

The process can done in two ways:

Test tool

This should be a script which launches a UME environment on the user's desktop using a nested X server or similar. It should allow a program to be specified, which would be launched within the session automatically, making it convenient to run from a developer's source tree. Running ume-xephyr-start will check for xserver-xephyr, set the DISPLAY=:2, start xephyr and launch the UI.

Implementation

Create an ubuntu-mobile-dev seed, and populate it with the following packages:

  • Mobile-Include: *-dev *-dbg *-debug
  • libgtk2.0-doc
  • libglib2.0-doc
  • xserver-xephyr
  • build-essential
  • python-doc
  • autotools-dev
  • automake, autoconf, libtool
  • python-hildon-dev
  • libhildon*-{dev,dbg}
  • libosso*-{dev,dbg}
  • libdbus*-{doc,dev,dbg}
  • telepathy-devel{,-gtk}
  • pkg-config
  • osso-af-settings
  • python-hildondesktop (needs packaging/uploading)

Point the developer-tools FSET to install ubuntu-mobile-dev.

Docuemnt how to get a development environment, both on a device itself, along with a developer's desktop system.

Test Plan

  • Check that the ubuntu-mobile-dev package is correctly populated by germinate.
  • Check that installing ubuntu-mobile-dev pulls in everything that is expected.
  • Check that marking the developer-tools FSET to be installed using moblin-image-creator pulls in ubuntu-mobile-dev and everything that it depends on.

Outstanding Issues

Dealing with X and kernel driver writing -- X driver packages look to pull in xserver-xorg-dev, x11proto-*-dev, and kernel driver packages pull in the kernel headers.


CategorySpec

MobileAndEmbedded/DevelopmentEnvironment (last edited 2008-08-06 16:16:44 by localhost)