Module versioning is an important aspect of image development process. Proper handling of versions makes it easy to control what exactly content should be part of the image.
This section describes how module versions are handled in CEKit.
If you want to learn best practices around module versioning, take a look at module guidelines.
Every module must have a version defined. Version of the module is an important piece of information because based on the version we control what content goes into image.
You can look at module versioning similar to any library version. There are no libraries without version and there must not be modules without versions.
In module descriptor the version could be defined as string, float or integer. CEKit is converting this value internally to string which is parsed later to become a version object finally.
Every version of module is parsed internally. Before we can do this any version is converted to string. This means that
are exactly the same versions for CEKit.
In case you do not specify version requirement in the module installation list in the image descriptor, CEKit will use newest version to install.
Parsed versions are compared according to PEP 440 versioning scheme.
Custom versioning scheme in comparison with a PEP 440 version will be always older.