diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index f6223e5c..88fd3db8 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -7,6 +7,7 @@ #include #include +#include #define FF_STR_INDIR(x) #x #define FF_STR(x) FF_STR_INDIR(x) @@ -343,6 +344,18 @@ static void detectOS(FFOSResult* os) { #endif #ifdef __linux__ + char buf[64] = { 0 }; + if (readlink("/system/bin/linker", buf, 64) != -1 // Ignore errno. + && strcmp(buf, "../lib/libc.so") == 0 // NUL-terminated by zero-initialization. + && access("/lib", F_OK) == -1 + && access("/lib64", F_OK) == -1) { + ffStrbufSetS(&os->id, "rosaos"); + ffStrbufSetS(&os->idLike, "rosaos"); + ffStrbufSetS(&os->name, "Rosa OS"); + ffStrbufSetS(&os->prettyName, "Rosa OS"); + return; + } + if (detectBedrock(os)) { return; } diff --git a/src/logo/ascii/rosaos.txt b/src/logo/ascii/rosaos.txt new file mode 100644 index 00000000..a821bff9 --- /dev/null +++ b/src/logo/ascii/rosaos.txt @@ -0,0 +1,21 @@ +$1 + .::::::. + .:. .::::::::::::. + .::::) .:::(( (:::: + .::::)::::) :::::.. .: .. + ::::) :::) .:(:::: <. (< :::. + .::: .::: .:(. :. :. ::::. + .::(:::^ ::- := :: . .::::. + :. .:: ::(::::::::. .:. :. ::::: +.-::. . >.(:::::::. .:. .::. ::::: +:::::. .::::+ )( .:::: ::::- +::::::. :::::::: .-:::: +::::::: .::::::::::::::::::) ::::::. +::::::( .::::::::::::::::::. ::::::: +.::::::. .::::::::::::::) .:::::::: + .::::::::. :::::::::::( .:::::::) + )::::::::::: (:::::() :::::::::) + )(::::::.. :::::::::) + .::::::::::) + *:::::::::) + <*::::. diff --git a/src/logo/builtin.c b/src/logo/builtin.c index 1775a627..d94e212d 100644 --- a/src/logo/builtin.c +++ b/src/logo/builtin.c @@ -4461,6 +4461,16 @@ static const FFlogo R[] = { .colorKeys = FF_COLOR_FG_RGB "100;165;225", .colorTitle = FF_COLOR_FG_RGB "100;165;225", }, + // Rosa OS + { + .names = {"rosaos", "rosa-os"}, + .lines = FASTFETCH_DATATEXT_LOGO_ROSAOS, + .colors = { + FF_COLOR_FG_RGB "71;215;247", + }, + .colorKeys = FF_COLOR_FG_RGB "71;215;247", + .colorTitle = FF_COLOR_FG_RGB "71;215;247", + }, // RhinoLinux { .names = { "Rhino Linux" },