diff --git a/.gitignore b/.gitignore index e69de29..23c2ea8 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,15 @@ +/libreport-2.9.3.tar.gz +/libreport-2.9.4.tar.gz +/libreport-2.9.5.tar.gz +/libreport-2.9.6.tar.gz +/libreport-2.9.7.tar.gz +/libreport-2.10.0.tar.gz +/libreport-2.10.1.tar.gz +/libreport-2.11.0.tar.gz +/libreport-2.11.1.tar.gz +/libreport-2.11.2.tar.gz +/libreport-2.11.3.tar.gz +/libreport-2.12.0.tar.gz +/libreport-2.13.0.tar.gz +/libreport-2.13.1.tar.gz +/libreport-2.14.0.tar.gz diff --git a/0001-gui-wizard-gtk-wizard-Remove-variable.patch b/0001-gui-wizard-gtk-wizard-Remove-variable.patch new file mode 100644 index 0000000..9537db0 --- /dev/null +++ b/0001-gui-wizard-gtk-wizard-Remove-variable.patch @@ -0,0 +1,39 @@ +From 1c646a2948d287368ec1a82b444e8175ebfbf5b9 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Tue, 25 Aug 2020 15:05:31 +0300 +Subject: [PATCH] gui-wizard-gtk: wizard: Remove variable + +cmd_output is no longer used since +440bcfa8526d50f122ec14e19f2bf2aa336f61e7 and trying to call +g_string_free() on it results in a critical warning. +--- + src/gui-wizard-gtk/wizard.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index 44900448..a4d7caa0 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -231,8 +231,6 @@ typedef struct + + static page_obj_t pages[NUM_PAGES]; + +-static GString *cmd_output = NULL; +- + /* Utility functions */ + + static void clear_warnings(void); +@@ -1667,10 +1665,6 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g + log_notice("done running event on '%s': %d", g_dump_dir_name, retval); + append_to_textview(g_tv_event_log, "\n"); + +- /* Free child output buffer */ +- g_string_free(cmd_output, TRUE); +- cmd_output = NULL; +- + /* Hide spinner and stop btn */ + gtk_widget_hide(GTK_WIDGET(g_spinner_event_log)); + gtk_widget_hide(g_btn_stop); +-- +2.28.0 + diff --git a/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch b/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch new file mode 100644 index 0000000..ed46b09 --- /dev/null +++ b/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch @@ -0,0 +1,49 @@ +From 85b687098bcedb67285ab787b8bd506d328c34e0 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Tue, 25 Aug 2020 15:17:54 +0300 +Subject: [PATCH] gui-wizard-gtk: wizard: Fix invalid memory read +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This partially reverts 7aba6e53bbfeedaacd95bbaa5e0c5e325a3e6a8d, which +results in “event” being inappropriately freed before a “goto” statement +is executed and the value stored in “g_event_selected” is read. +--- + src/gui-wizard-gtk/wizard.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index a4d7caa0..3e69a513 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -2635,7 +2635,7 @@ static gint select_next_page_no(gint current_page_no) + + log_info("%s: Looking for next event to process", __func__); + /* (note: this frees and sets to NULL g_event_selected) */ +- g_autofree char *event = setup_next_processed_event(&g_auto_event_list); ++ char *event = setup_next_processed_event(&g_auto_event_list); + if (!event) + { + current_page_no = PAGENO_EVENT_PROGRESS - 1; +@@ -2644,6 +2644,8 @@ static gint select_next_page_no(gint current_page_no) + + if (!get_sensitive_data_permission(event)) + { ++ free(event); ++ + cancel_processing(g_lbl_event_log, /* default message */ NULL, TERMINATE_NOFLAGS); + current_page_no = PAGENO_EVENT_PROGRESS - 1; + goto again; +@@ -2659,6 +2661,8 @@ static gint select_next_page_no(gint current_page_no) + + if (libreport_get_global_stop_on_not_reportable()) + { ++ free(event); ++ + cancel_processing(g_lbl_event_log, msg, TERMINATE_NOFLAGS); + current_page_no = PAGENO_EVENT_PROGRESS - 1; + goto again; +-- +2.28.0 + diff --git a/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch b/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch new file mode 100644 index 0000000..c000d30 --- /dev/null +++ b/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch @@ -0,0 +1,53 @@ +From ce557c0fb309184a9a8fc38a76404324d94803b0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Fri, 25 Sep 2020 19:23:51 +0200 +Subject: [PATCH] gui-wizard-gtk: Fix a double free condition + +We may only free `log_msg` in `update_command_run_log()` if it is the +result of the call to `g_strdup_printf()`, otherwise the caller takes +care of it. + +Partially reverts 7aba6e53. + +Resolves rhbz#1882319 +--- + src/gui-wizard-gtk/wizard.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index 8a4486f2..a532c633 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -1385,7 +1385,7 @@ static void cancel_processing(GtkLabel *status_label, const char *message, int t + pango_attr_list_unref(list); + } + +-static void update_command_run_log(const char* message, struct analyze_event_data *evd) ++static void update_command_run_log(char *message, struct analyze_event_data *evd) + { + const bool it_is_a_dot = (message[0] == '.' && message[1] == '\0'); + +@@ -1393,12 +1393,18 @@ static void update_command_run_log(const char* message, struct analyze_event_dat + gtk_label_set_text(g_lbl_event_log, message); + + /* Don't append new line behind single dot */ +- g_autofree const char *log_msg = it_is_a_dot ? message : g_strdup_printf("%s\n", message); ++ char *log_msg = it_is_a_dot ? message : g_strdup_printf("%s\n", message); + append_to_textview(g_tv_event_log, log_msg); + save_to_event_log(evd, log_msg); ++ ++ if (log_msg != message) ++ { ++ /* We assume message is managed by the caller. */ ++ free(log_msg); ++ } + } + +-static void run_event_gtk_error(const char *error_line, void *param) ++static void run_event_gtk_error(char *error_line, void *param) + { + update_command_run_log(error_line, (struct analyze_event_data *)param); + } +-- +2.26.2 + diff --git a/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch b/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch new file mode 100644 index 0000000..2b38feb --- /dev/null +++ b/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch @@ -0,0 +1,66 @@ +From cb2ab9a8b2e1dbc89e100aedc432c29a16246e84 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Sun, 27 Sep 2020 20:45:32 +0200 +Subject: [PATCH] gui-wizard-gtk: Fix a segfault and memory leak + +Only `arg[1]` has to be freed in `tv_details_row_activated()`, as +`arg[0]` is allocated statically. + +In `search_item_to_list_store_item()`, `tmp` gets overwritten with a new +value for every call to `gtk_text_buffer_get_text()`, so we need to free +the allocated memory continuously. + +Partially reverts 7aba6e53. + +Resolves rhbz#1882950 +--- + src/gui-wizard-gtk/wizard.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index a532c633..775b709f 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -707,7 +707,7 @@ static void tv_details_row_activated( + return; + + gint exitcode; +- g_autofree gchar *arg[3]; ++ gchar *arg[3]; + arg[0] = (char *) "xdg-open"; + arg[1] = g_build_filename(g_dump_dir_name ? g_dump_dir_name : "", item_name, NULL); + arg[2] = NULL; +@@ -751,6 +751,8 @@ static void tv_details_row_activated( + gtk_widget_destroy(scrolled); + gtk_widget_destroy(dialog); + } ++ ++ g_free(arg[1]); + } + + /* static gboolean tv_details_select_cursor_row( +@@ -2126,17 +2128,20 @@ static void search_item_to_list_store_item(GtkListStore *store, GtkTreeIter *new + gtk_text_iter_backward_char(end); + } + +- g_autofree gchar *tmp = gtk_text_buffer_get_text(word->buffer, beg, &(word->start), ++ gchar *tmp = gtk_text_buffer_get_text(word->buffer, beg, &(word->start), + /*don't include hidden chars*/FALSE); + g_autofree gchar *prefix = g_markup_escape_text(tmp, /*NULL terminated string*/-1); ++ g_free(tmp); + + tmp = gtk_text_buffer_get_text(word->buffer, &(word->start), &(word->end), + /*don't include hidden chars*/FALSE); + g_autofree gchar *text = g_markup_escape_text(tmp, /*NULL terminated string*/-1); ++ g_free(tmp); + + tmp = gtk_text_buffer_get_text(word->buffer, &(word->end), end, + /*don't include hidden chars*/FALSE); + g_autofree gchar *suffix = g_markup_escape_text(tmp, /*NULL terminated string*/-1); ++ g_clear_pointer(&tmp, g_free); + + char *content = g_strdup_printf("%s%s%s", prefix, text, suffix); + +-- +2.26.2 + diff --git a/0005-gui-wizard-gtk-Fix-segfault.patch b/0005-gui-wizard-gtk-Fix-segfault.patch new file mode 100644 index 0000000..29d65ae --- /dev/null +++ b/0005-gui-wizard-gtk-Fix-segfault.patch @@ -0,0 +1,66 @@ +From 1a22f30187163ce288b14e55a80539353a38b7be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Tue, 29 Sep 2020 14:16:00 +0200 +Subject: [PATCH 1/2] gui-wizard-gtk: Fix segfault + +Since show_error_as_msgbox() is specified as the custom logging handler +(via setting libreport_g_custom_logger), it will get called if an error +occurs in libreport_save_user_settings(). However, at that point, +g_wnd_assistant has already been destroyed, which leads to an invalid +read in show_error_as_msgbox(). + +This change unsets the custom logging handler after the GUI is destroyed +and adds an assertion in show_error_as_msgbox() checking that +g_wnd_assistant is not a null pointer. + +Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1883337 +--- + src/gui-wizard-gtk/main.c | 6 ++++-- + src/gui-wizard-gtk/wizard.c | 2 ++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c +index e111948c..f094c5fb 100644 +--- a/src/gui-wizard-gtk/main.c ++++ b/src/gui-wizard-gtk/main.c +@@ -125,6 +125,7 @@ int main(int argc, char **argv) + /* List of events specified on the command line. */ + GList *user_event_list = NULL; + const char *prgname = "abrt"; ++ int ret = 0; + abrt_init(argv); + + /* I18n */ +@@ -217,13 +218,14 @@ int main(int argc, char **argv) + g_signal_connect(app, "startup", G_CALLBACK(startup_wizard), NULL); + + /* Enter main loop */ +- g_application_run(G_APPLICATION(app), argc, argv); ++ ret = g_application_run(G_APPLICATION(app), argc, argv); + g_object_unref(app); ++ libreport_g_custom_logger = NULL; + + if (opts & OPT_d) + delete_dump_dir_possibly_using_abrtd(g_dump_dir_name); + + libreport_save_user_settings(); + +- return 0; ++ return ret; + } +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index 775b709f..c4a0b4c0 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -360,6 +360,8 @@ struct dump_dir *wizard_open_directory_for_writing(const char *dump_dir_name) + + void show_error_as_msgbox(const char *msg) + { ++ g_return_if_fail(g_wnd_assistant != NULL); ++ + GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(g_wnd_assistant), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, +-- +2.26.2 + diff --git a/0006-event_config-Null-autofree-pointers-before-returning.patch b/0006-event_config-Null-autofree-pointers-before-returning.patch new file mode 100644 index 0000000..ed3a26f --- /dev/null +++ b/0006-event_config-Null-autofree-pointers-before-returning.patch @@ -0,0 +1,40 @@ +From 41b6477bdeaa82c647db2f1c2ba1132c77b365ed Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Tue, 29 Sep 2020 14:43:15 +0200 +Subject: [PATCH 2/2] event_config: Null autofree pointers before returning + +The pointers to strings in the function check_problem_rating_usability() +need to be nullified before the function returns as they are declared +for auto-cleanup. + +This change fixes a double-free condition in which the returned strings +were attempted to be freed again in the caller, +is_backtrace_rating_usable(). + +Bug was introduced in 05e9c9273. + +Resolves rhbz#1883410 +--- + src/lib/event_config.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/lib/event_config.c b/src/lib/event_config.c +index c8053b7c..01e91efe 100644 +--- a/src/lib/event_config.c ++++ b/src/lib/event_config.c +@@ -541,10 +541,10 @@ bool check_problem_rating_usability(const event_config_t *cfg, + + finish: + if (description) +- *description = tmp_desc; ++ *description = g_steal_pointer(&tmp_desc); + + if (detail) +- *detail = tmp_detail; ++ *detail = g_steal_pointer(&tmp_detail); + + return result; + } +-- +2.26.2 + diff --git a/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch b/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch new file mode 100644 index 0000000..b28d183 --- /dev/null +++ b/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch @@ -0,0 +1,34 @@ +From 9b6d40905c21b476c58e9f9a908ddb32a0a56a18 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Tue, 29 Sep 2020 19:14:05 +0200 +Subject: [PATCH] gui-wizard-gtk: Don't autofree URL string + +g_object_set_data() does not (and cannot) copy the data passed to it, so +once url is freed, a subsequent access to the 'url' tag leads to an +invalid read and segfault. + +Bug was introduced in df386b097. + +Resolves rhbz#1882328 +--- + src/gui-wizard-gtk/wizard.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index 0af19587..ba1998df 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -462,8 +462,8 @@ static void append_to_textview(GtkTextView *tv, const char *str) + GtkTextTag *tag; + tag = gtk_text_buffer_create_tag(tb, NULL, "foreground", "blue", + "underline", PANGO_UNDERLINE_SINGLE, NULL); +- g_autofree char *url = g_strndup(t->start, t->len); +- g_object_set_data(G_OBJECT(tag), "url", url); ++ char *url = g_strndup(t->start, t->len); ++ g_object_set_data_full(G_OBJECT(tag), "url", url, g_free); + + gtk_text_buffer_insert_with_tags(tb, &text_iter, url, -1, tag, NULL); + +-- +2.26.2 + diff --git a/libreport.spec b/libreport.spec new file mode 100644 index 0000000..f17e39f --- /dev/null +++ b/libreport.spec @@ -0,0 +1,843 @@ +%if 0%{?suse_version} + %bcond_with bugzilla + + %define dbus_devel dbus-1-devel + %define libjson_devel libjson-devel +%else + %bcond_without bugzilla + + %define dbus_devel dbus-devel + %define libjson_devel json-c-devel +%endif + +%define glib_ver 2.43.4 + +Summary: Generic library for reporting various problems +Name: libreport +Version: 2.14.0 +Release: 11%{?dist} +License: GPLv2+ +URL: https://abrt.readthedocs.org/ +Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz + +Patch0: 0001-gui-wizard-gtk-wizard-Remove-variable.patch +Patch1: 0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch +Patch2: 0003-gui-wizard-gtk-Fix-a-double-free-condition.patch +Patch3: 0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch +Patch4: 0005-gui-wizard-gtk-Fix-segfault.patch +Patch5: 0006-event_config-Null-autofree-pointers-before-returning.patch +Patch6: 0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch + +BuildRequires: %{dbus_devel} +BuildRequires: gtk3-devel +BuildRequires: curl-devel +BuildRequires: desktop-file-utils +BuildRequires: python3-devel +BuildRequires: gettext +BuildRequires: libxml2-devel +BuildRequires: libtar-devel +BuildRequires: intltool +BuildRequires: libtool +BuildRequires: texinfo +BuildRequires: asciidoc +BuildRequires: xmlto +BuildRequires: newt-devel +BuildRequires: libproxy-devel +BuildRequires: satyr-devel >= 0.24 +BuildRequires: glib2-devel >= %{glib_ver} +BuildRequires: nettle-devel +BuildRequires: git-core + +%if 0%{?fedora} >= 24 || 0%{?rhel} > 7 +# A test case uses zh_CN locale to verify XML event translations +BuildRequires: glibc-all-langpacks +%endif + +%if %{with bugzilla} +BuildRequires: xmlrpc-c-devel +%endif +BuildRequires: doxygen +BuildRequires: systemd-devel +BuildRequires: augeas-devel +BuildRequires: augeas +BuildRequires: libarchive-devel +Requires: libreport-filesystem = %{version}-%{release} +Requires: satyr%{?_isa} >= 0.24 +Requires: glib2%{?_isa} >= %{glib_ver} +Requires: libarchive%{?_isa} +Requires: nettle%{?_isa} + +# Required for the temporary modularity hack, see below +%if 0%{?_module_build} +BuildRequires: sed +%endif + +Obsoletes: %{name}-compat < 2.13.2 +Obsoletes: %{name}-plugin-rhtsupport < 2.13.2 +Obsoletes: %{name}-rhel < 2.13.2 + +%description +Libraries providing API for reporting different problems in applications +to different bug targets like Bugzilla, ftp, trac, etc... + +%package filesystem +Summary: Filesystem layout for libreport +BuildArch: noarch + +%description filesystem +Filesystem layout for libreport + +%package devel +Summary: Development libraries and headers for libreport +Requires: libreport = %{version}-%{release} + +%description devel +Development libraries and headers for libreport + +%package web +Summary: Library providing network API for libreport +Requires: libreport = %{version}-%{release} + +%description web +Library providing network API for libreport + +%package web-devel +Summary: Development headers for libreport-web +Requires: libreport-web = %{version}-%{release} + +%description web-devel +Development headers for libreport-web + +%package -n python3-libreport +Summary: Python 3 bindings for report-libs +%if 0%{?_module_build} +# This is required for F26 Boltron (the modular release) +# Different parts of libreport are shipped with different +# modules with different dist tags; we need to weaken the +# strict NVR dependency to make it work. Temporary and +# limited to F26 Boltron. +%global distfreerelease %(echo %{release}|sed 's/%{?dist}$//'||echo 0) +Requires: libreport >= %{version}-%{distfreerelease} +%else +Requires: libreport = %{version}-%{release} +%endif +Requires: python3-dnf +%{?python_provide:%python_provide python3-libreport} + +%description -n python3-libreport +Python 3 bindings for report-libs. + +%package cli +Summary: %{name}'s command line interface +Requires: %{name} = %{version}-%{release} + +%description cli +This package contains simple command line tool for working +with problem dump reports + +%package newt +Summary: %{name}'s newt interface +Requires: %{name} = %{version}-%{release} +Provides: report-newt = 0:0.23-1 +Obsoletes: report-newt < 0:0.23-1 + +%description newt +This package contains a simple newt application for reporting +bugs + +%package gtk +Summary: GTK front-end for libreport +Requires: libreport = %{version}-%{release} +Requires: libreport-plugin-reportuploader = %{version}-%{release} +Provides: report-gtk = 0:0.23-1 +Obsoletes: report-gtk < 0:0.23-1 + +%description gtk +Applications for reporting bugs using libreport backend + +%package gtk-devel +Summary: Development libraries and headers for libreport +Requires: libreport-gtk = %{version}-%{release} + +%description gtk-devel +Development libraries and headers for libreport-gtk + +%package plugin-kerneloops +Summary: %{name}'s kerneloops reporter plugin +Requires: curl +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} + +%description plugin-kerneloops +This package contains plugin which sends kernel crash information to specified +server, usually to kerneloops.org. + +%package plugin-logger +Summary: %{name}'s logger reporter plugin +Requires: %{name} = %{version}-%{release} + +%description plugin-logger +The simple reporter plugin which writes a report to a specified file. + +%package plugin-systemd-journal +Summary: %{name}'s systemd journal reporter plugin +Requires: %{name} = %{version}-%{release} + +%description plugin-systemd-journal +The simple reporter plugin which writes a report to the systemd journal. + +%package plugin-mailx +Summary: %{name}'s mailx reporter plugin +Requires: %{name} = %{version}-%{release} +Requires: mailx + +%description plugin-mailx +The simple reporter plugin which sends a report via mailx to a specified +email address. + +%if %{with bugzilla} +%package plugin-bugzilla +Summary: %{name}'s bugzilla plugin +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} + +%description plugin-bugzilla +Plugin to report bugs into the bugzilla. +%endif + +%package plugin-mantisbt +Summary: %{name}'s mantisbt plugin +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} + +%description plugin-mantisbt +Plugin to report bugs into the mantisbt. + +%package centos +Summary: %{name}'s CentOS Bug Tracker workflow +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} +Requires: libreport-plugin-mantisbt = %{version}-%{release} + +%description centos +Workflows to report issues into the CentOS Bug Tracker. + +%package plugin-ureport +Summary: %{name}'s micro report plugin +BuildRequires: %{libjson_devel} +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} +%if 0%{?rhel} && ! 0%{?eln} +Requires: python3-subscription-manager-rhsm +%endif + +%description plugin-ureport +Uploads micro-report to abrt server + +%package plugin-reportuploader +Summary: %{name}'s reportuploader plugin +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} + +%description plugin-reportuploader +Plugin to report bugs into anonymous FTP site associated with ticketing system. + +%if 0%{?fedora} || 0%{?eln} +%package fedora +Summary: Default configuration for reporting bugs via Fedora infrastructure +Requires: %{name} = %{version}-%{release} + +%description fedora +Default configuration for reporting bugs via Fedora infrastructure +used to easily configure the reporting process for Fedora systems. Just +install this package and you're done. +%endif + +%if 0%{?rhel} && ! 0%{?eln} +%package rhel-bugzilla +Summary: Default configuration for reporting bugs to Red Hat Bugzilla +Requires: %{name} = %{version}-%{release} +Requires: libreport-plugin-bugzilla = %{version}-%{release} +Requires: libreport-plugin-ureport = %{version}-%{release} + +%description rhel-bugzilla +Default configuration for reporting bugs to Red Hat Bugzilla used to easily +configure the reporting process for Red Hat systems. Just install this package +and you're done. + +%package rhel-anaconda-bugzilla +Summary: Default configuration for reporting anaconda bugs to Red Hat Bugzilla +Requires: %{name} = %{version}-%{release} +Requires: libreport-plugin-bugzilla = %{version}-%{release} + +%description rhel-anaconda-bugzilla +Default configuration for reporting Anaconda problems to Red Hat Bugzilla used +to easily configure the reporting process for Red Hat systems. Just install this +package and you're done. +%endif + +%if %{with bugzilla} +%package anaconda +Summary: Default configuration for reporting anaconda bugs +Requires: %{name} = %{version}-%{release} +Requires: libreport-plugin-reportuploader = %{version}-%{release} +%if ! 0%{?rhel} || 0%{?eln} +Requires: libreport-plugin-bugzilla = %{version}-%{release} +%endif + +%description anaconda +Default configuration for reporting Anaconda problems or uploading the gathered +data over ftp/scp... +%endif + +%prep +%autosetup -S git + +%build +autoconf + +%configure \ +%if %{without bugzilla} + --without-bugzilla \ +%endif + --enable-doxygen-docs \ + --disable-silent-rules + +%make_build + +%install +%make_install \ +%if %{with python3} + PYTHON=%{__python3} \ +%endif # with python3 + mandir=%{_mandir} + +%find_lang %{name} + +# Remove byte-compiled python files generated by automake. +# automake uses system's python for all *.py files, even +# for those which needs to be byte-compiled with different +# version (python2/python3). +# rpm can do this work and use the appropriate python version. +find %{buildroot} -name "*.py[co]" -delete + +# remove all .la and .a files +find %{buildroot} -name '*.la' -or -name '*.a' | xargs rm -f +mkdir -p %{buildroot}/%{_initrddir} +mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/events.d/ +mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/events/ +mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/workflows.d/ +mkdir -p %{buildroot}/%{_datadir}/%{name}/events/ +mkdir -p %{buildroot}/%{_datadir}/%{name}/workflows/ + +# After everything is installed, remove info dir +rm -f %{buildroot}/%{_infodir}/dir + +# Remove unwanted Fedora specific workflow configuration files +%if ! 0%{?fedora} && ! 0%{?eln} +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraCCpp.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraKerneloops.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraPython.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraPython3.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraVmcore.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraXorg.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraLibreport.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraJava.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_FedoraJavaScript.xml +rm -f %{buildroot}/%{_sysconfdir}/libreport/workflows.d/report_fedora.conf +rm -f %{buildroot}%{_mandir}/man5/report_fedora.conf.5 +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_AnacondaFedora.xml +%endif + +# Remove unwanted RHEL specific workflow configuration files +%if ! 0%{?rhel} || 0%{?eln} +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_uReport.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_AnacondaRHELBugzilla.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaCCpp.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaKerneloops.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaPython.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaVmcore.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaXorg.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaLibreport.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaJava.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELBugzillaJavaScript.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataCCpp.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataKerneloops.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataPython.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDatavmcore.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataxorg.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataLibreport.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataJava.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELAddDataJavaScript.xml +rm -f %{buildroot}/%{_sysconfdir}/libreport/workflows.d/report_uReport.conf +rm -f %{buildroot}/%{_sysconfdir}/libreport/workflows.d/report_rhel_bugzilla.conf +rm -f %{buildroot}%{_mandir}/man5/report_uReport.conf.5 +rm -f %{buildroot}%{_mandir}/man5/report_rhel_bugzilla.conf.5 +%endif + +%check +make check|| { + # find and print the logs of failed test + # 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 +} + +%ldconfig_scriptlets +%ldconfig_scriptlets web +%if 0%{?rhel} && 0%{?rhel} <= 7 +%post gtk +%{?ldconfig} +# update icon cache +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun gtk +%{?ldconfig} +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans gtk +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%endif + +%files -f %{name}.lang +%doc README.md +%license COPYING +%config(noreplace) %{_sysconfdir}/%{name}/libreport.conf +%config(noreplace) %{_sysconfdir}/%{name}/report_event.conf +%config(noreplace) %{_sysconfdir}/%{name}/forbidden_words.conf +%config(noreplace) %{_sysconfdir}/%{name}/ignored_words.conf +%{_datadir}/%{name}/conf.d/libreport.conf +%{_libdir}/libreport.so.* +%{_mandir}/man5/libreport.conf.5* +%{_mandir}/man5/report_event.conf.5* +%{_mandir}/man5/forbidden_words.conf.5* +%{_mandir}/man5/ignored_words.conf.5* +# filesystem package owns /usr/share/augeas/lenses directory +%{_datadir}/augeas/lenses/libreport.aug + +%files filesystem +%dir %{_sysconfdir}/%{name}/ +%dir %{_sysconfdir}/%{name}/events.d/ +%dir %{_sysconfdir}/%{name}/events/ +%dir %{_sysconfdir}/%{name}/workflows.d/ +%dir %{_datadir}/%{name}/ +%dir %{_datadir}/%{name}/conf.d/ +%dir %{_datadir}/%{name}/conf.d/plugins/ +%dir %{_datadir}/%{name}/events/ +%dir %{_datadir}/%{name}/workflows/ +%dir %{_sysconfdir}/%{name}/plugins/ + +%files devel +# Public api headers: +%doc apidoc/html/*.{html,png,css,js} +%{_includedir}/libreport/libreport_types.h +%{_includedir}/libreport/client.h +%{_includedir}/libreport/dump_dir.h +%{_includedir}/libreport/event_config.h +%{_includedir}/libreport/problem_data.h +%{_includedir}/libreport/problem_report.h +%{_includedir}/libreport/report.h +%{_includedir}/libreport/report_result.h +%{_includedir}/libreport/run_event.h +%{_includedir}/libreport/file_obj.h +%{_includedir}/libreport/config_item_info.h +%{_includedir}/libreport/workflow.h +%{_includedir}/libreport/problem_details_widget.h +%{_includedir}/libreport/problem_details_dialog.h +%{_includedir}/libreport/problem_utils.h +%{_includedir}/libreport/ureport.h +%{_includedir}/libreport/reporters.h +%{_includedir}/libreport/global_configuration.h +# Private api headers: +%{_includedir}/libreport/internal_libreport.h +%{_includedir}/libreport/xml_parser.h +%{_includedir}/libreport/helpers +%{_libdir}/libreport.so +%{_libdir}/pkgconfig/libreport.pc +%dir %{_includedir}/libreport + +%files web +%{_libdir}/libreport-web.so.* + +%files web-devel +%{_libdir}/libreport-web.so +%{_includedir}/libreport/libreport_curl.h +%{_libdir}/pkgconfig/libreport-web.pc + +%files -n python3-libreport +%{python3_sitearch}/report/ +%{python3_sitearch}/reportclient/ + +%files cli +%{_bindir}/report-cli +%{_mandir}/man1/report-cli.1.gz + +%files newt +%{_bindir}/report-newt +%{_mandir}/man1/report-newt.1.gz + +%files gtk +%{_bindir}/report-gtk +%{_libdir}/libreport-gtk.so.* +%{_mandir}/man1/report-gtk.1.gz + +%files gtk-devel +%{_libdir}/libreport-gtk.so +%{_includedir}/libreport/internal_libreport_gtk.h +%{_libdir}/pkgconfig/libreport-gtk.pc + +%files plugin-kerneloops +%{_datadir}/%{name}/events/report_Kerneloops.xml +%{_mandir}/man*/reporter-kerneloops.* +%{_bindir}/reporter-kerneloops + +%files plugin-logger +%config(noreplace) %{_sysconfdir}/libreport/events/report_Logger.conf +%{_mandir}/man5/report_Logger.conf.5.* +%{_datadir}/%{name}/events/report_Logger.xml +%{_datadir}/%{name}/workflows/workflow_Logger.xml +%{_datadir}/%{name}/workflows/workflow_LoggerCCpp.xml +%config(noreplace) %{_sysconfdir}/libreport/events.d/print_event.conf +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_logger.conf +%{_mandir}/man5/print_event.conf.5.* +%{_mandir}/man5/report_logger.conf.5.* +%{_bindir}/reporter-print +%{_mandir}/man*/reporter-print.* + +%files plugin-systemd-journal +%{_bindir}/reporter-systemd-journal +%{_mandir}/man*/reporter-systemd-journal.* + +%files plugin-mailx +%config(noreplace) %{_sysconfdir}/libreport/plugins/mailx.conf +%{_datadir}/%{name}/conf.d/plugins/mailx.conf +%{_datadir}/%{name}/events/report_Mailx.xml +%{_datadir}/%{name}/workflows/workflow_Mailx.xml +%{_datadir}/%{name}/workflows/workflow_MailxCCpp.xml +%config(noreplace) %{_sysconfdir}/libreport/events.d/mailx_event.conf +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_mailx.conf +%{_mandir}/man5/mailx.conf.5.* +%{_mandir}/man5/mailx_event.conf.5.* +%{_mandir}/man5/report_mailx.conf.5.* +%{_mandir}/man*/reporter-mailx.* +%{_bindir}/reporter-mailx + +%files plugin-ureport +%config(noreplace) %{_sysconfdir}/libreport/plugins/ureport.conf +%{_datadir}/%{name}/conf.d/plugins/ureport.conf +%{_bindir}/reporter-ureport +%{_mandir}/man1/reporter-ureport.1.gz +%{_mandir}/man5/ureport.conf.5.gz +%{_datadir}/%{name}/events/report_uReport.xml +%if 0%{?rhel} && ! 0%{?eln} +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_uReport.conf +%{_datadir}/%{name}/workflows/workflow_uReport.xml +%{_mandir}/man5/report_uReport.conf.5.* +%endif + +%if %{with bugzilla} +%files plugin-bugzilla +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla.conf +%{_datadir}/%{name}/conf.d/plugins/bugzilla.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_format.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_formatdup.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_format_analyzer_libreport.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_formatdup_analyzer_libreport.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_format_kernel.conf +%{_datadir}/%{name}/events/report_Bugzilla.xml +%{_datadir}/%{name}/events/watch_Bugzilla.xml +%config(noreplace) %{_sysconfdir}/libreport/events/report_Bugzilla.conf +%config(noreplace) %{_sysconfdir}/libreport/events.d/bugzilla_event.conf +# FIXME: remove with the old gui +%{_mandir}/man1/reporter-bugzilla.1.gz +%{_mandir}/man5/report_Bugzilla.conf.5.* +%{_mandir}/man5/bugzilla_event.conf.5.* +%{_mandir}/man5/bugzilla.conf.5.* +%{_mandir}/man5/bugzilla_format.conf.5.* +%{_mandir}/man5/bugzilla_formatdup.conf.5.* +%{_mandir}/man5/bugzilla_format_analyzer_libreport.conf.5.* +%{_mandir}/man5/bugzilla_formatdup_analyzer_libreport.conf.5.* +%{_mandir}/man5/bugzilla_format_kernel.conf.5.* +%{_bindir}/reporter-bugzilla +%endif + +%files plugin-mantisbt +%config(noreplace) %{_sysconfdir}/libreport/plugins/mantisbt.conf +%{_datadir}/%{name}/conf.d/plugins/mantisbt.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/mantisbt_format.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/mantisbt_formatdup.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/mantisbt_format_analyzer_libreport.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/mantisbt_formatdup_analyzer_libreport.conf +%{_bindir}/reporter-mantisbt +%{_mandir}/man1/reporter-mantisbt.1.gz +%{_mandir}/man5/mantisbt.conf.5.* +%{_mandir}/man5/mantisbt_format.conf.5.* +%{_mandir}/man5/mantisbt_formatdup.conf.5.* +%{_mandir}/man5/mantisbt_format_analyzer_libreport.conf.5.* +%{_mandir}/man5/mantisbt_formatdup_analyzer_libreport.conf.5.* + +%files centos +%{_datadir}/%{name}/workflows/workflow_CentOSCCpp.xml +%{_datadir}/%{name}/workflows/workflow_CentOSKerneloops.xml +%{_datadir}/%{name}/workflows/workflow_CentOSPython.xml +%{_datadir}/%{name}/workflows/workflow_CentOSPython3.xml +%{_datadir}/%{name}/workflows/workflow_CentOSVmcore.xml +%{_datadir}/%{name}/workflows/workflow_CentOSXorg.xml +%{_datadir}/%{name}/workflows/workflow_CentOSLibreport.xml +%{_datadir}/%{name}/workflows/workflow_CentOSJava.xml +%{_datadir}/%{name}/workflows/workflow_CentOSJavaScript.xml +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_centos.conf +%{_mandir}/man5/report_centos.conf.5.* +%{_datadir}/%{name}/events/report_CentOSBugTracker.xml +%config(noreplace) %{_sysconfdir}/libreport/events/report_CentOSBugTracker.conf +%{_mandir}/man5/report_CentOSBugTracker.conf.5.* +# report_CentOSBugTracker events are shipped by libreport package +%config(noreplace) %{_sysconfdir}/libreport/events.d/centos_report_event.conf +%{_mandir}/man5/centos_report_event.conf.5.gz + +%files plugin-reportuploader +%{_mandir}/man*/reporter-upload.* +%{_mandir}/man5/uploader_event.conf.5.* +%{_bindir}/reporter-upload +%{_datadir}/%{name}/events/report_Uploader.xml +%config(noreplace) %{_sysconfdir}/libreport/events.d/uploader_event.conf +%{_datadir}/%{name}/workflows/workflow_Upload.xml +%{_datadir}/%{name}/workflows/workflow_UploadCCpp.xml +%config(noreplace) %{_sysconfdir}/libreport/plugins/upload.conf +%{_datadir}/%{name}/conf.d/plugins/upload.conf +%{_mandir}/man5/upload.conf.5.* +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_uploader.conf +%{_mandir}/man5/report_uploader.conf.5.* +%config(noreplace) %{_sysconfdir}/libreport/events/report_Uploader.conf +%{_mandir}/man5/report_Uploader.conf.5.* + +%if 0%{?fedora} || 0%{?eln} +%files fedora +%{_datadir}/%{name}/workflows/workflow_FedoraCCpp.xml +%{_datadir}/%{name}/workflows/workflow_FedoraKerneloops.xml +%{_datadir}/%{name}/workflows/workflow_FedoraPython.xml +%{_datadir}/%{name}/workflows/workflow_FedoraPython3.xml +%{_datadir}/%{name}/workflows/workflow_FedoraVmcore.xml +%{_datadir}/%{name}/workflows/workflow_FedoraXorg.xml +%{_datadir}/%{name}/workflows/workflow_FedoraLibreport.xml +%{_datadir}/%{name}/workflows/workflow_FedoraJava.xml +%{_datadir}/%{name}/workflows/workflow_FedoraJavaScript.xml +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_fedora.conf +%{_mandir}/man5/report_fedora.conf.5.* +%endif + +%if 0%{?rhel} && ! 0%{?eln} +%files rhel-bugzilla +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaCCpp.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaKerneloops.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaPython.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaVmcore.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaXorg.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaLibreport.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaJava.xml +%{_datadir}/%{name}/workflows/workflow_RHELBugzillaJavaScript.xml +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_rhel_bugzilla.conf +%{_mandir}/man5/report_rhel_bugzilla.conf.5.* + +%files rhel-anaconda-bugzilla +%{_datadir}/%{name}/workflows/workflow_AnacondaRHELBugzilla.xml +%endif + +%if %{with bugzilla} +%files anaconda +%if 0%{?fedora} || 0%{?eln} +%{_datadir}/%{name}/workflows/workflow_AnacondaFedora.xml +%endif +%if 0%{?rhel} && ! 0%{?eln} +%{_datadir}/%{name}/workflows/workflow_AnacondaRHEL.xml +%endif +%{_datadir}/%{name}/workflows/workflow_AnacondaUpload.xml +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/anaconda_event.conf +%config(noreplace) %{_sysconfdir}/libreport/events.d/bugzilla_anaconda_event.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_format_anaconda.conf +%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_formatdup_anaconda.conf +%{_mandir}/man5/anaconda_event.conf.5.* +%{_mandir}/man5/bugzilla_anaconda_event.conf.5.* +%{_mandir}/man5/bugzilla_format_anaconda.conf.5.* +%{_mandir}/man5/bugzilla_formatdup_anaconda.conf.5.* +%endif + +%changelog +* Fri Oct 09 2020 Matěj Grabovský - 2.14.0-11 +- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1882328 + +* Tue Sep 29 2020 Matěj Grabovský - 2.14.0-10 +- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1883337 +- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1883410 + +* Sun Sep 27 2020 Matěj Grabovský - 2.14.0-9 +- Add upstream fixes for memory management + +* Sun Sep 27 2020 Matěj Grabovský - 2.14.0-8 +- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1882950 + +* Fri Sep 25 2020 Matěj Grabovský - 2.14.0-7 +- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1882319 + +* Wed Aug 19 2020 Merlin Mathesius - 2.14.0-6 +- Updates so ELN builds in a Fedora-like reporting configuration, even though + the %%{rhel} macro is set. + +* Thu Aug 13 2020 Michal Fabik 2.14.0-3 +- forbidden_words: Add potentially sensitive env vars +- lib: Add version script for libreport +- lib: compress: Use libarchive +- Replace various utility functions with stock GLib ones +- gtk,lib: Update symbol list +- dd: Update dd_get_owner to handle error return values +- dirsize: Don't pick .lock'd dirs for deletion +- setgid instead of setuid the abrt-action-install-debuginfo-to-abrt-cache +- Various coding style improvements +- Various memory management fixes +- lib: Check for errors when opening files +- gtk-helpers: Check return value +- doc: Exclude more files with --without-bugzilla +- lib: Don’t use external executables for decompression +- lib: Decommission libreport_list_free_with_free +- Drop Red Hat Customer Portal reporter +- ureport: Drop Strata integration +- lib: Remove creates-items tag parsing in event definitions + +* Fri Aug 07 2020 Peter Robinson - 2.13.1-4 +- Bump to fix upgrade path + +* Tue Jul 28 2020 Fedora Release Engineering - 2.13.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun May 24 2020 Miro Hrončok - 2.13.1-2 +- Rebuilt for Python 3.9 + +* Mon May 11 2020 Michal Fabik 2.13.1-1 +- Fix broken abrt-vmcore.service due to bad namespacing + +* Fri Apr 24 2020 Michal Fabik 2.13.0-2 +- Support new "time" and "time_for_children" kernel namespaces +- Remove preprocessor namespacing in favor of function name prefixes +- client-python: Accomodate for multiple debug directories +- gui-wizard-gtk: Wrap event log messages +- lib: Drop D-Bus code +- plugins: reporter-rhtsupport: Drop unused debugging code +- Update translations + +* Tue Apr 21 2020 Björn Esser - 2.12.0-4 +- Rebuild (json-c) + +* Fri Mar 20 2020 Ernestas Kulik - 2.12.0-3 +- Add patch for https://bugzilla.redhat.com/show_bug.cgi?id=1815544 + +* Fri Feb 07 2020 Ernestas Kulik - 2.12.0-2 +- Bump release for side tag rebuild + +* Thu Feb 06 2020 Michal Fabik 2.12.0-1 +- ureport: Allow printf-like data attaching +- plugins: reporter-rhtsupport: Avoid runtime warning +- Update translations +- lib: Don't include Nettle in a public interface +- ureport: Drop HTTP header table +- glib_support: Use g_strsplit +- glib_support: Drop type initialization +- client-python: Drop yumdebuginfo +- lib: Use Nettle for computing SHA-1 digests +- Move augeas lenses to new subdirectory + +* Wed Jan 29 2020 Fedora Release Engineering - 2.11.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Nov 14 2019 Matěj Grabovský 2.11.3-1 +- Remove unused scripts +- gtk: Fix infinite loop crashing the reporting +- gtk: Improve logging +- gtk: Remove page number from page struct +- gtk: Code style adjustments +- Make notebook tabs invisible again +- gui-wizard-gtk: Remove expert mode +- gui-wizard-gtk: Stop allowing overriding UI definitions +- pull-trans: Suggest zanata install +- shellcheck: Iterating over ls output is fragile. Use globs. +- shellcheck: Double quote to prevent globbing and word splitting +- zanata: Use python3 zanata client to pull translations +- gtk: Fix another possible double-free + +* Mon Nov 11 2019 Ernestas Kulik - 2.11.2-2 +- Add patch to fix a double-free + +* Wed Oct 23 2019 Matěj Grabovský 2.11.2-1 +- gtk: Improve memory management +- gtk: Prevent memory leak +- lib: Eliminate GLib inefficiency +- gtk,style: Minor style consistency fixes +- workflows: Correct name of post_report event + +* Wed Oct 16 2019 Matěj Grabovský 2.11.1-1 +- gtk: Fix a double-free condition + +* Fri Oct 11 2019 Matěj Grabovský 2.11.0-1 +- Remove option for emergency analysis/reporting +- tests: proc_helpers: Fix call to errx() +- plugins: bugzilla: Add format file for libreport duplicates +- dbus: Remove interface introspection files +- lib: Don't warn if a configuration key is missing +- gtk: Handle event wildcards in command line options +- gtk: Better handling of workflows with wildcarded events +- lib: Remove unused arguments of prepare_commands +- lib: Reintroduce error logging in event XML parser +- cli: Continue running even if some events have no commands +- cli: Expand event name wildcards +- lib: Expand wildcards in workflow XML parser +- lib: Add a function to expand wildcards in event names +- style: Simplify code; fix typos in comments +- gitignore: Update with missing and renamed generated files +- dirsize: Skip dirs in which sosreport is being generated +- tests: Fix Python tests being skipped unconditionally +- Remove Python 2 support + +* Thu Oct 03 2019 Miro Hrončok - 2.10.1-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Sat Aug 17 2019 Miro Hrončok - 2.10.1-3 +- Rebuilt for Python 3.8 + +* Thu Jul 25 2019 Fedora Release Engineering - 2.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 03 2019 Martin Kutlak 2.10.1-1 +- doc: Makefile.am: Use correct path for --conf-file +- lib: copy_file_recursive: Use GLib abstractions +- gui-wizard-gtk: Fix fix +- cli: run-command: Replace use of vfork() with fork() +- plugins: rhbz: Don’t call strlen() on attachment data +- Check for empty fmt_file name when printing error msgs +- cli: Unpack command-line argument parsing logic +- lib: event_config: Remove pointless assignment +- gui-wizard-gtk: Fix never-read assignment +- lib: xatonum: Check string parameters +- Rework and refine composition of error messages +- Add clearer warnings about missing report elements specified in format files +- Move uReport workflow to plugin-ureport subpackage +- lib: ureport: Export workflow when saving server response +- lib: dump_dir: Clean up on failure in dd_delete() +- Use #ifdef to check whether macros are defined +- autogen.sh: Use autoreconf +- autogen.sh: Allow skipping running configure +- tests: forbidden_words: Don’t hardcode sysconfdir +- Makefile.am: Use correct locale when getting date + +* Tue Apr 23 2019 Ernestas Kulik - 2.10.0-3 +- Add patch to fix workflow fields not being added to reported_to when μReport response comes with a Bugzilla URL + +* Mon Feb 04 2019 Ernestas Kulik - 2.10.0-2 +- Remove unused patch + +* Sat Feb 02 2019 Ernestas Kulik - 2.10.0-1 +- Update to 2.10.0 +- Bump GLib dependency +- Add patch to work around issue with test diff --git a/sources b/sources new file mode 100644 index 0000000..c9ad10a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libreport-2.14.0.tar.gz) = 6bc428a2d91b22f2df1abc9326c131e91e5e7be78ca64ad6533ff8246fa02df9a975360686811d29fd66210206a4e4ee5dc9faf2c9b23eccab7ca0ec07c3d43c