OS (Linux): fix name detection for MX

Fix #847
This commit is contained in:
李通洲
2024-05-03 11:57:01 +08:00
parent 22d9d8e196
commit 8b838cef61
2 changed files with 12 additions and 8 deletions
+11 -7
View File
@@ -166,17 +166,21 @@ static void detectOS(FFOSResult* os)
// Refer: https://gist.github.com/natefoo/814c5bf936922dad97ff
// For MX Linux. Should not exist in other distros. See #847
if(parseOsRelease(FASTFETCH_TARGET_DIR_ETC "/initrd-release", os) && allRelevantValuesSet(os))
return;
// Hack for MX Linux. See #847
if(parseLsbRelease(FASTFETCH_TARGET_DIR_ETC "/lsb-release", os))
{
if (ffStrbufEqualS(&os->id, "MX"))
{
ffStrbufSetStatic(&os->name, "MX");
ffStrbufSetStatic(&os->idLike, "debian");
return;
}
}
if(parseOsRelease(FASTFETCH_TARGET_DIR_ETC "/os-release", os) && allRelevantValuesSet(os))
return;
if(parseOsRelease(FASTFETCH_TARGET_DIR_USR "/lib/os-release", os) && allRelevantValuesSet(os))
return;
parseLsbRelease(FASTFETCH_TARGET_DIR_ETC "/lsb-release", os);
parseOsRelease(FASTFETCH_TARGET_DIR_USR "/lib/os-release", os);
}
void ffDetectOSImpl(FFOSResult* os)
+1 -1
View File
@@ -22,7 +22,7 @@ static void buildOutputDefault(const FFOSResult* os, FFstrbuf* result)
ffStrbufAppend(result, &instance.state.platform.systemName);
//Append code name if it is missing
if(os->codename.length > 0 && !ffStrbufContain(result, &os->versionID))
if(os->codename.length > 0 && !ffStrbufContain(result, &os->codename))
{
ffStrbufAppendC(result, ' ');
ffStrbufAppend(result, &os->codename);