skonfig / base

explorer and types for general use
GNU General Public License v3.0
4 stars 4 forks source link

Granulatity of `os` #76

Open sideeffect42 opened 1 year ago

sideeffect42 commented 1 year ago

When updating the base types in #75 I found that the OS lists have gotten quite long in the mean time. And since AlmaLinux and Rocky Linux advertise "bug-for-bug" compatibility with RedHat, I started to wonder how much granularity we want to have in the os explorer.

Do we want this separation or should we treat RedHat more like we treat SuSE and group all Enterprise Linux derivatives under a single os value?

(Or have two explorers, one being specific and the other being more coarse?)

4nd3r commented 1 year ago

os-release spec has ID_LIKE:

A space-separated list of operating system identifiers in the same syntax as the ID= setting. It should list identifiers of operating systems that are closely related to the local operating system in regards to packaging and programming interfaces, for example listing one or more OS identifiers the local OS is a derivative from. This field is optional. Examples: for an operating system with "ID=centos", an assignment of "ID_LIKE="rhel fedora"" would be appropriate. For an operating system with "ID=ubuntu", an assignment of "ID_LIKE=debian" is appropriate.

Same time we already have os_release explorer, but parsing it requires more work. Perhaps add os_like explorer, which initially tries to read ID_LIKE and later we can add more advanced heuristics to "detect" the lineage.

os should stay as is.