Skip to content

Commit 5e7d9ed

Browse files
committed
Packages (Linux): add qi support
1 parent 4799f92 commit 5e7d9ed

File tree

5 files changed

+31
-13
lines changed

5 files changed

+31
-13
lines changed

doc/json_schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1942,15 +1942,19 @@
19421942
"eopkg",
19431943
"flatpak",
19441944
"guix",
1945+
"linglong",
19451946
"lpkg",
19461947
"lpkgbuild",
19471948
"macports",
1949+
"mport",
19481950
"nix",
19491951
"opkg",
19501952
"pacman",
1953+
"pacstall",
19511954
"paludis",
19521955
"pkg",
19531956
"pkgtool",
1957+
"qi",
19541958
"rpm",
19551959
"scoop",
19561960
"snap",

src/detection/packages/packages.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ typedef struct FFPackagesResult
2020
uint32_t linglong;
2121
uint32_t lpkg;
2222
uint32_t lpkgbuild;
23+
uint32_t macports;
24+
uint32_t mport;
2325
uint32_t nixDefault;
2426
uint32_t nixSystem;
2527
uint32_t nixUser;
@@ -29,8 +31,7 @@ typedef struct FFPackagesResult
2931
uint32_t paludis;
3032
uint32_t pkg;
3133
uint32_t pkgtool;
32-
uint32_t macports;
33-
uint32_t mport;
34+
uint32_t qi;
3435
uint32_t rpm;
3536
uint32_t scoop;
3637
uint32_t snap;

src/detection/packages/packages_linux.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
573573
}
574574
if (!(options->disabled & FF_PACKAGES_FLAG_LINGLONG_BIT)) packageCounts->linglong += getNumElements(baseDir, "/var/lib/linglong/repo/refs/heads/main", DT_DIR);
575575
if (!(options->disabled & FF_PACKAGES_FLAG_PACSTALL_BIT)) packageCounts->pacstall += getNumElements(baseDir, "/var/lib/pacstall/metadata", DT_REG);
576+
if (!(options->disabled & FF_PACKAGES_FLAG_QI_BIT)) packageCounts->qi += getNumStrings(baseDir, "/var/qi/installed_packages.list", "\n", "qi");
576577
}
577578

578579
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
@@ -34,6 +34,7 @@ typedef enum FFPackagesFlags
3434
FF_PACKAGES_FLAG_LINGLONG_BIT = 1 << 24,
3535
FF_PACKAGES_FLAG_PACSTALL_BIT = 1 << 25,
3636
FF_PACKAGES_FLAG_MPORT_BIT = 1 << 26,
37+
FF_PACKAGES_FLAG_QI_BIT = 1 << 27,
3738
} FFPackagesFlags;
3839

3940
typedef struct FFPackagesOptions

src/modules/packages/packages.c

Lines changed: 22 additions & 11 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 39
7+
#define FF_PACKAGES_NUM_FORMAT_ARGS 40
88

