Skip to content

Commit 8b61189

Browse files
tnutCarterLi
andauthored
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>
1 parent ba7e1eb commit 8b61189

4 files changed

Lines changed: 11 additions & 0 deletions

File tree

src/detection/packages/packages.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ typedef struct FFPackagesResult {
1010
uint32_t appimage;
1111
uint32_t brew;
1212
uint32_t brewCask;
13+
uint32_t cards;
1314
uint32_t choco;
1415
uint32_t dpkg;
1516
uint32_t emerge;

src/detection/packages/packages_linux.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,9 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
537537
if (!(options->disabled & FF_PACKAGES_FLAG_MOSS_BIT)) {
538538
packageCounts->moss += getSQLite3Int(baseDir, "/.moss/db/state", "SELECT COUNT(*) FROM state_selections WHERE state_id = (SELECT MAX(id) FROM state)", "moss");
539539
}
540+
if (!(options->disabled & FF_PACKAGES_FLAG_CARDS_BIT)) {
541+
packageCounts->cards += getNumElements(baseDir, "/var/lib/pkg/DB", true);
542+
}
540543
}
541544

542545
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options) {

src/modules/packages/option.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ typedef enum FF_A_PACKED FFPackagesFlags {
3838
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
3939
FF_PACKAGES_FLAG_MOSS_BIT = 1ULL << 32,
4040
FF_PACKAGES_FLAG_APPIMAGE_BIT = 1ULL << 33,
41+
FF_PACKAGES_FLAG_CARDS_BIT = 1ULL << 34,
4142
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
4243
} FFPackagesFlags;
4344
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");

src/modules/packages/packages.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
6161
FF_PRINT_PACKAGE_NAME(brew, "brew")
6262
FF_PRINT_PACKAGE_NAME(brewCask, "brew-cask")
6363
}
64+
FF_PRINT_PACKAGE(cards)
6465
FF_PRINT_PACKAGE(choco)
6566
FF_PRINT_PACKAGE(dpkg)
6667
FF_PRINT_PACKAGE(emerge)
@@ -151,6 +152,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
151152
FF_ARG(counts.brew, "brew"),
152153
FF_ARG(brewAll, "brew-all"),
153154
FF_ARG(counts.brewCask, "brew-cask"),
155+
FF_ARG(counts.cards, "cards"),
154156
FF_ARG(counts.choco, "choco"),
155157
FF_ARG(counts.dpkg, "dpkg"),
156158
FF_ARG(counts.emerge, "emerge"),
@@ -247,6 +249,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) {
247249
case 'C':
248250
if (false)
249251
;
252+
FF_TEST_PACKAGE_NAME(CARDS)
250253
FF_TEST_PACKAGE_NAME(CHOCO)
251254
break;
252255
case 'D':
@@ -371,6 +374,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
371374
FF_TEST_PACKAGE_NAME(APK)
372375
FF_TEST_PACKAGE_NAME(APPIMAGE)
373376
FF_TEST_PACKAGE_NAME(BREW)
377+
FF_TEST_PACKAGE_NAME(CARDS)
374378
FF_TEST_PACKAGE_NAME(CHOCO)
375379
FF_TEST_PACKAGE_NAME(DPKG)
376380
FF_TEST_PACKAGE_NAME(EMERGE)
@@ -429,6 +433,7 @@ bool ffGeneratePackagesJsonResult(FF_A_UNUSED FFPackagesOptions* options, yyjson
429433
FF_APPEND_PACKAGE_COUNT(apk)
430434
FF_APPEND_PACKAGE_COUNT(brew)
431435
FF_APPEND_PACKAGE_COUNT(brewCask)
436+
FF_APPEND_PACKAGE_COUNT(cards)
432437
FF_APPEND_PACKAGE_COUNT(choco)
433438
FF_APPEND_PACKAGE_COUNT(dpkg)
434439
FF_APPEND_PACKAGE_COUNT(emerge)
@@ -502,6 +507,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
502507
{ "Number of brew packages", "brew" },
503508
{ "Total number of all brew packages", "brew-all" },
504509
{ "Number of brew-cask packages", "brew-cask" },
510+
{ "Number of cards packages", "cards" },
505511
{ "Number of choco packages", "choco" },
506512
{ "Number of dpkg packages", "dpkg" },
507513
{ "Number of emerge packages", "emerge" },

0 commit comments

Comments
 (0)