Está en la página 1de 16

Computo Movil: Creando un paquete de

instalacion con Ensymble

Dr. Gregorio Toscano Pulido

Centro de Investigacion y de Estudios Avanzados del IPN.

Laboratorio de Tecnologas de Informacion

logo

Dr. Gregorio Toscano Pulido Computo Movil


Ensymble Developer Utilites for Symbian OS

Modulos en Python y programas en lnea de ordenes para


desarrollo de software en Symbian OS.
Herramientas utiles para manipular archivos .SIS de
programas hechos con Python para S60.
Generador de paquetes de instalacion SIS.
Empaquetador de varios paquetes.
Re-firmar paquetes SIS existentes y modificar extensiones de
cabeceras DLL.

logo

Dr. Gregorio Toscano Pulido Computo Movil


Ensymble Developer Utilites for Symbian OS

El objetivo a largo plazo de Ensymble es proveer una plataforma de


codigo abierto de desarrollo cruzado para desarrollar aplicaciones
nativas del sistema operativo Symbian (versiones 9.1 y adelante),
ya que las herramientas originales son de codigo cerrado y
solamente estan disponibles para el sistema operativo windows.

logo

Dr. Gregorio Toscano Pulido Computo Movil


Instalar Ensymble

Para instalar descargue el codigo fuente mas reciente (en este


momento es ensymble-0.28.tar.gz) desde
http://code.google.com/p/ensymble/
$ wget http://ensymble.googlecode.com/files/ensymble-0.28.tar.gz
$ tar xvfz ensymble-0.28.tar.gz
$ cd ensymble-0.28
$ #instalalo como superusuario si es que lo quieres disponible
$ #para cualquier usuario
# ./install.sh /usr/local/bin

Si no tienes la ruta /usr/local/bin en tu PATH, entonces anadela.

export PATH=$PATH:/usr/local/bin

logo

Dr. Gregorio Toscano Pulido Computo Movil


Modo de Uso:

La mayor parte de la funcionalidad de Ensymble puede ser


accesada a traves de la lnea de ordenes:

$ ensymble.py command options...

logo

Dr. Gregorio Toscano Pulido Computo Movil


Modo de Uso:

Donde command:
altere32 Altera los IDs y las capacidades de los archivos
e32image (EXEs, DLLs)
infoe32 Muestra los IDs y las capacidades de los archivos
e32image (EXEs, DLLs)
mergesis Une varios SIS en un solo archivo
py2sis Crea un paquete SIS para una placiacion PyS60
signsis Firma un paquete SIS
simplesis Crea un paquete SIS desde un directorio
version Imprime la version de Ensymble

logo

Dr. Gregorio Toscano Pulido Computo Movil


SYNOPSIS de ensamble.py py2sis

$ ensymble.py py2sis
[--uid=0x01234567] [--appname=AppName] [--version=1.0.0]
[--lang=EN,...] [--icon=icon.svg]
[--shortcaption="App. Name",...]
[--caption="Application Name",...] [--drive=C]
[--textfile=mytext_%C.txt] [--cert=mycert.cer]
[--privkey=mykey.key] [--passphrase=12345]
[--caps=Cap1+Cap2+...] [--vendor="Vendor Name",...]
[--autostart] [--encoding=terminal,filesystem]
[--verbose] <src> [sisfile]

logo

Dr. Gregorio Toscano Pulido Computo Movil


donde:

uid: Es el identificador de unico, debe de ser mayor


a 0x100000000.
appname: Es el nombre de la aplicacion
version: La version del programa
lang: Los lenguajes que soportara el paquete SIS
icon: El icono en formato SVG-tiny
shortcaption: El nombre corto de la aplicacion, tiene
que haber tantos nombres cortos como
lenguajes se hayan definido
caption: Similar a shortcaption. Se despliega en la
instalacion del paquete
drive: Se refiere a la unidad en la que se instalara el paquete
logo

Dr. Gregorio Toscano Pulido Computo Movil


donde:

textfile: Archivo file %C.txt que se desplegara en la instalacion.


Si hay varios idiomas, se pueden tener diferentes archivos
diferenciados por las iniciales del idioma.
cert: Certificado
privkey: Llave privada
passphrase: Clave para instalar
caps: Capacidades. Vea http://www.symbiansigned.com
para mas informacion
vendor: Nombre del creador del paquete
autostart: El programa se iniciara al encender el telefono (solo
aquellos con uid y cert validos).
runinstall: Ejecuta el programa despues de instalarse
logo

Dr. Gregorio Toscano Pulido Computo Movil


donde:

src: Nombre del programa o directorio de entrada para realizar


el archivo SIS. Si src es un directorio, entonces necesita
tener un archivo llamado default.py, que sera el programa
que iniciara.
sisfile: Nombre del archivo SIS que generara.

logo

Dr. Gregorio Toscano Pulido Computo Movil


Ejemplo

Realice un programa en Python que despliegue en una ventana la


leyenda Hellow World!:

logo

Dr. Gregorio Toscano Pulido Computo Movil


Ejemplo

import appuifw

appuifw.note(u"Hellow World!", "info")

logo

Dr. Gregorio Toscano Pulido Computo Movil


Generacion del SIS

Ahora genere el archivo SIS. En este caso, la aplicacion se


llamara Helloworld, se usara un icono llamado icon.svg, etc.

ensymble.py py2sis --appname=HelloWorld --icon=icon.svg \


--version=10.0.0 --shortcaption="Hello" \
--caption="Hello World" --textfile=license.txt\
--vendor="Gregorio Toscano" hello.py hello_v10_0_0.SIS

logo

Dr. Gregorio Toscano Pulido Computo Movil


Generacion de Certificados

Para generar su propio certificado realice lo siguiente:

$ openssl genrsa 1024 > host.key


$ openssl req -new -x509 -nodes -sha1 -days 365 \
-key host.key > host.cert
$ cat host.cert host.key > host.pem

logo

Dr. Gregorio Toscano Pulido Computo Movil


Generacion de Certificados (cont)

El S.O. Symbian, unicamente soporta archivos DER, por lo tanto


es imperativo convertirlo a este formato.

$ openssl x509 -in host.pem -inform PEM -out host.crt\


-outform DER

logo

Dr. Gregorio Toscano Pulido Computo Movil


Generacion de un archivo SIS firmado

Ahora que ya se cuenta con los certifiados, entonces se podra crear


un archivo SIS firmado

$ ensymble.py py2sis --appname=HelloWorld --icon=icon.svg\


--version=10.0.0 --shortcaption="Hello" \
--caption="Hello World" --textfile=license.txt \
--vendor="Gregorio Toscano" --cert=/path/host.pem \
--privkey=/path/host.key hello.py hello_v10_0_0.SIS

logo

Dr. Gregorio Toscano Pulido Computo Movil

También podría gustarte