We have quite a few issues related to versions currently. This is an issue to centralise discussion on the topic.
Overall, we should simplify the handling of versions. It appears all projects use some sort of semver-ish format. Projects should be responsible for emitting a list of versions in that format. From that, we check everything corresponds to the format and we build the version tree ourselves (making decisions like picking the depth and grouping or not minors together).
Downstream tags (eg glibc fedora) would be the ones where we cheat the most, turning them into v2.12.90-6-fedora for example.
The approach has one big benefit: if the project-specific code ever breaks, we would be alerted as its output wouldn't be semver formatted. Currently there is no barrier in place.
Currently most projects must generate their own tree by implementing a custom list_tags_h(), which is way too error-prone.
We have quite a few issues related to versions currently. This is an issue to centralise discussion on the topic.
v1.0.Xversions.v1, others as1.oldmenu. Why? DPDK has v16 thru v25 then in its old menu, has v1.2 to v2.2.grub-2.12.-9000. Egglibc-2.41andglibc-2.41-9000.fedora/glibc-2.12.90-6. Those should probably appear in the correct submenu alongside the upstream version, not in a separate menu.oldmenu withby-dateandby-version.Overall, we should simplify the handling of versions. It appears all projects use some sort of semver-ish format. Projects should be responsible for emitting a list of versions in that format. From that, we check everything corresponds to the format and we build the version tree ourselves (making decisions like picking the depth and grouping or not minors together).
Downstream tags (eg glibc fedora) would be the ones where we cheat the most, turning them into
v2.12.90-6-fedorafor example.The approach has one big benefit: if the project-specific code ever breaks, we would be alerted as its output wouldn't be semver formatted. Currently there is no barrier in place.
Currently most projects must generate their own tree by implementing a custom
list_tags_h(), which is way too error-prone.