Packages (Linux): adds support for package detection for CRUX linux

This commit is contained in:
Matt Housh
2026-09-04 05:14:21 -05:00
committed by GitHub
parent 62f78ca60c
commit 4e78f1b703
5 changed files with 13 additions and 1 deletions
+1
View File
@@ -12,6 +12,7 @@ typedef struct FFPackagesResult {
uint32_t brewCask;
uint32_t cards;
uint32_t choco;
uint32_t crux;
uint32_t dpkg;
uint32_t emerge;
uint32_t eopkg;
+3
View File
@@ -487,6 +487,9 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (FF_PACKAGES_IS_ENABLED(options, APK)) {
packageCounts->apk += getNumStrings(baseDir, "/lib/apk/db/installed", "C:Q", "apk");
}
if (FF_PACKAGES_IS_ENABLED(options, CRUX)) {
packageCounts->crux += getNumStrings(baseDir, "/var/lib/pkg/db", "\n\n", "crux");
}
if (FF_PACKAGES_IS_ENABLED(options, DPKG)) {
packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: install ok installed", "dpkg");
}
+1
View File
@@ -41,6 +41,7 @@ typedef enum FFPackagesFlags: uint64_t {
FF_PACKAGES_FLAG_CARDS_BIT = UINT64_C(1) << 34U,
FF_PACKAGES_FLAG_PORG_BIT = UINT64_C(1) << 35U,
FF_PACKAGES_FLAG_INSTALLRELEASE_BIT = UINT64_C(1) << 36U,
FF_PACKAGES_FLAG_CRUX_BIT = UINT64_C(1) << 37U,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
+6
View File
@@ -63,6 +63,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
}
FF_PRINT_PACKAGE(cards)
FF_PRINT_PACKAGE(choco)
FF_PRINT_PACKAGE(crux)
FF_PRINT_PACKAGE(dpkg)
FF_PRINT_PACKAGE(emerge)
FF_PRINT_PACKAGE(eopkg)
@@ -154,6 +155,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
FF_ARG(counts.brewCask, "brew-cask"),
FF_ARG(counts.cards, "cards"),
FF_ARG(counts.choco, "choco"),
FF_ARG(counts.choco, "crux"),
FF_ARG(counts.dpkg, "dpkg"),
FF_ARG(counts.emerge, "emerge"),
FF_ARG(counts.eopkg, "eopkg"),
@@ -257,6 +259,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) {
;
FF_TEST_PACKAGE_NAME(CARDS)
FF_TEST_PACKAGE_NAME(CHOCO)
FF_TEST_PACKAGE_NAME(CRUX)
break;
case 'D':
if (false)
@@ -390,6 +393,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
FF_TEST_PACKAGE_NAME(BREW)
FF_TEST_PACKAGE_NAME(CARDS)
FF_TEST_PACKAGE_NAME(CHOCO)
FF_TEST_PACKAGE_NAME(CRUX)
FF_TEST_PACKAGE_NAME(DPKG)
FF_TEST_PACKAGE_NAME(EMERGE)
FF_TEST_PACKAGE_NAME(EOPKG)
@@ -451,6 +455,7 @@ bool ffGeneratePackagesJsonResult(FFPackagesOptions* options, yyjson_mut_doc* do
FF_APPEND_PACKAGE_COUNT(brewCask)
FF_APPEND_PACKAGE_COUNT(cards)
FF_APPEND_PACKAGE_COUNT(choco)
FF_APPEND_PACKAGE_COUNT(crux)
FF_APPEND_PACKAGE_COUNT(dpkg)
FF_APPEND_PACKAGE_COUNT(emerge)
FF_APPEND_PACKAGE_COUNT(eopkg)
@@ -549,6 +554,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{ "Number of brew-cask packages", "brew-cask" },
{ "Number of cards packages", "cards" },
{ "Number of choco packages", "choco" },
{ "Number of crux packages", "crux" },
{ "Number of dpkg packages", "dpkg" },
{ "Number of emerge packages", "emerge" },
{ "Number of eopkg packages", "eopkg" },