Skip to content

Commit 060544b

Browse files
committed
Packages (Linux): detect flatpak-app only
The runtime packages detection was inaccurate. The official `flatpak list` ignores some packages (notablily *.Locale) but the logic is currently unknown.
1 parent 14c6b6d commit 060544b

File tree

3 files changed

+8
-18
lines changed

3 files changed

+8
-18
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# 2.17.2
22

3+
Changes:
4+
* Flatpak package count no longer takes runtime packages into account (Packages, Linux)
5+
36
Bugfixes:
47
* Fix formattion with multiple batteries (Battery)
58
* Fix incorrect size value for large memory sticks (PhysicalMemory)

src/detection/packages/packages_linux.c

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -313,19 +313,6 @@ static uint32_t getSnap(FFstrbuf* baseDir)
313313
return result > 0 ? result - 1 : 0;
314314
}
315315

316-
static uint32_t getFlatpak(FFstrbuf* baseDir, const char* dirname)
317-
{
318-
uint32_t baseDirLength = baseDir->length;
319-
ffStrbufAppendS(baseDir, dirname);
320-
321-
uint32_t result =
322-
getNumElements(baseDir, "/app", DT_DIR) +
323-
getNumElements(baseDir, "/runtime", DT_DIR);
324-
325-
ffStrbufSubstrBefore(baseDir, baseDirLength);
326-
return result;
327-
}
328-
329316
#ifdef FF_HAVE_RPM
330317
#include "common/library.h"
331318
#include <rpm/rpmlib.h>
@@ -459,7 +446,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
459446
if (!(options->disabled & FF_PACKAGES_FLAG_LPKG_BIT)) packageCounts->lpkg += getNumStrings(baseDir, "/opt/Loc-OS-LPKG/installed-lpkg/Listinstalled-lpkg.list", "\n");
460447
if (!(options->disabled & FF_PACKAGES_FLAG_EMERGE_BIT)) packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE");
461448
if (!(options->disabled & FF_PACKAGES_FLAG_EOPKG_BIT)) packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", DT_DIR);
462-
if (!(options->disabled & FF_PACKAGES_FLAG_FLATPAK_BIT)) packageCounts->flatpakSystem += getFlatpak(baseDir, "/var/lib/flatpak");
449+
if (!(options->disabled & FF_PACKAGES_FLAG_FLATPAK_BIT)) packageCounts->flatpakSystem += getNumElements(baseDir, "/var/lib/flatpak/app", DT_DIR);
463450
if (!(options->disabled & FF_PACKAGES_FLAG_NIX_BIT))
464451
{
465452
packageCounts->nixDefault += getNixPackages(baseDir, "/nix/var/nix/profiles/default");
@@ -587,5 +574,5 @@ void ffDetectPackagesImpl(FFPackagesResult* result, FFPackagesOptions* options)
587574
}
588575

589576
if (!(options->disabled & FF_PACKAGES_FLAG_FLATPAK_BIT))
590-
result->flatpakUser = getFlatpak(&baseDir, "/.local/share/flatpak");
577+
result->flatpakUser = getNumElements(&baseDir, "/.local/share/flatpak/app", DT_DIR);
591578
}

src/modules/packages/packages.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ void ffPrintPackagesHelpFormat(void)
425425
"Number of nix-default packages - nix-default",
426426
"Number of apk packages - apk",
427427
"Number of pkg packages - pkg",
428-
"Number of flatpak-system packages - flatpak-system",
429-
"Number of flatpak-user packages - flatpak-user",
428+
"Number of flatpak-system app packages - flatpak-system",
429+
"Number of flatpak-user app packages - flatpak-user",
430430
"Number of snap packages - snap",
431431
"Number of brew packages - brew",
432432
"Number of brew-cask packages - brew-cask",
@@ -445,7 +445,7 @@ void ffPrintPackagesHelpFormat(void)
445445
"Number of guix-user packages - guix-user",
446446
"Number of guix-home packages - guix-home",
447447
"Total number of all nix packages - nix-all",
448-
"Total number of all flatpak packages - flatpak-all",
448+
"Total number of all flatpak app packages - flatpak-all",
449449
"Total number of all brew packages - brew-all",
450450
"Total number of all guix packages - guix-all",
451451
}));

0 commit comments

Comments
 (0)