659
edits
Carandraug (talk | contribs) m (fix headline level) |
Carandraug (talk | contribs) (→Version numbers: more dicussion, use of version modifer and mixing with -db modifier) |
||
Line 142: | Line 142: | ||
== Version numbers == | == Version numbers == | ||
=== specifying version === | |||
Actions dependent on a package version can be specified with a -version modifier for that | |||
action. It is however necessary to define the default order. Comparison operators | |||
should be used to specify versions. If no comparsion is use then greater than or | |||
equal is assumed. So that the following: | |||
;pkg load image | |||
: loads latest version of the image package. If package is not installed, give error | |||
;pkg load -version 1.0.5 image | |||
: load the latest version greater than or equal to 1.0.5. If no such version found, give error | |||
;pkg load -version >=1.0.5 image | |||
: same as not specifying comparison | |||
;pkg load -version >1.0.5 image | |||
: load anything above that version (does it make sense supportung this? It's not a lot of trouble...) | |||
;pkg load -version =1.0.5 image | |||
: load image package only if the same version (should we use == instead? Why not only =? Should not support both syntax) | |||
For the other 2 remainig comparisons (< and <=), the question used for > and >= | |||
is the same. Does it make sense to support both? For ''greater than'', the only | |||
thing that makes sense is ''greater than or equal'' and for ''lesser than'', the | |||
only think that makes sense is ''only lesser than'' since people will mark them | |||
as the first release that implemented, or the first release that no longer had, | |||
a specific feature. | |||
Whatever code is used on this section should also be used for solving package | |||
dependencies. | |||
Should versions take precedence over the database for loading order? For example, | |||
if there is a global installation of image 1.0.5 and a 2.0.0 version on an external | |||
database named labdev, what version should be loaded? | |||
;pkg load image | |||
: load version 1.0.5 from global (database takes precedence over version) | |||
;pkg load -version >1.0.0 image | |||
: load version 1.0.5 from global (database takes precedence over version) | |||
;pkg load -version >2.0.0 image | |||
: load version 2.0.0 from labdev (only version that meets the requirements) | |||
;pkg load -version >1.0.0 -db labdev image | |||
: load version 2.0.0 from labdev (while database takes precedence, labdev was specified so we load the latest) | |||
Should the -db modifier make pkg ignore completely version? If a system has signal | |||
version 1.0.0 on an external named labdev, and 1.2.0 on a global, what should be loaded? | |||
;pkg load signal | |||
: load version 1.2.0 from global | |||
;pkg load -db labdev image | |||
: load latest version from global or from labdev? | |||
=== version definition === | |||
The current implementation only accepts versions on the format x.y.z. This does | The current implementation only accepts versions on the format x.y.z. This does | ||
not allow for dev versions, beta or release candidates releases such x.y.z-rc0, x.y.z+, etc | not allow for dev versions, beta or release candidates releases such x.y.z-rc0, x.y.z+, etc |