From 0a83423731a56ffb1bf5cb542dcab6ab0bcf7d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 27 Dec 2022 17:36:58 +0800 Subject: [PATCH] Packages: support eopkg for Solus (#360) UNTESTED --- README.md | 2 +- presets/verbose | 2 +- src/detection/packages/packages.h | 1 + src/detection/packages/packages_linux.c | 1 + src/fastfetch.c | 9 ++++++--- src/modules/packages.c | 4 +++- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 53268059f..9d17386d1 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ AlmaLinux, Alpine, Android, Arch, Arco, Artix, Bedrock, CachyOS, CentOS, CRUX, C ##### Package managers ``` -Pacman, dpkg, rpm, emerge, xbps, nix, Flatpak, Snap, apk, pkg, brew, MacPorts, scoop, Chocolatey +Pacman, dpkg, rpm, emerge, eopkg, xbps, nix, Flatpak, Snap, apk, pkg, brew, MacPorts, scoop, Chocolatey ``` ##### WM themes diff --git a/presets/verbose b/presets/verbose index 912e5baf4..5a9f2f0e5 100644 --- a/presets/verbose +++ b/presets/verbose @@ -3,7 +3,7 @@ --kernel-format Sysname: {}; Release: {}; Version: {} --uptime-format Days: {}; Hours: {}; Minutes: {}; Seconds: {} --processes-format Count: {} ---packages-format All: {}; pacman: {}; pacman branch: {}; dpkg: {}; rpm: {}; emerge: {}; xbps: {}; apk: {}; flatpak: {}; snap: {}; brew: {}; brew-cask: {}; port: {}; scoop: {}; choco: {} +--packages-format All: {}; pacman: {}; pacman branch: {}; dpkg: {}; rpm: {}; emerge: {}; eopkg: {}; xbps: {}; apk: {}; flatpak: {}; snap: {}; brew: {}; brew-cask: {}; port: {}; scoop: {}; choco: {} --shell-format Process name: {}; Process path: {}; Process exe: {}; Process version: {}; User path: {}; User exe: {}; User version: {} --resolution-format Width: {}; Height: {}; Refresh rate: {} --de-format Process name: {}; Pretty name: {}; Version: {} diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h index ca8b3feea..9665b5695 100644 --- a/src/detection/packages/packages.h +++ b/src/detection/packages/packages.h @@ -13,6 +13,7 @@ typedef struct FFPackagesResult uint32_t choco; uint32_t dpkg; uint32_t emerge; + uint32_t eopkg; uint32_t flatpak; uint32_t nixDefault; uint32_t nixSystem; diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c index 254565ed2..f4b363d54 100644 --- a/src/detection/packages/packages_linux.c +++ b/src/detection/packages/packages_linux.c @@ -266,6 +266,7 @@ static void getPackageCounts(const FFinstance* instance, FFstrbuf* baseDir, FFPa packageCounts->apk += getNumStrings(baseDir, "/lib/apk/db/installed", "C:Q"); packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: "); packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE"); + packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", DT_DIR); packageCounts->flatpak += getNumElements(baseDir, "/var/lib/flatpak/app", DT_DIR); packageCounts->nixDefault += getNixPackages(baseDir, "/nix/var/nix/profiles/default"); packageCounts->nixSystem += getNixPackages(baseDir, "/run/current-system"); diff --git a/src/fastfetch.c b/src/fastfetch.c index d38bc3d2e..ac74ab500 100644 --- a/src/fastfetch.c +++ b/src/fastfetch.c @@ -139,13 +139,14 @@ static inline void printCommandHelp(const char* command) } else if(strcasecmp(command, "packages-format") == 0) { - constructAndPrintCommandHelpFormat("packages", "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (xbps), {8} (nix-system), {9} (nix-user), {10} (nix-default), {11} (apk), {12} (pkg), {13} (flatpak), {14} (snap), {15} (brew), {16} (port), {17} (scoop)", 17, + constructAndPrintCommandHelpFormat("packages", "{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), {15} (snap), {16} (brew), {17} (brew-cask), {18} (port), {19} (scoop), {20} (choco)", 20, "Number of all packages", "Number of pacman packages", "Pacman branch on manjaro", "Number of dpkg packages", "Number of rpm packages", "Number of emerge packages", + "Number of eopkg packages", "Number of xbps packages", "Number of nix-system packages", "Number of nix-user packages", @@ -155,8 +156,10 @@ static inline void printCommandHelp(const char* command) "Number of flatpak packages", "Number of snap packages", "Number of brew packages", - "Number of macports packages" - "Number of scoop packages" + "Number of brew-cask packages", + "Number of macports packages", + "Number of scoop packages", + "Number of choco packages" ); } else if(strcasecmp(command, "shell-format") == 0) diff --git a/src/modules/packages.c b/src/modules/packages.c index 799ab0d3c..d22a2476f 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -3,7 +3,7 @@ #include "detection/packages/packages.h" #define FF_PACKAGES_MODULE_NAME "Packages" -#define FF_PACKAGES_NUM_FORMAT_ARGS 19 +#define FF_PACKAGES_NUM_FORMAT_ARGS 20 void ffPrintPackages(FFinstance* instance) { @@ -42,6 +42,7 @@ void ffPrintPackages(FFinstance* instance) FF_PRINT_PACKAGE(dpkg) FF_PRINT_PACKAGE(rpm) FF_PRINT_PACKAGE(emerge) + FF_PRINT_PACKAGE(eopkg) FF_PRINT_PACKAGE(xbps) FF_PRINT_PACKAGE_NAME(nixSystem, "nix-system") FF_PRINT_PACKAGE_NAME(nixUser, "nix-user") @@ -70,6 +71,7 @@ void ffPrintPackages(FFinstance* instance) {FF_FORMAT_ARG_TYPE_UINT, &counts->dpkg}, {FF_FORMAT_ARG_TYPE_UINT, &counts->rpm}, {FF_FORMAT_ARG_TYPE_UINT, &counts->emerge}, + {FF_FORMAT_ARG_TYPE_UINT, &counts->eopkg}, {FF_FORMAT_ARG_TYPE_UINT, &counts->xbps}, {FF_FORMAT_ARG_TYPE_UINT, &counts->nixSystem}, {FF_FORMAT_ARG_TYPE_UINT, &counts->nixUser},