in aziotctl/aziotctl-common/src/host_info.rs [69:109]
fn default() -> Self {
let mut result = Self {
id: None,
version_id: None,
variant_id: None,
build_id: None,
arch: ARCH,
bitness: BITNESS,
};
let os_release =
fs::File::open("/etc/os-release").or_else(|_| fs::File::open("/usr/lib/os-release"));
if let Ok(os_release) = os_release {
let os_release = io::BufReader::new(os_release);
for line in os_release.lines() {
if let Ok(line) = &line {
match parse_shell_line(line) {
Some(("ID", value)) => {
result.id = Some(value.to_owned());
}
Some(("VERSION_ID", value)) => {
result.version_id = Some(value.to_owned());
}
Some(("VARIANT_ID", value)) => {
result.variant_id = Some(value.to_owned());
}
Some(("BUILD_ID", value)) => {
result.build_id = Some(value.to_owned());
}
_ => (),
};
} else {
break;
}
}
}
result
}