99
void ffPrintPackages(FFPackagesOptions* options)
1010
{
@@ -74,6 +74,7 @@ void ffPrintPackages(FFPackagesOptions* options)
7474
FF_PRINT_PACKAGE(linglong)
7575
FF_PRINT_PACKAGE(pacstall)
7676
FF_PRINT_PACKAGE(mport)
77+
FF_PRINT_PACKAGE(qi)
7778

7879
putchar('\n');
7980
}
@@ -119,6 +120,7 @@ void ffPrintPackages(FFPackagesOptions* options)
119120
FF_FORMAT_ARG(counts.linglong, "linglong"),
120121
FF_FORMAT_ARG(counts.pacstall, "pacstall"),
121122
FF_FORMAT_ARG(counts.mport, "mport"),
123+
FF_FORMAT_ARG(counts.qi, "qi"),
122124
FF_FORMAT_ARG(nixAll, "nix-all"),
123125
FF_FORMAT_ARG(flatpakAll, "flatpak-all"),
124126
FF_FORMAT_ARG(brewAll, "brew-all"),
@@ -196,6 +198,9 @@ bool ffParsePackagesCommandOptions(FFPackagesOptions* options, const char* key,
196198
FF_TEST_PACKAGE_NAME(PKG)
197199
FF_TEST_PACKAGE_NAME(PKGTOOL)
198200
break;
201+
case 'Q': if (false);
202+
FF_TEST_PACKAGE_NAME(QI)
203+
break;
199204
case 'R': if (false);
200205
FF_TEST_PACKAGE_NAME(RPM)
201206
break;
@@ -307,6 +312,9 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
307312
FF_TEST_PACKAGE_NAME(PKG)
308313
FF_TEST_PACKAGE_NAME(PKGTOOL)
309314
break;
315+
case 'Q': if (false);
316+
FF_TEST_PACKAGE_NAME(QI)
317+
break;
310318
case 'R': if (false);
311319
FF_TEST_PACKAGE_NAME(RPM)
312320
break;
@@ -365,6 +373,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
365373
FF_TEST_PACKAGE_NAME(PALUDIS)
366374
FF_TEST_PACKAGE_NAME(PKG)
367375
FF_TEST_PACKAGE_NAME(PKGTOOL)
376+
FF_TEST_PACKAGE_NAME(QI)
368377
FF_TEST_PACKAGE_NAME(RPM)
369378
FF_TEST_PACKAGE_NAME(SCOOP)
370379
FF_TEST_PACKAGE_NAME(SNAP)
@@ -393,6 +402,7 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
393402
#define FF_APPEND_PACKAGE_COUNT(name) yyjson_mut_obj_add_uint(doc, obj, #name, counts.name);
394403

395404
FF_APPEND_PACKAGE_COUNT(all)
405+
FF_APPEND_PACKAGE_COUNT(am)
396406
FF_APPEND_PACKAGE_COUNT(apk)
397407
FF_APPEND_PACKAGE_COUNT(brew)
398408
FF_APPEND_PACKAGE_COUNT(brewCask)
@@ -402,34 +412,34 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
402412
FF_APPEND_PACKAGE_COUNT(eopkg)
403413
FF_APPEND_PACKAGE_COUNT(flatpakSystem)
404414
FF_APPEND_PACKAGE_COUNT(flatpakUser)
415+
FF_APPEND_PACKAGE_COUNT(guixSystem)
416+
FF_APPEND_PACKAGE_COUNT(guixUser)
417+
FF_APPEND_PACKAGE_COUNT(guixHome)
418+
FF_APPEND_PACKAGE_COUNT(linglong)
419+
FF_APPEND_PACKAGE_COUNT(mport)
405420
FF_APPEND_PACKAGE_COUNT(nixDefault)
406421
FF_APPEND_PACKAGE_COUNT(nixSystem)
407422
FF_APPEND_PACKAGE_COUNT(nixUser)
423+
FF_APPEND_PACKAGE_COUNT(opkg)
408424
FF_APPEND_PACKAGE_COUNT(pacman)
425+
FF_APPEND_PACKAGE_COUNT(pacstall)
409426
FF_APPEND_PACKAGE_COUNT(paludis)
410427
FF_APPEND_PACKAGE_COUNT(pkg)
411428
FF_APPEND_PACKAGE_COUNT(pkgtool)
429+
FF_APPEND_PACKAGE_COUNT(qi)
412430
FF_APPEND_PACKAGE_COUNT(macports)
413431
FF_APPEND_PACKAGE_COUNT(rpm)
414432
FF_APPEND_PACKAGE_COUNT(scoop)
415433
FF_APPEND_PACKAGE_COUNT(snap)
434+
FF_APPEND_PACKAGE_COUNT(sorcery)
416435
FF_APPEND_PACKAGE_COUNT(winget)
417436
FF_APPEND_PACKAGE_COUNT(xbps)
418-
FF_APPEND_PACKAGE_COUNT(opkg)
419-
FF_APPEND_PACKAGE_COUNT(am)
420-
FF_APPEND_PACKAGE_COUNT(sorcery)
421-
FF_APPEND_PACKAGE_COUNT(guixSystem)
422-
FF_APPEND_PACKAGE_COUNT(guixUser)
423-
FF_APPEND_PACKAGE_COUNT(guixHome)
424-
FF_APPEND_PACKAGE_COUNT(linglong)
425-
FF_APPEND_PACKAGE_COUNT(pacstall)
426-
FF_APPEND_PACKAGE_COUNT(mport)
427437
yyjson_mut_obj_add_strbuf(doc, obj, "pacmanBranch", &counts.pacmanBranch);
428438
}
429439

430440
void ffPrintPackagesHelpFormat(void)
431441
{
432-
FF_PRINT_MODULE_FORMAT_HELP_CHECKED(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} (MacPorts), {20} (scoop), {21} (choco), {22} (pkgtool), {23} (paludis), {24} (winget), {25} (opkg), {26} (am), {27} (sorcery), {28} (lpkg), {29} (lpkgbuild), {30} (guix-system), {31} (guix-user), {32} (guix-home), {33} (linglong)", FF_PACKAGES_NUM_FORMAT_ARGS, ((const char* []) {
442+
FF_PRINT_MODULE_FORMAT_HELP_CHECKED(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} (MacPorts), {20} (scoop), {21} (choco), {22} (pkgtool), {23} (paludis), {24} (winget), {25} (opkg), {26} (am), {27} (sorcery), {28} (lpkg), {29} (lpkgbuild), {30} (guix-system), {31} (guix-user), {32} (guix-home), {33} (linglong), {34} (pacstall), {35} (mport), {36} qi", FF_PACKAGES_NUM_FORMAT_ARGS, ((const char* []) {
433443
"Number of all packages - all",
434444
"Number of pacman packages - pacman",
435445
"Pacman branch on manjaro - pacman-branch",
@@ -465,6 +475,7 @@ void ffPrintPackagesHelpFormat(void)
465475
"Number of linglong packages - linglong",
466476
"Number of pacstall packages - pacstall",
467477
"Number of mport packages - mport",
478+
"Number of qi packages - qi",
468479
"Total number of all nix packages - nix-all",
469480
"Total number of all flatpak app packages - flatpak-all",
470481
"Total number of all brew packages - brew-all",

0 commit comments

Comments
 (0)