OS (Linux): detect fedora variants

Fix #1830
This commit is contained in:
李通洲
2025-07-04 10:10:29 +08:00
parent 821462e152
commit 64910d0781
2 changed files with 23 additions and 10 deletions
+19 -2
View File
@@ -291,6 +291,21 @@ FF_MAYBE_UNUSED static bool detectDebianDerived(FFOSResult* result)
return false;
}
FF_MAYBE_UNUSED static bool detectFedoraVariant(FFOSResult* result)
{
if (ffStrbufEqualS(&result->variantID, "coreos")
|| ffStrbufEqualS(&result->variantID, "kinoite")
|| ffStrbufEqualS(&result->variantID, "sericea")
|| ffStrbufEqualS(&result->variantID, "silverblue"))
{
ffStrbufAppendC(&result->id, '-');
ffStrbufAppend(&result->id, &result->variantID);
ffStrbufSetStatic(&result->idLike, "fedora");
return true;
}
return false;
}
static void detectOS(FFOSResult* os)
{
#ifdef FF_CUSTOM_OS_RELEASE_PATH
@@ -341,13 +356,15 @@ void ffDetectOSImpl(FFOSResult* os)
detectOS(os);
#ifdef __linux__
if(ffStrbufIgnCaseEqualS(&os->id, "ubuntu"))
if(ffStrbufEqualS(&os->id, "ubuntu"))
getUbuntuFlavour(os);
else if(ffStrbufIgnCaseEqualS(&os->id, "debian"))
else if(ffStrbufEqualS(&os->id, "debian"))
{
if (!detectDebianDerived(os))
getDebianVersion(os);
}
else if(ffStrbufEqualS(&os->id, "fedora"))
detectFedoraVariant(os);
else if(ffStrbufEqualS(&os->id, "linuxmint"))
{
if (ffStrbufEqualS(&os->name, "LMDE"))
+4 -8
View File
@@ -1771,8 +1771,7 @@ static const FFlogo F[] = {
},
// FedoraSilverblue
{
.names = {"Fedora_silverblue", "fedora-silverblue"},
.type = FF_LOGO_LINE_TYPE_ALTER_BIT,
.names = {"Fedora-Silverblue"},
.lines = FASTFETCH_DATATEXT_LOGO_FEDORA_SILVERBLUE,
.colors = {
FF_COLOR_FG_BLUE,
@@ -1784,8 +1783,7 @@ static const FFlogo F[] = {
},
// FedoraKinoite
{
.names = {"Fedora_kinoite", "fedora-kinoite"},
.type = FF_LOGO_LINE_TYPE_ALTER_BIT,
.names = {"Fedora-Kinoite"},
.lines = FASTFETCH_DATATEXT_LOGO_FEDORA_KINOITE,
.colors = {
FF_COLOR_FG_BLUE,
@@ -1796,8 +1794,7 @@ static const FFlogo F[] = {
},
// FedoraSericea
{
.names = {"Fedora_sericea", "fedora-sericea"},
.type = FF_LOGO_LINE_TYPE_ALTER_BIT,
.names = {"Fedora-Sericea"},
.lines = FASTFETCH_DATATEXT_LOGO_FEDORA_SERICEA,
.colors = {
FF_COLOR_FG_BLUE,
@@ -1808,8 +1805,7 @@ static const FFlogo F[] = {
},
// FedoraCoreOS
{
.names = {"Fedora_coreos", "fedora-coreos"},
.type = FF_LOGO_LINE_TYPE_ALTER_BIT,
.names = {"Fedora-CoreOS"},
.lines = FASTFETCH_DATATEXT_LOGO_FEDORA_COREOS,
.colors = {
FF_COLOR_FG_BLUE,