Installer le Palm webOS SDK sur Mandriva Linux

De Wiki de la communauté Mandriva.

Installation du Palm webOS SDK sur Mandriva Linux 2009.1 ou supérieur pour tester l'émulateur du Palm Pré et développer des applications pour le système d'exploitation webOS des smartphones Palm Pré et Palm Pixi.


Sommaire

Introduction

Le nom officiel du Palm webOS SDK est Palm® Mojo™ SDK est devenu le HP webOS SDK, mais pour des raisons d'indexation dans Google le mot Mojo a été remplacé par webOS dans le titre de cet article.

La listes des différentes versions du HP webOS SDK (ex-Palm webOS SDK) et des modifications apportées se trouvent sur la page Release Notes Index et il existe aussi une pages avec différents liens pour bien démarrer avec ce SDK à Getting Started

HP fournit un package et une procédure pour installer le HP webOS SDK et l'émulateur du Palm Pré sur la distribution Linux Ubuntu, mais rien pour les distributions Linux utilisant les packages au format RPM comme Mandriva linux. Voici donc la procédure pour tester l'émulateur du Palm Pré et faire du développement d'applications pour webOS avec le SDK de Palm sur notre chère distibution Mandriva Linux.

Installation du prérequis : SUN JRE et VirtualBox

1) Installer le Sun Java JRE 1.6 Verifier que les packages Java suivant sont installés (ici en version 1.6.0_21):

  • java-1.6.0-sun
  • java-1.6.0-sun-alsa
  • java-1.6.0-sun-fonts
  • java-1.6.0-sun-jdbc
  • java-1.6.0-sun-plugin
  • java-access-bridge

Afin d'éviter des conflits et incompatibilités avec le Java JRE 1.6 de Sun, vérifiez que les paquetages java-1.6.0-openjdk et gcj sont désinstallés sur votre PC. Le SDK est incompatible avec java-1.6.0-openjdk et gcj.

2) Palm demande d'installer VirtualBox dans une version 3.0.x, mais les packages disponibles sur le site de VirtualBox ne fonctionnent pas correctement avec Mandriva 2009.1 pour le Palm SDK et l'émulateur du Palm Pré.

Si vous avez une Mandriva Linux 2009.1 (alias Spring) : En conséquence, les utilisateurs de la Mandriva Linux 2009.1 devront installer le Palm webOS SDK en version 1.2.0 et Novacom en version 0.3. Le Palm webOS SDK en version 1.3.1 et Novacom en version 1.0 ne fonctionnent pas avec Vitualbox dont la seule version disponible est la 2.2.0 pour Mandriva Linux 2009.1, sinon vous aurez le droit à un message d'erreur (voir plus bas dans cet article). Donc pour la 2009.1, il vous faut installer les packages suivants et leur dépendances qui sont dans les dépot Mandriva :

  • virtualbox 2.2.0
  • dkms-virtualbox 2.2.0

Si vous avez une Mandriva Linux 2010.0 : Les utilisateurs de la Mandriva Linux 2010.0 peuvent installer la paire Palm webOS SDK en version 1.3.1 et Novacom en version 1.0 ou la paire Palm webOS SDK en version 1.2.0 et Novacom en version 0.3. Donc pour la 2010.0, il vous faut installer les packages suivants et leur dépendances qui sont dans les dépot Mandriva :

  • virtualbox 3.0.8
  • dkms-virtualbox 3.0.8

Si vous avez une Mandriva Linux 2010.1 : Les utilisateurs de la Mandriva Linux 2010.0 peuvent installer la paire Palm webOS SDK en version 1.4.5 et Novacom en version 1.0.56 ou la paire Palm webOS SDK en version 1.4.1 et Novacom en version 1.0.55. Donc pour la 2010.1, il vous faut installer les packages suivants et leur dépendances qui sont dans les dépot Mandriva :

