A distribution is a platform-specific archive of deployable software. The distribution file:
The JAR entry paths mirror their intended filesystem paths directly. Paths are mapped either to the target host's root directory or the {baja home} directory, according to the manifest. Unless specified otherwise by the manifest or end-user request, and except for the dist.xml manifest itself, each file will be copied to the target host (i.e., there is no facility provided for the user or an installation program to choose which specific pieces to install).
The distribution manifest is found in the meta-inf/dist.xml JAR entry. It
An example distribution file manifest is provided as a reference for most of the remaining specification:
<dist name="qnx-jace-york"
version="2.1.6"
description=""
buildDate="Thu Jan 18 10:58:39 Eastern Standard Time 2007"
buildHost="BRUTUS"
reboot="true"
noRunningApp="true"
absoluteElementPaths="true"
osInstall="true"
>
<dependencies>
<part name="york" desc="York System Board" />
</dependencies>
<exclusions>
<os name="qnx-jace-york" version="2.2" />
</exclusionss>
<provides>
<os name="qnx-jace-york" version="2.1.6" />
</provides>
<fileHandling>
<file name="dev/shmem/york.image" replace="oscrc"/>
</fileHandling>
</dist>
The root dist element has the following attributes:
Sub-elements are XML in bog file format and will be merged by name into the host's existing platform.bog file, or will be used to initialize a new platform.bog file. This allows a distribution to provide new platform services without clobbering or re-initializing any existing platform services.
describes the parts which must be present on a target host before the distribution can be installed. Each part is identified by a sub-element:
Describes a chipset dependency. Required name attribute specifies the chipset architecture name.
Describes a model dependency. Required name attribute specifies the model name.
Describes an operating system dependency. Attributes:
Describes a dependency on a Niagara runtime version. Attributes:
Describes a dependency on a brand. Required attribute name uniquely identifies the brand that must be specified in a target host's license for the dependency to be met.
Describes a module dependency. Attributes are the same as those for the dependency element in the module.xml manifest (see modules.html), and the optional rel option is supported.
Describes a dependency on any other kind of part, such as a piece of hardware. Required attribute name is a unique name for the part, and required attribute description provides a brief description. Optional version attribute, if present, specifies a version requirement for the part, and the optional rel attributed specifies how the version is evaluated.
Describes the parts which must not be present on a target host if the distribution is to be installed. The sub-elements allowed are the same as those used in the dependencies section.
If present, describes exactly one part that is to be installed by this distribition, whose part name matches the distribution name (i.e. if the part is named qnx-jace-james, the dist file must be named qnx-jace-james.dist).
If the distribution file doesn't contain a single discrete named, versioned part (for example a system backup) then it must omit the provides element. Also, if for any other reason the distribution should not be installed automatically by an client to satisfy dependencies expressed in other files, it must omit the provides element.
The part is described by a sub-element:
Describes an operating system element. Attributes:
Describes an installable java virtual machine. Attributes:
Describes an installable Niagara runtime engine (NRE). Attributes:
If present, specifies elements whose files are used to support the distribution's installation, and are not to be copied to the host. Each sub-element has a content attribute that identifies the entry path. At this time, it may contain the following sub-element:
Describes an installable file that the installing client should import into its software registry (Workbench's software registry is maintained using its {baja_home}/sw directory). Using installable resources makes the distribution much bigger, but is useful for creating single files that have all of the necessary contents to meet their own software dependencies. Attributes:
Specifies the rules by which files are replaced, and identifies directories and files which must be removed before installation begins. The optional replace attribute specifies the rules for replacing existing files - its values can be "always" if the file is always to be replaced, "never" if it is never to be replaced, and "crc" if the file is to be replaced only if the CRC checksums for the distribution and current versions of the file are not the same. By default, no files or directories are to be removed by the installer prior to installation, and the "crc" replacement rule is used. The fileHandling element may contain the following sub-elements:
Specifies a file or directory to be removed prior to installation. Its required name attribute specifies the path (according to absoluteElementPaths element) to the file/directory. If name specifies a directory, exceptions may be specified using the keep sub-element.
Specifies a file or directory that should not be removed as the result of a remove element. Its required name attribute specifies the path.
Specifies a file replacement rule that differs from the default in the fileHandling element or any dir element that might apply to the file's path. Its required name attribute specifies the file path, and the required replace attribute specifies the rules for replacing the existing file - its values can be "always" if the file is always to be replaced, "never" if it is never to be replaced, "crc" if the file is to be replaced only if the CRC checksums for the distribution and current versions of the file are not the same, "oscrc" if the file's CRC checksum is to be checked against a CRC value returned by the niagarad for the OS image, "nocopy" if the file is never to be copied to the host, or "hostid" if the file is to be copied only if the host's hostid matches the value of the dist element's hostid attribute.
Specifies a file replacement rule for a given directory path that differs from the default in the fileHandling element or in dir elements for parent paths. Its required name attribute specifies the directory's path. Its optional replace attribute can be "always", "never", "crc", "nocopy" or "hostid". Its optional clean attribute, if present and equal to "true", indicates that any file or subdirectory that isn't part of the distribution should be deleted by the installer.
Copyright © 2000-2019 Tridium Inc. All rights reserved.