Skip to content

Commit 4f4622e

Browse files
authored
Packages (Linux): Add support for Pisi Linux (#1580)
1 parent a2327b7 commit 4f4622e

File tree

7 files changed

+15
-4
lines changed

7 files changed

+15
-4
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ if(NOT BINARY_LINK_TYPE IN_LIST BINARY_LINK_TYPE_OPTIONS)
103103
message(FATAL_ERROR "BINARY_LINK_TYPE must be one of ${BINARY_LINK_TYPE_OPTIONS}")
104104
endif()
105105

106-
set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PKG PKGTOOL RPM SCOOP SNAP SORCERY WINGET XBPS)
106+
set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SORCERY WINGET XBPS)
107107
foreach(package_manager ${PACKAGE_MANAGERS})
108108
if(package_manager STREQUAL "WINGET")
109109
option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" ON)

doc/json_schema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@
279279
"type": "string"
280280
},
281281
"packagesFormat": {
282-
"description": "Output format of the module `Packages`. See `-h format` for formatting syntax\n 1. {all}: Number of all packages\n 2. {pacman}: Number of pacman packages\n 3. {pacman-branch}: Pacman branch on manjaro\n 4. {dpkg}: Number of dpkg packages\n 5. {rpm}: Number of rpm packages\n 6. {emerge}: Number of emerge packages\n 7. {eopkg}: Number of eopkg packages\n 8. {xbps}: Number of xbps packages\n 9. {nix-system}: Number of nix-system packages\n 10. {nix-user}: Number of nix-user packages\n 11. {nix-default}: Number of nix-default packages\n 12. {apk}: Number of apk packages\n 13. {pkg}: Number of pkg packages\n 14. {flatpak-system}: Number of flatpak-system app packages\n 15. {flatpak-user}: Number of flatpak-user app packages\n 16. {snap}: Number of snap packages\n 17. {brew}: Number of brew packages\n 18. {brew-cask}: Number of brew-cask packages\n 19. {macports}: Number of macports packages\n 20. {scoop}: Number of scoop packages\n 21. {choco}: Number of choco packages\n 22. {pkgtool}: Number of pkgtool packages\n 23. {paludis}: Number of paludis packages\n 24. {winget}: Number of winget packages\n 25. {opkg}: Number of opkg packages\n 26. {am-system}: Number of am-system packages\n 27. {sorcery}: Number of sorcery packages\n 28. {lpkg}: Number of lpkg packages\n 29. {lpkgbuild}: Number of lpkgbuild packages\n 30. {guix-system}: Number of guix-system packages\n 31. {guix-user}: Number of guix-user packages\n 32. {guix-home}: Number of guix-home packages\n 33. {linglong}: Number of linglong packages\n 34. {pacstall}: Number of pacstall packages\n 35. {mport}: Number of mport packages\n 36. {qi}: Number of qi packages\n 37. {am-user}: Number of am-user (aka appman) packages\n 38. {pkgsrc}: Number of pkgsrc packages\n 39. {hpkg-system}: Number of hpkg-system packages\n 40. {hpkg-user}: Number of hpkg-user packages\n 41. {nix-all}: Total number of all nix packages\n 42. {flatpak-all}: Total number of all flatpak app packages\n 43. {brew-all}: Total number of all brew packages\n 44. {guix-all}: Total number of all guix packages\n 45. {hpkg-all}: Total number of all hpkg packages",
282+
"description": "Output format of the module `Packages`. See `-h format` for formatting syntax\n 1. {all}: Number of all packages\n 2. {pacman}: Number of pacman packages\n 3. {pacman-branch}: Pacman branch on manjaro\n 4. {dpkg}: Number of dpkg packages\n 5. {rpm}: Number of rpm packages\n 6. {emerge}: Number of emerge packages\n 7. {eopkg}: Number of eopkg packages\n 8. {xbps}: Number of xbps packages\n 9. {nix-system}: Number of nix-system packages\n 10. {nix-user}: Number of nix-user packages\n 11. {nix-default}: Number of nix-default packages\n 12. {apk}: Number of apk packages\n 13. {pkg}: Number of pkg packages\n 14. {flatpak-system}: Number of flatpak-system app packages\n 15. {flatpak-user}: Number of flatpak-user app packages\n 16. {snap}: Number of snap packages\n 17. {brew}: Number of brew packages\n 18. {brew-cask}: Number of brew-cask packages\n 19. {macports}: Number of macports packages\n 20. {scoop}: Number of scoop packages\n 21. {choco}: Number of choco packages\n 22. {pkgtool}: Number of pkgtool packages\n 23. {paludis}: Number of paludis packages\n 24. {winget}: Number of winget packages\n 25. {opkg}: Number of opkg packages\n 26. {am-system}: Number of am-system packages\n 27. {sorcery}: Number of sorcery packages\n 28. {lpkg}: Number of lpkg packages\n 29. {lpkgbuild}: Number of lpkgbuild packages\n 30. {guix-system}: Number of guix-system packages\n 31. {guix-user}: Number of guix-user packages\n 32. {guix-home}: Number of guix-home packages\n 33. {linglong}: Number of linglong packages\n 34. {pacstall}: Number of pacstall packages\n 35. {mport}: Number of mport packages\n 36. {qi}: Number of qi packages\n 37. {am-user}: Number of am-user (aka appman) packages\n 38. {pkgsrc}: Number of pkgsrc packages\n 39. {hpkg-system}: Number of hpkg-system packages\n 40. {hpkg-user}: Number of hpkg-user packages\n 41. {pisi}: Number of pisi packages\n 42. {nix-all}: Total number of all nix packages\n 43. {flatpak-all}: Total number of all flatpak app packages\n 44. {brew-all}: Total number of all brew packages\n 45. {guix-all}: Total number of all guix packages\n 46. {hpkg-all}: Total number of all hpkg packages",
283283
"type": "string"
284284
},
285285
"physicaldiskFormat": {
@@ -2652,6 +2652,7 @@
26522652
"pacman",
26532653
"pacstall",
26542654
"paludis",
2655+
"pisi",
26552656
"pkg",
26562657
"pkgtool",
26572658
"qi",

src/detection/packages/packages.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ typedef struct FFPackagesResult
3232
uint32_t pacman;
3333
uint32_t pacstall;
3434
uint32_t paludis;
35+
uint32_t pisi;
3536
uint32_t pkg;
3637
uint32_t pkgsrc;
3738
uint32_t pkgtool;

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
if (!(options->disabled & FF_PACKAGES_FLAG_LINGLONG_BIT)) packageCounts->linglong += getNumElements(baseDir, "/var/lib/linglong/repo/refs/heads/main", true);
574574
if (!(options->disabled & FF_PACKAGES_FLAG_PACSTALL_BIT)) packageCounts->pacstall += getNumElements(baseDir, "/var/lib/pacstall/metadata", false);
575575
if (!(options->disabled & FF_PACKAGES_FLAG_QI_BIT)) packageCounts->qi += getNumStrings(baseDir, "/var/qi/installed_packages.list", "\n", "qi");
576+
if (!(options->disabled & FF_PACKAGES_FLAG_PISI_BIT)) packageCounts->pisi += getNumElements(baseDir, "/var/lib/pisi/package", true);
576577
}
577578

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