Avec le SDK 1.4.1 :

  • virtualbox 3.1.8
  • dkms-virtualbox 3.1.8

Avec le SDK 1.4.5 :

  • virtualbox 3.2.8
  • dkms-virtualbox 3.2.8

Téléchargement et conversion du paquetage du HP webOS SDK de *.deb en *.rpm

3) Télécharger le HP webOS SDK sur la page "SDK Download - HP webOS Developer Center

Pour Linux, il n'y a qu'un package disponible pour Ubuntu.

  • Vous allez le télécharger le fichier palm-sdk_2.1.0-svn409992-pho519_i386.deb pour Ubuntu que

nous allons transformer par la suite en RPM à l'adresse suivante : palm-sdk_2.1.0-svn409992-pho519_i386.deb

Des anciennes versions du Palm webOS SDK sont disponibles à :
palm-sdk_1.4.5-svn307799-sdk1457-pho465_i386.deb
palm-sdk_1.4.1-svn274946-sdk1436-pho427_i386.deb
palm-sdk_1.4.0-svn263907-sdk1428-pho420_i386.deb
palm-sdk_1.3.5-svn234138-sdk117-pho368_i386.deb
palm-sdk_1.3.1-svn222348-sdk100-pho314_i386.deb
palm-sdk_1.2.0-svn202408-sdk77-pho33_i386.deb

téléchargez l'un des 2 fichiers suivants en fonction de votre système d'exploitation :

Une version de Novacom en version 1.0.64 à utiliser avec le HP webOS SDK en version 2.1.0 est disponible à l'adresse :
32 bits
palm-novacom_1.0.64_i386.deb
64bits
palm-novacom_1.0.64_amd64.deb

Une ancienne version de Novacom en version 1.0.56 à utiliser avec le palm webOS SDK en version 1.4.5 est disponible à l'adresse : en 32 bits : palm-novacom_1.0.56_i386.deb ou en 64bits : palm-novacom_1.0.56_amd64.deb

Une ancienne version de Novacom en version 1.0.55 à utiliser avec le palm webOS SDK en version 1.4.1 est disponible à l'adresse : en 32 bits : palm-novacom_1.0.55_i386.deb ou en 64bits : palm-novacom_1.0.55_amd64.deb

Une ancienne version de Novacom en version 1.0.51 à utiliser avec le palm webOS SDK en version 1.4.0 est disponible à l'adresse : palm-novacom_1.0.51_i386.deb

Une ancienne version de Novacom en version 1.0.46 à utiliser avec le palm webOS SDK en version 1.3.x est disponible à l'adresse : palm-novacom_1.0.46_i386.deb

Une ancienne version de Novacom en version 0.3 à utiliser avec le palm webOS SDK en version 1.2.0 est disponible à l'adresse : palm-novacom_0.3-svn196852-hud21_i386.deb

4) Installer le package alien (ici en version 8.79) et les paquets demandés en dépendances comme dpkg, etc...

5) Aller dans le répertoire où se trouve le package palm-sdk_1.4.5-svn307799-sdk1457-pho465_i386.deb Puis en ligne de commande avec le compte root (compte root nécessaire pour éviter des problèmes de droits des fichiers lors de la création de paquetages), lancez la commande suivante pour convertir le package de *.deb en *.rpm :

alien -r --scripts palm-sdk_2.1.0-svn409992-pho519_i386.deb

messages :

tar: Taille de l'enregistrement = 8 blocs
palm-sdk_2.1.0-svn409992-1.i386.rpm generated

puis

alien -r --scripts palm-novacom_1.0.64_i386.deb

messages :

palm-novacom_1.0.64-2.i386.rpm generated

Installation des paquetages en *.rpm du Palm webOS SDK

6) Nous avons désormais les 2 packages au format RPM pour Mandriva Linux 2010.1 mais, ils ont été compilés pour Ubuntu et ont donc des dépendances vers de vieilles librairies.

D'abord, nous installons palm-novacom :

