in osinfo/osinfo_linux.go [150:177]
func parseOsRelease(releaseDetails string) (shortName, longName, version string) {
scanner := bufio.NewScanner(strings.NewReader(releaseDetails))
for scanner.Scan() {
entry := strings.Split(scanner.Text(), "=")
switch entry[0] {
case "":
continue
case "PRETTY_NAME":
longName = strings.Trim(entry[1], `"`)
case "VERSION_ID":
version = strings.Trim(entry[1], `"`)
case "ID":
shortName = strings.Trim(entry[1], `"`)
}
// TODO: Replace with binary mask
if longName != "" && version != "" && shortName != "" {
break
}
}
if shortName == "" {
shortName = DefaultShortNameLinux
}
return shortName, longName, version
}