157 lines
12 KiB
Diff
157 lines
12 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index a6447f9c..15eccd0a 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -120,7 +120,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 8627d322..4dc6ce5a 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. {kiss}: Number of kiss packages\n 44. {moss}: Number of moss packages\n 45. {nix-all}: Total number of all nix packages\n 46. {flatpak-all}: Total number of all flatpak app packages\n 47. {brew-all}: Total number of all brew packages\n 48. {guix-all}: Total number of all guix packages\n 49. {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. {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. {kiss}: Number of kiss packages\n 44. {moss}: Number of moss packages\n 45. {nix-all}: Total number of all nix packages\n 46. {flatpak-all}: Total number of all flatpak app packages\n 47. {brew-all}: Total number of all brew packages\n 48. {guix-all}: Total number of all guix packages\n 49. {hpkg-all}: Total number of all hpkg packages\n 50. {bpm}: Total number of all bpm packages\n",
|
|
"type": "string"
|
|
},
|
|
"physicaldiskFormat": {
|
|
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
|
|
index 8b8a435d..ee2a2402 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 8d9c9b0b..4148329b 100644
|
|
--- a/src/detection/packages/packages_linux.c
|
|
+++ b/src/detection/packages/packages_linux.c
|
|
@@ -493,6 +493,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
|
|
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_MOSS_BIT)) packageCounts->moss += getSQLite3Int(baseDir, "/.moss/db/state", "SELECT COUNT(*) FROM state_selections WHERE state_id = (SELECT MAX(id) FROM state)", "moss");
|
|
+ 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 5315fdd4..54d086d7 100644
|
|
--- a/src/logo/builtin.c
|
|
+++ b/src/logo/builtin.c
|
|
@@ -4920,6 +4920,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",
|
|
+ },
|
|
+ .colorTitle = FF_COLOR_FG_BLUE,
|
|
+ .colorKeys = FF_COLOR_FG_MAGENTA,
|
|
+ },
|
|
// Torizon OS
|
|
{
|
|
.names = {"Torizon OS", "TorizonCore"},
|
|
diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h
|
|
index 45c04971..6f37ea2a 100644
|
|
--- a/src/modules/packages/option.h
|
|
+++ b/src/modules/packages/option.h
|
|
@@ -38,6 +38,7 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
|
|
FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
|
|
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
|
|
FF_PACKAGES_FLAG_MOSS_BIT = 1ULL << 32,
|
|
+ FF_PACKAGES_FLAG_BPM_BIT = 1ULL << 33,
|
|
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 f9433718..e6f7f102 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);
|
|
@@ -162,6 +163,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"),
|
|
@@ -251,6 +253,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);
|
|
@@ -346,6 +349,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)
|
|
@@ -403,6 +407,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)
|
|
@@ -476,6 +481,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"},
|