[root@localhost]# rpm -ivh palm-novacom-1.0.56-2.i386.rpm
Préparation...              ########################################### [100%]
1:palm-novacom           ########################################### [100%]
/var/tmp/rpm-tmp.oLA92t: line 33: stop : commande introuvable
/var/tmp/rpm-tmp.oLA92t: line 36: start : commande introuvable

Puis nous tentons d'installer le palm-sdk, mais il y a des messages d'erreur si vous essayez de les installer :

[root@localhost webos]# rpm -ivh palm-sdk-1.4.5_svn307799_sdk1457-1.i386.rpm
erreur: Dépendances requises:                                                                                                                                                                                      
       libgnutls.so.13 est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386                                                                                                                                
       libicudata.so.38 est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386                                                                                                                               
       libicui18n.so.38 est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386                                                                                                                               
       libicuuc.so.38 est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       libjpeg.so.62 est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libatk-1.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libcairo) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libgconf-2) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libgdk_pixbuf-2.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libgdk-x11-2.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libgtk-x11-2.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libpango-1.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libpangocairo-1.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386
       devel(libpangoft2-1.0) est nécessaire pour palm-sdk-1.4.5_svn307799_sdk1457-1.i386

Nous installons donc le package sans verification des dépendances :

[root@localhost webos]# rpm -ivh --nodeps palm-sdk-1.4.5_svn307799_sdk1457-1.i386.rpm
Préparation...              ########################################### [100%]
  1:palm-sdk               ########################################### [100%]

Lancement de l'émulateur du Palm Pré et Pixi

7) Lancer le demon Novacom nécessaire à l'émulateur du Palm Pré avec le compte root :

[root@localhost]# exec /opt/Palm/novacom/novacomd &
[1] 19871
[2009/12/5 13:06:52] novacomd version novacomd-79 starting...
[2009/12/5 13:06:52] novacomctl socket ready to accept
À noter !

Vous pouvez lancez le démon NovaCom avec un autre compte que le compte root, mais l'utilisation du port USB (de l'émulateur du Palm ?) ne sera pas possible, puisque le démon renvoit alors au lancement le message suivant :

[root@localhost]# exec /opt/Palm/novacom/novacomd &
[1] 19871
[2009/12/5 13:04:49] novacomd version novacomd-79 starting...
[2009/12/5 13:04:49] novacomctl socket ready to accept [2009/12/5 13:04:49] need to run as super user to access usb


Important !!! Si vous avez des messages d'erreur du type :

[2010/1/5 20:42:27] novacom_usb_findandattach_thread:424: usb_handle 0x08061e70, bus 001 dev 005
[2010/1/5 20:42:27] novacom_usb_rx_thread:354: error reading packet,         retry, rc: -1, errno 9
[2010/1/5 20:42:27] novacom_usb_rx_thread:358: error reading packet, shutting down, rc: -1, errno 9

et que vous utilisez Novacom pour mettre à jour la ROM webOS de votre Palm Pre ou Pixi, alors il est impératif de mettre en place la solution indiqué dans ce post. C'est à dire d'utiliser les librairies libusb 0.1.x et 1.0.x d'Ubuntu pour lancer Novacom.

Verifier que le démon novacomd est bien lancé :

[root@localhost]# ps -edf | grep nova
root     19871 19710  0 13:06 pts/1    00:00:00 /opt/Palm/novacom/novacomd
root     19881 19710  0 13:06 pts/1    00:00:00 grep --color nova

8) Lancer l'émulateur

# /usr/local/bin/palm-emulator
[root@localhost ~]# [2009/10/25 0:10:37] Incoming connection from 127.0.0.1/35153
[2009/10/25 0:10:37] novacom_go_online
[2009/10/25 0:10:37] novacom_register_device:188: dev 'be6a716afc0d30134df12d4a84250c4bd1c595d0' via tcp type emulator

