diff --git a/0001-applet-Pass-instance-pointer-to-signal-handler.patch b/0001-applet-Pass-instance-pointer-to-signal-handler.patch deleted file mode 100644 index 9010657..0000000 --- a/0001-applet-Pass-instance-pointer-to-signal-handler.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5618985d3d7f830ebba0ef78e2ee6d3d6f9f6c55 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Fri, 15 May 2020 15:49:59 +0200 -Subject: [PATCH] applet: Pass instance pointer to signal handler - -Some fallout from 802a40a2f7c971b6533162e70b860e01ae3b5a27. - -https://bugzilla.redhat.com/show_bug.cgi?id=1836190 ---- - src/applet/abrt-applet-application.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c -index d982c9f9..8ea653bb 100644 ---- a/src/applet/abrt-applet-application.c -+++ b/src/applet/abrt-applet-application.c -@@ -177,7 +177,7 @@ abrt_applet_application_init (AbrtAppletApplication *self) - g_signal_connect (network_monitor, "notify::connectivity", - G_CALLBACK (on_connectivity_changed), self); - g_signal_connect (network_monitor, "notify::network-available", -- G_CALLBACK (on_connectivity_changed), NULL); -+ G_CALLBACK (on_connectivity_changed), self); - - self->deferred_problems = g_ptr_array_new_with_free_func (g_object_unref); - } --- -2.26.2 - diff --git a/0002-applet-Chain-up-in-dispose.patch b/0002-applet-Chain-up-in-dispose.patch deleted file mode 100644 index 7d749e1..0000000 --- a/0002-applet-Chain-up-in-dispose.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b08e7cbd26704b0a5400fdfab1f3f2e3922b102f Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Fri, 15 May 2020 15:50:50 +0200 -Subject: [PATCH] applet: Chain up in dispose() - -Also something missed in 802a40a2f7c971b6533162e70b860e01ae3b5a27. ---- - src/applet/abrt-applet-application.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c -index 8ea653bb..52ed5529 100644 ---- a/src/applet/abrt-applet-application.c -+++ b/src/applet/abrt-applet-application.c -@@ -985,6 +985,8 @@ abrt_applet_application_dispose (GObject *object) - self = ABRT_APPLET_APPLICATION (object); - - g_clear_pointer (&self->deferred_problems, g_ptr_array_unref); -+ -+ G_OBJECT_CLASS (abrt_applet_application_parent_class)->dispose (object); - } - - static void --- -2.26.2 - diff --git a/0003-applet-application-Fix-crash-when-processing-deferre.patch b/0003-applet-application-Fix-crash-when-processing-deferre.patch deleted file mode 100644 index 1cb1394..0000000 --- a/0003-applet-application-Fix-crash-when-processing-deferre.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b28fcc053db224c11f1f88d2885eba88d60a7322 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Tue, 28 Jul 2020 15:39:43 +0200 -Subject: [PATCH] applet: application: Fix crash when processing deferred - -Currently, when processing the deferred problems, if reporting fails, -the problem is re-added to the queue, but the object is not -re-referenced, leading to invalid reads later on. ---- - src/applet/abrt-applet-application.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c -index 28e55135..4716524b 100644 ---- a/src/applet/abrt-applet-application.c -+++ b/src/applet/abrt-applet-application.c -@@ -771,11 +771,9 @@ handle_event_output_cb (GIOChannel *gio, - gpointer data) - { - EventProcessingState *state; -- AbrtAppletProblemInfo *problem_info; - int status; - - state = data; -- problem_info = state->problem_info; - - /* Read streamed data and split lines */ - for (;;) -@@ -836,21 +834,23 @@ handle_event_output_cb (GIOChannel *gio, - - if (WIFEXITED (status) && WEXITSTATUS (status) == EXIT_STOP_EVENT_RUN) - { -- abrt_applet_problem_info_set_known (problem_info, true); -+ abrt_applet_problem_info_set_known (state->problem_info, true); - status = 0; - } - - if (status == 0) - { -- abrt_applet_problem_info_set_reported (problem_info, true); -+ abrt_applet_problem_info_set_reported (state->problem_info, true); - - log_debug ("fast report finished successfully"); -- abrt_applet_application_send_problem_notification (state->application, problem_info); -+ abrt_applet_application_send_problem_notification (state->application, -+ state->problem_info); - } - else - { - log_debug ("fast report failed, deferring"); -- g_ptr_array_add (state->application->deferred_problems, problem_info); -+ g_ptr_array_add (state->application->deferred_problems, -+ g_steal_pointer (&state->problem_info)); - } - - event_processing_state_free (state); --- -2.26.2 - diff --git a/Decommission-libreport_list_free_with_free.patch b/Decommission-libreport_list_free_with_free.patch new file mode 100644 index 0000000..43d2849 --- /dev/null +++ b/Decommission-libreport_list_free_with_free.patch @@ -0,0 +1,143 @@ +From 94dc256644a82f2777cd1193cc0d1d3b5e8be10a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Thu, 13 Aug 2020 11:49:28 +0200 +Subject: [PATCH] Decommission libreport_list_free_with_free + +Follow-up to abrt/libreport#660 +--- + src/daemon/rpm.c | 5 ++--- + src/dbus/abrt-dbus.c | 16 ++++++++-------- + src/lib/kernel.c | 3 +-- + src/plugins/abrt-action-trim-files.c | 2 +- + src/plugins/abrt-dump-oops.c | 3 +-- + 5 files changed, 13 insertions(+), 16 deletions(-) + +diff --git a/src/daemon/rpm.c b/src/daemon/rpm.c +index 9bbdaa516..af9ff63a1 100644 +--- a/src/daemon/rpm.c ++++ b/src/daemon/rpm.c +@@ -63,7 +63,7 @@ void rpm_init() + error_msg("Can't read RPM rc files"); + #endif + +- libreport_list_free_with_free(list_fingerprints); /* paranoia */ ++ g_list_free_full(list_fingerprints, free); + /* Huh? Why do we start the list with an element with NULL string? */ + list_fingerprints = g_list_alloc(); + } +@@ -77,8 +77,7 @@ void rpm_destroy() + #endif + #endif + +- libreport_list_free_with_free(list_fingerprints); +- list_fingerprints = NULL; ++ g_list_free_full(g_steal_pointer(&list_fingerprints), free); + } + + void rpm_load_gpgkey(const char* filename) +diff --git a/src/dbus/abrt-dbus.c b/src/dbus/abrt-dbus.c +index dc7ad75c2..0c5fd3308 100644 +--- a/src/dbus/abrt-dbus.c ++++ b/src/dbus/abrt-dbus.c +@@ -390,7 +390,7 @@ static void handle_method_call(GDBusConnection *connection, + { + GList *dirs = get_problem_dirs_for_uid(caller_uid, abrt_g_settings_dump_location); + response = variant_from_string_list(dirs); +- libreport_list_free_with_free(dirs); ++ g_list_free_full(dirs, free); + + g_dbus_method_invocation_return_value(invocation, response); + //I was told that g_dbus_method frees the response +@@ -411,10 +411,10 @@ static void handle_method_call(GDBusConnection *connection, + caller_uid = 0; + } + +- GList * dirs = get_problem_dirs_for_uid(caller_uid, abrt_g_settings_dump_location); ++ GList *dirs = get_problem_dirs_for_uid(caller_uid, abrt_g_settings_dump_location); + response = variant_from_string_list(dirs); + +- libreport_list_free_with_free(dirs); ++ g_list_free_full(dirs, free); + + g_dbus_method_invocation_return_value(invocation, response); + return; +@@ -422,9 +422,9 @@ static void handle_method_call(GDBusConnection *connection, + + if (g_strcmp0(method_name, "GetForeignProblems") == 0) + { +- GList * dirs = get_problem_dirs_not_accessible_by_uid(caller_uid, abrt_g_settings_dump_location); ++ GList *dirs = get_problem_dirs_not_accessible_by_uid(caller_uid, abrt_g_settings_dump_location); + response = variant_from_string_list(dirs); +- libreport_list_free_with_free(dirs); ++ g_list_free_full(dirs, free); + + g_dbus_method_invocation_return_value(invocation, response); + return; +@@ -540,7 +540,7 @@ static void handle_method_call(GDBusConnection *connection, + g_variant_builder_add(builder, "{ss}", element_name, value); + } + } +- libreport_list_free_with_free(elements); ++ g_list_free_full(elements, free); + dd_close(dd); + /* It is OK to call g_variant_new("(a{ss})", NULL) because */ + /* G_VARIANT_TYPE_TUPLE allows NULL value */ +@@ -749,7 +749,7 @@ static void handle_method_call(GDBusConnection *connection, + + g_dbus_method_invocation_return_value(invocation, NULL); + ret: +- libreport_list_free_with_free(problem_dirs); ++ g_list_free_full(problem_dirs, free); + return; + } + +@@ -776,7 +776,7 @@ static void handle_method_call(GDBusConnection *connection, + GList *dirs = get_problem_dirs_for_element_in_time(caller_uid, element, value, timestamp_from, + timestamp_to); + response = variant_from_string_list(dirs); +- libreport_list_free_with_free(dirs); ++ g_list_free_full(dirs, free); + + g_dbus_method_invocation_return_value(invocation, response); + return; +diff --git a/src/lib/kernel.c b/src/lib/kernel.c +index 758fe63dd..7c266a249 100644 +--- a/src/lib/kernel.c ++++ b/src/lib/kernel.c +@@ -357,8 +357,7 @@ void abrt_koops_extract_oopses(GList **oops_list, char *buffer, size_t buflen) + free(lines_info); + lines_info = NULL; + lines_info_size = 0; +- libreport_list_free_with_free(*oops_list); +- *oops_list = NULL; ++ g_list_free_full(g_steal_pointer(oops_list), free); + } + goto next_line; + } +diff --git a/src/plugins/abrt-action-trim-files.c b/src/plugins/abrt-action-trim-files.c +index 4633a8d9a..5ab953dfe 100644 +--- a/src/plugins/abrt-action-trim-files.c ++++ b/src/plugins/abrt-action-trim-files.c +@@ -179,7 +179,7 @@ static void delete_files(gpointer data, gpointer void_preserve_list) + + if (cur_size <= cap_size || !worst_file_list) + { +- libreport_list_free_with_free(worst_file_list); ++ g_list_free_full(g_steal_pointer(&worst_file_list), free); + log_info("cur_size:%.0f cap_size:%.0f, no (more) trimming", cur_size, cap_size); + break; + } +diff --git a/src/plugins/abrt-dump-oops.c b/src/plugins/abrt-dump-oops.c +index f30b87bb6..0781b910c 100644 +--- a/src/plugins/abrt-dump-oops.c ++++ b/src/plugins/abrt-dump-oops.c +@@ -196,8 +196,7 @@ int main(int argc, char **argv) + errors = abrt_oops_process_list(oops_list, dump_location, + ABRT_DUMP_OOPS_ANALYZER, oops_utils_flags); + +- libreport_list_free_with_free(oops_list); +- //oops_list = NULL; ++ g_list_free_full(oops_list, free); + + return errors; + } diff --git a/abrt-2.14.2.tar.gz b/abrt-2.14.2.tar.gz deleted file mode 100644 index e8b21c9..0000000 Binary files a/abrt-2.14.2.tar.gz and /dev/null differ diff --git a/abrt-2.14.3.tar.gz b/abrt-2.14.3.tar.gz new file mode 100644 index 0000000..6c85efc Binary files /dev/null and b/abrt-2.14.3.tar.gz differ diff --git a/abrt.spec b/abrt.spec index 897e8d6..4080e44 100644 --- a/abrt.spec +++ b/abrt.spec @@ -1,22 +1,20 @@ Name: abrt -Version: 2.14.2 -Release: 4 +Version: 2.14.3 +Release: 1 Summary: A tool for automatic bug detection and reporting License: GPL-2.0 and GPL-2.0+ URL: https://github.com/abrt/abrt/ Source: https://github.com/abrt/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -Patch0001: 0001-applet-Pass-instance-pointer-to-signal-handler.patch -Patch0002: 0002-applet-Chain-up-in-dispose.patch -Patch0003: 0003-applet-application-Fix-crash-when-processing-deferre.patch +Patch0: Decommission-libreport_list_free_with_free.patch BuildRequires: git-core dbus-devel hostname gtk3-devel glib2-devel >= 2.43.4 rpm-devel >= 4.6 BuildRequires: desktop-file-utils libnotify-devel gettext libxml2-devel intltool libtool BuildRequires: libsoup-devel asciidoc doxygen xmlto libreport-devel >= 2.13.0 python3-pytest BuildRequires: satyr-devel >= 0.24 augeas libselinux-devel python3-devel python3-systemd -BuildRequires: python3-nose python3-sphinx python3-libreport python3-devel python3-argcomplete +BuildRequires: python3-nose2 python3-sphinx python3-libreport python3-devel python3-argcomplete BuildRequires: libreport-gtk-devel >= 2.13.0 gsettings-desktop-schemas-devel >= 3.15 -BuildRequires: gdb-headless libcap-devel systemd-devel json-c-devel gdb-headless polkit-devel +BuildRequires: gdb-headless libcap-devel systemd-devel json-c-devel gdb-headless polkit-devel python3-dbus Requires: libreport >= 2.13.0 satyr >= 0.24 @@ -249,10 +247,7 @@ someone logs in to the shell. %autosetup -n %{name}-%{version} -p1 %build -autoscan -aclocal -autoconf -automake --add-missing +./autogen.sh CFLAGS="%{optflags}" %configure \ --without-bodhi \ @@ -285,10 +280,7 @@ ln -sf %{_bindir}/abrt %{buildroot}%{_bindir}/abrt-cli ln -sf %{_mandir}/man1/abrt.1 %{buildroot}%{_mandir}/man1/abrt-cli.1 %check -make check|| { - find tests/testsuite.dir -name "testsuite.log" -print -exec cat '{}' \; - exit 1 -} +make check %pre %define abrt_gid_uid 173 @@ -613,6 +605,9 @@ killall abrt-dbus >/dev/null 2>&1 || : %{_mandir}/man*/* %changelog +* Sat Jan 08 2022 huanghaitao - 2.14.3-1 +- Update to 2.14.3 + * Wed May 19 2021 lingsheng - 2.14.2-4 - Add back cli desktop console-notification sub packages