Packages: support eopkg for Solus (#360)

UNTESTED
This commit is contained in:
李通洲 2022-12-27 17:36:58 +08:00
parent 5160644016
commit 0a83423731
No known key found for this signature in database
GPG Key ID: 3570F9F0F4410388
6 changed files with 13 additions and 6 deletions

View File

@ -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

View File

@ -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: {}

View File

@ -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;

View File

@ -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");

View File

@ -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)

View File

@ -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},