Note : Si vous lancez le fichier /usr/local/bin/palm-emulator du Palm SDK 1.3.1 avec virtualbox 2.2.0 installé sur votre PC, vous serez "accueilli" avec une fenêtre indiquant : "Palm Emulator requires that VirtualBox 3.0.0 or greater is installed".

9) Ensuite un logo apparait et une fenetre en mode console lance le linux 2.6 de WebOS utilisé par l'émulateur du Palm Pré. Apres toutes ces étapes, le bureau du Palm Pré avec ces icones apparait.

Utilisation de l'émulateur du Palm Pré et Pixi

10) Pour tester le Palm Pré dans l'émulateur, un bon manuel est nécessaire. Utilisez le manuel de l'utilisateur du Palm Pré en anglais.

11) Le palm pré a 2 zones pour faire des opérations : l'écran tactile et la zone des gestes. Or la zone des gestes n'est pas représenté dans l'émulateur du Palm Pré, en conséquence, voici le mémento indispensable des raccourcis de touches clavier pour le faire : mémento zone de gestes.

Attention !

Le Palm webOS SDK ne possède pas de clavier virtuel comme le SDK android, donc si vous avez un clavier physique en AZERTY sur votre PC et que votre Mandriva Linux est configuré pour utiliser un clavier AZERTY, le PALM webOS SDK ne semble pas prévu pour l'utiliser. Par defaut votre clavier physique de votre PC est reconnu comme étant un QWERTY uniquement lorsqu'il est utilisé dans l'application de l'émulateur du Palm webOS SDK.

Voici le mappage du clavier QWERTY américain qui vous sera bien utile pour trouver la correspondance entre les lettres et les touches sur votre clavier AZERTY.

12) L'installation d'un package au format *.ipk d'une application pour webOS et d'autres opérations à réaliser dans l'émulateur webOS sont indiquées ici : Palm Emulator


Changement de la langue du Palm Pré de l'anglais vers le français

13) Passage de WebOS de la langue anglaise en français.

a) Lancez l'émulateur Palm WebOS

b) Lorsque l'émulateur est lancé et dans la configuration par défaut, vous avez 5 icones en bas de l'écran (degauche à droite : Téléphone, Contacts, Messagerie/courrier, Agenda, icone Applications représenté par un rond noir avec une flèche blanche dessus) Cliquez sur l'icone Applications.

c) Dans la fenetre listant toute les applications sur le Palm Pré, il y a en bas une petite flèche blanche dirigé vers le bas. Cette flèche se trouve au dessus de l'espace des 5 icones des apllications de base du pont b) Cliquez sur cette petite flèche blanche.

d) Ensuite une fenetre avec un ciel bleu apparait rapidement est est remplacé par une fenetre avec une liste de langues disponibles : English, Espanol, Deutsch, Italiano, Français. Sélectionnez l'option Français.

e) Ensuite cette meme fenêtre vous propose de choisir votre pays : France, Canada. Afin de définir les locales : Monnaie, heure, clavier,etc.... Note pour nos amis francophones belges et suisses, ce test est fait avec une ROM webOS 1.2.0. Pour vous, le mieux est de choisir France à priori, puis pour les suisses de changer la monnaie en CHF.

f) Appuyez sur le bouton vert pour confirmer que vous voulez palm webOS en français.

g) Une fenêtre indique ensuite que le téléphone est activé.

h) Lorsque vous cliquez sur suivant, une fenêtre vous demande d'accepter les conditions générales des services Palm. Vous cliquer sur le bouton Accepter. (Vous pouvez aussi cliquer sur le bouton Refuser)

h) Une nouvelle fenêtre apparait avec trois options : Me connecter à mon profil, Créer un profil, Pour en savoir plus. Si vous cliquez sur le bouton Pour en savoir plus, une fenêtre vous indique que : "Un profil Palm est nécessaire pour activer le téléphone et accéder aux services Palm dans le but de : - Mettre à jour le logiciel du téléphone - Sauvegarder et restaurer les données personnelles et les applications téléchargées de l'App Catalog - Effacer les données personnelles à distances "

