Skip to content

Commit c936d17

Browse files
committed
Packages (Linux): support pacstall
1 parent a77d972 commit c936d17

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

src/detection/packages/packages.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ typedef struct FFPackagesResult
3535
uint32_t sorcery;
3636
uint32_t winget;
3737
uint32_t xbps;
38+
uint32_t pacstall;
3839

3940
uint32_t all; //Make sure this goes last
4041

src/detection/packages/packages_linux.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
572572
packageCounts->guixSystem += getGuixPackages(baseDir, "/run/current-system/profile");
573573
}
574574
if (!(options->disabled & FF_PACKAGES_FLAG_LINGLONG_BIT)) packageCounts->linglong += getNumElements(baseDir, "/var/lib/linglong/repo/refs/heads/main", DT_DIR);
575+
if (!(options->disabled & FF_PACKAGES_FLAG_PACSTALL_BIT)) packageCounts->pacstall += getNumElements(baseDir, "/var/lib/pacstall/metadata", DT_REG);
575576
}
576577

577578
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options)

src/modules/packages/option.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ typedef enum FFPackagesFlags
3232
FF_PACKAGES_FLAG_LPKGBUILD_BIT = 1 << 22,
3333
FF_PACKAGES_FLAG_GUIX_BIT = 1 << 23,
3434
FF_PACKAGES_FLAG_LINGLONG_BIT = 1 << 24,
35+
FF_PACKAGES_FLAG_PACSTALL_BIT = 1 << 25,
3536
} FFPackagesFlags;
3637

3738
typedef struct FFPackagesOptions

src/modules/packages/packages.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include "modules/packages/packages.h"
55
#include "util/stringUtils.h"
66

7-
#define FF_PACKAGES_NUM_FORMAT_ARGS 37
7+
#define FF_PACKAGES_NUM_FORMAT_ARGS 38
88

99
void ffPrintPackages(FFPackagesOptions* options)
1010
{
@@ -72,6 +72,7 @@ void ffPrintPackages(FFPackagesOptions* options)
7272
FF_PRINT_PACKAGE_NAME(guixUser, "guix-user")
7373
FF_PRINT_PACKAGE_NAME(guixHome, "guix-home")
7474
FF_PRINT_PACKAGE(linglong)
75+
FF_PRINT_PACKAGE(pacstall)
7576

7677
putchar('\n');
7778
}
@@ -115,6 +116,7 @@ void ffPrintPackages(FFPackagesOptions* options)
115116
FF_FORMAT_ARG(counts.guixUser, "guix-user"),
116117
FF_FORMAT_ARG(counts.guixHome, "guix-home"),
117118
FF_FORMAT_ARG(counts.linglong, "linglong"),
119+
FF_FORMAT_ARG(counts.pacstall, "pacstall"),
118120
FF_FORMAT_ARG(nixAll, "nix-all"),
119121
FF_FORMAT_ARG(flatpakAll, "flatpak-all"),
120122
FF_FORMAT_ARG(brewAll, "brew-all"),
@@ -186,9 +188,10 @@ bool ffParsePackagesCommandOptions(FFPackagesOptions* options, const char* key,
186188
break;
187189
case 'P': if (false);
188190
FF_TEST_PACKAGE_NAME(PACMAN)
191+
FF_TEST_PACKAGE_NAME(PACSTALL)
192+
FF_TEST_PACKAGE_NAME(PALUDIS)
189193
FF_TEST_PACKAGE_NAME(PKG)
190194
FF_TEST_PACKAGE_NAME(PKGTOOL)
191-
FF_TEST_PACKAGE_NAME(PALUDIS)
192195
break;
193196
case 'R': if (false);
194197
FF_TEST_PACKAGE_NAME(RPM)
@@ -295,9 +298,10 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
295298
break;
296299
case 'P': if (false);
297300
FF_TEST_PACKAGE_NAME(PACMAN)
301+
FF_TEST_PACKAGE_NAME(PACSTALL)
302+
FF_TEST_PACKAGE_NAME(PALUDIS)
298303
FF_TEST_PACKAGE_NAME(PKG)
299304
FF_TEST_PACKAGE_NAME(PKGTOOL)
300-
FF_TEST_PACKAGE_NAME(PALUDIS)
301305
break;
302306
case 'R': if (false);
303307
FF_TEST_PACKAGE_NAME(RPM)
@@ -352,6 +356,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
352356
FF_TEST_PACKAGE_NAME(NIX)
353357
FF_TEST_PACKAGE_NAME(OPKG)
354358
FF_TEST_PACKAGE_NAME(PACMAN)
359+
FF_TEST_PACKAGE_NAME(PACSTALL)
355360
FF_TEST_PACKAGE_NAME(PALUDIS)
356361
FF_TEST_PACKAGE_NAME(PKG)
357362
FF_TEST_PACKAGE_NAME(PKGTOOL)
@@ -412,6 +417,7 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
412417
FF_APPEND_PACKAGE_COUNT(guixUser)
413418
FF_APPEND_PACKAGE_COUNT(guixHome)
414419
FF_APPEND_PACKAGE_COUNT(linglong)
420+
FF_APPEND_PACKAGE_COUNT(pacstall)
415421
yyjson_mut_obj_add_strbuf(doc, obj, "pacmanBranch", &counts.pacmanBranch);
416422
}
417423

@@ -451,6 +457,7 @@ void ffPrintPackagesHelpFormat(void)
451457
"Number of guix-user packages - guix-user",
452458
"Number of guix-home packages - guix-home",
453459
"Number of linglong packages - linglong",
460+
"Number of pacstall packages - pacstall",
454461
"Total number of all nix packages - nix-all",
455462
"Total number of all flatpak app packages - flatpak-all",
456463
"Total number of all brew packages - brew-all",

0 commit comments

Comments
 (0)