Home · All Namespaces · All Classes · Grouped Classes · Modules · Functions |
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:
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.
Parameter | Purpose |
---|---|
MaxPackagesList | Maximum number of packages that will be downloaded from a packages.list |
MaxPackagesListSize | Maximum size in bytes that will be downloaded for a packages.list. |
MaxDescriptorSize | Maximum size in bytes that will be downloaded for a qpd descriptor file. |
DefaultDomain | Default domain that will be applied to packages that do not specify a recognized domain. |
SensitiveDomain | Packages requesting access to sensitive/restricted domains will not be allowed to install. If there are no sensitive domains set this value to: none. |
RestrictedOrganization | Defines 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 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 |