i) Si vous n'avez pas de profil Palm, cliquez sur le bouton Créer un profil et renseignez votre Prénom, Nom, adresse de courriel, mot de passe. Un courriel vous est ensuite envoyé à votre adresse de messagerie avec un lien pour activer votre profil.

Si vous avez déjà un profil Palm, cliquez sur le bouton Me connecter à mon profil, et indiquez votre adresse de courriel et votre mot de passe. Une fenêtre connexion en cours avec un cercle bleu apparait puis une fenetre vous indique lorsque la restauration de votre profil est terminée par le message "Configuration terminée" et dans mon cas en plus avec un profil vierghe "Impossible de trouver des données à restaurer. Vous avez terminé la restauration. Appuyez sur Terminé pour redémarrer votre téléphone." Cliquez ensuite sur le bouton Terminé L'émulateur Palm webOS est ensuite "censé" se réintialiser. Il semble que celà ne fonctione pas avec le Palm webOS SDK 1.2.0.

SI CETTE PROCEDURE NE MARCHE PAS, PAS DE PROBLEMES, IL Y A UNE SOLUTION

Nous allons nous connecter au systeme Linux de Palm Pre pour modifier quelques fichiers.

a) Lancez au choix, soit la commande

novacom -t open tty://

ou

novaterm 

b) Maintenant, vous devez avoir une invite en ligne de commandes du type :

root@qemux86:/#

et si vous faites

root@qemux86:/#uname -a

vous devez avoir

Linux qemux86 2.6.26 #1 SMP Mon May 24 11:43:18 PDT 2010 i686 unknown

c) Le fichier /etc/palm/locale.txt contient les langues et les locales associées qui sont disponibles sur le système Linux du Palm Pré.

d)Dans le fichier /etc/palm/defaultPreferences.txt, utilisez l'éditeur de texte vi pour remplacer :

"timeFormat":                        "HH12",
"locale":                                { "languageCode":"en", "countryCode":"us" },
"region":                                { "countryName":"United States", "countryCode":"us"},
"webSearchList": {
"en_us":[
{
"id": "google",
"title": "Google",
"gsurl":"www.google.com/m/search?client=ms-palm-webOS&channel=iss&q=",
"weburl":"http://www.google.com/m/search?client=ms-palm-webOS&channel=
}
]
},
"defaultWebSearch": ["google"],

par

"timeFormat":                        "HH24",
"locale":                                { "languageCode":"fr", "countryCode":"fr" },
"region":                                { "countryName":"France", "countryCode":"fr"},
"webSearchList": {
"fr_fr":[
{
"id": "google",
"title": "Google",
"gsurl":"www.google.fr/m/search?client=ms-palm-webOS&channel=iss&q=",
"weburl":"http://www.google.fr/m/search?client=ms-palm-webOS&channel=
}
"defaultWebSearch": ["google"],

e) Allez dans le répertoire /var/luna/preferences/ et supprimez ou renommez le fichier systemprefs.db

f) Redémarrer l'émélulateur du Palm Pré pour enfin apprécier l'émulateur du Palm Pré en français. Vous pouvez le faire via novacom par :

root@qemux86:/#reboot

Pour ce qui veulent l'avoir en Chinois de Taiwan : le seul document de référence que j'ai pu trouver sur Internet pour résoudre ce problème.

Commandes utiles

  • créer un paquetage webOS à partir d'un répertoire contenant les sources:
palm-package com.organisme.logiciel
  • installer un paquetage webOS :
palm-install com.organisme.logiciel_version_all.ipk
  • copier un fichier du PC vers l'émulateur Palm
scp -P 5522 nom_fichier root@localhost:/media/internal

Le fichier sera copié dans le répertoire /media/internal sur l'émulateur

Autres langues