Eclipse integration/ReleaseNotes final

= Release Notes for Maemo Eclipse Integration Edition 2 Final release (R2.0)=

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 with 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-devel 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 both Diablo and Fremantle SDK environments
 * support for N800, N810 and N900 Maemo devices
 * support for Linux (Debian and Fedora 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 native VNC and Eclipse VNC plugin clients (TightVNC included to the Host PC Connectivity as default application)
 * 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 (FileZilla included to the Host PC Connectivity as default application)
 * 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 PC Connectivity supports both developer mode and end-user mode (end-user mode being simplified and restricted configuration from developer mode)

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
 * support for both Diablo and Fremantle SDK environments
 * support for N800, N810 and N900 Maemo devices
 * 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, VNC and SBRSH from Linux, Windows and Mac OS X
 * import Eclipse projects from Maemo SDK and Debian packages
 * C/C++ debug/optimized configuration support
 * support for P2 update site
 * installation wizards for Scratchbox, Diablo and Fremantle SDKs and SDK Virtual Images
 * installation wizards 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
 * support for N800, N810 and N900 Maemo devices
 * 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, VNC and SBRSH from Linux, Windows and Mac OS X
 * support for P2 update site
 * installation wizard to setup Python development environment for host PC and Maemo device
 * Maemo installation package creation wizard
 * Maemo Flasher-3.5 tool wizard

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
 * easy PC-Device connectivity with Maemo PC Connectivity
 * support for both Diablo and Fremantle SDK environments
 * support for N800, N810 and N900 Maemo devices
 * uses the latest stable Eclipse components (compatible with Eclipse Ganymede SR2)
 * Scratchbox 1 installer wizard and SDK installer wizard
 * supports SSH, RSE, VNC 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
 * 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 for which Maemo Diablo and Fremantle Development Environments can be installed with Eclipse installation wizard automatically
 * server image includes installers for GuestAdditions (for VirtualBox) and OpenVMTools/OfficialVMTools (for VMWare)
 * 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 and Fremantle Development Environments including also Maemo Eclipse support
 * desktop image includes installers for GuestAdditions (for VirtualBox) and OpenVMTools/OfficialVMTools (for VMWare)
 * 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 environment 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 PreFinal known issues is here http://wiki.maemo.org/Eclipse_integration/KnownIssues_prefinal (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) will be published little AFTER this PreFinal release (Desktop image needs to include PreFinal products)
 * Updating process from Eclipse Update Site (update from Beta 2 to PreFinal) 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 which means it does not reguire Maemo SDK or SDK Virtual Image 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