Home · All Namespaces · All Classes · Grouped Classes · Modules · Functions codeless banner

SXE - Installer/Package Manager Overview

Introduction

Qt Extended provides a simplified software installation system in a system binary called packagemanager.

Note that earlier versions of Qtopia for PDAs provided a utility to install packages utilizing the ipkg system. There is no such facility currently in Qt Extended. The SXE PackageManager is not a general purpose package installation system

The following features are provided:

Configuration

Package Manager can be configured with a file called PackageManager.conf located in the <qt-extended-root-dir>/devices/etc/default/Trolltech directory. The file has the following format:

    [server foo]
    URL=http://path/to/foo's/package/feed

    [server bar]
    URL=http://path/to/bar's/package/feed

    [Configuration]
    MaxPackagesList=50
    MaxPackagesListSize=50000
    MaxDescriptorSize=4096
    DefaultDomain=untrusted
    SensitiveDomains=none
    RestrictedOrganizations=Trolltech

In the above example "server foo" an "server bar" are the two default servers provided by the packagemanager. Simply add another similar entry for more defaults. At runtime if the user changes the existing servers, a file called ServersList.conf is created in Package Manager's application directory. Serverslist.conf then becomes the definitive source for server details used by Package Manager.

The Configuration group is contains settings values.

ParameterPurpose
MaxPackagesListMaximum number of packages that will be downloaded from a packages.list
MaxPackagesListSizeMaximum size in bytes that will be downloaded for a packages.list.
MaxDescriptorSizeMaximum size in bytes that will be downloaded for a qpd descriptor file.
DefaultDomainDefault domain that will be applied to packages that do not specify a recognized domain.
SensitiveDomainPackages requesting access to sensitive/restricted domains will not be allowed to install. If there are no sensitive domains set this value to: none.
RestrictedOrganizationDefines organizations for settings files which downloaded applications should not use.

The limitations on the packages.list and descriptor are intended to limit the cost to the user if he/she connects to a server whose packages.list is excessively large.

Settings files for applications typically specify an organization ( see QSettings). Organizations which are already in use should be specified in the RestrictedOrganizations field. Packages that contain settings files which correspond to this organization won't be able to be installed. This is to more so prevent 3rd party developers accidentally using an in-use organization rather than for security reasons.

For developmental purposes downloaded applications can be trusted or untrusted. To prevent installation of trusted applications, the Sensitive domain needs to be set.

The file Storage.conf can be used to specify which directory that all packages are installed to.

Package Compatibility

Package Manager will not present for download or install any packages that are incompatible with the build of Qt Extended on the device. There are two measures of compatibility, version compatibility and device compatibility.

The macro QTOPIA_COMPATIBLE_VERSIONS in version.h specifies what versions of Qtopia/Qt Extended are considered binary compatible. This is used during package creation so that a package can declare what versions of Qtopia/Qt Extended it is known to be compatible with. It is also used during package download so that Package Manager will accept packages it finds that it is compatible with. The macro can be defined as range of versions eg "4.2.0-4.2.3,4.2.5". As long as there is overlap between the versions specified by the package and the those specified by Qt Extended, the package will be allowed to install.

In a similar manner QTOPIA_COMPATIBLE_DEVICES in custom.h specifies a set of devices. Packages built for other devices which should run on this device should be listed in this macro. As long as there is overlap between the set of compatible devices declared by a package and that of Qt Extended on the device, the package will be allowed to install.


Copyright © 2009 Trolltech Trademarks
Qt Extended 4.4.3