Up: Release types   [Contents][Index]

11.1 Version semantics

Release version numbers can often be used to derive the intended release type. The algorithm used to do so depends on the version semantics. As of version 1.1, grayupload supports two distinct semantics: gnu and kernel. Both assume that the version number consists at least of two decimal numbers, major and minor, delimited by a single dot. The minor number can be followed by another dot and a decimal number, called patch-level.

The gnu version semantics is used by GNU projects. If the version number contains only major and minor parts, the release type is ‘stable’. If the patch-level part is present, its value is taken into account. If it is greater than or equal to 90, this is an ‘alpha’ release. Otherwise, this is a ‘stable’ release.

Another version semantics is kernel, called so because it is used in Linux kernel version numbering. When this semantics is selected, release type is determined by the version major number: even major numbers correspond to ‘stable’ releases, whereas odd ones correspond to ‘alpha’ releases.

To determine release types automatically, use the version_semantics statement in your configuration file (see Configuration) to define the version semantics. For example, to use ‘gnu’ semantics:

version_semantics gnu

When this statement is present, grayupload scans the list of upload file names. It extracts the version number from each file name argument and tries to determine release type from it using the requested semantics. If all file names yield the same release type, it is used to determine the upload destination as described in Release types.

Notice the following important points. First of all, version semantics is applied only if the release type is not specified explicitly in the command line (using the --release-type option). Secondly, it applies only if at least one file to be uploaded is supplied in the command line. In particular, it won’t be applied if only standalone options are present in the command line (see Standalone Options). And finally, if more than one upload file is given, version semantics is used only if it produces the same result when applied to each file name.

Up: Release types   [Contents][Index]