diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h index aef482d84..2e3213e7e 100644 --- a/src/detection/packages/packages.h +++ b/src/detection/packages/packages.h @@ -25,17 +25,18 @@ typedef struct FFPackagesResult uint32_t nixUser; uint32_t opkg; uint32_t pacman; + uint32_t pacstall; uint32_t paludis; uint32_t pkg; uint32_t pkgtool; uint32_t macports; + uint32_t mport; uint32_t rpm; uint32_t scoop; uint32_t snap; uint32_t sorcery; uint32_t winget; uint32_t xbps; - uint32_t pacstall; uint32_t all; //Make sure this goes last diff --git a/src/detection/packages/packages_bsd.c b/src/detection/packages/packages_bsd.c index 511af569b..4ad2d8b49 100644 --- a/src/detection/packages/packages_bsd.c +++ b/src/detection/packages/packages_bsd.c @@ -21,7 +21,7 @@ static uint32_t getSQLite3Int(const char* dbPath, const char* query, const char* void ffDetectPackagesImpl(FFPackagesResult* result, FFPackagesOptions* options) { if (!(options->disabled & FF_PACKAGES_FLAG_PKG_BIT)) - { result->pkg = getSQLite3Int(FASTFETCH_TARGET_DIR_ROOT "/var/db/pkg/local.sqlite", "SELECT count(*) FROM packages", "pkg"); - } + if (!(options->disabled & FF_PACKAGES_FLAG_MPORT_BIT)) + result->mport = getSQLite3Int(FASTFETCH_TARGET_DIR_ROOT "/var/db/mport/master.db", "SELECT count(*) FROM packages", "mport"); } diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h index e3f3d54c7..976640d09 100644 --- a/src/modules/packages/option.h +++ b/src/modules/packages/option.h @@ -33,6 +33,7 @@ typedef enum FFPackagesFlags FF_PACKAGES_FLAG_GUIX_BIT = 1 << 23, FF_PACKAGES_FLAG_LINGLONG_BIT = 1 << 24, FF_PACKAGES_FLAG_PACSTALL_BIT = 1 << 25, + FF_PACKAGES_FLAG_MPORT_BIT = 1 << 26, } FFPackagesFlags; typedef struct FFPackagesOptions diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c index e33b18d49..c33b7ca8e 100644 --- a/src/modules/packages/packages.c +++ b/src/modules/packages/packages.c @@ -4,7 +4,7 @@ #include "modules/packages/packages.h" #include "util/stringUtils.h" -#define FF_PACKAGES_NUM_FORMAT_ARGS 38 +#define FF_PACKAGES_NUM_FORMAT_ARGS 39 void ffPrintPackages(FFPackagesOptions* options) { @@ -73,6 +73,7 @@ void ffPrintPackages(FFPackagesOptions* options) FF_PRINT_PACKAGE_NAME(guixHome, "guix-home") FF_PRINT_PACKAGE(linglong) FF_PRINT_PACKAGE(pacstall) + FF_PRINT_PACKAGE(mport) putchar('\n'); } @@ -117,6 +118,7 @@ void ffPrintPackages(FFPackagesOptions* options) FF_FORMAT_ARG(counts.guixHome, "guix-home"), FF_FORMAT_ARG(counts.linglong, "linglong"), FF_FORMAT_ARG(counts.pacstall, "pacstall"), + FF_FORMAT_ARG(counts.mport, "mport"), FF_FORMAT_ARG(nixAll, "nix-all"), FF_FORMAT_ARG(flatpakAll, "flatpak-all"), FF_FORMAT_ARG(brewAll, "brew-all"), @@ -179,6 +181,7 @@ bool ffParsePackagesCommandOptions(FFPackagesOptions* options, const char* key, break; case 'M': if (false); FF_TEST_PACKAGE_NAME(MACPORTS) + FF_TEST_PACKAGE_NAME(MPORT) break; case 'N': if (false); FF_TEST_PACKAGE_NAME(NIX) @@ -279,7 +282,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) case 'F': if (false); FF_TEST_PACKAGE_NAME(FLATPAK) break; - case 'G': if (false); + case 'G': if (false); FF_TEST_PACKAGE_NAME(GUIX) break; case 'L': if (false); @@ -289,6 +292,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) break; case 'M': if (false); FF_TEST_PACKAGE_NAME(MACPORTS) + FF_TEST_PACKAGE_NAME(MPORT) break; case 'N': if (false); FF_TEST_PACKAGE_NAME(NIX) @@ -353,6 +357,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do FF_TEST_PACKAGE_NAME(LPKG) FF_TEST_PACKAGE_NAME(LPKGBUILD) FF_TEST_PACKAGE_NAME(MACPORTS) + FF_TEST_PACKAGE_NAME(MPORT) FF_TEST_PACKAGE_NAME(NIX) FF_TEST_PACKAGE_NAME(OPKG) FF_TEST_PACKAGE_NAME(PACMAN) @@ -418,6 +423,7 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy FF_APPEND_PACKAGE_COUNT(guixHome) FF_APPEND_PACKAGE_COUNT(linglong) FF_APPEND_PACKAGE_COUNT(pacstall) + FF_APPEND_PACKAGE_COUNT(mport) yyjson_mut_obj_add_strbuf(doc, obj, "pacmanBranch", &counts.pacmanBranch); } @@ -458,6 +464,7 @@ void ffPrintPackagesHelpFormat(void) "Number of guix-home packages - guix-home", "Number of linglong packages - linglong", "Number of pacstall packages - pacstall", + "Number of mport packages - mport", "Total number of all nix packages - nix-all", "Total number of all flatpak app packages - flatpak-all", "Total number of all brew packages - brew-all",