Qtopia Home · Home · Reference · User Guide · Internals

Packages (overview)

All projects are automatically setup to be built into packages. If you do not wish your project to respond to make packages you should use CONFIG+=no_pkg to disable the default package. By default, a single package is built. It's called pkg and its contents are the result of running make install. It can be configured by modifying it's properties.

    pkg.desc=My Great App

You can create other structures and assign them to the PACKAGES variable to create more than one package though this is not well tested.

Here is the definition of the package structure.

    # struct package {
    #     name       # eg. $name.qpk
    #     desc       # one line summary
    #     domain     # SXE security domains
    #     deps       # packages that this package depends(ipk only)
    #     multi      # put multiple projects in a single package
    #     version    # package version
    #     license    # package license
    #     maintainer # package maintainer
    #     targets    # targets to run (ie. install stuff)
    # }


Note that pkg.domain is automatically set to include target.domain and the domains of any app/script you have installed with hint=sxe so you should not need to set it. However, this feature is only available for the default package and you must manually assign .domain for additional packages.

Package Limitations

There are restrictions on what can be installed. For example, .directory and .desktop files are handled differently. See A note on packages for information about .directory files.

Packages cannot contain quicklaunched applications. There are 2 ways to ensure you don't create a quicklaunched application. The first is to omit the qtopia_main CONFIG value. The second is to set the no_quicklaunch CONFIG value but if you do this you must also add this code to ensure the -force-quicklaunch flag does not cause your app to build as a quicklaunched app.


Alternate package formats

You can create packages in IPK or RPM formats instead of the default QPK. These package formats cannot be installed by Qtopia's package installer so you will need to provide an alternative package installer. You specify the format of the packages to create with the FORMAT variable.

The restrictions on .directory and .desktop files still apply to IPK and RPM formats but the quicklauncher restriction does not apply because these formats are designed for updating the system instead of sandboxed installation.

    make packages FORMAT=ipk

Note that these formats default to creating separate -i18n packages. If you do not want this set the SPLIT_I18N variable.

    make packages FORMAT=ipk SPLIT_I18N=0

See also Overviews, PACKAGES, no_pkg, hint=sxe, and Quicklauncher.

Copyright © 2008 Nokia Qtopia Build System Documentation