217 lines
14 KiB
Diff
217 lines
14 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 045b8f7b..9342c677 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -103,7 +103,7 @@ if(NOT BINARY_LINK_TYPE IN_LIST BINARY_LINK_TYPE_OPTIONS)
|
|
message(FATAL_ERROR "BINARY_LINK_TYPE must be one of ${BINARY_LINK_TYPE_OPTIONS}")
|
|
endif()
|
|
|
|
-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 SOAR SORCERY WINGET XBPS)
|
|
+set(PACKAGE_MANAGERS AM APK BPM BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SOAR SORCERY WINGET XBPS)
|
|
foreach(package_manager ${PACKAGE_MANAGERS})
|
|
if(package_manager STREQUAL "WINGET")
|
|
option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" ON)
|
|
diff --git a/doc/json_schema.json b/doc/json_schema.json
|
|
index d32269bd..a4ab7be1 100644
|
|
--- a/doc/json_schema.json
|
|
+++ b/doc/json_schema.json
|
|
@@ -442,7 +442,7 @@
|
|
"type": "string"
|
|
},
|
|
"packagesFormat": {
|
|
- "description": "Output format of the module `Packages`. See Wiki 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-user}: Number of scoop-user packages\n 21. {scoop-global}: Number of scoop-global packages\n 22. {choco}: Number of choco packages\n 23. {pkgtool}: Number of pkgtool packages\n 24. {paludis}: Number of paludis packages\n 25. {winget}: Number of winget packages\n 26. {opkg}: Number of opkg packages\n 27. {am-system}: Number of am-system packages\n 28. {sorcery}: Number of sorcery packages\n 29. {lpkg}: Number of lpkg packages\n 30. {lpkgbuild}: Number of lpkgbuild packages\n 31. {guix-system}: Number of guix-system packages\n 32. {guix-user}: Number of guix-user packages\n 33. {guix-home}: Number of guix-home packages\n 34. {linglong}: Number of linglong packages\n 35. {pacstall}: Number of pacstall packages\n 36. {mport}: Number of mport 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. {soar}: Number of soar packages\n 43. {nix-all}: Total number of all nix packages\n 44. {flatpak-all}: Total number of all flatpak app packages\n 45. {brew-all}: Total number of all brew packages\n 46. {guix-all}: Total number of all guix packages\n 47. {hpkg-all}: Total number of all hpkg packages",
|
|
+ "description": "Output format of the module `Packages`. See Wiki 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. {bpm}: Total number of all bpm packages\n 10. {nix-system}: Number of nix-system packages\n 11. {nix-user}: Number of nix-user packages\n 12. {nix-default}: Number of nix-default packages\n 13. {apk}: Number of apk packages\n 14. {pkg}: Number of pkg packages\n 15. {flatpak-system}: Number of flatpak-system app packages\n 16. {flatpak-user}: Number of flatpak-user app packages\n 17. {snap}: Number of snap packages\n 18. {brew}: Number of brew packages\n 19. {brew-cask}: Number of brew-cask packages\n 20. {macports}: Number of macports packages\n 21. {scoop-user}: Number of scoop-user packages\n 22. {scoop-global}: Number of scoop-global packages\n 23. {choco}: Number of choco packages\n 24. {pkgtool}: Number of pkgtool packages\n 25. {paludis}: Number of paludis packages\n 26. {winget}: Number of winget packages\n 27. {opkg}: Number of opkg packages\n 28. {am-system}: Number of am-system packages\n 29. {sorcery}: Number of sorcery packages\n 30. {lpkg}: Number of lpkg packages\n 31. {lpkgbuild}: Number of lpkgbuild packages\n 32. {guix-system}: Number of guix-system packages\n 33. {guix-user}: Number of guix-user packages\n 34. {guix-home}: Number of guix-home packages\n 35. {linglong}: Number of linglong packages\n 36. {pacstall}: Number of pacstall packages\n 37. {mport}: Number of mport packages\n 38. {am-user}: Number of am-user (aka appman) packages\n 39. {pkgsrc}: Number of pkgsrc packages\n 40. {hpkg-system}: Number of hpkg-system packages\n 41. {hpkg-user}: Number of hpkg-user packages\n 42. {pisi}: Number of pisi packages\n 43. {soar}: Number of soar packages\n 44. {nix-all}: Total number of all nix packages\n 45. {flatpak-all}: Total number of all flatpak app packages\n 46. {brew-all}: Total number of all brew packages\n 47. {guix-all}: Total number of all guix packages\n 48. {hpkg-all}: Total number of all hpkg packages",
|
|
"type": "string"
|
|
},
|
|
"physicaldiskFormat": {
|
|
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
|
|
index 7464a30c..c684d33b 100644
|
|
--- a/src/detection/packages/packages.h
|
|
+++ b/src/detection/packages/packages.h
|
|
@@ -8,6 +8,7 @@ typedef struct FFPackagesResult
|
|
uint32_t amSystem;
|
|
uint32_t amUser;
|
|
uint32_t apk;
|
|
+ uint32_t bpm;
|
|
uint32_t brew;
|
|
uint32_t brewCask;
|
|
uint32_t choco;
|
|
diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c
|
|
index 3d83f3a5..42acc3c8 100644
|
|
--- a/src/detection/packages/packages_linux.c
|
|
+++ b/src/detection/packages/packages_linux.c
|
|
@@ -452,6 +452,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_BPM_BIT)) packageCounts->bpm += getNumElements(baseDir, "/var/lib/bpm/installed", true);
|
|
}
|
|
|
|
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options)
|
|
diff --git a/src/logo/ascii/tidelinux.txt b/src/logo/ascii/tidelinux.txt
|
|
new file mode 100644
|
|
index 00000000..2d8b44e3
|
|
--- /dev/null
|
|
+++ b/src/logo/ascii/tidelinux.txt
|
|
@@ -0,0 +1,14 @@
|
|
+ $1@@@@ $1@@@$2*
|
|
+ $1@@$2~~~~$1@@ $1@@$2~~~
|
|
+ $1@@$2~~ $2~~$1@ $1@@$2~~
|
|
+ $1@@$2~~ $2~$1@ $1@@@$2~~
|
|
+ $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2*
|
|
+ $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~
|
|
+ $1@@$2~~ $2~~$1@ $1@@$2~~
|
|
+ $1@@$2~~ $2~$1@ $1@@@$2~~
|
|
+ $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2*
|
|
+ $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~
|
|
+ $1@@$2~~ $2~~$1@ $1@@$2~~
|
|
+ $1@@$2~~ $2~$1@ $1@@@$2~~
|
|
+ $2*$1@@$2~~ $2~$1@@@@$2~~~
|
|
+ $2~~ $2~~~~
|
|
diff --git a/src/logo/builtin.c b/src/logo/builtin.c
|
|
index 26bce146..cb74ad59 100644
|
|
--- a/src/logo/builtin.c
|
|
+++ b/src/logo/builtin.c
|
|
@@ -4788,6 +4788,17 @@ static const FFlogo T[] = {
|
|
FF_COLOR_FG_GREEN,
|
|
},
|
|
},
|
|
+ // TideLinux
|
|
+ {
|
|
+ .names = {"Tide Linux"},
|
|
+ .lines = FASTFETCH_DATATEXT_LOGO_TIDELINUX,
|
|
+ .colors = {
|
|
+ FF_COLOR_FG_256 "27",
|
|
+ FF_COLOR_FG_256 "39",
|
|
+ FF_COLOR_FG_BLUE,
|
|
+ FF_COLOR_FG_256 "12",
|
|
+ },
|
|
+ },
|
|
// Torizon OS
|
|
{
|
|
.names = {"Torizon OS", "TorizonCore"},
|
|
diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h
|
|
index 240ca666..5b1d9e98 100644
|
|
--- a/src/modules/packages/option.h
|
|
+++ b/src/modules/packages/option.h
|
|
@@ -6,36 +6,37 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
|
|
{
|
|
FF_PACKAGES_FLAG_NONE = 0,
|
|
FF_PACKAGES_FLAG_APK_BIT = 1ULL << 0,
|
|
- FF_PACKAGES_FLAG_BREW_BIT = 1ULL << 1,
|
|
- FF_PACKAGES_FLAG_CHOCO_BIT = 1ULL << 2,
|
|
- FF_PACKAGES_FLAG_DPKG_BIT = 1ULL << 3,
|
|
- FF_PACKAGES_FLAG_EMERGE_BIT = 1ULL << 4,
|
|
- FF_PACKAGES_FLAG_EOPKG_BIT = 1ULL << 5,
|
|
- FF_PACKAGES_FLAG_FLATPAK_BIT = 1ULL << 6,
|
|
- FF_PACKAGES_FLAG_NIX_BIT = 1ULL << 7,
|
|
- FF_PACKAGES_FLAG_OPKG_BIT = 1ULL << 8,
|
|
- FF_PACKAGES_FLAG_PACMAN_BIT = 1ULL << 9,
|
|
- FF_PACKAGES_FLAG_PALUDIS_BIT = 1ULL << 10,
|
|
- FF_PACKAGES_FLAG_PKG_BIT = 1ULL << 11,
|
|
- FF_PACKAGES_FLAG_PKGTOOL_BIT = 1ULL << 12,
|
|
- FF_PACKAGES_FLAG_MACPORTS_BIT = 1ULL << 13,
|
|
- FF_PACKAGES_FLAG_RPM_BIT = 1ULL << 14,
|
|
- FF_PACKAGES_FLAG_SCOOP_BIT = 1ULL << 15,
|
|
- FF_PACKAGES_FLAG_SNAP_BIT = 1ULL << 16,
|
|
- FF_PACKAGES_FLAG_WINGET_BIT = 1ULL << 17,
|
|
- FF_PACKAGES_FLAG_XBPS_BIT = 1ULL << 18,
|
|
- FF_PACKAGES_FLAG_AM_BIT = 1ULL << 19,
|
|
- FF_PACKAGES_FLAG_SORCERY_BIT = 1ULL << 20,
|
|
- FF_PACKAGES_FLAG_LPKG_BIT = 1ULL << 21,
|
|
- FF_PACKAGES_FLAG_LPKGBUILD_BIT = 1ULL << 22,
|
|
- FF_PACKAGES_FLAG_GUIX_BIT = 1ULL << 23,
|
|
- FF_PACKAGES_FLAG_LINGLONG_BIT = 1ULL << 24,
|
|
- FF_PACKAGES_FLAG_PACSTALL_BIT = 1ULL << 25,
|
|
- FF_PACKAGES_FLAG_MPORT_BIT = 1ULL << 26,
|
|
- FF_PACKAGES_FLAG_PKGSRC_BIT = 1ULL << 27,
|
|
- FF_PACKAGES_FLAG_HPKG_BIT = 1ULL << 28,
|
|
- FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 29,
|
|
- FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
|
|
+ FF_PACKAGES_FLAG_BPM_BIT = 1ULL << 1,
|
|
+ FF_PACKAGES_FLAG_BREW_BIT = 1ULL << 2,
|
|
+ FF_PACKAGES_FLAG_CHOCO_BIT = 1ULL << 3,
|
|
+ FF_PACKAGES_FLAG_DPKG_BIT = 1ULL << 4,
|
|
+ FF_PACKAGES_FLAG_EMERGE_BIT = 1ULL << 5,
|
|
+ FF_PACKAGES_FLAG_EOPKG_BIT = 1ULL << 6,
|
|
+ FF_PACKAGES_FLAG_FLATPAK_BIT = 1ULL << 7,
|
|
+ FF_PACKAGES_FLAG_NIX_BIT = 1ULL << 8,
|
|
+ FF_PACKAGES_FLAG_OPKG_BIT = 1ULL << 9,
|
|
+ FF_PACKAGES_FLAG_PACMAN_BIT = 1ULL << 10,
|
|
+ FF_PACKAGES_FLAG_PALUDIS_BIT = 1ULL << 11,
|
|
+ FF_PACKAGES_FLAG_PKG_BIT = 1ULL << 12,
|
|
+ FF_PACKAGES_FLAG_PKGTOOL_BIT = 1ULL << 13,
|
|
+ FF_PACKAGES_FLAG_MACPORTS_BIT = 1ULL << 14,
|
|
+ FF_PACKAGES_FLAG_RPM_BIT = 1ULL << 15,
|
|
+ FF_PACKAGES_FLAG_SCOOP_BIT = 1ULL << 16,
|
|
+ FF_PACKAGES_FLAG_SNAP_BIT = 1ULL << 17,
|
|
+ FF_PACKAGES_FLAG_WINGET_BIT = 1ULL << 18,
|
|
+ FF_PACKAGES_FLAG_XBPS_BIT = 1ULL << 19,
|
|
+ FF_PACKAGES_FLAG_AM_BIT = 1ULL << 20,
|
|
+ FF_PACKAGES_FLAG_SORCERY_BIT = 1ULL << 21,
|
|
+ FF_PACKAGES_FLAG_LPKG_BIT = 1ULL << 22,
|
|
+ FF_PACKAGES_FLAG_LPKGBUILD_BIT = 1ULL << 23,
|
|
+ FF_PACKAGES_FLAG_GUIX_BIT = 1ULL << 24,
|
|
+ FF_PACKAGES_FLAG_LINGLONG_BIT = 1ULL << 25,
|
|
+ FF_PACKAGES_FLAG_PACSTALL_BIT = 1ULL << 26,
|
|
+ FF_PACKAGES_FLAG_MPORT_BIT = 1ULL << 27,
|
|
+ FF_PACKAGES_FLAG_PKGSRC_BIT = 1ULL << 28,
|
|
+ FF_PACKAGES_FLAG_HPKG_BIT = 1ULL << 29,
|
|
+ FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 30,
|
|
+ FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 31,
|
|
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
|
|
} FFPackagesFlags;
|
|
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
|
|
diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c
|
|
index 1d1094ae..a0b90137 100644
|
|
--- a/src/modules/packages/packages.c
|
|
+++ b/src/modules/packages/packages.c
|
|
@@ -63,6 +63,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
|
|
FF_PRINT_PACKAGE(emerge)
|
|
FF_PRINT_PACKAGE(eopkg)
|
|
FF_PRINT_PACKAGE(xbps)
|
|
+ FF_PRINT_PACKAGE(bpm)
|
|
if (options->combined)
|
|
{
|
|
FF_PRINT_PACKAGE_ALL(nix);
|
|
@@ -160,6 +161,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
|
|
FF_FORMAT_ARG(counts.emerge, "emerge"),
|
|
FF_FORMAT_ARG(counts.eopkg, "eopkg"),
|
|
FF_FORMAT_ARG(counts.xbps, "xbps"),
|
|
+ FF_FORMAT_ARG(counts.bpm, "bpm"),
|
|
FF_FORMAT_ARG(counts.nixSystem, "nix-system"),
|
|
FF_FORMAT_ARG(counts.nixUser, "nix-user"),
|
|
FF_FORMAT_ARG(counts.nixDefault, "nix-default"),
|
|
@@ -247,6 +249,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
|
|
FF_TEST_PACKAGE_NAME(AM)
|
|
break;
|
|
case 'B': if (false);
|
|
+ FF_TEST_PACKAGE_NAME(BPM)
|
|
FF_TEST_PACKAGE_NAME(BREW)
|
|
break;
|
|
case 'C': if (false);
|
|
@@ -338,6 +341,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
|
|
if (false);
|
|
FF_TEST_PACKAGE_NAME(AM)
|
|
FF_TEST_PACKAGE_NAME(APK)
|
|
+ FF_TEST_PACKAGE_NAME(BPM)
|
|
FF_TEST_PACKAGE_NAME(BREW)
|
|
FF_TEST_PACKAGE_NAME(CHOCO)
|
|
FF_TEST_PACKAGE_NAME(DPKG)
|
|
@@ -393,6 +397,7 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
|
|
FF_APPEND_PACKAGE_COUNT(amSystem)
|
|
FF_APPEND_PACKAGE_COUNT(amUser)
|
|
FF_APPEND_PACKAGE_COUNT(apk)
|
|
+ FF_APPEND_PACKAGE_COUNT(bpm)
|
|
FF_APPEND_PACKAGE_COUNT(brew)
|
|
FF_APPEND_PACKAGE_COUNT(brewCask)
|
|
FF_APPEND_PACKAGE_COUNT(choco)
|
|
@@ -464,6 +469,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
|
|
{"Number of emerge packages", "emerge"},
|
|
{"Number of eopkg packages", "eopkg"},
|
|
{"Number of xbps packages", "xbps"},
|
|
+ {"Number of bpm packages", "bpm"},
|
|
{"Number of nix-system packages", "nix-system"},
|
|
{"Number of nix-user packages", "nix-user"},
|
|
{"Number of nix-default packages", "nix-default"},
|