Eclipse integration/ReleaseNotes prefinal

= Release Notes for Maemo Eclipse Integration Edition 2 PreFinal release =

This Maemo Eclipse Integration Edition 2 PreFinal release supports Maemo Diablo 4.1.2 development environment with N800, N810 and N810 Wimax Edition devices and Maemo Fremantle 5.0 Beta 2 development environment N900 device.

Possible feedback can be sent to eclipse-integration@maemo.org.

Release Information

 * Project: Maemo Eclipse Integration Edition 2
 * Version: PreFinal
 * Baselines: Maemo Diablo 4.1.2 SDK and Maemo Fremantle 5.0 SDK Beta 2
 * Date: 2009-09-11

General Information
Eclipse Integration components now support the latest Debian based Linuxes, Windows XP SP3, Windows Vista SP2 and Mac OS X 10.5 Leopard all with x86/32bit architectures.

Support for other than above listed operating systems has not been tested but should be possible if operating system supports Eclipse IDE, if equal functionality to Host PC Connectivity is available (for example most Linuxes have) and if operating system is able to run Maemo SDK Virtual Image (in practise supports either QEmu, VMWare or VirtualBox).

Maemo Eclipse Integration includes the following parts:

Detailed list of new features implemented to Maemo Eclipse Integration since previous Beta 2 release together with feature plan for final release is here http://wiki.maemo.org/Eclipse_integration.
 * Eclipse 3.4.2 IDE (Ganymede SP2) for C/C++ Developers (official release from eclipse.org)
 * Maemo PC Connectivity (Diablo extras-devel and Fremantle extras-devel repository versions)
 * Host PC Connectivity for Linux, Windows XP/Vista and Mac OS X (PC Connectivity Garage project versions)
 * Maemo ESbox plugin for Eclipse v2.0.0M6 (Esbox Garage project version)
 * Maemo Pluthon plugin for Eclipse v2.0.0M6 (Pluthon Garage project version)
 * Maemo Mica plugin framework for Eclipse v2.0.0M6 (Mica Garage project version)
 * Maemo SDK Virtual Images v0.11 (to support other than Debian based Linuxes)
 * Maemo C/C++ and Python programming language support (Diablo extras and Fremantle extras-devel repository versions)
 * Maemo Flasher-3.5 Tool Beta versions

Known issues for this PreFinal release are here http://wiki.maemo.org/Eclipse_integration/KnownIssues_prefinal.

This Release Notes file is here http://wiki.maemo.org/Eclipse_integration/ReleaseNotes_prefinal.

Basic product information and installation instructions for all PreFinal components can be found from their http://garage.maemo.org projects.

Operating Systems Supported

 * full support for same x86 32-bit Linux Ubuntu distributions that Maemo SDK releases support (Ubuntu Intrepid fully tested)
 * good support for x86 32-bit Windows XP with SP3 and Vista with SP2, Cygwin used as Linux porting framework
 * good support for x86 32-bit Mac OS X 10.5 Leopard, MacPorts used as Linux porting framework
 * see instructions how to setup and configure different operating system support: http://pc-connectivity.garage.maemo.org/2nd_edition/installation.html and http://esbox.garage.maemo.org/2nd_edition/virtual_machines.html

Eclipse IDE for C/C++ Developers

 * product information: http://www.eclipse.org/
 * Eclipse download if separate download wanted: http://www.eclipse.org/downloads/
 * list of generic Eclipse components included: http://mica.garage.maemo.org/2nd_edition/documentation.html
 * ESbox and Pluthon installation packages available from Garage include all needed Eclipse components for the release, including Eclipse 3.4.2 IDE itself (recommended installation method for this Beta 2 release)
 * http://esbox.garage.maemo.org/2nd_edition/installation_product.html
 * http://pluthon.garage.maemo.org/2nd_edition/installation_product.html
 * For already installed Eclipse 3.4.2 IDE ESBox and Pluthon environments can be upgraded using Maemo Eclipse Update Site (not fully tested or supported installation method for Beta 2 release)
 * http://esbox.garage.maemo.org/2nd_edition/installation_update_site.html
 * http://pluthon.garage.maemo.org/2nd_edition/installation_update_site.html

