| | 1 | = Releasing application versions = |
| | 2 | |
| | 3 | The `update_versions` script releases new application versions. It creates database entries and copies files to the download directory. |
| | 4 | |
| | 5 | To use: |
| | 6 | * 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. |
| | 7 | * 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. |
| | 8 | * From the project's root directory, run bin/update_versions. |
| | 9 | |
| | 10 | == Single-file application versions == |
| | 11 | |
| | 12 | File names must be of the form `NAME_VERSION_PLATFORM[.ext]`, e.g.: |
| | 13 | {{{ |
| | 14 | boinc_3.17_i686-pc-linux-gnu |
| | 15 | astropulse_7.17_windows_intelx86.exe |
| | 16 | }}} |
| | 17 | |
| | 18 | '''Platform strings must match the names of platforms in the database.''' If needed, [XaddTool add the platform to the DB]. |
| | 19 | |
| | 20 | |
| | 21 | == Multiple-file application versions == |
| | 22 | |
| | 23 | 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. |
| | 24 | |
| | 25 | If your application includes executable files other than the main file, make sure that their protection flags include the user execute (u+x) bit. |
| | 26 | |
| | 27 | == Passing extra information about files == |
| | 28 | |
| | 29 | If a file of the form |
| | 30 | {{{ |
| | 31 | FILENAME.sig |
| | 32 | }}} |
| | 33 | is found, its contents will be used as a digital signature for the corresponding file. Recommended code-signing practices are described [http://boinc.berkeley.edu/code_signing.php here]. |
| | 34 | |
| | 35 | If a file of the form |
| | 36 | {{{ |
| | 37 | FILENAME.file_ref_info |
| | 38 | }}} |
| | 39 | |
| | 40 | is found, its contents will be added to the <file_ref> element describing the file (you can use this for attributes like <copy_file>). |
| | 41 | |
| | 42 | If a file of the form |
| | 43 | {{{ |
| | 44 | LOGICAL_NAME=PHYSICAL_NAME |
| | 45 | }}} |
| | 46 | 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()). |