diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index a734f8a63..f0bc35a45 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -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) diff --git a/src/modules/os/os.c b/src/modules/os/os.c index 2bcc6f00a..b1ccf1a97 100644 --- a/src/modules/os/os.c +++ b/src/modules/os/os.c @@ -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);