Version 5 (modified by 17 years ago) (diff) | ,
---|
Releasing application versions
The update_versions
script releases new application versions. It creates database entries and copies files to the download directory.
To use:
- If it doesn't already exist, create an directory 'apps' under the project directory, and add an <app_dir> element to config.xml giving the path of the apps directory.
- Create a subdirectory for each application, with the short name of the application. Put new application files here (see below).
update_versions
scans these directories for new application versions. - From the project's root directory, run
./bin/update_versions
.
Single-file application versions
File names must be of the form NAME_VERSION_PLATFORM[.ext]
, e.g.:
boinc_3.17_i686-pc-linux-gnu astropulse_7.17_windows_intelx86.exe
- VERSION is a string of the form N.M, where N and M are integers with M<100. This is converted to the single integer N*100 + M, which is used to specify application versions elsewhere in BOINC. M may have a leading zero, which is ignored.
- PLATFORM is the name of a platform in the database (if needed, add the platform to the DB).
Multiple-file application versions
Application versions can consist of multiple files, one of which is the main program. To create a multiple-file application version, create a directory with the same name as the main program (of the form NAME_VERSION_PLATFORM[.ext]
) and put the files in that directory.
If your application includes executable files other than the main file, make sure that their protection flags include the user execute (u+x) bit (update_versions
will then set the <executable/>
flag on its <file_info>).
Passing extra information about files
If a file of the form
FILENAME.sig
is found, its contents will be used as a digital signature for the corresponding file.See the recommended code-signing practices.
If a file of the form
FILENAME.file_ref_info
is found, its contents will be added to the <file_ref> element describing the file (you can use this for attributes like <copy_file>).
If a file of the form
LOGICAL_NAME=PHYSICAL_NAME
is found, the file will have the given logical and physical names (i.e., the application will be able to access the file by passing the logical name to boinc_resolve_filename()).