diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h index 87c497ce01..d8983242ae 100644 --- a/src/detection/packages/packages.h +++ b/src/detection/packages/packages.h @@ -26,6 +26,7 @@ typedef struct FFPackagesResult uint32_t rpm; uint32_t scoop; uint32_t snap; + uint32_t sorcery; uint32_t winget; uint32_t xbps; diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c index aada79a74a..775fb2607e 100644 --- a/src/detection/packages/packages_linux.c +++ b/src/detection/packages/packages_linux.c @@ -433,6 +433,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts, if (!(options->disabled & FF_PACKAGES_FLAG_PALUDIS_BIT)) packageCounts->paludis += countFilesRecursive(baseDir, "/var/db/paludis/repositories", "environment.bz2"); if (!(options->disabled & FF_PACKAGES_FLAG_OPKG_BIT)) packageCounts->opkg += getNumStrings(baseDir, "/usr/lib/opkg/status", "Package:"); // openwrt if (!(options->disabled & FF_PACKAGES_FLAG_AM_BIT)) packageCounts->am = getAM(baseDir); + if (!(options->disabled & FF_PACKAGES_FLAG_SORCERY_BIT)) packageCounts->sorcery += getNumStrings(baseDir, "/var/state/sorcery/packages", ":installed:"); } static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options) diff --git a/src/logo/builtin.c b/src/logo/builtin.c index df4c95c6d5..019aa07d28 100644 --- a/src/logo/builtin.c +++ b/src/logo/builtin.c @@ -3791,14 +3791,14 @@ static const FFlogo S[] = { FF_COLOR_FG_WHITE, }, }, - // SourceMage + // Source Mage { - .names = {"Source Mage", "source_mage"}, + .names = {"Source Mage", "Source Mage GNU/Linux", "source_mage", "sourcemage"}, .lines = FASTFETCH_DATATEXT_LOGO_SOURCE_MAGE, .colors = { FF_COLOR_FG_WHITE, }, - .colorKeys = FF_COLOR_FG_BLUE, + .colorKeys = FF_COLOR_FG_RED, .colorTitle = FF_COLOR_FG_WHITE, }, // Solaris diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h index 315ff0dc39..66d332d5db 100644 --- a/src/modules/packages/option.h +++ b/src/modules/packages/option.h @@ -27,6 +27,7 @@ typedef enum FFPackagesFlags FF_PACKAGES_FLAG_WINGET_BIT = 1 << 17, FF_PACKAGES_FLAG_XBPS_BIT = 1 << 18, FF_PACKAGES_FLAG_AM_BIT = 1 << 19, + FF_PACKAGES_FLAG_SORCERY_BIT = 1 << 20, } FFPackagesFlags; typedef struct FFPackagesOptions diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c index 7f411d0232..52ab6906d4 100644 --- a/src/modules/packages/packages.c +++ b/src/modules/packages/packages.c @@ -4,7 +4,7 @@ #include "modules/packages/packages.h" #include "util/stringUtils.h" -#define FF_PACKAGES_NUM_FORMAT_ARGS 29 +#define FF_PACKAGES_NUM_FORMAT_ARGS 30 void ffPrintPackages(FFPackagesOptions* options) { @@ -65,6 +65,7 @@ void ffPrintPackages(FFPackagesOptions* options) FF_PRINT_PACKAGE(winget) FF_PRINT_PACKAGE(opkg) FF_PRINT_PACKAGE(am) + FF_PRINT_PACKAGE(sorcery) putchar('\n'); } @@ -100,6 +101,7 @@ void ffPrintPackages(FFPackagesOptions* options) {FF_FORMAT_ARG_TYPE_UINT, &counts.winget}, {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, &nixAll}, {FF_FORMAT_ARG_TYPE_UINT, &flatpakAll}, {FF_FORMAT_ARG_TYPE_UINT, &brewAll}, @@ -172,6 +174,7 @@ bool ffParsePackagesCommandOptions(FFPackagesOptions* options, const char* key, case 'S': if (false); FF_TEST_PACKAGE_NAME(SCOOP) FF_TEST_PACKAGE_NAME(SNAP) + FF_TEST_PACKAGE_NAME(SORCERY) break; case 'W': if (false); FF_TEST_PACKAGE_NAME(WINGET) @@ -272,6 +275,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) case 'S': if (false); FF_TEST_PACKAGE_NAME(SCOOP) FF_TEST_PACKAGE_NAME(SNAP) + FF_TEST_PACKAGE_NAME(SORCERY) break; case 'W': if (false); FF_TEST_PACKAGE_NAME(WINGET) @@ -322,6 +326,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do FF_TEST_PACKAGE_NAME(WINGET) FF_TEST_PACKAGE_NAME(XBPS) FF_TEST_PACKAGE_NAME(AM) + FF_TEST_PACKAGE_NAME(SORCERY) #undef FF_TEST_PACKAGE_NAME } } @@ -368,12 +373,13 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy FF_APPEND_PACKAGE_COUNT(xbps) FF_APPEND_PACKAGE_COUNT(opkg) FF_APPEND_PACKAGE_COUNT(am) + FF_APPEND_PACKAGE_COUNT(sorcery) yyjson_mut_obj_add_strbuf(doc, obj, "pacmanBranch", &counts.pacmanBranch); } 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)", 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} (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* []) { "Number of all packages", "Number of pacman packages", "Pacman branch on manjaro", @@ -400,6 +406,7 @@ void ffPrintPackagesHelpFormat(void) "Number of winget packages", "Number of opkg packages", "Number of am packages", + "Number of sorcery packages", "Total number of all nix packages", "Total number of all flatpak packages", "Total number of all brew packages",