Packages (Linux): supports moss

Fixes #2191
This commit is contained in:
Carter Li
2026-02-22 22:33:27 +08:00
parent ec1af7c92b
commit 54a68640ef
4 changed files with 11 additions and 2 deletions
+1
View File
@@ -27,6 +27,7 @@ typedef struct FFPackagesResult
uint32_t lpkgbuild;
uint32_t macports;
uint32_t mport;
uint32_t moss;
uint32_t nixDefault;
uint32_t nixSystem;
uint32_t nixUser;
+1
View File
@@ -492,6 +492,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (!(options->disabled & FF_PACKAGES_FLAG_PACSTALL_BIT)) packageCounts->pacstall += getNumElements(baseDir, "/var/lib/pacstall/metadata", false);
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");
}
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options)
+1
View File
@@ -37,6 +37,7 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 29,
FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
FF_PACKAGES_FLAG_MOSS_BIT = 1ULL << 32,
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
+8 -2
View File
@@ -147,6 +147,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_PRINT_PACKAGE(mport)
FF_PRINT_PACKAGE(pisi)
FF_PRINT_PACKAGE(soar)
FF_PRINT_PACKAGE(moss)
putchar('\n');
}
@@ -196,6 +197,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_FORMAT_ARG(counts.pisi, "pisi"),
FF_FORMAT_ARG(counts.soar, "soar"),
FF_FORMAT_ARG(counts.kiss, "kiss"),
FF_FORMAT_ARG(counts.moss, "moss"),
FF_FORMAT_ARG(nixAll, "nix-all"),
FF_FORMAT_ARG(flatpakAll, "flatpak-all"),
FF_FORMAT_ARG(brewAll, "brew-all"),
@@ -281,6 +283,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
case 'M': if (false);
FF_TEST_PACKAGE_NAME(MACPORTS)
FF_TEST_PACKAGE_NAME(MPORT)
FF_TEST_PACKAGE_NAME(MOSS)
break;
case 'N': if (false);
FF_TEST_PACKAGE_NAME(NIX)
@@ -357,6 +360,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
FF_TEST_PACKAGE_NAME(LPKGBUILD)
FF_TEST_PACKAGE_NAME(MACPORTS)
FF_TEST_PACKAGE_NAME(MPORT)
FF_TEST_PACKAGE_NAME(MOSS)
FF_TEST_PACKAGE_NAME(NIX)
FF_TEST_PACKAGE_NAME(OPKG)
FF_TEST_PACKAGE_NAME(PACMAN)
@@ -412,8 +416,11 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
FF_APPEND_PACKAGE_COUNT(guixHome)
FF_APPEND_PACKAGE_COUNT(hpkgSystem)
FF_APPEND_PACKAGE_COUNT(hpkgUser)
FF_APPEND_PACKAGE_COUNT(kiss)
FF_APPEND_PACKAGE_COUNT(linglong)
FF_APPEND_PACKAGE_COUNT(macports)
FF_APPEND_PACKAGE_COUNT(mport)
FF_APPEND_PACKAGE_COUNT(moss)
FF_APPEND_PACKAGE_COUNT(nixDefault)
FF_APPEND_PACKAGE_COUNT(nixSystem)
FF_APPEND_PACKAGE_COUNT(nixUser)
@@ -425,13 +432,11 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
FF_APPEND_PACKAGE_COUNT(pkg)
FF_APPEND_PACKAGE_COUNT(pkgtool)
FF_APPEND_PACKAGE_COUNT(pkgsrc)
FF_APPEND_PACKAGE_COUNT(macports)
FF_APPEND_PACKAGE_COUNT(rpm)
FF_APPEND_PACKAGE_COUNT(scoopUser)
FF_APPEND_PACKAGE_COUNT(scoopGlobal)
FF_APPEND_PACKAGE_COUNT(snap)
FF_APPEND_PACKAGE_COUNT(soar)
FF_APPEND_PACKAGE_COUNT(kiss)
FF_APPEND_PACKAGE_COUNT(sorcery)
FF_APPEND_PACKAGE_COUNT(winget)
FF_APPEND_PACKAGE_COUNT(xbps)
@@ -506,6 +511,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{"Number of pisi packages", "pisi"},
{"Number of soar packages", "soar"},
{"Number of kiss packages", "kiss"},
{"Number of moss packages", "moss"},
{"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"},