mirror of https://github.com/BOINC/boinc.git
62 lines
2.2 KiB
HTML
62 lines
2.2 KiB
HTML
<title>Platforms, applications, and versions</title>
|
|
<body bgcolor=ffffff>
|
|
<h2>Platforms, applications, and versions</h2>
|
|
<p>
|
|
A <b>platform</b> is a compilation target (Windows/Intel,
|
|
Linux/Intel, MacOS/PPC, etc.).
|
|
Platforms are maintained in the <b>platform</b> table in the BOINC DB,
|
|
and can be created using the <a href=tools_other.html>add</a> utility.
|
|
|
|
<p>
|
|
An <b>application</b> consists of an executable program,
|
|
perhaps with versions for various platforms.
|
|
A project can operate many applications.
|
|
Applications are maintained in the <b>application</b> table in the BOINC DB,
|
|
and can be created using the <a href=tools_other.html>add</a> utility.
|
|
|
|
<p>
|
|
An application program may go through a sequence of
|
|
<a href=version.html>versions</a>.
|
|
A particular version, compiled for a particular platform, is
|
|
called an <b>application version</b>.
|
|
An application version can consist of multiple files: for example, a
|
|
controller script, pre- and post-processing programs, and a primary.
|
|
|
|
<p>
|
|
Each application version has an integer <b>version number</b>.
|
|
Projects can assign version numbers however they like; for example,
|
|
version 304 might represent major version 3 and minor version 4.
|
|
Version numbers should be used consistently across platforms;
|
|
Windows version 304 should be computationally identical to
|
|
Mac version 304.
|
|
|
|
<p>
|
|
Each application has a <b>minimum version</b>.
|
|
When a client is sent work for an application, it is also sent
|
|
the latest application version for its platform.
|
|
It is sent work only if this version is the minimum or greater.
|
|
|
|
<p>
|
|
Application versions are maintained in the <b>app_version</b> table
|
|
in the BOINC DB, Each entry includes an XML document describing the
|
|
files that make up the application version:
|
|
<pre>
|
|
<file_info> ...
|
|
</file_info>
|
|
[ ...
|
|
]
|
|
<app_version>
|
|
<app_name>foobar</app_name>
|
|
<version_num>4</version_num>
|
|
<file_ref>
|
|
<file_name>program_1</file_name>
|
|
<main_program/>
|
|
</file_ref>
|
|
<file_ref>
|
|
<file_name>library_12</file_name>
|
|
</file_ref>
|
|
</app_version>
|
|
</pre>
|
|
The <a href=tools_other.html>add</a> utility provides a
|
|
simplified interface for creating application versions.
|