Packages (Linux): adds cards counting (NuTyX) (#2287)

* Packages:add cards counting (NuTyX)

* package.c
no need to add counts.catds

* Sort packages print alphabetically

* ditto

* ditto

* packages.c
update FF_ARG and ffpackagesModule.info

---------

Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
This commit is contained in:
tnut
2026-04-27 13:31:08 +02:00
committed by GitHub
parent ba7e1eb18b
commit 8b611899d1
4 changed files with 11 additions and 0 deletions
+1
View File
@@ -10,6 +10,7 @@ typedef struct FFPackagesResult {
uint32_t appimage;
uint32_t brew;
uint32_t brewCask;
uint32_t cards;
uint32_t choco;
uint32_t dpkg;
uint32_t emerge;
+3
View File
@@ -537,6 +537,9 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (!(options->disabled & FF_PACKAGES_FLAG_MOSS_BIT)) {
packageCounts->moss += getSQLite3Int(baseDir, "/.moss/db/state", "SELECT COUNT(*) FROM state_selections WHERE state_id = (SELECT MAX(id) FROM state)", "moss");
}
if (!(options->disabled & FF_PACKAGES_FLAG_CARDS_BIT)) {
packageCounts->cards += getNumElements(baseDir, "/var/lib/pkg/DB", true);
}
}
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options) {
+1
View File
@@ -38,6 +38,7 @@ typedef enum FF_A_PACKED FFPackagesFlags {
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
FF_PACKAGES_FLAG_MOSS_BIT = 1ULL << 32,
FF_PACKAGES_FLAG_APPIMAGE_BIT = 1ULL << 33,
FF_PACKAGES_FLAG_CARDS_BIT = 1ULL << 34,
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
+6
View File
@@ -61,6 +61,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
FF_PRINT_PACKAGE_NAME(brew, "brew")
FF_PRINT_PACKAGE_NAME(brewCask, "brew-cask")
}
FF_PRINT_PACKAGE(cards)
FF_PRINT_PACKAGE(choco)
FF_PRINT_PACKAGE(dpkg)
FF_PRINT_PACKAGE(emerge)
@@ -151,6 +152,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
FF_ARG(counts.brew, "brew"),
FF_ARG(brewAll, "brew-all"),
FF_ARG(counts.brewCask, "brew-cask"),
FF_ARG(counts.cards, "cards"),
FF_ARG(counts.choco, "choco"),
FF_ARG(counts.dpkg, "dpkg"),
FF_ARG(counts.emerge, "emerge"),
@@ -247,6 +249,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) {
case 'C':
if (false)
;
FF_TEST_PACKAGE_NAME(CARDS)
FF_TEST_PACKAGE_NAME(CHOCO)
break;
case 'D':
@@ -371,6 +374,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
FF_TEST_PACKAGE_NAME(APK)
FF_TEST_PACKAGE_NAME(APPIMAGE)
FF_TEST_PACKAGE_NAME(BREW)
FF_TEST_PACKAGE_NAME(CARDS)
FF_TEST_PACKAGE_NAME(CHOCO)
FF_TEST_PACKAGE_NAME(DPKG)
FF_TEST_PACKAGE_NAME(EMERGE)
@@ -429,6 +433,7 @@ bool ffGeneratePackagesJsonResult(FF_A_UNUSED FFPackagesOptions* options, yyjson
FF_APPEND_PACKAGE_COUNT(apk)
FF_APPEND_PACKAGE_COUNT(brew)
FF_APPEND_PACKAGE_COUNT(brewCask)
FF_APPEND_PACKAGE_COUNT(cards)
FF_APPEND_PACKAGE_COUNT(choco)
FF_APPEND_PACKAGE_COUNT(dpkg)
FF_APPEND_PACKAGE_COUNT(emerge)
@@ -502,6 +507,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{ "Number of brew packages", "brew" },
{ "Total number of all brew packages", "brew-all" },
{ "Number of brew-cask packages", "brew-cask" },
{ "Number of cards packages", "cards" },
{ "Number of choco packages", "choco" },
{ "Number of dpkg packages", "dpkg" },
{ "Number of emerge packages", "emerge" },