Packages (Linux): support opkg

Fix #574
This commit is contained in:
李通洲
2023-10-07 14:02:16 +08:00
parent 12208b2c7c
commit c77a758741
3 changed files with 9 additions and 4 deletions
+1
View File
@@ -19,6 +19,7 @@ typedef struct FFPackagesResult
uint32_t nixDefault;
uint32_t nixSystem;
uint32_t nixUser;
uint32_t opkg;
uint32_t pacman;
uint32_t paludis;
uint32_t pkg;
+1
View File
@@ -280,6 +280,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts)
packageCounts->brewCask += getNumElements(baseDir, "/home/linuxbrew/.linuxbrew/Caskroom", DT_DIR);
packageCounts->brew += getNumElements(baseDir, "/home/linuxbrew/.linuxbrew/Cellar", DT_DIR);
packageCounts->paludis += countFilesRecursive(baseDir, "/var/db/paludis/repositories", "environment.bz2");
packageCounts->opkg += getNumStrings(baseDir, "/usr/lib/opkg/status", "Package:"); // openwrt
}
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts)
+7 -4
View File
@@ -4,7 +4,7 @@
#include "modules/packages/packages.h"
#include "util/stringUtils.h"
#define FF_PACKAGES_NUM_FORMAT_ARGS 24
#define FF_PACKAGES_NUM_FORMAT_ARGS 25
void ffPrintPackages(FFPackagesOptions* options)
{
@@ -64,6 +64,7 @@ void ffPrintPackages(FFPackagesOptions* options)
FF_PRINT_PACKAGE(pkgtool)
FF_PRINT_PACKAGE(paludis)
FF_PRINT_PACKAGE(winget)
FF_PRINT_PACKAGE(opkg)
putchar('\n');
}
@@ -94,6 +95,7 @@ void ffPrintPackages(FFPackagesOptions* options)
{FF_FORMAT_ARG_TYPE_UINT, &counts.pkgtool},
{FF_FORMAT_ARG_TYPE_UINT, &counts.paludis},
{FF_FORMAT_ARG_TYPE_UINT, &counts.winget},
{FF_FORMAT_ARG_TYPE_UINT, &counts.opkg},
});
}
@@ -183,7 +185,7 @@ void ffGeneratePackagesJson(FF_MAYBE_UNUSED FFPackagesOptions* options, yyjson_m
void ffPrintPackagesHelpFormat(void)
{
ffPrintModuleFormatHelp(FF_PACKAGES_MODULE_NAME, "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (eopkg), {8} (xbps), {9} (nix-system), {10} (nix-user), {11} (nix-default), {12} (apk), {13} (pkg), {14} (flatpak-system), {15} (flatpack-user), {16} (snap), {17} (brew), {18} (brew-cask), {19} (port), {20} (scoop), {21} (choco), {22} (pkgtool), {23} (paludis), {24} (winget)", FF_PACKAGES_NUM_FORMAT_ARGS, (const char* []) {
ffPrintModuleFormatHelp(FF_PACKAGES_MODULE_NAME, "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (eopkg), {8} (xbps), {9} (nix-system), {10} (nix-user), {11} (nix-default), {12} (apk), {13} (pkg), {14} (flatpak-system), {15} (flatpack-user), {16} (snap), {17} (brew), {18} (brew-cask), {19} (port), {20} (scoop), {21} (choco), {22} (pkgtool), {23} (paludis), {24} (winget), {25} (opkg)", FF_PACKAGES_NUM_FORMAT_ARGS, (const char* []) {
"Number of all packages",
"Number of pacman packages",
"Pacman branch on manjaro",
@@ -206,7 +208,8 @@ void ffPrintPackagesHelpFormat(void)
"Number of scoop packages",
"Number of choco packages",
"Number of pkgtool packages",
"Number of paludis packages"
"Number of winget packages"
"Number of paludis packages",
"Number of winget packages",
"Number of opkg packages"
});
}