On Wed, Jun 12, 2024 at 4:13 AM Andrew Dunstan <and...@dunslane.net> wrote: > Way back in 2004 there was discussion of how we wanted to differentiate > buildfarm animals. We were flying blind to a large extent, as we didn't > have many similar things to compare to. We settled on {OS-name, > OS-version, Compiler-name, Compiler-version}. The idea was that the > names would be invariant but we would allow for OS and compiler upgrades. > > There are two problems with this system, and have been since the get-go. > First, owners forget to run the upgrade-personalty.pl script when the > upgrade the OS and./or compiler. Second, there is no standardization of > the names. Complaints about these surfaced (again) at the Vancouver > unconference session about the buildfarm's future.
I was sorry to miss that one! Basically every unconference was unmissable, but you had to miss 3/4 of them due to physics... > I don't have information about other OSs or compilers. I wonder if most non-Linux, Unixoid systems would give a useful enough answer with something like "uname -rs". It's a standard[1] after all. The reason it's a bit useless on Linux is that Linux is [clears throat, channels Richard Stallman] only a kernel. The interesting information for Linux is the distro, but that doesn't apply for stuff like FreeBSD, AIX, yada yada. Some results from systems near me right now: Darwin 23.5.0 FreeBSD 14.1-RELEASE The Mac is a bit annoying because that's a kernel or Darwin version (?), so you'd have to do some work to map it back to a macOS version like 14.5... For eg FreeBSD you can also have the kernel out of sync with the user space but normally you wouldn't so I think that's good enough. Macs do have a way to get the OS version people are more familiar with: % sw_vers ProductName: macOS ProductVersion: 14.5 BuildVersion: 23F79 Maybe a uname-based default would be good enough for *BSD, Solaris etc, and then we just have a small list of specialisations where we know how to do better? [1] https://pubs.opengroup.org/onlinepubs/009695299/utilities/uname.html