DevelopmentEnvironment
3800
Comment: Add an outstanding issue
|
3918
|
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.
Launchpad Entry: mobile-development-environment
Packages affected: ubuntu-meta
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:
Manually, by creating a chroot environment, installing the required packages and preparing the chroot to run the hildon-desktop. This procedure is described [https://wiki.ubuntu.com/MobileAndEmbedded/HildonDesktopManualProcedure here].
Using the moblin-image-creator as described [https://wiki.ubuntu.com/MobileAndEmbedded/ImageCreation here], and installing the developer-tools FSET.
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.
MobileAndEmbedded/DevelopmentEnvironment (last edited 2008-08-06 16:16:44 by localhost)