Maemo PC Connectivity

 * product information: http://pc-connectivity.garage.maemo.org/2nd_edition
 * installation instructions for Maemo device and Linux, Windows and Mac OS X host PCs: http://pc-connectivity.garage.maemo.org/2nd_edition/installation.html
 * documentation and configuration instructions: http://pc-connectivity.garage.maemo.org/2nd_edition/documentation.html
 * main features:
 * support for Linux (Debian based), Windows (XP and Vista) and Mac OS X (Leopard)
 * connectivity support with USB, BlueTooth and WLAN for Linux, Windows and Mac OS X
 * SSH, SFTP, VNC and RSYNC support for Linux, Windows and Mac OS X host PCs
 * NFS and SSHFS mount support (with Linux and Mac OS X) and Samba disk mount support (with Windows) between Maemo device and host PC
 * IP Forwarding support between Maemo device and host PC
 * ZeroConf support with Avahi to automatically configure connectivity between host PC and Maemo device
 * support for configuring Maemo device with control panel applet and status bar plugin
 * support for easy storing, restoring and switching connectivity environments/configurations
 * support for both Diablo and Fremantle SDK environments
 * support for VNC clients (native and Eclipse VNC plugin clients)
 * native SBRSH (Scratchbox Remote Shell) support for Linux, Win and Mac OS X to launch applications from SDK to run on Maemo device
 * SFTP support to access Maemo device file system with host PC GUI clients
 * support for installing Host PC Connectivity components for Linux, Windows and Mac OS X host PCs
 * easy installation using either single click installation or apt-tool in Maemo device to install from Maemo Diablo or Fremantle extras-devel repository
 * specific applet can be used to easily switch between predefined connectivity environments/configuration
 * Maemo PC Connectivity functionality is independent from Eclipse IDE e.g. usable also without installing Eclipse IDE
 * Maemo PC Connectivity environment settings can be backed up with osso-backup application (for example before reflashing Maemo device)

Maemo ESBox plugin for Eclipse

 * product information: http://esbox.garage.maemo.org/2nd_edition
 * installation and configuration instructions for Maemo device and Linux, Windows and Mac OS X host PCs: http://esbox.garage.maemo.org/2nd_edition/installation.html
 * main features:
 * easy PC-Device connectivity with Maemo PC Connectivity
 * C, C++ and Python programming language support
 * templates for the most common type of Maemo applications
 * full support for Linux and good support for Windows and Mac OS X host PCs
 * full connectivity support for Maemo device with SSH, RSE and SBRSH from Linux, Windows and Mac OS X
 * support for both Diablo and Fremantle SDKs
 * import Eclipse projects from Maemo SDK and Debian packages
 * C/C++ debug/optimized configuration support
 * support for P2 update site for ESbox
 * installation wizard for Scratchbox, Diablo SDK and Fremantle SDK
 * installation wizard for Maemo SDK development environments (like Python, C/C++, Flasher-3.5, OProfile, ...)
 * build application with x86 target
 * launch and test application on x86 target
 * debug application on x86 target
 * search for memory leaks using Valgrind on x86 target
 * cross-compile application with ARMEL target
 * debug application on the Maemo device using GDB or GDB Server
 * performance test on Maemo device using OProfile
 * Maemo installation package creation wizard
 * Maemo Flasher-3.5 tool wizard

Maemo Pluthon plugin for Eclipse

 * product information: http://pluthon.garage.maemo.org/2nd_edition
 * installation and configuration instructions for Maemo device and Linux, Windows and Mac OS X host PCs: http://pluthon.garage.maemo.org/2nd_edition/installation.html
 * main features:
 * easy PC-Device connectivity with Maemo PC Connectivity
 * Python programming language support
 * templates for the most common type of Maemo applications
 * develop application directly on the Maemo device
 * debug application on the Maemo device using pyDev
 * full support for Linux, Windows and Mac OS X host PCs
 * full connectivity support for Maemo device with SSH, RSE and SBRSH from Linux, Windows and Mac OS X
 * support for P2 update site for Pluthon
 * installation wizard to setup Python development environment for host PC and Maemo device
 * Maemo installation package creation wizard
 * Maemo Flasher-3.5 tool wizard
 * Updated Fremantle Python tutorial and manual http://pymaemo.garage.maemo.org/documentation_fremantle.html

Maemo Mica plugin framework for Eclipse

 * product information: http://mica.garage.maemo.org/2nd_edition
 * documentation for developers who want to develop their own Maemo plugins using Mica: http://mica.garage.maemo.org/2nd_edition/documentation.html
 * main features:
 * general framework for Maemo Eclipse plugin development
 * uses latest stable Eclipse components (compatible with Eclipse Ganymede SR2)
 * Scratchbox 1 installer wizard and SDK installer wizard
 * support for both Diablo and Fremantle SDK
 * supports SSH, RSE and SBRSH for Linux, Windows and Mac OS X
 * Flasher-3.5 wizard for flashing Maemo device from Eclipse IDE
 * support for P2 update site
 * Mica Garage site releases, documentation and services usable for plugin developers

