Для разработки приложений для сматрфонов Palm Pre и Pixi требуется установка webOS SDK, который поставляется только для Windows, MacOS X и Ubuntu Linux. Ниже представлено руководство по запуску во FreeBSD сборки для Linux, инструкция проверена на SDK версии 1.4.5.465.Устанавливаем следующие порты:
archivers/dpkg
java/jdk16
java/linux-sun-jdk16
emulators/virtualbox-ose
shells/bash
Загружаем webOS SDK: 32-разрядные deb-пакеты palm-novacom_1.0.56_i386.deb и palm-sdk_1.4.5-svn307799-sdk1457-pho465_i386.deb.
[[http://developer.palm.com/index.php?option=com_content&view=... Загрузить]].
Без установки посмотрим содержимое пакетов при помощи пакетного менеджера dpkg:
dpkg --contents palm-novacom_1.0.56_i386.deb
dpkg --contents palm-sdk_1.4.5-svn307799-sdk1457-pho465_i386.deb
Как видим, содержимое будет установлено в директории /opt и /usr, чтобы не устраивать свалку в системе распакуем содержимое пакетов в отдельную директорию /home/USER/software/palm, а в директории /opt создадим несколько символических ссылок, необходимых для работы программы palm-inspector:
mkdir -p ~/software/palm
dpkg-deb -x palm-novacom_1.0.56_i386.deb ~/software/palm/
dpkg-deb -x palm-sdk_1.4.5-svn307799-sdk1457-pho465_i386.deb ~/software/palm/
rm -rfv ~/software/palm/usr
mv ~/software/palm/opt/* ~/software/palm/
rm -rfv ~/software/palm/opt
Правка скриптов для того чтобы они корректно заработали в новом окружении:
cd ~/software/palm/PalmSDK/Current/bin
В скриптах
palm-generate
palm-help
palm-install
palm-launch
palm-log
palm-package
находим блок
HERE="$(where_am_i "$0")"
# look for relative dirs
JARS_DIR="$(abs_path "$HERE/../share/jars")
и заменяем его на
HERE="$(dirname `realpath "$0"`)"
# look for relative dirs
JARS_DIR="$HERE/../share/jars"
В скрипте palm-emulator дополнительно заменяем строку
IMAGES_DIR="$(abs_path "$HERE/../share/emulator/images")"
на
IMAGES_DIR="$HERE/../share/emulator/images"
и добавляем
export JAVA_HOME=/usr/local/linux-sun-jdk1.6.0
после строки
set -e
Для корректного вызова bash заменяем заголовок
#!/bin/bash
на
#!/usr/bin/env bash
В скрипте palm-worm заменяем
# remove the trailing slash (if any)
SDK_DIR=${PalmSDK%/}
на
# remove the trailing slash (if any)
SDK_DIR="$(dirname `realpath "$0"`)/../"
Для удобства использования устанавливаем символические ссылки на скрипты в базовую директорию:
cd ~/software/palm
ln -s PalmSDK/Current/bin/palm-* .
Обеспечиваем работоспособность прокси-сервиса Novacom, позволяющего устанавливать, запускать и инспектировать приложения виртуальном окружении VirtualBox или на подсоединенном телефоне.
Устанавливаем необходимый для запуска Novacom пакет libusb-0.1-4_0.1.12-14_i386.deb из [[http://packages.ubuntu.com/ репозитория Ubuntu]]:
dpkg-deb -x libusb-0.1-4_0.1.12-14_i386.deb tmp
mv tmp/lib/* ~/software/palm/PalmSDK/Current/lib/
rm -rfv tmp
Создаем простые скрипты-врапперы для запуска программ с учетом измененного пути к библиотекам:
novacom.sh:
#!/bin/sh
CURDIR="$(dirname `realpath "$0"`)"
export LD_LIBRARY_PATH=$CURDIR/PalmSDK/Current/lib:"$LD_LIBRARY_PATH"
cd $CURDIR && exec ./Palm/novacom/novacom $*
novacomd.sh
#!/bin/sh
CURDIR="$(dirname `realpath "$0"`)"
export LD_LIBRARY_PATH=$CURDIR/PalmSDK/Current/lib:"$LD_LIBRARY_PATH"
cd $CURDIR && exec ./Palm/novacom/novacomd $*
novaterm.sh
#!/bin/sh
CURDIR="$(dirname `realpath "$0"`)"
export LD_LIBRARY_PATH=$CURDIR/PalmSDK/Current/lib:"$LD_LIBRARY_PATH"
cd $CURDIR && exec ./Palm/novacom/novacom $* -t open tty://0
Обеспечиваем функционирование Palminspector, программы для отладки и инспектирования web-приложений для webOS. Программа базируется на движке WebKit и требует для своей работы установку следующих пакетов из репозитория Ubuntu:
libenchant1c2a_1.6.0-0ubuntu1_i386.deb
libfam0_2.7.0-16.1_i386.deb
libgcrypt11_1.4.4-5ubuntu2_i386.deb
libgio-fam_2.22.0-0ubuntu1_i386.deb
libgnutls13_2.0.4-1ubuntu2.6_i386.deb
libgpg-error0_1.6-1ubuntu2_i386.deb
libicu38_3.8-6ubuntu0.2_i386.deb
libtasn1-3_2.4-1_i386.deb
libxml2_2.7.6.dfsg-1ubuntu1_i386.deb
Распаковываем данные пакеты:
dpkg-deb x libenchant1c2a_1.6.0-0ubuntu1_i386.deb tmp
mv tmp/usr/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libxml2_2.7.6.dfsg-1ubuntu1_i386.deb tmp
mv tmp/usr/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libicu38_3.8-6ubuntu0.2_i386.deb tmp
mv tmp/usr/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libgnutls13_2.0.4-1ubuntu2.6_i386.deb tmp
mv tmp/usr/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libgcrypt11_1.4.4-5ubuntu2_i386.deb tmp
mv tmp/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libtasn1-3_2.4-1_i386.deb tmp
mv tmp/usr/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libgpg-error0_1.6-1ubuntu2_i386.deb tmp
mv tmp/lib/* ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libgio-fam_2.22.0-0ubuntu1_i386.deb tmp
mv tmp/usr/lib/gio ~/software/palm/PalmSDK/Current/lib/
dpkg-deb -x libfam0_2.7.0-16.1_i386.deb tmp
mv tmp/usr/lib/* ~/software/palm/PalmSDK/Current/lib/
Создаем скрипт-враппер palminspector.sh:
#!/bin/sh
CURDIR="$(dirname `realpath "$0"`)"
export LD_LIBRARY_PATH=$CURDIR/PalmSDK/Current/lib:"$LD_LIBRARY_PATH"
cd $CURDIR && exec ./PalmSDK/Current/bin/palminspector $*
Решаем проблемы с путями к SDK, которые жестко прошиты в бинарном файле, установкой символической ссылки в директории /opt:
ln -s /home/USER/software/palm/PalmSDK /opt/PalmSDK
Настраиваем образ виртуальной машины для VirtualBox, для этого устанавливаем порт emulators/virtualbox-ose и запускаем palm-emulator для эмуляции телефонов Palm Pre и Palm Pixi. В процессе запуска не обращаем внимание на предупреждение "Novacom not responding".
URL: http://sysfault.org/dokuwiki/docs:webos
Обсуждается: http://www.opennet.me/tips/info/2438.shtml