mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-04 20:17:55 +00:00
ae06a1edcb
Every CentOS Linux 8 medium gives the same description, "CentOS Linux 8". The description gives no minor version. The .treeinfo file on the medium gives no minor version. Thus copycds gave the name centos8 to all of these media. Two CentOS Linux 8 media then wrote into the same /install/centos8 directory and made osimage definitions with the same names. The discinfo identifier table gives the minor version, but it contains only 8.1 and 8.5. The identifiers of an expanded tree are also different from the identifiers of the DVD. The release package in BaseOS/Packages is the only other record of the minor version on the medium. Read the version from the name of that package. CentOS changed the name of the package to centos-linux-release in 8.3, thus accept the two names. Accept only a major.minor version, because other packages start with the same centos-release prefix. Accept only the major version that the description gives, because a package for a different major version does not describe this medium. Accept the minor version only when the medium names one, because a medium that names more than one does not pin a minor version. Keep the version from the description in the other conditions. A medium that names no minor version keeps the name centos8, which is the behaviour before this change and the correct name for media that do not pin a minor version. CentOS Stream, Rocky Linux, AlmaLinux and Red Hat Enterprise Linux keep their own branches. CentOS Linux 7 gives a different description and has no BaseOS directory, thus it does not use this path. Recovered from the lenovobuild branch. Reimplemented against master: the original reads only centos-release, which CentOS renamed in 8.3, and its expression is not anchored.