Maemo SDK Virtual Image

 * product information: http://maemovmware.garage.maemo.org/2nd_edition
 * installation and configuration instructions: http://maemovmware.garage.maemo.org/2nd_edition/installation.html
 * images can be downloaded from here: http://tablets-dev.nokia.com/maemo-dev-env-downloads.php
 * instructions how to upgrade Ubuntu Desktop images from Beta 1 to Beta 2 level are here: http://maemovmware.garage.maemo.org/2nd_edition/update_maemo_vm.html
 * main features:
 * Ubuntu Intrepid Server based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
 * full support for VMWare and QEMU virtualization technologies
 * do-it-yourself support for VirtualBox
 * server image includes basic Ubuntu Intrepid Server and Host PC Connectivity environment preconfigured and Maemo Diablo and Fremantle Development Environments can be installed with Eclipse installation wizard automatically
 * server image does not include installers for GuestAdditions (for VirtualBox) and OpenVMTools (for VMWare) but they can be installed separatelly is needed as instructed here http://maemovmware.garage.maemo.org/2nd_edition/update_maemo_vm.html
 * Ubuntu Intrepid Desktop based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
 * out-of-the-box ready Ubuntu Intrepid Desktop based image
 * desktop image includes fully configured Maemo Diablo Development Environment for Eclipse and Fremantle Development Environment can be installed with Eclipse installation wizard automatically
 * desktop image preinstalled ESbox Beta 1 environment can be updated to Beta 2 level with these instructions http://maemovmware.garage.maemo.org/2nd_edition/update_maemo_vm.html
 * desktop image includes installers for GuestAdditions (for VirtualBox) and OpenVMTools (for VMWare)
 * installer/tool to configure Maemo SDK Virtual Images for VirtualBox usage
 * instructions how to use SDK Virtual Images with Eclipse IDE on different operating systems: http://esbox.garage.maemo.org/2nd_edition/virtual_machines.html

Maemo C++ and Python programming language support

 * product information: http://maemo.org/development/documentation/programming_languages/
 * C++ documentation: http://maemomm.garage.maemo.org/docs/
 * Python documentation: http://pymaemo.garage.maemo.org/


 * By default, the Maemo development environment supports C programming language but you may add support for other programming languages. Instructions how to install Maemo support for C++ and Python application development can be found from here http://maemo.org/development/documentation/programming_languages/.


 * The Maemo development environment defines helpful meta packages that install all the components and tools for C++ and Python development for the for Maemo SDK and Maemo device. Maemo Eclipse Integration will install these meta packages automatically into your environment if you have not done it already when you create your first C++ or Python project.

Known Issues

 * latest version for Beta 2 known issues is here http://wiki.maemo.org/Eclipse_integration/KnownIssues_beta2 (feel free to update this wiki page)
 * Diablo 4.1.2 device requires kernel patch from here http://tablets-dev.nokia.com/maemo-dev-env-downloads.php to be flashed to the Maemo device for USB Networking to work with Windows host PC
 * Diablo 4.1.2 device requires hildon-desktop patch to be installed to the Maemo device from pc-connectivity Garage repository (see instructions from here http://pc-connectivity.garage.maemo.org/beta1/installation.html) for VNC client to work on host PC
 * Ubuntu Desktop based Maemo SDK Virtual Image (out-of-the-box ready development environment) includes Beta 1 level Eclipse and PC Connectivity environment but can be easily updated to Beta 2 level with these instructions http://maemovmware.garage.maemo.org/2nd_edition/update_maemo_vm.html
 * Updating process from Eclipse Update Site (update from beta 1 to beta 2) may not work for some plug-ins

Installation Notices
Notice 1: If only Maemo Pluthon plugin for Eclipse is used for Python on device development it does not reguire Maemo SDK installation on host PC.

Notice 2: All configurations require Maemo PC Connectivity to be installed and configured to work to the Maemo device and Host PC Connectivity to the host PC BEFORE installation of Eclipse components can be started.

Notice 3: All Eclipse components can be installed from ESbox or Pluthon garage projects, PC Connectivity from Diablo extras-devel or Fremantle extras-devel repository and SDK Virtual Images and Flasher-3.5 tool from maemo development environment download page http://tablets-dev.nokia.com/maemo-dev-env-downloads.php

Notice 4: Eclipse 3.4.2 IDE for C/C++ Developers and all needed generic Eclipse plugins and ESbox and Pluthon plugins can be installed together with installation packages available from ESbox and Pluthon garage projects.

Feedback can be sent to eclipse-integration@maemo.org