Update UpdateVersions.md file

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Vitalii Koshura 2023-02-28 15:01:13 +01:00
parent 2a0c622e6d
commit 85cc4501b8
No known key found for this signature in database
GPG Key ID: CE0DB1726070A5A3
1 changed files with 34 additions and 31 deletions

@ -1,4 +1,4 @@
[[PageOutline]] # Releasing application versions
DEPRECATED: see AppVersionNew DEPRECATED: see AppVersionNew
@ -8,57 +8,57 @@ To use:
* In your project's 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. * In your project's 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`. * From the project's root directory, run `./bin/update_versions`.
# Single-file application versions #singlefile # Single-file application versions
File names must be of the form `NAME_VERSION_PLATFORM[__PLAN-CLASS][.ext]`, e.g.: File names must be of the form `NAME_VERSION_PLATFORM[__PLAN-CLASS][.ext]`, e.g.:
```
astropulse_7.17_windows_intelx86.exe astropulse_7.17_windows_intelx86.exe
```
* NAME is ignored; typically it is the app name. It must not contain numbers. * NAME is ignored; typically it is the app name. It must not contain numbers.
* 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. * 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](BoincPlatforms) in the database (if needed, add the platform to the DB using [xadd](XaddTool)). * PLATFORM is the name of a [platform](BoincPlatforms) in the database (if needed, add the platform to the DB using [xadd](XaddTool)).
* PLAN-CLASS is an optional [plan class](AppPlan) for the app version. * PLAN-CLASS is an optional [plan class](AppPlan) for the app version.
The file in the example above would have the path The file in the example above would have the path
```
apps/astropulse/astropulse_7.17_windows_intelx86.exe apps/astropulse/astropulse_7.17_windows_intelx86.exe
```
# Multiple-file application versions #multifile # 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[__PLAN-CLASS][.ext]`) and put the files in that directory. 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[__PLAN-CLASS][.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>](XmlFormat#file_info)). 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>](XmlFormat#file_info)).
Example: Example:
```
apps/astropulse/astropulse_7.17_windows_intelx86.exe/ apps/astropulse/astropulse_7.17_windows_intelx86.exe/
apps/astropulse/astropulse_7.17_windows_intelx86.exe/astropulse_7.17_windows_intelx86.exe apps/astropulse/astropulse_7.17_windows_intelx86.exe/astropulse_7.17_windows_intelx86.exe
apps/astropulse/astropulse_7.17_windows_intelx86.exe/some_required_file.dat apps/astropulse/astropulse_7.17_windows_intelx86.exe/some_required_file.dat
apps/astropulse/astropulse_7.17_windows_intelx86.exe/graphics_application.exe apps/astropulse/astropulse_7.17_windows_intelx86.exe/graphics_application.exe
```
# Passing extra information about files #extrainfo # Passing extra information about files
If a filename of the form If a filename of the form
```
LOGICAL_NAME=PHYSICAL_NAME LOGICAL_NAME=PHYSICAL_NAME
```
is found, the file will have the given logical and physical names is found, the file will have the given logical and physical names
(i.e., the application will be able to access the file (i.e., the application will be able to access the file
by passing the logical name to [boinc_resolve_filename()](BasicApi#filenames)). by passing the logical name to [boinc_resolve_filename()](BasicApi#filenames)).
If a file of the form If a file of the form
```
FILENAME.sig FILENAME.sig
```
is found, its contents will be used as a digital signature for the corresponding file. is found, its contents will be used as a digital signature for the corresponding file.
See the [recommended code-signing practices](CodeSigning). See the [recommended code-signing practices](CodeSigning).
If a file of the form If a file of the form
```
FILENAME.file_ref_info FILENAME.file_ref_info
```
is found, its contents will be added to the [<file_ref>](BoincFiles#file_ref) is found, its contents will be added to the [<file_ref>](BoincFiles#file_ref)
element describing the file (you can use this for attributes like [<copy_file>](BoincFiles#file_ref)). element describing the file (you can use this for attributes like [<copy_file>](BoincFiles#file_ref)).
@ -67,8 +67,11 @@ then FILENAME is the full LOGICAL_NAME=PHYSICAL_NAME.
# Options to update_versions # Options to update_versions
-v or --verbose:: Enable verbose mode ### -v or --verbose
-s or --sign:: silently [sign executables](CodeSigning) (not recommended) Enable verbose mode
-f or --force:: don't prompt before committing changes ### -s or --sign
silently [sign executables](CodeSigning) (not recommended)
### -f or --force
don't prompt before committing changes