Add Loc-OS Linux support (#926)

* Logo (Builtin): add Loc-OS

* Packages (Linux): add lpkg and lpkgbuild detection
This commit is contained in:
Anonyzard
2024-05-16 22:19:26 -03:00
committed by GitHub
parent b4a6606faf
commit 06b2ff9a08
7 changed files with 61 additions and 2 deletions
+7
View File
@@ -156,6 +156,13 @@ static bool detectDebianDerived(FFOSResult* result)
ffStrbufSetNS(&result->versionID, versionEnd - versionStart, result->prettyName.chars + versionStart);
return true;
}
else if (ffStrbufStartsWithS(&result->name, "Loc-OS"))
{
ffStrbufSetS(&result->name, "Loc-OS Linux"); // (ffStrbufEqualS(&os->id, "MX")
ffStrbufSetS(&result->id, "locos");
ffStrbufSetS(&result->idLike, "debian");
return true;
}
else if (ffPathExists("/usr/bin/pveversion", FF_PATHTYPE_FILE))
{
ffStrbufSetS(&result->id, "pve");
+2
View File
@@ -14,6 +14,8 @@ typedef struct FFPackagesResult
uint32_t eopkg;
uint32_t flatpakSystem;
uint32_t flatpakUser;
uint32_t lpkg;
uint32_t lpkgbuild;
uint32_t nixDefault;
uint32_t nixSystem;
uint32_t nixUser;
+2
View File
@@ -412,6 +412,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
{
if (!(options->disabled & FF_PACKAGES_FLAG_APK_BIT)) packageCounts->apk += getNumStrings(baseDir, "/lib/apk/db/installed", "C:Q");
if (!(options->disabled & FF_PACKAGES_FLAG_DPKG_BIT)) packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: install ok installed");
if (!(options->disabled & FF_PACKAGES_FLAG_LPKG_BIT)) packageCounts->lpkg += getNumStrings(baseDir, "/opt/Loc-OS-LPKG/installed-lpkg/Listinstalled-lpkg.list", "\n");
if (!(options->disabled & FF_PACKAGES_FLAG_EMERGE_BIT)) packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE");
if (!(options->disabled & FF_PACKAGES_FLAG_EOPKG_BIT)) packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", DT_DIR);
if (!(options->disabled & FF_PACKAGES_FLAG_FLATPAK_BIT)) packageCounts->flatpakSystem += getFlatpak(baseDir, "/var/lib/flatpak");
@@ -421,6 +422,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
packageCounts->nixSystem += getNixPackages(baseDir, "/run/current-system");
}
if (!(options->disabled & FF_PACKAGES_FLAG_PACMAN_BIT)) packageCounts->pacman += getNumElements(baseDir, "/var/lib/pacman/local", DT_DIR);
if (!(options->disabled & FF_PACKAGES_FLAG_LPKGBUILD_BIT)) packageCounts->lpkgbuild += getNumElements(baseDir, "/opt/Loc-OS-LPKG/lpkgbuild/remove", DT_REG);
if (!(options->disabled & FF_PACKAGES_FLAG_PKGTOOL_BIT)) packageCounts->pkgtool += getNumElements(baseDir, "/var/log/packages", DT_REG);
if (!(options->disabled & FF_PACKAGES_FLAG_RPM_BIT)) packageCounts->rpm += getSQLite3Int(baseDir, "/var/lib/rpm/rpmdb.sqlite", "SELECT count(*) FROM Packages");
if (!(options->disabled & FF_PACKAGES_FLAG_SNAP_BIT)) packageCounts->snap += getSnap(baseDir);
+18
View File
@@ -0,0 +1,18 @@
$3..;:::::::;.
.0X'$1''''''''''''$3'N:
:Xd$1,.'''''''''''''''$3lKx
.0o$1'.'''''''''''''''''''$3:K;
.O$1;.'$3okOx:$1'''''''''$3,dOOx:$1''$3O;
xc$1.'$3xXl$1 $3kX;$1''$2:cc;$1''$3kXl$1 $3OX;$1''$3k.
'x$1..'$3:0X0Xx$1',$2OOOOOd$1,:$30X0Xx$1'''$3o:
::$1..'$2,clollxOOOOOOOOdlddlc$1''''$3d
l'$1..$2':kkkkOOOOOOOOOOOOkkkx,$1'''$3x
o$1...''''',$2codxkkxxxdl$1:''''''''$3d.
d$1...''''''''''''''''''''''''''$3o.
d$1..''''$3,loc,$1''''''''$3;os:,$1'''''$3d'
:d$1..'$3,dKXXXXX0kxxxk0XXXXXX0l$1'''$3,O.
'0$1..'$3cKXXXXXXXXXXXXXXXXXXXXXXk$1'''$3ck
'0$1'.'$3cXXXXXXXXXXXXXXXXXXXXXXXXXO$1'''$3od
.0$1,.''$30XXXXXXXXXXXXXXXXXXXXXXXXXXo$1'''$3k;
cc$1..''$3XXXXXXXXXXXXXXXXXXXXXXXXXXXk$1''''$3k
l$1...',$3XXXXXXXXXXXXXXXXXXXXXXXXXXXO$1''''$3d.
+12
View File
@@ -2385,6 +2385,18 @@ static const FFlogo L[] = {
FF_COLOR_FG_WHITE,
},
},
// Loc-OS
{
.names = {"loc-os", "Loc-OS Linux"},
.lines = FASTFETCH_DATATEXT_LOGO_LOCOS,
.colors = {
FF_COLOR_FG_BLACK,
FF_COLOR_FG_YELLOW,
FF_COLOR_FG_WHITE,
},
.colorKeys = FF_COLOR_FG_YELLOW,
.colorTitle = FF_COLOR_FG_RED,
},
// Lunar
{
.names = {"Lunar"},
+2
View File
@@ -28,6 +28,8 @@ typedef enum FFPackagesFlags
FF_PACKAGES_FLAG_XBPS_BIT = 1 << 18,
FF_PACKAGES_FLAG_AM_BIT = 1 << 19,
FF_PACKAGES_FLAG_SORCERY_BIT = 1 << 20,
FF_PACKAGES_FLAG_LPKG_BIT = 1 << 21,
FF_PACKAGES_FLAG_LPKGBUILD_BIT = 1 << 22,
} FFPackagesFlags;
typedef struct FFPackagesOptions
+18 -2
View File
@@ -4,7 +4,7 @@
#include "modules/packages/packages.h"
#include "util/stringUtils.h"
#define FF_PACKAGES_NUM_FORMAT_ARGS 30
#define FF_PACKAGES_NUM_FORMAT_ARGS 32
void ffPrintPackages(FFPackagesOptions* options)
{
@@ -47,6 +47,8 @@ void ffPrintPackages(FFPackagesOptions* options)
FF_PRINT_PACKAGE(emerge)
FF_PRINT_PACKAGE(eopkg)
FF_PRINT_PACKAGE(xbps)
FF_PRINT_PACKAGE(lpkg)
FF_PRINT_PACKAGE(lpkgbuild)
FF_PRINT_PACKAGE_NAME(nixSystem, "nix-system")
FF_PRINT_PACKAGE_NAME(nixUser, "nix-user")
FF_PRINT_PACKAGE_NAME(nixDefault, "nix-default")
@@ -102,6 +104,8 @@ void ffPrintPackages(FFPackagesOptions* options)
{FF_FORMAT_ARG_TYPE_UINT, &counts.opkg},
{FF_FORMAT_ARG_TYPE_UINT, &counts.am},
{FF_FORMAT_ARG_TYPE_UINT, &counts.sorcery},
{FF_FORMAT_ARG_TYPE_UINT, &counts.lpkg},
{FF_FORMAT_ARG_TYPE_UINT, &counts.lpkgbuild},
{FF_FORMAT_ARG_TYPE_UINT, &nixAll},
{FF_FORMAT_ARG_TYPE_UINT, &flatpakAll},
{FF_FORMAT_ARG_TYPE_UINT, &brewAll},
@@ -153,6 +157,10 @@ bool ffParsePackagesCommandOptions(FFPackagesOptions* options, const char* key,
case 'F': if (false);
FF_TEST_PACKAGE_NAME(FLATPAK)
break;
case 'L': if (false);
FF_TEST_PACKAGE_NAME(LPKG)
FF_TEST_PACKAGE_NAME(LPKGBUILD)
break;
case 'M': if (false);
FF_TEST_PACKAGE_NAME(MACPORTS)
break;
@@ -254,6 +262,10 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
case 'F': if (false);
FF_TEST_PACKAGE_NAME(FLATPAK)
break;
case 'L': if (false);
FF_TEST_PACKAGE_NAME(LPKG)
FF_TEST_PACKAGE_NAME(LPKGBUILD)
break;
case 'M': if (false);
FF_TEST_PACKAGE_NAME(MACPORTS)
break;
@@ -313,6 +325,8 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
FF_TEST_PACKAGE_NAME(EMERGE)
FF_TEST_PACKAGE_NAME(EOPKG)
FF_TEST_PACKAGE_NAME(FLATPAK)
FF_TEST_PACKAGE_NAME(LPKG)
FF_TEST_PACKAGE_NAME(LPKGBUILD)
FF_TEST_PACKAGE_NAME(NIX)
FF_TEST_PACKAGE_NAME(OPKG)
FF_TEST_PACKAGE_NAME(PACMAN)
@@ -379,7 +393,7 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
void ffPrintPackagesHelpFormat(void)
{
FF_PRINT_MODULE_FORMAT_HELP_CHECKED(FF_PACKAGES_MODULE_NAME, "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (eopkg), {8} (xbps), {9} (nix-system), {10} (nix-user), {11} (nix-default), {12} (apk), {13} (pkg), {14} (flatpak-system), {15} (flatpack-user), {16} (snap), {17} (brew), {18} (brew-cask), {19} (MacPorts), {20} (scoop), {21} (choco), {22} (pkgtool), {23} (paludis), {24} (winget), {25} (opkg), {26} (am), {27} (sorcery)", FF_PACKAGES_NUM_FORMAT_ARGS, ((const char* []) {
FF_PRINT_MODULE_FORMAT_HELP_CHECKED(FF_PACKAGES_MODULE_NAME, "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (eopkg), {8} (xbps), {9} (nix-system), {10} (nix-user), {11} (nix-default), {12} (apk), {13} (pkg), {14} (lpkg), {15} (lpkgbuild), {16} (flatpak-system), {17} (flatpack-user), {18} (snap), {19} (brew), {20} (brew-cask), {21} (MacPorts), {22} (scoop), {23} (choco), {24} (pkgtool), {25} (paludis), {26} (winget), {27} (opkg), {28} (am), {29} (sorcery)", FF_PACKAGES_NUM_FORMAT_ARGS, ((const char* []) {
"Number of all packages",
"Number of pacman packages",
"Pacman branch on manjaro",
@@ -393,6 +407,8 @@ void ffPrintPackagesHelpFormat(void)
"Number of nix-default packages",
"Number of apk packages",
"Number of pkg packages",
"Number of lpkg packages",
"Number of lpkgbuild packages",
"Number of flatpak-system packages",
"Number of flatpak-user packages",
"Number of snap packages",