src/logo/builtin.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3671,9 +3671,9 @@ static const FFlogo P[] = {
36713671
FF_COLOR_FG_YELLOW,
36723672
},
36733673
},
3674-
// Pisi
3674+
// PisiLinux
36753675
{
3676-
.names = {"Pisi"},
3676+
.names = {"PisiLinux"},
36773677
.lines = FASTFETCH_DATATEXT_LOGO_PISI,
36783678
.colors = {
36793679
FF_COLOR_FG_BLUE,

src/modules/packages/option.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
3737
FF_PACKAGES_FLAG_QI_BIT = 1 << 27,
3838
FF_PACKAGES_FLAG_PKGSRC_BIT = 1 << 28,
3939
FF_PACKAGES_FLAG_HPKG_BIT = 1 << 29,
40+
FF_PACKAGES_FLAG_PISI_BIT = 1 << 30,
4041
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT32_MAX,
4142
} FFPackagesFlags;
4243
static_assert(sizeof(FFPackagesFlags) == sizeof(uint32_t), "");

src/modules/packages/packages.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ void ffPrintPackages(FFPackagesOptions* options)
7777
FF_PRINT_PACKAGE(pacstall)
7878
FF_PRINT_PACKAGE(mport)
7979
FF_PRINT_PACKAGE(qi)
80+
FF_PRINT_PACKAGE(pisi)
8081

8182
putchar('\n');
8283
}
@@ -128,6 +129,7 @@ void ffPrintPackages(FFPackagesOptions* options)
128129
FF_FORMAT_ARG(counts.pkgsrc, "pkgsrc"),
129130
FF_FORMAT_ARG(counts.hpkgSystem, "hpkg-system"),
130131
FF_FORMAT_ARG(counts.hpkgUser, "hpkg-user"),
132+
FF_FORMAT_ARG(counts.pisi, "pisi"),
131133
FF_FORMAT_ARG(nixAll, "nix-all"),
132134
FF_FORMAT_ARG(flatpakAll, "flatpak-all"),
133135
FF_FORMAT_ARG(brewAll, "brew-all"),
@@ -206,6 +208,7 @@ bool ffParsePackagesCommandOptions(FFPackagesOptions* options, const char* key,
206208
FF_TEST_PACKAGE_NAME(PACMAN)
207209
FF_TEST_PACKAGE_NAME(PACSTALL)
208210
FF_TEST_PACKAGE_NAME(PALUDIS)
211+
FF_TEST_PACKAGE_NAME(PISI)
209212
FF_TEST_PACKAGE_NAME(PKG)
210213
FF_TEST_PACKAGE_NAME(PKGTOOL)
211214
FF_TEST_PACKAGE_NAME(PKGSRC)
@@ -324,6 +327,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
324327
FF_TEST_PACKAGE_NAME(PACMAN)
325328
FF_TEST_PACKAGE_NAME(PACSTALL)
326329
FF_TEST_PACKAGE_NAME(PALUDIS)
330+
FF_TEST_PACKAGE_NAME(PISI)
327331
FF_TEST_PACKAGE_NAME(PKG)
328332
FF_TEST_PACKAGE_NAME(PKGTOOL)
329333
FF_TEST_PACKAGE_NAME(PKGSRC)
@@ -388,6 +392,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
388392
FF_TEST_PACKAGE_NAME(PACMAN)
389393
FF_TEST_PACKAGE_NAME(PACSTALL)
390394
FF_TEST_PACKAGE_NAME(PALUDIS)
395+
FF_TEST_PACKAGE_NAME(PISI)
391396
FF_TEST_PACKAGE_NAME(PKG)
392397
FF_TEST_PACKAGE_NAME(PKGTOOL)
393398
FF_TEST_PACKAGE_NAME(PKGSRC)
@@ -445,6 +450,7 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
445450
FF_APPEND_PACKAGE_COUNT(pacman)
446451
FF_APPEND_PACKAGE_COUNT(pacstall)
447452
FF_APPEND_PACKAGE_COUNT(paludis)
453+
FF_APPEND_PACKAGE_COUNT(pisi)
448454
FF_APPEND_PACKAGE_COUNT(pkg)
449455
FF_APPEND_PACKAGE_COUNT(pkgtool)
450456
FF_APPEND_PACKAGE_COUNT(pkgsrc)
@@ -508,6 +514,7 @@ static FFModuleBaseInfo ffModuleInfo = {
508514
{"Number of pkgsrc packages", "pkgsrc"},
509515
{"Number of hpkg-system packages", "hpkg-system"},
510516
{"Number of hpkg-user packages", "hpkg-user"},
517+
{"Number of pisi packages", "pisi"},
511518
{"Total number of all nix packages", "nix-all"},
512519
{"Total number of all flatpak app packages", "flatpak-all"},
513520
{"Total number of all brew packages", "brew-all"},

0 commit comments

Comments
 (0)