wiki:UpdateVersions

Version 2 (modified by Nicolas, 10 years ago) (diff)

Added CodeSigning link

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

Platform strings must match the names of platforms 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.

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. Recommended code-signing practices are described here.

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 given logical and physical names will be used (i.e., the application will be able to access the file by passing the logical name to boinc_resolve_filename()).