diff --git a/.gitignore b/.gitignore index c6d510d..16cc618 100644 --- a/.gitignore +++ b/.gitignore @@ -71,4 +71,3 @@ abrt-1.1.13.tar.gz /abrt-2.14.0.tar.gz /abrt-2.14.1.tar.gz /abrt-2.14.2.tar.gz -/abrt-2.14.4.tar.gz diff --git a/0001-applet-Pass-instance-pointer-to-signal-handler.patch b/0001-applet-Pass-instance-pointer-to-signal-handler.patch new file mode 100644 index 0000000..9010657 --- /dev/null +++ b/0001-applet-Pass-instance-pointer-to-signal-handler.patch @@ -0,0 +1,28 @@ +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 new file mode 100644 index 0000000..7d749e1 --- /dev/null +++ b/0002-applet-Chain-up-in-dispose.patch @@ -0,0 +1,26 @@ +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 new file mode 100644 index 0000000..1cb1394 --- /dev/null +++ b/0003-applet-application-Fix-crash-when-processing-deferre.patch @@ -0,0 +1,59 @@ +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/abrt.spec b/abrt.spec index e549fd2..b7c8ae6 100644 --- a/abrt.spec +++ b/abrt.spec @@ -43,17 +43,21 @@ %define docdirversion -%{version} %endif -%define libreport_ver 2.14.0 +%define libreport_ver 2.13.0 %define satyr_ver 0.24 Summary: Automatic bug detection and reporting tool Name: abrt -Version: 2.14.4 -Release: 1%{?dist} +Version: 2.14.2 +Release: 3%{?dist} License: GPLv2+ URL: https://abrt.readthedocs.org/ Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +Patch0: 0001-applet-Pass-instance-pointer-to-signal-handler.patch +Patch1: 0002-applet-Chain-up-in-dispose.patch +Patch2: 0003-applet-application-Fix-crash-when-processing-deferre.patch + BuildRequires: git-core BuildRequires: %{dbus_devel} BuildRequires: hostname @@ -79,7 +83,6 @@ BuildRequires: libselinux-devel BuildRequires: python3-devel BuildRequires: python3-systemd BuildRequires: python3-argcomplete -BuildRequires: python3-dbus %endif Requires: libreport >= %{libreport_ver} @@ -103,6 +106,9 @@ Requires: python3-dbus Requires: dmidecode %endif Requires: libreport-plugin-ureport +%if 0%{?rhel} +Requires: libreport-plugin-rhtsupport +%endif %if 0%{?fedora} Requires: libreport-plugin-systemd-journal %endif @@ -268,8 +274,7 @@ Summary: %{name}'s pstore oops addon Requires: %{name} = %{version}-%{release} Requires: abrt-libs = %{version}-%{release} Requires: abrt-addon-kerneloops -Obsoletes: abrt-addon-uefioops <= 2.1.6 -Provides: abrt-addon-uefioops = %{version}-%{release} +Obsoletes: abrt-addon-uefioops %description addon-pstoreoops This package contains plugin for collecting kernel oopses from pstore storage. @@ -278,7 +283,7 @@ This package contains plugin for collecting kernel oopses from pstore storage. %package plugin-bodhi Summary: %{name}'s bodhi plugin Requires: %{name} = %{version}-%{release} -Obsoletes: libreport-plugin-bodhi <= 2.0.10 +Obsoletes: libreport-plugin-bodhi > 0.0.1 Provides: libreport-plugin-bodhi = %{version}-%{release} %description plugin-bodhi @@ -355,7 +360,10 @@ Requires: abrt-addon-ccpp Requires: python3-abrt-addon %endif Requires: abrt-addon-xorg -%if ! 0%{?rhel} +%if 0%{?rhel} +Requires: libreport-rhel >= %{libreport_ver} +Requires: libreport-plugin-rhtsupport >= %{libreport_ver} +%else %if %{with retrace} Requires: abrt-retrace-client %endif @@ -395,7 +403,10 @@ Requires: abrt-addon-xorg Requires: gdb-headless Requires: abrt-gui Requires: gnome-abrt -%if ! 0%{?rhel} +%if 0%{?rhel} +Requires: libreport-rhel >= %{libreport_ver} +Requires: libreport-plugin-rhtsupport >= %{libreport_ver} +%else %if %{with retrace} Requires: abrt-retrace-client %endif @@ -495,6 +506,9 @@ CFLAGS="%{optflags} -Werror" %configure \ %if %{without retrace} --without-retrace \ %endif +%if 0%{?rhel} + --enable-authenticated-autoreporting \ +%endif %ifnarch %{arm} --enable-native-unwinder \ %endif @@ -545,7 +559,8 @@ rm -f %{buildroot}%{_infodir}/dir %check make check|| { # find and print the logs of failed test - find src -name "test-suite.log" -print -exec cat '{}' \; + # do not cat tests/testsuite.log because it contains a lot of bloat + find tests/testsuite.dir -name "testsuite.log" -print -exec cat '{}' \; exit 1 } @@ -561,12 +576,10 @@ exit 0 %systemd_post abrtd.service %post addon-ccpp -# migration from 2.14.1.18 -if [ ! -e "%{_localstatedir}/cache/abrt-di/.migration-group-add" ]; then - chmod -R g+w %{_localstatedir}/cache/abrt-di - touch "%{_localstatedir}/cache/abrt-di/.migration-group-add" -fi - +# this is required for transition from 1.1.x to 2.x +# because /cache/abrt-di/* was created under root with root:root +# so 2.x fails when it tries to extract debuginfo there.. +chown -R abrt:abrt %{_localstatedir}/cache/abrt-di %systemd_post abrt-journal-core.service %journal_catalog_update @@ -809,8 +822,8 @@ killall abrt-dbus >/dev/null 2>&1 || : %dir %{_localstatedir}/lib/abrt -# attr(2755) ~= SETGID -%attr(2755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache +# attr(6755) ~= SETUID|SETGID +%attr(6755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache %{_bindir}/abrt-action-analyze-c %{_bindir}/abrt-action-trim-files @@ -1006,23 +1019,6 @@ killall abrt-dbus >/dev/null 2>&1 || : %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh %changelog -* Mon Aug 24 2020 Michal Fabik - 2.14.4-1 -- oops-utils: Respect the 'world-readable' flag -- Decommission libreport_list_free_with_free -- plugins: abrt-dump-journal-core: Handle zstd compression -- applet: application: Use GLib for logging -- Replace various utility functions with stock GLib ones -- Various coding style improvements -- Update documentation -- applet: application: Fix crash when processing deferred problems -- dbus: Remove session objects when owner disconnects -- python-problem: Use org.freedesktop.Problems2 API -- abrt-console-notification: Work around noclobber -- daemon: rpm: Use NEVRA instead of ENVRA -- abrtd: Don't delete new problem dirs -- Make sure that former caches are group writable -- Various memory management fixes - * Tue Jul 28 2020 - Ernestas Kulik - 2.14.2-3 - Add patch for https://bugzilla.redhat.com/show_bug.cgi?id=1860903 diff --git a/sources b/sources index c3a1c22..ad6df13 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (abrt-2.14.4.tar.gz) = b45808453187743c165914f7e72fcbca57684cb93a043fecd36414094ae8423fa661e6e07176773a15aaf468013386be300283e0d1b9d102d2e381ee9154e111 +SHA512 (abrt-2.14.2.tar.gz) = 020bd0550c41b2358a718a4f0f0c3a839d86fd46fc0c4f4cfc4b7d7f851baf2d5179e008ac1912b350f9f0fbfbfee94e422de3aadce5eb0f7f84a04f233349ff