🔒 Repository is read-only – file editing is disabled.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
<<<<<<< HEAD
=======
>>>>>>> b6f6834315d5e261afdbd835304bab1190991b51
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
index 8b8a435..5887e65 100644
--- a/src/detection/packages/packages.h
+++ b/src/detection/packages/packages.h
@@ -10,6 +10,7 @@ typedef struct FFPackagesResult
uint32_t apk;
uint32_t brew;
uint32_t brewCask;
+ uint32_t cards;
uint32_t choco;
uint32_t dpkg;
uint32_t emerge;
diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c
index 8d9c9b0..27e17be 100644
--- a/src/detection/packages/packages_linux.c
+++ b/src/detection/packages/packages_linux.c
@@ -493,6 +493,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (!(options->disabled & FF_PACKAGES_FLAG_PISI_BIT)) packageCounts->pisi += getNumElements(baseDir, "/var/lib/pisi/package", true);
if (!(options->disabled & FF_PACKAGES_FLAG_PKGSRC_BIT)) packageCounts->pkgsrc += getNumElements(baseDir, "/usr/pkg/pkgdb", DT_DIR);
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)
diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h
index 45c0497..271c836 100644
--- a/src/modules/packages/option.h
+++ b/src/modules/packages/option.h
@@ -38,6 +38,7 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
FF_PACKAGES_FLAG_MOSS_BIT = 1ULL << 32,
+ FF_PACKAGES_FLAG_CARDS_BIT = 1ULL << 33,
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c
index 6552d53..f2c9d49 100644
--- a/src/modules/packages/packages.c
+++ b/src/modules/packages/packages.c
@@ -24,6 +24,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
uint32_t hpkgAll = counts.hpkgSystem + counts.hpkgUser;
uint32_t amAll = counts.amSystem + counts.amUser;
uint32_t scoopAll = counts.scoopUser + counts.scoopGlobal;
+ counts.all += counts.cards;
if(options->moduleArgs.outputFormat.length == 0)
{
@@ -120,6 +121,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_PRINT_PACKAGE(paludis)
FF_PRINT_PACKAGE(winget)
FF_PRINT_PACKAGE(opkg)
+ FF_PRINT_PACKAGE(cards)
if (options->combined)
{
FF_PRINT_PACKAGE_ALL(am);
@@ -255,6 +257,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
break;
case 'C': if (false);
FF_TEST_PACKAGE_NAME(CHOCO)
+ FF_TEST_PACKAGE_NAME(CARDS)
break;
case 'D': if (false);
FF_TEST_PACKAGE_NAME(DPKG)
@@ -347,6 +350,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
FF_TEST_PACKAGE_NAME(AM)
FF_TEST_PACKAGE_NAME(APK)
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)
@@ -421,6 +425,7 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
FF_APPEND_PACKAGE_COUNT(macports)
FF_APPEND_PACKAGE_COUNT(mport)
FF_APPEND_PACKAGE_COUNT(moss)
+ FF_APPEND_PACKAGE_COUNT(cards)
FF_APPEND_PACKAGE_COUNT(nixDefault)
FF_APPEND_PACKAGE_COUNT(nixSystem)
FF_APPEND_PACKAGE_COUNT(nixUser)