diff --git a/.gitignore b/.gitignore index 88f39e4..56386dd 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,19 @@ /libreport-2.14.0.tar.gz /libreport-2.15.1.tar.gz /libreport-2.15.2.tar.gz +/libreport-2.16.0.tar.gz +/libreport-2.17.0.tar.gz +/libreport-2.17.1.tar.gz +/libreport-2.17.2.tar.gz +/libreport-2.17.3.tar.gz +/libreport-2.17.4.tar.gz +/libreport-2.17.5.tar.gz +/libreport-2.17.6.tar.gz +/libreport-2.17.7.tar.gz +/libreport-2.17.8.tar.gz +/libreport-2.17.9.tar.gz +/libreport-2.17.10.tar.gz +/libreport-2.17.11.tar.gz +/libreport-2.17.13.tar.gz +/libreport-2.17.14.tar.gz +/libreport-2.17.15.tar.gz diff --git a/.packit.yml b/.packit.yml index b82be50..115dab4 100644 --- a/.packit.yml +++ b/.packit.yml @@ -1,10 +1,14 @@ specfile_path: libreport.spec synced_files: - - .packit.yml - - libreport.spec +- .packit.yml +- libreport.spec upstream_package_name: libreport upstream_project_url: https://github.com/abrt/libreport downstream_package_name: libreport + +# No extra dependencies are necessary to build the SRPM. +srpm_build_deps: [] + jobs: - job: propose_downstream trigger: release diff --git a/0001-gui-wizard-gtk-wizard-Remove-variable.patch b/0001-gui-wizard-gtk-wizard-Remove-variable.patch deleted file mode 100644 index 9537db0..0000000 --- a/0001-gui-wizard-gtk-wizard-Remove-variable.patch +++ /dev/null @@ -1,39 +0,0 @@ -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 deleted file mode 100644 index ed46b09..0000000 --- a/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch +++ /dev/null @@ -1,49 +0,0 @@ -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 deleted file mode 100644 index c000d30..0000000 --- a/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch +++ /dev/null @@ -1,53 +0,0 @@ -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 deleted file mode 100644 index 2b38feb..0000000 --- a/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch +++ /dev/null @@ -1,66 +0,0 @@ -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 deleted file mode 100644 index 29d65ae..0000000 --- a/0005-gui-wizard-gtk-Fix-segfault.patch +++ /dev/null @@ -1,66 +0,0 @@ -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 deleted file mode 100644 index ed3a26f..0000000 --- a/0006-event_config-Null-autofree-pointers-before-returning.patch +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index b28d183..0000000 --- a/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch +++ /dev/null @@ -1,34 +0,0 @@ -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/0008-rhbz-Fix-a-double-free-condition.patch b/0008-rhbz-Fix-a-double-free-condition.patch deleted file mode 100644 index 4180663..0000000 --- a/0008-rhbz-Fix-a-double-free-condition.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9cdf0f9123ee39c7cb32a276371b2fd95f0df5ac Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Mon, 2 Nov 2020 11:45:23 +0100 -Subject: [PATCH] rhbz: Fix a double-free condition - -The `cc` string must not be freed after the variable goes out of scope -since it's appended to `cc_list`. (`g_list_append()` does not copy its -input.) We only need to free the last string in the loop, which is an -empty string. - -The bug was introduced in 7aba6e53. - -Resolves rhbz#1893595 ---- - src/plugins/rhbz.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c -index 8a2ded79..e0d7a091 100644 ---- a/src/plugins/rhbz.c -+++ b/src/plugins/rhbz.c -@@ -406,18 +406,20 @@ GList *rhbz_bug_cc(xmlrpc_value* result_xml) - if (!item) - continue; - -- g_autofree const char* cc = NULL; -- xmlrpc_read_string(&env, item, &cc); -+ char *cc = NULL; -+ xmlrpc_read_string(&env, item, (const char **)&cc); - xmlrpc_DECREF(item); - if (env.fault_occurred) - abrt_xmlrpc_die(&env); - - if (*cc != '\0') - { -- cc_list = g_list_append(cc_list, (char*)cc); -+ cc_list = g_list_append(cc_list, cc); - log_debug("member on cc is %s", cc); - continue; - } -+ -+ free(cc); - } - xmlrpc_DECREF(cc_member); - return cc_list; --- -2.26.2 - diff --git a/0009-client-python-Add-getter-for-package-count-to-downlo.patch b/0009-client-python-Add-getter-for-package-count-to-downlo.patch deleted file mode 100644 index 6fa6ee4..0000000 --- a/0009-client-python-Add-getter-for-package-count-to-downlo.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cbb6b43038f0d88b28197ba905ba9324c0602945 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Thu, 3 Sep 2020 15:05:23 +0200 -Subject: [PATCH] client-python: Add getter for package count to downloader - -Add a new method get_package_count() to the DebugInfoDownload class -which returns the number of packages that will be downloaded. ---- - src/client-python/reportclient/debuginfo.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/client-python/reportclient/debuginfo.py b/src/client-python/reportclient/debuginfo.py -index cb318e8a..eeb2be30 100644 ---- a/src/client-python/reportclient/debuginfo.py -+++ b/src/client-python/reportclient/debuginfo.py -@@ -242,6 +242,9 @@ class DebugInfoDownload(object): - def get_install_size(self): - return self.installed_size - -+ def get_package_count(self): -+ return len(self.package_files_dict) -+ - def mute_stdout(self): - """ - Links sys.stdout with /dev/null and saves the old stdout --- -2.26.2 - diff --git a/801.patch b/801.patch new file mode 100644 index 0000000..8f784ff --- /dev/null +++ b/801.patch @@ -0,0 +1,42 @@ +From 9be0010e109d307921a049d10078813423227582 Mon Sep 17 00:00:00 2001 +From: Nicolas Iooss +Date: Fri, 15 Dec 2023 18:03:33 +0100 +Subject: [PATCH] Fix compatibility with libxml2 2.12 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since libxml2 2.12, xmlNodePtr is no longer included by libxml/encoding.h. +This leads to build errors such as: + + CC reporter_mantisbt-reporter-mantisbt.o + In file included from reporter-mantisbt.c:22: + mantisbt.h:48:5: error: unknown type name ‘xmlNodePtr’ + 48 | xmlNodePtr sr_root; + | ^~~~~~~~~~ + mantisbt.h:49:5: error: unknown type name ‘xmlNodePtr’ + 49 | xmlNodePtr sr_body; + | ^~~~~~~~~~ + mantisbt.h:50:5: error: unknown type name ‘xmlNodePtr’ + 50 | xmlNodePtr sr_method; + | ^~~~~~~~~~ + +Fix this by including libxml/tree.h. + +Signed-off-by: Nicolas Iooss +--- + src/plugins/mantisbt.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/plugins/mantisbt.h b/src/plugins/mantisbt.h +index 1feaf8f88..6979e7244 100644 +--- a/src/plugins/mantisbt.h ++++ b/src/plugins/mantisbt.h +@@ -25,6 +25,7 @@ extern "C" { + #endif + + #include ++#include + #include "problem_report.h" + + #define SOAP_STRING "ns2:string" diff --git a/README.packit b/README.packit index 8ede8cd..f592284 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.31.0. +The file was generated using packit 0.91.0.post1.dev4+ge6fd4a25. diff --git a/gating.yaml b/gating.yaml index 9ca798d..f075ad7 100644 --- a/gating.yaml +++ b/gating.yaml @@ -4,9 +4,6 @@ product_versions: decision_context: bodhi_update_push_testing subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} --- !Policy @@ -15,8 +12,4 @@ product_versions: decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - diff --git a/libreport-c89-2.patch b/libreport-c89-2.patch new file mode 100644 index 0000000..7b9b9d6 --- /dev/null +++ b/libreport-c89-2.patch @@ -0,0 +1,46 @@ +problem_item_get_size expects unsigned long * argument in problem_data.at test + +Otherwise, the test fails to build on i686 with GCC 14. + +Submitted upstream: + +diff --git a/tests/problem_data.at b/tests/problem_data.at +index 4d8bf0075c0a8b91..db67a76732d48663 100644 +--- a/tests/problem_data.at ++++ b/tests/problem_data.at +@@ -89,7 +89,7 @@ int main(int argc, char **argv) + struct problem_item *itm = problem_data_add_ext(data, "1", "foo", CD_FLAG_TXT | CD_FLAG_ISNOTEDITABLE, PROBLEM_ITEM_UNINITIALIZED_SIZE); + const size_t old_size = strlen(itm->content); + { +- size_t current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; ++ unsigned long current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; + assert(problem_item_get_size(itm, ¤t_size) == 0); + assert(current_size != PROBLEM_ITEM_UNINITIALIZED_SIZE); + assert(current_size == old_size); +@@ -97,7 +97,7 @@ int main(int argc, char **argv) + { + g_free(itm->content); + itm->content = NULL; +- size_t current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; ++ unsigned long current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; + assert(problem_item_get_size(itm, ¤t_size) == 0); + assert(current_size != PROBLEM_ITEM_UNINITIALIZED_SIZE); + assert(current_size == old_size); +@@ -120,7 +120,7 @@ int main(int argc, char **argv) + struct problem_item *itm = problem_data_add_ext(data, "2", flnm, CD_FLAG_BIN, PROBLEM_ITEM_UNINITIALIZED_SIZE); + + { +- size_t current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; ++ unsigned long current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; + assert(problem_item_get_size(itm, ¤t_size) == 0); + assert(current_size != PROBLEM_ITEM_UNINITIALIZED_SIZE); + assert(current_size == old_size); +@@ -129,7 +129,7 @@ int main(int argc, char **argv) + close(flds); + unlink(flnm); + assert(stat(flnm, &buf) != 0); +- size_t current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; ++ unsigned long current_size = PROBLEM_ITEM_UNINITIALIZED_SIZE; + assert(problem_item_get_size(itm, ¤t_size) == 0); + assert(current_size != PROBLEM_ITEM_UNINITIALIZED_SIZE); + assert(current_size == old_size); diff --git a/libreport-c89.patch b/libreport-c89.patch new file mode 100644 index 0000000..3f1770d --- /dev/null +++ b/libreport-c89.patch @@ -0,0 +1,28 @@ +Remove incorrect casts from tests/string_list.at + +The list_order argument already has the correct pointer type const +char * const * (after array-to-pointer decay). + +Submitted upstream: + +diff --git a/tests/string_list.at b/tests/string_list.at +index 6af162a2f8da3919..2118298da4de0ec3 100644 +--- a/tests/string_list.at ++++ b/tests/string_list.at +@@ -22,13 +22,13 @@ int main(void) + NULL + }; + +- int index = libreport_index_of_string_in_list(FILENAME_REASON, (char**) list_order); ++ int index = libreport_index_of_string_in_list(FILENAME_REASON, list_order); + assert(index == 0); + +- index = libreport_index_of_string_in_list(FILENAME_COUNT, (char**) list_order); ++ index = libreport_index_of_string_in_list(FILENAME_COUNT, list_order); + assert(index == 5); + +- index = libreport_index_of_string_in_list("other", (char**) list_order); ++ index = libreport_index_of_string_in_list("other", list_order); + assert(index < 0); + + return 0; diff --git a/libreport.spec b/libreport.spec index 74cb911..a4f068e 100644 --- a/libreport.spec +++ b/libreport.spec @@ -14,9 +14,9 @@ Summary: Generic library for reporting various problems Name: libreport -Version: 2.15.2 -Release: 6%{?dist} -License: GPLv2+ +Version: 2.17.15 +Release: 9%{?dist} +License: GPL-2.0-or-later URL: https://abrt.readthedocs.org/ Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: %{dbus_devel} @@ -33,8 +33,7 @@ BuildRequires: texinfo BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: newt-devel -BuildRequires: libproxy-devel -BuildRequires: satyr-devel >= 0.24 +BuildRequires: satyr-devel >= 0.38 BuildRequires: glib2-devel >= %{glib_ver} BuildRequires: git-core @@ -52,7 +51,7 @@ BuildRequires: augeas-devel BuildRequires: augeas BuildRequires: libarchive-devel Requires: libreport-filesystem = %{version}-%{release} -Requires: satyr%{?_isa} >= 0.24 +Requires: satyr%{?_isa} >= 0.38 Requires: glib2%{?_isa} >= %{glib_ver} Requires: libarchive%{?_isa} @@ -111,6 +110,8 @@ Requires: libreport >= %{version}-%{distfreerelease} Requires: libreport = %{version}-%{release} %endif Requires: python3-dnf +Requires: python3-requests +Requires: python3-urllib3 %{?python_provide:%python_provide python3-libreport} %description -n python3-libreport @@ -189,6 +190,14 @@ email address. Summary: %{name}'s bugzilla plugin Requires: %{name} = %{version}-%{release} Requires: libreport-web = %{version}-%{release} +Requires: python3-libreport = %{version}-%{release} +%if 0%{?fedora} >= 38 +Requires: python3-satyr +Suggests: python3-pytest +Suggests: python3-vcrpy +%endif + + %description plugin-bugzilla Plugin to report bugs into the bugzilla. @@ -361,6 +370,10 @@ rm -f %{buildroot}%{_mandir}/man5/report_uReport.conf.5 rm -f %{buildroot}%{_mandir}/man5/report_rhel_bugzilla.conf.5 %endif +%if 0%{?fedora} >= 38 + mv %{buildroot}/%{_bindir}/reporter-bugzilla-python %{buildroot}/%{_bindir}/reporter-bugzilla +%endif + %check make check|| { # find and print the logs of failed test @@ -551,6 +564,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man5/bugzilla_formatdup_analyzer_libreport.conf.5.* %{_mandir}/man5/bugzilla_format_kernel.conf.5.* %{_bindir}/reporter-bugzilla +%if 0%{?fedora} < 38 +%{_bindir}/reporter-bugzilla-python +%endif + %endif %files plugin-mantisbt @@ -618,6 +635,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man5/report_fedora.conf.5.* %endif +%if %{with bugzilla} %if 0%{?rhel} && ! 0%{?eln} %files rhel-bugzilla %{_datadir}/%{name}/workflows/workflow_RHELBugzillaCCpp.xml @@ -635,7 +653,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/%{name}/workflows/workflow_AnacondaRHELBugzilla.xml %endif -%if %{with bugzilla} %files anaconda %if 0%{?fedora} || 0%{?eln} %{_datadir}/%{name}/workflows/workflow_AnacondaFedora.xml @@ -652,6 +669,220 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %endif %changelog +* Fri Sep 19 2025 Python Maint - 2.17.15-9 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 2.17.15-8 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Thu Jul 24 2025 Fedora Release Engineering - 2.17.15-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 02 2025 Python Maint - 2.17.15-6 +- Rebuilt for Python 3.14 + +* Mon Jan 20 2025 Fedora Release Engineering - 2.17.15-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 2.17.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 2.17.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 2.17.15-2 +- Rebuilt for Python 3.13 + +* Sun Feb 18 2024 Packit - 2.17.15-1 +- Release version 2.17.15 (Michal Srb) +- reporter-bugzilla: Make the supplementary bugs easily identifiable (Michal Srb) +- reporter-bugzilla: Fix formatting in the supplementary bugs (Michal Srb) +- reporter-bugzilla: Fix code comment (Michal Srb) + +* Mon Feb 12 2024 Packit - 2.17.14-1 +- Release version 2.17.14 (Michal Srb) +- reporter-bugzilla: Reduce number of duplicate bug reports (Michal Srb) +- reporter-bugzilla: Fix config loading (Michal Srb) +- reporter-bugzilla: API key must consist of latin-1 characters (Michal Srb) +- reporter-bugzilla: Fix typo (Michal Srb) +- reporter-bugzilla: Fix creating binary attachments (Michal Srb) +- Update translations (mgrabovsky) + +* Sun Feb 04 2024 Packit - 2.17.13-1 +- Release version 2.17.13 (Michal Srb) +- Exclude coredump archives when creating a bug (Michal Srb) + +* Thu Jan 25 2024 Fedora Release Engineering - 2.17.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Florian Weimer - 2.17.11-5 +- Fix C compatibility issues in tests + +* Sun Jan 21 2024 Fedora Release Engineering - 2.17.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 2.17.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jul 01 2023 Python Maint - 2.17.11-2 +- Rebuilt for Python 3.12 + +* Fri Jun 30 2023 Packit - 2.17.11-1 +- Release version 2.17.11 (Michal Srb) +- spec: Add missing requires for python3-libreport (Michal Srb) +- Build URL with urllib.parse.urljoin() (Michal Srb) +- Add XDG_ACTIVATION_TOKEN to the list of ignored words (Michal Srb) +- Attachments are minor updates in Bugzilla (Michal Srb) +- Retry Bugzilla search queries with delays (Michal Srb) +- Fix "NameError: name 'ticket' is not defined" exception (Michal Srb) +- Update translations (mgrabovsky) + +* Thu Jun 15 2023 Python Maint - 2.17.10-2 +- Rebuilt for Python 3.12 + +* Thu May 11 2023 Packit - 2.17.10-1 +- Release version 2.17.10 (Matěj Grabovský) +- reporter-upload: Fix a use-after-free error in string handling (Matěj Grabovský) +- Update translations (mgrabovsky) +- Update translations (mgrabovsky) + +* Fri Mar 24 2023 Packit - 2.17.9-1 +- Release version 2.17.9 (Michal Srb) +- reporter-bugzilla: Fix string interpolation (Matěj Grabovský) +- reporter-bugzilla: Replace flags with just keyword arg (Michal Srb) +- reporter-bugzilla: Make sure that the creator of a bug is always in CC (Michal Srb) +- reporter-bugzilla: Don't fail if reported_to file doesn't exist (Michal Srb) +- reporter-bugzilla: Fix reporting when the bug already exists (Michal Srb) +- use $XDG_CONFIG_HOME to access user's configuration files (Yann Droneaud) +- Update translations (mgrabovsky) + +* Fri Mar 03 2023 Packit - 2.17.8-1 +- Release version 2.17.8 (Michal Srb) +- Update changelog (Michal Srb) +- reporter-bugzilla: Fix KeyError when HOME env var is not set (Michal Srb) +- Update changelog (Michal Srb) +- reporter-bugzilla: Fix password prompt in client/server mode (Michal Srb) + +* Mon Feb 20 2023 Packit - 2.17.7-1 +- Release version 2.17.7 (Michal Srb) +- spec: Add disttag (Michal Srb) +- Update changelog (Michal Srb) +- Fix rpm -V issue with missing reporter-bugzilla-python in f38 (Michal Srb) +- Fix TypeError (Michal Srb) +- Update pot file (Matěj Grabovský) +- readme: Add diagram of related projects (Matěj Grabovský) +- Update translations (mgrabovsky) +- Use SPDX format for license field (Matěj Grabovský) +- ignored_words: Add KeyboardInterrupt (Michal Fabik) +- packit: Add dependencies for SRPM build (Matěj Grabovský) +- Update translations (mgrabovsky) + +* Thu Jan 19 2023 Fedora Release Engineering - 2.17.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Nov 06 2022 Packit - 2.17.6-1 +- Release version 2.17.6 (Michal Srb) +- Update translations (mgrabovsky) +- Update changelog (Michal Srb) +- reporter-bugzilla: Fix TypeError (Michal Srb) + +* Mon Oct 24 2022 Michal Srb - 2.17.5-2 +- Fix dist-tag + +* Mon Oct 24 2022 Packit - 2.17.5-1 +- Release version 2.17.5 (Michal Srb) +- Update changelog (Michal Srb) +- dump_dir.py: check that the filename doesn't start with "/" (Michal Srb) +- dump_dir.py: Don't pass libreport flags to open() (Michal Srb) +- reporter-bugzilla: Fix exceptions (Michal Srb) +- Update translations (mgrabovsky) + +* Wed Sep 14 2022 Packit - 2.17.4-1 +- Release version 2.17.4 (Michal Fabik) +- Update changelog (Michal Fabik) +- reporter_bugzilla.py: Don't ask for API key if we already have it (Michal Srb) +- internal/bz_connection.py: Fix "TypeError: 'builtin_function_or_method' object is not subscriptable" (Michal Srb) +- reporter_bugzilla.py: Fix condition (Michal Srb) +- internal/reported_to.py: Prevent possible ValueError if the line is for example empty (Michal Srb) +- reporter_bugzilla.py: Prevent possible KeyError exception (Michal Srb) +- reporter_bugzilla.py: Default value for `b_create_private` is False (Michal Srb) +- reporter_bugzilla.py: Prevent possible KeyError exception (Michal Srb) + +* Mon Sep 12 2022 Packit - 2.17.3-1 +- Release version 2.17.3 (Michal Fabik) +- Update changelog (Michal Fabik) +- Run autoupdate to get rid of obsolete/deprecated macros (Michal Fabik) +- Makefile: Move README.md to EXTRA_DIST (Michal Fabik) +- Don't build rhel-bugzilla --without-bugzilla (Michal Fabik) +- doc: Make anaconda_event.conf depend on BZ (Michal Fabik) +- Fix build --without-bugzilla (Michal Fabik) +- spec: Don't list files twice (Michal Fabik) +- Update translations (mgrabovsky) + +* Thu Aug 18 2022 Packit - 2.17.2-1 +- Release version 2.17.2 (Michal Fabik) +- reporter_bugzilla.py: Build, install (Michal Fabik) +- reporter_bugzilla.py: Add tests (Michal Fabik) +- reporter_bugzilla.py: Initial commit (Michal Fabik) +- Update translations (mgrabovsky) +- abrt_xmlrpc: Don't warn about discarded const (Michal Fabik) +- Update translations (mgrabovsky) +- Update translations (mgrabovsky) +- Use conventional lseek arg order (Michal Fabik) +- Update translations (mgrabovsky) +- ignored_words: Ignore more debuginfod URLs (Matěj Grabovský) + +* Thu Jul 21 2022 Fedora Release Engineering - 2.17.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 2.17.1-2 +- Rebuilt for Python 3.11 + +* Thu Mar 10 2022 Packit Service - 2.17.1-1 +- Release version 2.17.1 (Michal Srb) +- reporter-bugzilla: send API key in HTTP header (Michal Srb) +- tito: Use custom tagger that updates changelog (Matěj Grabovský) +- changelog: Fix link to release diff (Matěj Grabovský) +- reporter-bugzilla: Fix APIKey name (Michal Fabik) +- Update translations (mgrabovsky) +- Add missing va_end (Michal Židek) + +* Mon Feb 21 2022 Michal Srb - 2.17.0-1 +- [reporter-bugzilla] Use API key for authentication + +* Thu Jan 20 2022 Fedora Release Engineering - 2.16.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 19 2022 Matěj Grabovský - 2.16.0-2 +- Rebuild for testing + +* Mon Jan 17 2022 Matěj Grabovský - 2.16.0-1 +- Bump satyr dependency to 0.38 +- Bump libreport library revision to 2:1:0 +- Drop build-time dependency on libproxy-devel +- Drop last reference to global_uuid file +- Don't use deprecated assertEquals() in tests +- Add DEBUGINFOD_URLS environment variable to ignored_words +- rhbz: Retry XML-RPC calls when uploading attachments +- rhbz: Be a little bit more defensive when working with subcomponents +- Update translations + +* Thu Jan 13 2022 Matěj Grabovský - 2.15.2-11 +- Backport patch for building with Python 3.11 + (https://bugzilla.redhat.com/show_bug.cgi?id=2019402) + +* Wed Jan 12 2022 Matěj Grabovský - 2.15.2-10 +- Bump for rebuild + +* Thu Jan 06 2022 Matěj Grabovský - 2.15.2-9 +- Bump release for rebuild + +* Thu Jan 06 2022 Matěj Grabovský - 2.15.2-8 +- Bump release for rebuild + +* Wed Dec 22 2021 Matěj Grabovský - 2.15.2-7 +- Rebuild for satyr 0.39 + * Thu Jul 22 2021 Fedora Release Engineering - 2.15.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index c9ba4ce..3f8648a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libreport-2.15.2.tar.gz) = c98003325fa70d674177c9f602a7f121815a9675701ee780ad8908ed69862f2c69be65c7483fd3f017ba299dda51ba304f0908c771c9d97cb5bba057e3a9c5dc +SHA512 (libreport-2.17.15.tar.gz) = a4707f5272f037f91b4f4b562d3f0eb165ae7790699714accdd1af40216f37bd40d430a06925b1b7b8ac2d2cf97fd0cc4efded51dc22d21d9ef2abedf796e5fe diff --git a/tests/library-smoke.sh b/tests/library-smoke.sh new file mode 100755 index 0000000..ed1322f --- /dev/null +++ b/tests/library-smoke.sh @@ -0,0 +1,11 @@ +#!/usr/bin/bash + +gcc -x c -o smoke_test -lreport -Wno-implicit-function-declaration - < +int main(void) { + libreport_init(); + printf("libreport initialized OK\n"); + return 0; +} +EOF +./smoke_test diff --git a/tests/smoke.fmf b/tests/smoke.fmf index c043228..e872709 100644 --- a/tests/smoke.fmf +++ b/tests/smoke.fmf @@ -1,7 +1,15 @@ summary: Basic smoke test for libreport -require: gcc +prepare: + how: install + # Do not attempt to install conflicting subpackages. + exclude: + - abrt-atomic + - abrt-java-connector-container + - python3-abrt-container-addon + # Prerequisite for smoke testing liblibreport. + package: + - gcc execute: script: | - test/smoke.sh + tests/library-smoke.sh report-cli --version - diff --git a/tests/smoke.sh b/tests/smoke.sh deleted file mode 100755 index 49f2b53..0000000 --- a/tests/smoke.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/bash - -echo "int main(){libreport_init();}" | gcc -x c -lreport -Wno-implicit-function-declaration - -./a.out -rm -f a.out