Qt Extended Home · Build System Home · Reference · User Guide · Internals codeless banner

Packages (overview)

Projects are automatically setup to be built into packages if they define one of the pkg. variables. By default, a single package is built. It is called pkg and its contents are the result of running qbuild image. It can be configured by modifying its properties.

    pkg.name=myapp
    pkg.desc=My Great App
    pkg.version=1.0

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.ipk
        desc       # one line summary
        deps       # packages that this ipk depends on
        multi      # put multiple projects in a single package
        version    # package version
        license    # package license
        maintainer # package maintainer
        targets    # targets to run (ie. install stuff)
    }

Notes

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. You should omit the quicklaunch CONFIG value.

Alternate package formats

You can create packages in ipk or rpm formats instead of the default QPK. These package formats cannot be installed by the Qt Extended 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, hint=sxe, and Quicklauncher.


Copyright © 2009 Trolltech
Qt Extended - Build System Documentation