From eee98e54d07765f699664900e41bb52613054635 Mon Sep 17 00:00:00 2001 From: Juanma Date: Mon, 11 Aug 2025 03:45:53 +0200 Subject: [PATCH] OS (Linux): fix lliurex detection (#1882) * Proper detection of lliurex distribution * fix newline * Trim version and not versionID as assigned to lliurex-version output * Update os_linux.c --------- Co-authored-by: Carter Li --- src/detection/os/os_linux.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index d845c958b..55f045ff6 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -89,6 +89,21 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result) ffStrbufSetStatic(&result->idLike, "ubuntu"); } + if (ffPathExists("/usr/bin/lliurex-version", FF_PATHTYPE_FILE)) + { + ffStrbufSetStatic(&result->name, "LliureX"); + ffStrbufSetStatic(&result->id, "lliurex"); + ffStrbufClear(&result->version); + if (ffProcessAppendStdOut(&result->version, (char* const[]) { + "/usr/bin/lliurex-version", + NULL, + }) == NULL) // 8.2.2 + ffStrbufTrimRightSpace(&result->version); + ffStrbufSetF(&result->prettyName, "LliureX %s", result->version.chars); + ffStrbufSetStatic(&result->idLike, "ubuntu"); + return; + } + if(ffStrContains(xdgConfigDirs, "kde") || ffStrContains(xdgConfigDirs, "plasma") || ffStrContains(xdgConfigDirs, "kubuntu")) { ffStrbufSetStatic(&result->name, "Kubuntu"); @@ -169,15 +184,6 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result) ffStrbufSetStatic(&result->idLike, "ubuntu"); return; } - - if(ffStrContains(xdgConfigDirs, "lliurex")) - { - ffStrbufSetStatic(&result->name, "LliureX"); - ffStrbufSetF(&result->prettyName, "LliureX %s", result->version.chars); - ffStrbufSetStatic(&result->id, "lliurex"); - ffStrbufSetStatic(&result->idLike, "ubuntu"); - return; - } } FF_MAYBE_UNUSED static void getDebianVersion(FFOSResult* result)