diff --git a/CHANGELOG.md b/CHANGELOG.md index 143d035dc3..8e5ea889ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 2.62.1 + +Bugfixes: +* Fixes Host module not working on some devices (#2279, Host, Linux) + * Regression from v2.61.0 + +Logos: +* Adds EN-OS, LimeOS, Redrose and Uzbek + # 2.62.0 Changes: diff --git a/CMakeLists.txt b/CMakeLists.txt index 635c6f4b6e..2c6c8bdbb3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url project(fastfetch - VERSION 2.62.0 + VERSION 2.62.1 LANGUAGES C DESCRIPTION "Fast neofetch-like system information tool" HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch" diff --git a/debian/changelog.tpl b/debian/changelog.tpl index 1024e4f622..eabc41b251 100644 --- a/debian/changelog.tpl +++ b/debian/changelog.tpl @@ -1,3 +1,9 @@ +fastfetch (2.62.0~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium + + * Update to 2.62.0 + + -- Carter Li Wed, 22 Apr 2026 09:49:55 +0800 + fastfetch (2.61.0~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium * Update to 2.61.0 diff --git a/src/detection/host/host_linux.c b/src/detection/host/host_linux.c index 3d4d04ba8d..051dd80994 100644 --- a/src/detection/host/host_linux.c +++ b/src/detection/host/host_linux.c @@ -51,12 +51,32 @@ static bool getHostVendor(FFstrbuf* vendor) { const char* ffDetectHost(FFHostResult* host) { // This is a hack for Asahi Linux, whose product_family is empty - if (ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_family", "/sys/class/dmi/id/product_family", &host->family)) { - ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_name", "/sys/class/dmi/id/product_name", &host->name); + bool productName = ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_name", "/sys/class/dmi/id/product_name", &host->name); + bool productFamily = ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_family", "/sys/class/dmi/id/product_family", &host->family); + if (productName || productFamily) { ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_version", "/sys/class/dmi/id/product_version", &host->version); ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_sku", "/sys/class/dmi/id/product_sku", &host->sku); ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_serial", "/sys/class/dmi/id/product_serial", &host->serial); ffGetSmbiosValue("/sys/devices/virtual/dmi/id/sys_vendor", "/sys/class/dmi/id/sys_vendor", &host->vendor); + +#if __x86_64__ + ffHostDetectMac(host); +#endif + + // KVM/Qemu virtual machine + if (ffStrbufStartsWithS(&host->name, "Standard PC")) { + ffStrbufPrependS(&host->name, "KVM/QEMU "); + } + +#if __aarch64__ + else if (host->family.length == 0 && ffStrbufEqualS(&host->vendor, "Apple Inc.") && ffStrbufStartsWithS(&host->name, "Mac")) { + // Hack for Asahi Linux + ffStrbufDestroy(&host->family); + ffStrbufInitMove(&host->family, &host->name); + getHostProductName(&host->name); + getHostSerialNumber(&host->serial); + } +#endif } else { getHostProductFamily(&host->family); getHostProductName(&host->name); @@ -64,15 +84,6 @@ const char* ffDetectHost(FFHostResult* host) { getHostVendor(&host->vendor); } -#ifdef __x86_64__ - ffHostDetectMac(host); -#endif - - // KVM/Qemu virtual machine - if (ffStrbufStartsWithS(&host->name, "Standard PC")) { - ffStrbufPrependS(&host->name, "KVM/QEMU "); - } - if (host->family.length == 0 && host->name.length == 0) { const char* wslDistroName = getenv("WSL_DISTRO_NAME"); // On WSL, the real host can't be detected. Instead use WSL as host. diff --git a/src/logo/ascii/enos.txt b/src/logo/ascii/enos.txt new file mode 100644 index 0000000000..4a13b8788d --- /dev/null +++ b/src/logo/ascii/enos.txt @@ -0,0 +1,6 @@ + ______ _ _ ____ _____ +| ____| \ | | / __ \ / ____| +| |__ | \| |______| | | | (___ +| __| | . ` |______| | | |\___ \ +| |____| |\ | | |__| |____) | +|______|_| \_| \____/|_____/ diff --git a/src/logo/ascii/limeos.txt b/src/logo/ascii/limeos.txt new file mode 100644 index 0000000000..b819ffd9eb --- /dev/null +++ b/src/logo/ascii/limeos.txt @@ -0,0 +1,23 @@ + ############ + ####### ####### + #### #### + ### ###### ###### ### + ### ######### ######### ### + ### ######## ######## ### + ### #### ###### ####### ### ### + ### ####### ##### ##### ###### ### + ## ######## ### ### ######## ## +### ########### ########### ### +## ############ ########### ## +## ## +## ############ ########### ## +### ########### ########### ### + ## ######## ### ### ######## ## + ### ###### ##### ##### ###### ### + ### ### ####### ####### ### ### + ### ######### ######### ### + ### ######### ######### ### + ### ###### ###### ### + #### #### + ####### ####### + ############## diff --git a/src/logo/ascii/redrose.txt b/src/logo/ascii/redrose.txt new file mode 100755 index 0000000000..316c695f6b --- /dev/null +++ b/src/logo/ascii/redrose.txt @@ -0,0 +1,17 @@ + xxrjr ftttt + xxxxxjjfffft + xxxxxxxjjjjj + xxxxxxxjjjjj + xxxxxxxxxnxx + xxxxxxxn + $2[[ +//// [[ +//// [[ +///////[[ + /////]] + [[ + [[ + [[ + [[ + [[ + [] diff --git a/src/logo/ascii/uzbek.txt b/src/logo/ascii/uzbek.txt new file mode 100644 index 0000000000..3a9ab6eb39 --- /dev/null +++ b/src/logo/ascii/uzbek.txt @@ -0,0 +1,11 @@ + *++++++++++++++* +*=:-::-::-::-::-::=* ++============. ===+ ++===========. ====+ ++++++++++++ +++++* +*+++ =+++ ++++++* +*++++ .+ +++++++* +*+++++ ++++++++* +*++++++ =+++++++++* +*++++++++++++++++++* + *++++++++++++++* \ No newline at end of file diff --git a/src/logo/builtin.c b/src/logo/builtin.c index 846f69792d..0cd83efe3b 100644 --- a/src/logo/builtin.c +++ b/src/logo/builtin.c @@ -1561,6 +1561,16 @@ static const FFlogo E[] = { FF_COLOR_FG_DEFAULT, }, }, + // EN-OS + { + .names = {"ENOS"}, + .lines = FASTFETCH_DATATEXT_LOGO_ENOS, + .colors = { + FF_COLOR_FG_LIGHT_BLUE, + }, + .colorKeys = FF_COLOR_FG_LIGHT_BLUE, + .colorTitle = FF_COLOR_FG_LIGHT_BLUE, + }, // EncryptOS { .names = { "EncryptOS" }, @@ -2653,6 +2663,16 @@ static const FFlogo L[] = { .colorKeys = FF_COLOR_FG_BLUE, .colorTitle = FF_COLOR_FG_BLUE, }, + // LimeOS + { + .names = {"LimeOS"}, + .lines = FASTFETCH_DATATEXT_LOGO_LIMEOS, + .colors = { + FF_COLOR_FG_DEFAULT, + }, + .colorKeys = FF_COLOR_FG_DEFAULT, + .colorTitle = FF_COLOR_FG_DEFAULT, + }, // Linspire { .names = { "Linspire", "Lindows" }, @@ -4242,6 +4262,17 @@ static const FFlogo R[] = { .colorKeys = FF_COLOR_FG_RED, .colorTitle = FF_COLOR_FG_RED, }, + // Redrose + { + .names = {"Redrose"}, + .lines = FASTFETCH_DATATEXT_LOGO_REDROSE, + .colors = { + FF_COLOR_FG_RED, + FF_COLOR_FG_GREEN, + }, + .colorKeys = FF_COLOR_FG_RED, + .colorTitle = FF_COLOR_FG_RED, + }, // Refracta { .names = { "Refracta" }, @@ -5133,6 +5164,13 @@ static const FFlogo U[] = { }, }, // LAST + { + .names = { "Uzbek" }, + .lines = FASTFETCH_DATATEXT_LOGO_UZBEK, + .colors = { + FF_COLOR_FG_GREEN, + }, + }, {}, };