Version in base suite: 0.13.0-2 Base version: malcontent_0.13.0-2 Target version: malcontent_0.13.0-2+deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/m/malcontent/malcontent_0.13.0-2.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/m/malcontent/malcontent_0.13.0-2+deb13u1.dsc changelog | 11 ++++++++++ gbp.conf | 2 - patches/all_apps.patch | 52 ++++++++++++++++++++++++++----------------------- 3 files changed, 40 insertions(+), 25 deletions(-) diff -Nru malcontent-0.13.0/debian/changelog malcontent-0.13.0/debian/changelog --- malcontent-0.13.0/debian/changelog 2025-05-03 15:17:04.000000000 +0000 +++ malcontent-0.13.0/debian/changelog 2025-11-04 23:30:33.000000000 +0000 @@ -1,3 +1,14 @@ +malcontent (0.13.0-2+deb13u1) trixie; urgency=medium + + * Team upload + + [ Alessandro Astone ] + * Fix filtering snaps after snapd 2.72 (Closes: #1120080, LP: #2128350) + * Fix listing flatpaks in parental control UI (Closes: #1113776) + * Fix memory leak when checking snaps + + -- Jeremy Bícha Tue, 04 Nov 2025 18:30:33 -0500 + malcontent (0.13.0-2) unstable; urgency=medium * Team upload diff -Nru malcontent-0.13.0/debian/gbp.conf malcontent-0.13.0/debian/gbp.conf --- malcontent-0.13.0/debian/gbp.conf 2025-05-03 15:00:33.000000000 +0000 +++ malcontent-0.13.0/debian/gbp.conf 2025-11-04 23:30:33.000000000 +0000 @@ -1,6 +1,6 @@ [DEFAULT] pristine-tar = True -debian-branch = debian/master +debian-branch = debian/trixie upstream-branch = upstream/latest [buildpackage] diff -Nru malcontent-0.13.0/debian/patches/all_apps.patch malcontent-0.13.0/debian/patches/all_apps.patch --- malcontent-0.13.0/debian/patches/all_apps.patch 2025-05-03 15:00:33.000000000 +0000 +++ malcontent-0.13.0/debian/patches/all_apps.patch 2025-11-04 23:30:33.000000000 +0000 @@ -12,12 +12,12 @@ Forwarded: no --- - libmalcontent-ui/restrict-applications-selector.c | 69 ++++++++++++++++------- - libmalcontent/app-filter.c | 16 +++++- - 2 files changed, 63 insertions(+), 22 deletions(-) + libmalcontent-ui/restrict-applications-selector.c | 68 ++++++++++++++++------- + libmalcontent/app-filter.c | 21 ++++++- + 2 files changed, 67 insertions(+), 22 deletions(-) diff --git a/libmalcontent-ui/restrict-applications-selector.c b/libmalcontent-ui/restrict-applications-selector.c -index 83121b6..fb5ca6c 100644 +index 83121b6..06f458a 100644 --- a/libmalcontent-ui/restrict-applications-selector.c +++ b/libmalcontent-ui/restrict-applications-selector.c @@ -557,17 +557,13 @@ reload_apps (MctRestrictApplicationsSelector *self) @@ -47,7 +47,7 @@ parental_controls_type = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (app), "X-Parental-Controls"); -@@ -609,14 +604,35 @@ reload_apps (MctRestrictApplicationsSelector *self) +@@ -609,14 +604,30 @@ reload_apps (MctRestrictApplicationsSelector *self) executable, parental_controls_type); @@ -74,14 +74,9 @@ + executable); + } + -+ /* NULL executable */ -+ if (executable == NULL) -+ { -+ g_debug ("executable is NULL"); -+ continue; -+ } + /* Have we seen this executable before? */ -+ if (!g_hash_table_add (seen_executables, g_steal_pointer (&executable))) ++ if (executable != NULL && ++ !g_hash_table_add (seen_executables, g_steal_pointer (&executable))) + { + g_debug (" → Skipping ‘%s’ due to seeing its executable already", + g_app_info_get_id (app)); @@ -90,7 +85,7 @@ g_list_store_insert_sorted (self->apps, app, -@@ -725,6 +741,7 @@ mct_restrict_applications_selector_build_app_filter (MctRestrictApplicationsSele +@@ -725,6 +736,7 @@ mct_restrict_applications_selector_build_app_filter (MctRestrictApplicationsSele while (g_hash_table_iter_next (&iter, (gpointer) &app, NULL)) { g_autofree gchar *flatpak_id = NULL; @@ -98,7 +93,7 @@ flatpak_id = g_desktop_app_info_get_string (app, "X-Flatpak"); if (flatpak_id) -@@ -745,15 +762,27 @@ mct_restrict_applications_selector_build_app_filter (MctRestrictApplicationsSele +@@ -745,15 +757,31 @@ mct_restrict_applications_selector_build_app_filter (MctRestrictApplicationsSele } else { @@ -112,11 +107,15 @@ - g_warning ("Skipping blocklisting executable ‘%s’ due to it not being found", executable); - continue; + const gchar *commandline = g_app_info_get_commandline (G_APP_INFO (app)); -+ g_autofree gchar **commandline_list = g_strsplit (commandline, " ", -1); -+ if (g_strv_length (commandline_list) > 2) -+ { -+ path = (commandline_list != NULL) ? commandline_list[2] : NULL; -+ } ++ g_auto(GStrv) commandline_list = g_strsplit (commandline, " ", -1); ++ for (size_t i = 0; commandline_list[i]; i++) ++ { ++ if (g_str_has_prefix (commandline_list[i], "/snap/bin/")) ++ { ++ path = g_strdup (commandline_list[i]); ++ break; ++ } ++ } } - + else @@ -134,10 +133,10 @@ mct_app_filter_builder_blocklist_path (builder, path); } diff --git a/libmalcontent/app-filter.c b/libmalcontent/app-filter.c -index 130d1b4..c0e4410 100644 +index 130d1b4..2de2b52 100644 --- a/libmalcontent/app-filter.c +++ b/libmalcontent/app-filter.c -@@ -411,8 +411,20 @@ mct_app_filter_is_appinfo_allowed (MctAppFilter *filter, +@@ -411,8 +411,25 @@ mct_app_filter_is_appinfo_allowed (MctAppFilter *filter, g_return_val_if_fail (filter->ref_count >= 1, FALSE); g_return_val_if_fail (G_IS_APP_INFO (app_info), FALSE); @@ -146,10 +145,15 @@ + if (g_desktop_app_info_has_key (G_DESKTOP_APP_INFO (app_info), "X-SnapInstanceName")) + { + const gchar *commandline = g_app_info_get_commandline (G_APP_INFO (app_info)); -+ g_autofree gchar **commandline_list = g_strsplit (commandline, " ", -1); -+ if (g_strv_length (commandline_list) > 2) ++ g_auto(GStrv) commandline_list = g_strsplit (commandline, " ", -1); ++ ++ for (size_t i = 0; commandline_list[i]; i++) + { -+ abs_path = (commandline_list != NULL) ? commandline_list[2] : NULL; ++ if (g_str_has_prefix (commandline_list[i], "/snap/bin/")) ++ { ++ abs_path = g_strdup (commandline_list[i]); ++ break; ++ } + } + } + else