Python for S60 Application Packager

Python for S60 Application Packager is used to generate signed sis files for installing Python scripts on S60 phones.
This application accepts user input and invokes Ensymble for generating sis files.

Packager elements

Application Source
Continue with missing dependencies
More
Less
Application title
Version
UID
Certificate
Private key
Pass phrase
Additional options
Profile
Heap size
Package As
1.4.x compatibility mode
Create
Reset

Application Source

> This is the only mandatory field. Based on the radio option selected, the browse button can be used to select either a script file or a directory.
> When a regular file name is given, it will be located under the application specific private directory, with the name "default.py".
> When a directory name is given, the directory structure is preserved under an application specific private directory ("\private\<uid>\") on the phone.
> A file called "default.py" is required to exist on the root of the directory given. This will be the main file that starts the application.
> "--extrasdir" option can be used for more options for file placement. (refer Additional options)

Continue with missing dependencies

> Checking this option will display the missing dependencies as warnings and continue with SIS generation. Otherwise the packaging is strict. Missing dependencies are displayed as errors and SIS generation is aborted.

More

> Clicking on the More button displays the additional fields.
> These additional fields when entered, become the options passed on to ensymble when generating the sis file.

Less

> Clicking on the Less button hides the additional fields.
> The values entered in the additonal fields are retained although the fields remain hidden.These values will be retained even between multiple sis creations so that the user need not have to enter these values repeatedly.

Application title

> Specify the name of the application.
> If nothing is specified, the name will be derived from the input file name.

Version

> Specify the application version in the format X.Y.Z or X,Y,Z.
> If this field is empty, then the main Python file (refer Application Source) will be scanned of a special string (SIS_VERSION = "1.0.0"). If no version can be found, it defaults to 1.0.0.

UID

> Specify the Symbian OS UID that needs to be used for the application.
> If this field is empty, then the main Python file (refer Application Source) will be scanned of a special string (SYMBIAN_UID = UID). If no UID can be found a temporary UID is generated from the application name.

Certificate

> Specify the certificate that needs to be used for signing the sis file. This needs to be in PEM format. Click the Browse button, next to the Certificate field to select the certificate.
> If no certificate is given, then Ensymble uses a default self-signed certificate.

Private key

> Specify the private key of the selected Certificate. This needs to be in PEM format. The key is selected automatically, if the key is present in the same directory as the selected Certificate and has the same name but with .key extension.
> If no key is given, then Ensymble uses a default self-signed key.

Pass phrase

> Specify the pass phrase of the selected Private key.
> If nothing is specified, then an empty string is used as a value for this option.

Additional options

> This field can be used to provide additional options to Ensymble. Press the Options button to view all the options supported by Ensymble.
> Option for specifying the installation location of the application
> --drive=C
> -f C
> Option for specifying the caption for the application
> --caption="Application Name",...
> -c "Application Name",...
> Note: By default, the sis files are generated with the following capabilities: LocalServices, NetworkServices, ReadUserData, WriteUserData, UserEnvironment
> If a different set of capabilities is needed for the application, then it can be specified using the --caps option.
> --caps=Cap1+Cap2+...
> -b Cap1+Cap2+...

Profile

> The selected option determines the environment in which the packaged Python script is run. The profiles are S60UI profile and Console profile. The Python core remains the same in both the profiles.

> S60UI profile provides the S60/Avkon UI environment, similar to all previous releases of PyS60.
> Console profile provides a non-UI, console environment based on OpenC STDIO. Applications using this option require OpenC STDIO console installed on the phone.
> UI related modules like appuifw and graphics will not work with this mode.

Heap size

> This field specifies the heap size limits (heap minimum value and heap maximum value) for the application.
> If no values are specified, then 4 kilobytes and 1 megabyte are used as minimum and maximum heap size, respectively. If any one value is given, then it is used as both minimum and maximum heap value.

Package As

> The selected option determines whether the application is packaged as:

> Byte Code (pyc/pyo), the module import is faster but the source code is not visible in tracebacks. This option is set by default.
> Source Code (py), the module import is slower but source code is visible in tracebacks.

1.4.x compatibility mode

> The Python core of the current release is upgraded to Python 2.5.1 and hence few Pys60 extension module names clashes with those in Python core.
> For example, calendar and socket modules are present in both libraries. If this option is selected then, PyS60 extension modules are prioritized. If this option is not selected Python core modules are prioritized over the corresponding PyS60 extension modules and these extension modules will be unavailable. However the PyS60 extension modules calendar and socket can be imported using their corresponding new names e32calendar and btsocket.

Create

> Create button invokes Ensymble with the entries given. A window pops up displaying the result of the execution.
> This button is enabled only when the Application Source field is populated. If the sis creation is successful, the Application Source field is cleared.

Reset

> Clicking on this button resets all the fields to their default state, that is, all the field entries are cleared, also, the radio and check buttons are reset to their default states.This button is enabled only if any of the fields change with respect to their default values.

Note: Refer to Ensymble README file for more details.

Copyright (c) 2008 - 2009 Nokia Corporation