diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 56386dd..bbf2a56 100644 --- a/.gitignore +++ b/.gitignore @@ -1,33 +1 @@ -/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 -/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 +/libreport-2.*.tar.gz diff --git a/.packit.yml b/.packit.yml deleted file mode 100644 index 115dab4..0000000 --- a/.packit.yml +++ /dev/null @@ -1,21 +0,0 @@ -specfile_path: libreport.spec -synced_files: -- .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 - metadata: - dist_git_branch: fedora-all -- job: copr_build - trigger: pull_request - metadata: - targets: - - fedora-all diff --git a/0001-augeas-trim-spaces-on-eol-around-value-separator.patch b/0001-augeas-trim-spaces-on-eol-around-value-separator.patch new file mode 100644 index 0000000..75e8a49 --- /dev/null +++ b/0001-augeas-trim-spaces-on-eol-around-value-separator.patch @@ -0,0 +1,100 @@ +From bc3149ba31c063d334dd95a21c4214cef11f46da Mon Sep 17 00:00:00 2001 +From: Julius Milan +Date: Wed, 22 Mar 2017 14:10:04 +0100 +Subject: [PATCH] augeas: trim spaces on eol, around value separator + +Resolves abrt/libreport#474 +Related to rhbz#1434414 +--- + augeas/libreport.aug | 19 ++++++++++++------- + augeas/test_libreport.aug | 20 ++++++++++++++++++++ + 2 files changed, 32 insertions(+), 7 deletions(-) + +diff --git a/augeas/libreport.aug b/augeas/libreport.aug +index 483eeaf..46ffb73 100644 +--- a/augeas/libreport.aug ++++ b/augeas/libreport.aug +@@ -2,19 +2,24 @@ module Libreport = + autoload xfm + + (* Define useful primitives *) +- let value_sep = del / ?= ?/ " = " +- let value_to_eol = store /([^ \t\n].*[^ \t\n]|[^ \t\n]?)/ +- let eol = del /\n/ "\n" +- let ident = /[a-zA-Z][a-zA-Z_]+/ ++ let val_sep = del /[ \t]*=[ \t]*/ " = " ++ let val = store /([^ \t\n].*[^ \t\n]|[^ \t\n])/ ++ let eol = del /\n/ "\n" ++ let whitespace_eol = del /[ \t]*\n/ "\n" ++ let ident = /[a-zA-Z][a-zA-Z_]+/ + + (* Define comment *) +- let comment = [ label "#comment" . del /#[ \t]*/ "# " . value_to_eol . eol ] ++ let commented_line = [ label "#comment" . del /#[ \t]*/ "# " . val . eol ] ++ let empty_comment = [ label "#comment" . value "" . del /#[ \t]*/ "# " . eol ] ++ let comment = commented_line | empty_comment + + (* Define empty *) +- let empty = [ del /[ \t]*\n/ "\n" ] ++ let empty = [ del /[ \t]*\n/ "\n" ] + + (* Define option *) +- let option = [ del /[ \t]*/ "" . key ident . value_sep . value_to_eol . eol ] ++ let option_val = [ del /[ \t]*/ "" . key ident . val_sep . val . whitespace_eol ] ++ let option_no_val = [ value "" . del /[ \t]*/ "" . key ident . val_sep . eol ] ++ let option = option_val | option_no_val + + (* Define lens *) + let lns = ( comment | empty | option )* +diff --git a/augeas/test_libreport.aug b/augeas/test_libreport.aug +index 116e97c..3dfbfa6 100644 +--- a/augeas/test_libreport.aug ++++ b/augeas/test_libreport.aug +@@ -16,6 +16,8 @@ Password = + # bugs in selinux-policy component. + # (If you need to add more, the syntax is: \"component[,component...]\") + # ++# ++# + DontMatchComponents = selinux-policy + + # for more info about these settings see: https://github.com/abrt/abrt/wiki/FAQ#creating-private-bugzilla-tickets +@@ -25,6 +27,14 @@ PrivateGroups=private + Whitespace_two=start + Whitespace_three =start + Whitespace_four= start ++ ++AssignmentWhitespace_a =what ++ AssignmentWhitespace_b = an ++AssignmentWhitespace_c= original ++ AssignmentWhitespace_d = idea ++ ++EOLWhitespace_a = nice ++EOLWhitespace_b = nice + " + + test Libreport.lns get conf = +@@ -44,6 +54,8 @@ PrivateGroups=private + { "#comment" = "bugs in selinux-policy component." } + { "#comment" = "(If you need to add more, the syntax is: \"component[,component...]\")" } + { "#comment" = "" } ++ { "#comment" = "" } ++ { "#comment" = "" } + { "DontMatchComponents" = "selinux-policy" } + {} + { "#comment" = "for more info about these settings see: https://github.com/abrt/abrt/wiki/FAQ#creating-private-bugzilla-tickets" } +@@ -53,3 +65,11 @@ PrivateGroups=private + { "Whitespace_two" = "start" } + { "Whitespace_three" = "start" } + { "Whitespace_four" = "start" } ++ {} ++ { "AssignmentWhitespace_a" = "what" } ++ { "AssignmentWhitespace_b" = "an" } ++ { "AssignmentWhitespace_c" = "original" } ++ { "AssignmentWhitespace_d" = "idea" } ++ {} ++ { "EOLWhitespace_a" = "nice" } ++ { "EOLWhitespace_b" = "nice" } +-- +2.9.3 + diff --git a/0002-reporter-s-journal-add-journal-default-entries.patch b/0002-reporter-s-journal-add-journal-default-entries.patch new file mode 100644 index 0000000..745ac09 --- /dev/null +++ b/0002-reporter-s-journal-add-journal-default-entries.patch @@ -0,0 +1,63 @@ +From f97b21d1e1d4bff4e667991997dd78fec3b95159 Mon Sep 17 00:00:00 2001 +From: Matej Habrnal +Date: Tue, 14 Mar 2017 12:55:25 +0100 +Subject: [PATCH] reporter-s-journal: add journal default entries + +This commit adds 3 new fields into journal logs. All of them are in the +NONE dump. + +The new fields are: +PROBLEM_DIR - Represents absolute file system path of problem directory. + The full path is needed because that is the way with which are + problems identified in DBus Problems2API. +PROBLEM_UUID - Represents uuid +PROBLEM_DUPHASH - Represents duphash + +These new fields were needed for ABRT in Cockpit for connecting problems +with journal entries. All three are needed, because the problem directory +might be removed at the time of reading journal but a dupe can be +present there and the dupe can be identified based on DUPHASH or UUID. + +Signed-off-by: Matej Habrnal +--- + src/plugins/reporter-systemd-journal.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/plugins/reporter-systemd-journal.c b/src/plugins/reporter-systemd-journal.c +index 8df5ac7..957002b 100644 +--- a/src/plugins/reporter-systemd-journal.c ++++ b/src/plugins/reporter-systemd-journal.c +@@ -102,6 +102,7 @@ static void msg_content_free(msg_content_t *msg_c) + #define BINARY_NAME "binary" + #define SYSLOG_ID "SYSLOG_IDENTIFIER" + #define MESSAGE_ID "MESSAGE_ID" ++#define DUMPDIR_PATH "DIR" + + enum { + DUMP_NONE = 1 << 0, +@@ -122,6 +123,9 @@ static const char *const fields_default[] = { + FILENAME_EXCEPTION_TYPE , + FILENAME_REASON , + FILENAME_CRASH_FUNCTION , ++ DUMPDIR_PATH , ++ FILENAME_UUID , ++ FILENAME_DUPHASH , + NULL + }; + +@@ -302,6 +306,12 @@ int main(int argc, char **argv) + if (binary_name) + problem_data_add_text_noteditable(problem_data, BINARY_NAME, binary_name); + ++ /* add problem dir path into problem data */ ++ char *abspath = realpath(dump_dir_name, NULL); ++ if (abspath) ++ problem_data_add_text_noteditable(problem_data, DUMPDIR_PATH, abspath); ++ free(abspath); ++ + /* crash_function element is neeeded by systemd journal messages, save ??, if it doesn't exist */ + const char *crash_function = problem_data_get_content_or_NULL(problem_data, FILENAME_CRASH_FUNCTION); + if (!crash_function) +-- +2.9.3 + diff --git a/0003-reporter-s-journal-add-count-to-default-logs.patch b/0003-reporter-s-journal-add-count-to-default-logs.patch new file mode 100644 index 0000000..f969d50 --- /dev/null +++ b/0003-reporter-s-journal-add-count-to-default-logs.patch @@ -0,0 +1,37 @@ +From d2b5f09e2757f2585eb1003fdf6db43e58013c19 Mon Sep 17 00:00:00 2001 +From: Matej Marusak +Date: Tue, 21 Mar 2017 09:04:38 +0100 +Subject: [PATCH] reporter-s-journal: add count to default logs + +Field count is available only in FULL dump. There are however two good +reasons why to include this in NONE dump. + +1. It is quite useful to know if this problem occurred first time or is it +problem that happens a lot. + +2. We need it for cockpit integration. If the problem happened more times it +will have multiple logs. By comparing count in the log and real count, we can +know, if this is the last log of the problem. (timestamps do not work ideally +for this, since the time of problem does not equal to the time of the +log - there is some delay) + +Signed-off-by: Matej Marusak +--- + src/plugins/reporter-systemd-journal.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/plugins/reporter-systemd-journal.c b/src/plugins/reporter-systemd-journal.c +index 957002b..d12296e 100644 +--- a/src/plugins/reporter-systemd-journal.c ++++ b/src/plugins/reporter-systemd-journal.c +@@ -126,6 +126,7 @@ static const char *const fields_default[] = { + DUMPDIR_PATH , + FILENAME_UUID , + FILENAME_DUPHASH , ++ FILENAME_COUNT , + NULL + }; + +-- +2.9.3 + diff --git a/0004-lib-fix-newline-issue-with-ask_password.patch b/0004-lib-fix-newline-issue-with-ask_password.patch new file mode 100644 index 0000000..09ec8de --- /dev/null +++ b/0004-lib-fix-newline-issue-with-ask_password.patch @@ -0,0 +1,297 @@ +From 45a5ca011bd0a402cd55bbca950634280e152dea Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Fri, 7 Apr 2017 10:49:51 +0200 +Subject: [PATCH 04/14] lib: fix newline issue with ask_password + +The newline wasn't printed out because printing characters in terminal was +disabled (ECHO flag unset). After 'ask_password' function call, there would +have to be print function to create newline, otherwise the next message +would show up in the same line. + +ECHONL flag allows to print newline character even if the ECHO flag is disabled. + +Logic for the changes of the flags follows: +Change ECHO flag only when: + - ECHO is set (0) and there was no change (0) previously. + OR + - ECHO is unset (1) and there was a change (1) previously. + +Change ECHONL flag only when: + - ECHONL is unset (1) and there was no change (0) previously. + OR + - ECHONL is set (0) and there was a change (1) previously. + +Also ECHONL needs ICANON flag to be set (It is set by default). + +Signed-off-by: Martin Kutlak +--- + configure.ac | 4 ++ + src/cli/cli-report.c | 3 - + src/lib/client.c | 18 ++++- + src/plugins/reporter-mantisbt.c | 2 - + tests/Makefile.am | 3 +- + tests/client.at | 152 ++++++++++++++++++++++++++++++++++++++++ + tests/testsuite.at | 1 + + 7 files changed, 174 insertions(+), 9 deletions(-) + create mode 100644 tests/client.at + +diff --git a/configure.ac b/configure.ac +index ccefe50..c8745f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -239,6 +239,10 @@ PKG_CHECK_MODULES([AUGEAS], [augeas]) + #PKG_CHECK_MODULES([LZ4], [liblz4]) + + ++AC_SEARCH_LIBS([forkpty], [util]) ++AC_REPLACE_FUNCS([forkpty]) ++ ++ + AC_ARG_WITH(newt, + AS_HELP_STRING([--with-newt],[use newt (default is YES)]), + LIBREPORT_PARSE_WITH([newt])) +diff --git a/src/cli/cli-report.c b/src/cli/cli-report.c +index c83dc20..537b194 100644 +--- a/src/cli/cli-report.c ++++ b/src/cli/cli-report.c +@@ -442,9 +442,6 @@ static void ask_for_missing_settings(const char *event_name) + case OPTION_TYPE_PASSWORD: + { + opt->eo_value = ask_password(question); +- /* Newline was not added by pressing Enter because ECHO was +- disabled, so add it now. */ +- puts(""); + break; + } + case OPTION_TYPE_BOOL: +diff --git a/src/lib/client.c b/src/lib/client.c +index 811f33e..8a4e2ad 100644 +--- a/src/lib/client.c ++++ b/src/lib/client.c +@@ -34,14 +34,26 @@ static int is_noninteractive_mode() + int set_echo(int enable) + { + struct termios t; ++ int chvalue = 0; + if (tcgetattr(STDIN_FILENO, &t) < 0) + return 0; + +- /* No change needed? */ +- if (!(t.c_lflag & ECHO) == !enable) ++ /* ECHO flag change if needed */ ++ if ((!(t.c_lflag & ECHO)) == enable) ++ { ++ t.c_lflag ^= ECHO; ++ chvalue = 1; ++ } ++ /* ECHONL flag change if needed */ ++ if ((!(t.c_lflag & ECHONL)) != enable) ++ { ++ t.c_lflag ^= ECHONL; ++ chvalue = 1; ++ } ++ ++ if (!chvalue) + return 0; + +- t.c_lflag ^= ECHO; + if (tcsetattr(STDIN_FILENO, TCSANOW, &t) < 0) + perror_msg_and_die("tcsetattr"); + +diff --git a/src/plugins/reporter-mantisbt.c b/src/plugins/reporter-mantisbt.c +index 5062d32..622af87 100644 +--- a/src/plugins/reporter-mantisbt.c ++++ b/src/plugins/reporter-mantisbt.c +@@ -62,8 +62,6 @@ static char * + ask_mantisbt_password(const char *message) + { + char *password = ask_password(message); +- /* TODO: this should be fixed in ask_password() as other tools have the same problem */ +- putchar('\n'); + if (password == NULL || password[0] == '\0') + { + set_xfunc_error_retval(EXIT_CANCEL_BY_USER); +diff --git a/tests/Makefile.am b/tests/Makefile.am +index df19403..2b8972d 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -59,7 +59,8 @@ TESTSUITE_AT = \ + event_config.at \ + proc_helpers.at \ + compress.at \ +- forbidden_words.at ++ forbidden_words.at \ ++ client.at + + TESTSUITE_AT_IN = \ + bugzilla_plugin.at +diff --git a/tests/client.at b/tests/client.at +new file mode 100644 +index 0000000..b643789 +--- /dev/null ++++ b/tests/client.at +@@ -0,0 +1,152 @@ ++# -*- Autotest -*- ++ ++AT_BANNER([Client]) ++ ++## ---------------- ## ++## set_echo ## ++## ---------------- ## ++ ++AT_TESTFUN([set_echo], ++[[ ++#include ++#include "client.h" ++#include "internal_libreport.h" ++#include ++ ++#define ECHO_TEST (!(new_mode.c_lflag & ECHO)) ++#define ECHONL_TEST (!(new_mode.c_lflag & ECHONL)) ++ ++int main (void) ++{ ++ int master_pty; ++ ++ pid_t pid = forkpty(&master_pty, NULL, NULL, NULL); ++ if (pid < 0) { ++ perror_msg_and_die("forkpty failed."); ++ } ++ ++ if (pid == 0) { ++ int check, result, changed; ++ struct termios old_mode, new_mode; ++ assert(isatty(STDIN_FILENO) == 1); ++ ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(check == 0); ++ old_mode = new_mode; ++ ++ new_mode.c_lflag |= ECHO; ++ new_mode.c_lflag &= ~(ECHONL); ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 0; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(check == 0); ++ assert(result != changed); ++ assert(ECHO_TEST == 1); ++ assert(ECHONL_TEST == 0); ++ ++ changed = 1; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(check == 0); ++ assert(result == changed); ++ assert(ECHO_TEST == 0); ++ assert(ECHONL_TEST == 1); ++ ++ new_mode.c_lflag &= ~(ECHO); ++ new_mode.c_lflag |= ECHONL; ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 0; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(result == changed); ++ assert(ECHO_TEST == 1); ++ assert(ECHONL_TEST == 0); ++ ++ new_mode.c_lflag |= ECHO; ++ new_mode.c_lflag &= ~(ECHONL); ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 1; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(result != changed); ++ assert(ECHO_TEST == 0); ++ assert(ECHONL_TEST == 1); ++ ++ new_mode.c_lflag &= ~(ECHO | ECHONL); ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 0; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(result != changed); ++ assert(ECHO_TEST == 1); ++ assert(ECHONL_TEST == 0); ++ ++ new_mode.c_lflag &= ~(ECHO | ECHONL); ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 1; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(check == 0); ++ assert(result == changed); ++ assert(ECHO_TEST == 0); ++ assert(ECHONL_TEST == 1); ++ ++ new_mode.c_lflag |= (ECHO | ECHONL); ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 0; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(check == 0); ++ assert(result != changed); ++ assert(ECHO_TEST == 1); ++ assert(ECHONL_TEST == 0); ++ ++ new_mode.c_lflag |= (ECHO | ECHONL); ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &new_mode); ++ assert(check == 0); ++ ++ changed = 1; ++ result = set_echo(changed); ++ check = tcgetattr(STDIN_FILENO, &new_mode); ++ assert(check == 0); ++ assert(result == changed); ++ assert(ECHO_TEST == 0); ++ assert(ECHONL_TEST == 1); ++ ++ check = tcsetattr(STDIN_FILENO, TCSANOW, &old_mode); ++ assert(check == 0); ++ ++ return 0; ++ } ++ ++ int status; ++ if (safe_waitpid(pid, &status, 0) < 0) { ++ perror_msg_and_die("waitpid failed."); ++ } ++ ++ if (WIFEXITED(status)) { ++ return WEXITSTATUS(status); ++ } ++ else if (WIFSIGNALED(status)) { ++ error_msg_and_die("Killed by signal %d.", WTERMSIG(status)); ++ } ++ else { ++ error_msg_and_die("Test unexpectedly stopped/continued."); ++ } ++ ++ return 0; ++} ++]]) +diff --git a/tests/testsuite.at b/tests/testsuite.at +index a0865b2..45ff6da 100644 +--- a/tests/testsuite.at ++++ b/tests/testsuite.at +@@ -30,3 +30,4 @@ m4_include([bugzilla_plugin.at]) + m4_include([proc_helpers.at]) + m4_include([compress.at]) + m4_include([forbidden_words.at]) ++m4_include([client.at]) +-- +2.9.5 + diff --git a/0005-configure.ac-update-glib-min.-version-dependency.patch b/0005-configure.ac-update-glib-min.-version-dependency.patch new file mode 100644 index 0000000..5d30420 --- /dev/null +++ b/0005-configure.ac-update-glib-min.-version-dependency.patch @@ -0,0 +1,26 @@ +From 864b391f904963296b59fc26142f0dc8b5f34833 Mon Sep 17 00:00:00 2001 +From: Julius Milan +Date: Wed, 26 Apr 2017 11:07:09 +0200 +Subject: [PATCH 05/14] configure.ac: update glib min. version dependency + +Related to rhbz#1445669 +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c8745f8..15c743f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -224,7 +224,7 @@ AC_SUBST(PYTHON3_LIBS) + AC_SUBST(python3dir, $PYTHON3_DIR) + AC_SUBST(py3execdir, $PYTHON3_EXECDIR) + +-PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.21]) ++PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.43]) + PKG_CHECK_MODULES([GOBJECT], [gobject-2.0]) + PKG_CHECK_MODULES([DBUS], [dbus-1]) + PKG_CHECK_MODULES([LIBXML], [libxml-2.0]) +-- +2.9.5 + diff --git a/0006-lib-replace-hash-table-with-list.patch b/0006-lib-replace-hash-table-with-list.patch new file mode 100644 index 0000000..1e578a7 --- /dev/null +++ b/0006-lib-replace-hash-table-with-list.patch @@ -0,0 +1,401 @@ +From f183ccbe0f6e954ec2c9d0e1a1296ac54ff637e5 Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Tue, 25 Apr 2017 18:20:08 +0200 +Subject: [PATCH 08/14] lib: replace hash table with list + +Order of login credentials wasn't guaranteed, because event options with missing +values were inserted into hash table and then extracted from it. + +I renamed function validate_event as its name was a little bit confusing. The function +returns options that are missing input values and error message should be displayed. + +This fixes abrt/abrt#1231 + +Signed-off-by: Martin Kutlak +--- + src/cli/cli-report.c | 32 ++++++------- + src/gui-wizard-gtk/wizard.c | 4 +- + src/include/event_config.h | 15 +++++- + src/lib/event_config.c | 36 +++++++++++---- + src/report-newt/report-newt.c | 25 +++++----- + tests/event_config.at | 103 ++++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 173 insertions(+), 42 deletions(-) + +diff --git a/src/cli/cli-report.c b/src/cli/cli-report.c +index 537b194..fd14888 100644 +--- a/src/cli/cli-report.c ++++ b/src/cli/cli-report.c +@@ -414,19 +414,17 @@ static void ask_for_missing_settings(const char *event_name) + { + for (int i = 0; i < 3; ++i) + { +- GHashTable *error_table = validate_event(event_name); +- if (!error_table) ++ GList *err_list = NULL, *iter = NULL; ++ err_list = get_options_with_err_msg(event_name); ++ if(!err_list) + return; + + event_config_t *event_config = get_event_config(event_name); + +- GHashTableIter iter; +- char *opt_name, *err_msg; +- g_hash_table_iter_init(&iter, error_table); +- while (g_hash_table_iter_next(&iter, (void**)&opt_name, (void**)&err_msg)) ++ for (iter = err_list; iter; iter = iter->next) + { +- event_option_t *opt = get_event_option_from_list(opt_name, +- event_config->options); ++ invalid_option_t *err_data = (invalid_option_t *)iter->data; ++ event_option_t *opt = get_event_option_from_list(err_data->invopt_name, event_config->options); + + free(opt->eo_value); + opt->eo_value = NULL; +@@ -459,25 +457,27 @@ static void ask_for_missing_settings(const char *event_name) + free(question); + } + +- g_hash_table_destroy(error_table); ++ g_list_free_full(err_list, (GDestroyNotify)free_invalid_options); + +- error_table = validate_event(event_name); +- if (!error_table) ++ err_list = get_options_with_err_msg(event_name); ++ if (!err_list) + return; + + alert(_("Your input is not valid, because of:")); +- g_hash_table_iter_init(&iter, error_table); +- while (g_hash_table_iter_next(&iter, (void**)&opt_name, (void**)&err_msg)) ++ for (iter = err_list; iter; iter = iter -> next) + { +- char *msg = xasprintf(_("Bad value for '%s': %s"), opt_name, err_msg); ++ invalid_option_t *err_data = (invalid_option_t *)iter->data; ++ char *msg = xasprintf(_("Bad value for '%s': %s"), ++ err_data->invopt_name, ++ err_data->invopt_error); + alert(msg); + free(msg); + } + +- g_hash_table_destroy(error_table); ++ g_list_free_full(err_list, (GDestroyNotify)free_invalid_options); + } + +- /* we ask for 3 times and still don't have valid infromation */ ++ /* we ask for 3 times and still don't have valid information */ + error_msg_and_die("Invalid input, exiting."); + } + +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index c7136d6..d337805 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -914,10 +914,10 @@ static gint find_by_button(gconstpointer a, gconstpointer button) + + static void check_event_config(const char *event_name) + { +- GHashTable *errors = validate_event(event_name); ++ GList *errors = get_options_with_err_msg(event_name); + if (errors != NULL) + { +- g_hash_table_unref(errors); ++ g_list_free_full(errors, (GDestroyNotify)free_invalid_options); + show_event_config_dialog(event_name, GTK_WINDOW(g_top_most_window)); + update_private_ticket_creation_warning_for_selected_event(); + } +diff --git a/src/include/event_config.h b/src/include/event_config.h +index fdcb3b4..0e0df98 100644 +--- a/src/include/event_config.h ++++ b/src/include/event_config.h +@@ -63,6 +63,17 @@ typedef struct + bool is_advanced; + } event_option_t; + ++/* ++ * struct holds ++ * invopt_name = name of the option with invalid value ++ * invopt_error = string of the error message ++ */ ++typedef struct ++{ ++ char *invopt_name; ++ char *invopt_error; ++} invalid_option_t; ++ + event_option_t *new_event_option(void); + void free_event_option(event_option_t *p); + +@@ -108,6 +119,8 @@ bool ec_restricted_access_enabled(event_config_t *ec); + + void free_event_config(event_config_t *p); + ++invalid_option_t *new_invalid_option(void); ++void free_invalid_options(invalid_option_t* p); + + void load_event_description_from_file(event_config_t *event_config, const char* filename); + +@@ -126,7 +139,7 @@ extern GHashTable *g_event_config_list; // for iterating through entire list o + GList *export_event_config(const char *event_name); + void unexport_event_config(GList *env_list); + +-GHashTable *validate_event(const char *event_name); ++GList *get_options_with_err_msg(const char *event_name); + + /* + * Checks usability of problem's backtrace rating against required rating level +diff --git a/src/lib/event_config.c b/src/lib/event_config.c +index 9c58d00..c5b7b17 100644 +--- a/src/lib/event_config.c ++++ b/src/lib/event_config.c +@@ -22,6 +22,11 @@ + GHashTable *g_event_config_list; + static GHashTable *g_event_config_symlinks; + ++invalid_option_t *new_invalid_option(void) ++{ ++ return xzalloc(sizeof(invalid_option_t)); ++} ++ + event_option_t *new_event_option(void) + { + return xzalloc(sizeof(event_option_t)); +@@ -121,6 +126,15 @@ bool ec_restricted_access_enabled(event_config_t *ec) + return eo->eo_value != NULL && string_to_bool(eo->eo_value); + } + ++void free_invalid_options(invalid_option_t *p) ++{ ++ if (!p) ++ return; ++ free(p->invopt_name); ++ free(p->invopt_error); ++ free(p); ++} ++ + void free_event_option(event_option_t *p) + { + if (!p) +@@ -427,7 +441,7 @@ static char *validate_event_option(event_option_t *opt) + return NULL; + } + +-GHashTable *validate_event(const char *event_name) ++GList *get_options_with_err_msg(const char *event_name) + { + INITIALIZE_LIBREPORT(); + +@@ -435,21 +449,23 @@ GHashTable *validate_event(const char *event_name) + if (!config) + return NULL; + +- GHashTable *errors = g_hash_table_new_full(g_str_hash, g_str_equal, free, free); +- GList *li; ++ GList *iter, *err_list = NULL; + +- for (li = config->options; li; li = li->next) ++ for (iter = config->options; iter; iter = iter->next) + { +- event_option_t *opt = (event_option_t *)li->data; ++ event_option_t *opt = (event_option_t *)iter->data; + char *err = validate_event_option(opt); + if (err) +- g_hash_table_insert(errors, xstrdup(opt->eo_name), err); ++ { ++ invalid_option_t *inv_opt = new_invalid_option(); ++ inv_opt->invopt_name = xstrdup(opt->eo_name); ++ inv_opt->invopt_error = xstrdup(err); ++ err_list = g_list_prepend(err_list, inv_opt); ++ } + } + +- if (g_hash_table_size(errors)) +- return errors; +- +- g_hash_table_destroy(errors); ++ if (err_list != NULL) ++ return g_list_reverse(err_list); + + return NULL; + } +diff --git a/src/report-newt/report-newt.c b/src/report-newt/report-newt.c +index 2427d86..61e279d 100644 +--- a/src/report-newt/report-newt.c ++++ b/src/report-newt/report-newt.c +@@ -93,15 +93,14 @@ static int select_reporters(GArray *reporters) + + static int configure_reporter(struct reporter *r, bool skip_if_valid) + { +- GHashTable *error_table; +- GList *option; ++ GList *error_list, *option; + event_option_t *opt; + bool first = true, cancel = false; + int num_opts, i; + newtComponent text, *options, button_ok, button_cancel, form; + newtGrid grid, ogrid, bgrid; + +- while ((error_table = validate_event(r->name)) || ++ while ((error_list = get_options_with_err_msg(r->name)) || + (!skip_if_valid && first && r->config)) + { + text = newtTextboxReflowed(0, 0, ec_get_screen_name(r->config) ? +@@ -151,19 +150,19 @@ static int configure_reporter(struct reporter *r, bool skip_if_valid) + form = newtForm(NULL, NULL, 0); + newtGridAddComponentsToForm(grid, form, 1); + +- if (!first && error_table) ++ if (!first && error_list) + { +- GHashTableIter iter; +- char *opt_name, *err_msg, buf[4096]; ++ GList *iter; ++ char buf[4096]; + + /* Catenate the error messages */ + buf[0] = '\0'; +- for (g_hash_table_iter_init(&iter, error_table); +- g_hash_table_iter_next(&iter, (void**)&opt_name, (void**)&err_msg); ) ++ for (iter = error_list; iter; iter = iter->next) + { +- opt = get_event_option_from_list(opt_name, r->config->options); ++ invalid_option_t *inv_data = (invalid_option_t *)iter->data; ++ opt = get_event_option_from_list(inv_data->invopt_name, r->config->options); + snprintf(buf + strlen(buf), sizeof (buf) - strlen(buf), "%s: %s\n", +- opt->eo_label ? opt->eo_label : opt->eo_name, err_msg); ++ opt->eo_label ? opt->eo_label : opt->eo_name, inv_data->invopt_error); + } + + newtWinMessage(_("Error"), _("Ok"), buf); +@@ -201,14 +200,14 @@ static int configure_reporter(struct reporter *r, bool skip_if_valid) + + free(options); + +- if (error_table) +- g_hash_table_destroy(error_table); ++ if (error_list) ++ g_list_free_full(error_list,(GDestroyNotify)free_invalid_options); + if (cancel) + break; + first = false; + } + +- return !error_table; ++ return !error_list; + } + + struct log { +diff --git a/tests/event_config.at b/tests/event_config.at +index 5baf000..badca73 100644 +--- a/tests/event_config.at ++++ b/tests/event_config.at +@@ -58,3 +58,106 @@ TS_MAIN + } + TS_RETURN_MAIN + ]]) ++ ++## ------------------------ ## ++## get_options_with_err_msg ## ++## ------------------------ ## ++ ++AT_TESTFUN([get_options_with_err_msg], [[ ++#include "testsuite.h" ++#include "internal_libreport.h" ++ ++event_option_t* create_new_option(const char *n, const char *v, option_type_t t, int ae) ++{ ++ event_option_t *op = new_event_option(); ++ op->eo_name = xstrdup(n); ++ op->eo_value = NULL; ++ if(v != NULL) ++ op->eo_value = xstrdup(v); ++ ++ op->eo_type = t; ++ op->eo_allow_empty = ae; ++ ++ return op; ++} ++ ++TS_MAIN ++{ ++ GList *errors = NULL, *iter = NULL; ++ invalid_option_t *e_op; ++ ++ if (!g_event_config_list) ++ g_event_config_list = g_hash_table_new_full( ++ g_str_hash, g_str_equal, free, (GDestroyNotify) free_event_config ++ ); ++ ++ { ++ event_config_t *evnt = new_event_config("Bugster0"); ++ event_option_t *opt_login = create_new_option("Bugtest_Login", NULL, OPTION_TYPE_TEXT, 0); ++ event_option_t *opt_passwd = create_new_option("Bugtest_Password", NULL, OPTION_TYPE_PASSWORD, 0); ++ event_option_t *opt_url = create_new_option("Bugtest_URL", "bug.test", OPTION_TYPE_TEXT, 0); ++ ++ evnt->options = g_list_append(evnt->options, opt_login); ++ evnt->options = g_list_append(evnt->options, opt_passwd); ++ evnt->options = g_list_append(evnt->options, opt_url); ++ g_hash_table_insert(g_event_config_list, xstrdup("Bugster0"), evnt); ++ ++ errors = get_options_with_err_msg("Bugster0"); ++ e_op = (invalid_option_t *)errors->data; ++ ++ TS_ASSERT_STRING_EQ(e_op->invopt_name, "Bugtest_Login", "Show login first"); ++ ++ iter = g_list_next(errors); ++ e_op = (invalid_option_t *)iter->data; ++ ++ TS_ASSERT_STRING_EQ(e_op->invopt_name, "Bugtest_Password", "Show password second"); ++ TS_ASSERT_PTR_IS_NULL(g_list_next(iter)); ++ ++ g_list_free_full(errors, (GDestroyNotify)free_invalid_options); ++ } ++ ++ { ++ event_config_t *evnt = new_event_config("Bugster1"); ++ event_option_t *opt_login = create_new_option("Bugtest_Login", NULL, OPTION_TYPE_TEXT, 0); ++ event_option_t *opt_passwd = create_new_option("Bugtest_Password", NULL, OPTION_TYPE_PASSWORD, 0); ++ event_option_t *opt_url = create_new_option("Bugtest_URL", "bug.test", OPTION_TYPE_TEXT, 0); ++ ++ evnt->options = g_list_append(evnt->options, opt_passwd); ++ evnt->options = g_list_append(evnt->options, opt_login); ++ evnt->options = g_list_append(evnt->options, opt_url); ++ g_hash_table_insert(g_event_config_list, xstrdup("Bugster1"), evnt); ++ ++ errors = get_options_with_err_msg("Bugster1"); ++ e_op = (invalid_option_t *)errors->data; ++ ++ TS_ASSERT_STRING_EQ(e_op->invopt_name, "Bugtest_Password", "Show password first"); ++ ++ iter = g_list_next(errors); ++ e_op = (invalid_option_t *)iter->data; ++ ++ TS_ASSERT_STRING_EQ(e_op->invopt_name, "Bugtest_Login", "Show login second"); ++ TS_ASSERT_PTR_IS_NULL(g_list_next(iter)); ++ ++ g_list_free_full(errors, (GDestroyNotify)free_invalid_options); ++ } ++ ++ { ++ event_config_t *evnt = new_event_config("Bugster2"); ++ event_option_t *opt_login = create_new_option("Bugtest_Login", "login", OPTION_TYPE_TEXT, 0); ++ event_option_t *opt_passwd = create_new_option("Bugtest_Password", "password", OPTION_TYPE_PASSWORD, 0); ++ event_option_t *opt_url = create_new_option("Bugtest_URL", "bug.test", OPTION_TYPE_TEXT, 0); ++ ++ evnt->options = g_list_append(evnt->options, opt_login); ++ evnt->options = g_list_append(evnt->options, opt_passwd); ++ evnt->options = g_list_append(evnt->options, opt_url); ++ g_hash_table_insert(g_event_config_list, xstrdup("Bugster2"), evnt); ++ ++ errors = get_options_with_err_msg("Bugster2"); ++ ++ TS_ASSERT_PTR_IS_NULL(errors); ++ } ++ ++ free_event_config_data(); ++} ++TS_RETURN_MAIN ++]]) +-- +2.9.5 + diff --git a/0007-dd-extend-create_dump_dir-to-allow-set-pid-in-dumpdi.patch b/0007-dd-extend-create_dump_dir-to-allow-set-pid-in-dumpdi.patch new file mode 100644 index 0000000..8dca206 --- /dev/null +++ b/0007-dd-extend-create_dump_dir-to-allow-set-pid-in-dumpdi.patch @@ -0,0 +1,63 @@ +From 52bc62513f23a7a379ba48dc2895626cf842bb1a Mon Sep 17 00:00:00 2001 +From: Matej Habrnal +Date: Thu, 15 Jun 2017 17:12:53 +0200 +Subject: [PATCH 10/14] dd: extend create_dump_dir to allow set pid in dumpdir + name + +Signed-off-by: Matej Habrnal +--- + src/include/dump_dir.h | 3 +++ + src/lib/create_dump_dir.c | 9 +++++++-- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/include/dump_dir.h b/src/include/dump_dir.h +index fb3a470..793caf4 100644 +--- a/src/include/dump_dir.h ++++ b/src/include/dump_dir.h +@@ -486,6 +486,9 @@ typedef int (*save_data_call_back)(struct dump_dir *, void *args); + struct dump_dir *create_dump_dir(const char *base_dir_name, const char *type, + uid_t uid, save_data_call_back save_data, void *args); + ++struct dump_dir *create_dump_dir_ext(const char *base_dir_name, const char *type, ++ pid_t pid, uid_t uid, save_data_call_back save_data, void *args); ++ + /* Creates a new archive from the dump directory contents + * + * The dd argument must be opened for reading. +diff --git a/src/lib/create_dump_dir.c b/src/lib/create_dump_dir.c +index 1c6f1fc..d690c78 100644 +--- a/src/lib/create_dump_dir.c ++++ b/src/lib/create_dump_dir.c +@@ -42,7 +42,7 @@ static struct dump_dir *try_dd_create(const char *base_dir_name, const char *dir + return dd; + } + +-struct dump_dir *create_dump_dir(const char *base_dir_name, const char *type, uid_t uid, save_data_call_back save_data, void *args) ++struct dump_dir *create_dump_dir_ext(const char *base_dir_name, const char *type, pid_t pid, uid_t uid, save_data_call_back save_data, void *args) + { + INITIALIZE_LIBREPORT(); + +@@ -59,7 +59,7 @@ struct dump_dir *create_dump_dir(const char *base_dir_name, const char *type, ui + return NULL; + } + +- char *problem_id = xasprintf("%s-%s.%ld-%lu"NEW_PD_SUFFIX, type, iso_date_string(&(tv.tv_sec)), (long)tv.tv_usec, (long)getpid()); ++ char *problem_id = xasprintf("%s-%s.%ld-%lu"NEW_PD_SUFFIX, type, iso_date_string(&(tv.tv_sec)), (long)tv.tv_usec, (long)pid); + + log_info("Saving to %s/%s with uid %d", base_dir_name, problem_id, uid); + +@@ -151,6 +151,11 @@ struct dump_dir *create_dump_dir(const char *base_dir_name, const char *type, ui + return dd; + } + ++struct dump_dir *create_dump_dir(const char *base_dir_name, const char *type, uid_t uid, save_data_call_back save_data, void *args) ++{ ++ return create_dump_dir_ext(base_dir_name, type, getpid(), uid, save_data, args); ++} ++ + int save_problem_data_in_dump_dir(struct dump_dir *dd, problem_data_t *problem_data) + { + INITIALIZE_LIBREPORT(); +-- +2.9.5 + diff --git a/0008-augeas-exclude-format-files.patch b/0008-augeas-exclude-format-files.patch new file mode 100644 index 0000000..2701067 --- /dev/null +++ b/0008-augeas-exclude-format-files.patch @@ -0,0 +1,25 @@ +From d58bbe86686b3a601211f1f6a0186c73a6afc999 Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Tue, 20 Jun 2017 16:05:58 +0200 +Subject: [PATCH 11/14] augeas: exclude format files + +Signed-off-by: Martin Kutlak +--- + augeas/libreport.aug | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/augeas/libreport.aug b/augeas/libreport.aug +index 46ffb73..dd4252e 100644 +--- a/augeas/libreport.aug ++++ b/augeas/libreport.aug +@@ -31,6 +31,7 @@ module Libreport = + . (incl (Sys.getenv("HOME") . "/.cache/abrt/events/*")) + . (excl "/etc/libreport/plugins/bugzilla_format*") + . (excl "/etc/libreport/plugins/mantisbt_format*") ++ . (excl "/etc/libreport/plugins/catalog*") + . Util.stdexcl + + let xfm = transform lns filter +-- +2.9.5 + diff --git a/0009-bugzilla-add-check-if-option-d-was-entered.patch b/0009-bugzilla-add-check-if-option-d-was-entered.patch new file mode 100644 index 0000000..a198795 --- /dev/null +++ b/0009-bugzilla-add-check-if-option-d-was-entered.patch @@ -0,0 +1,66 @@ +From a6522407b95cf1410ecb33cbf2adff3a3998f686 Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Thu, 29 Jun 2017 12:10:25 +0200 +Subject: [PATCH 12/14] bugzilla: add check if option -d was entered + +The change from commit 946c522ba702c11b7b336552461747541e714bb7 caused that reporter was ALWAYS trying to read +from problem directory. And because the default value for it is set to ".", +running reporter from outside of problem directory caused errors. + +Signed-off-by: Martin Kutlak +--- + src/plugins/reporter-bugzilla.c | 29 +++++++++++++++++++---------- + 1 file changed, 19 insertions(+), 10 deletions(-) + +diff --git a/src/plugins/reporter-bugzilla.c b/src/plugins/reporter-bugzilla.c +index 7b7fd22..5364cd4 100644 +--- a/src/plugins/reporter-bugzilla.c ++++ b/src/plugins/reporter-bugzilla.c +@@ -334,18 +334,21 @@ int main(int argc, char **argv) + export_abrt_envvars(0); + + map_string_t *settings = new_map_string(); +- problem_data_t *problem_data; ++ problem_data_t *problem_data = NULL; + +- /* pull in some defaults from os-release */ +- problem_data = create_problem_data_for_reporting(dump_dir_name); +- if (!problem_data) +- xfunc_die(); /* create_problem_data_for_reporting already emitted error msg */ +- else ++ if (opts & OPT_d) + { +- map_string_t *osinfo = new_map_string(); +- problem_data_get_osinfo(problem_data, osinfo); +- set_default_settings(osinfo, settings); +- free_map_string(osinfo); ++ /* pull in some defaults from os-release */ ++ problem_data = create_problem_data_for_reporting(dump_dir_name); ++ if (!problem_data) ++ xfunc_die(); /* create_problem_data_for_reporting already emitted error msg */ ++ else ++ { ++ map_string_t *osinfo = new_map_string(); ++ problem_data_get_osinfo(problem_data, osinfo); ++ set_default_settings(osinfo, settings); ++ free_map_string(osinfo); ++ } + } + + { +@@ -554,6 +557,12 @@ int main(int argc, char **argv) + free_report_result(reported_to); + } + ++ if (!(opts & OPT_d)) ++ problem_data = create_problem_data_for_reporting(dump_dir_name); ++ ++ if (!problem_data) ++ xfunc_die(); /* create_problem_data_for_reporting already emitted error msg */ ++ + const char *component = problem_data_get_content_or_die(problem_data, FILENAME_COMPONENT); + const char *duphash = problem_data_get_content_or_NULL(problem_data, FILENAME_DUPHASH); + //COMPAT, remove after 2.1 release +-- +2.9.5 + diff --git a/0010-reporter-mantisbt-Fix-typo-in-help.patch b/0010-reporter-mantisbt-Fix-typo-in-help.patch new file mode 100644 index 0000000..331578f --- /dev/null +++ b/0010-reporter-mantisbt-Fix-typo-in-help.patch @@ -0,0 +1,26 @@ +From f15195d7c317a94405b33102b36e1a8d7dcb214b Mon Sep 17 00:00:00 2001 +From: Matej Marusak +Date: Fri, 14 Jul 2017 08:24:35 +0200 +Subject: [PATCH 13/14] reporter-mantisbt: Fix typo in help + +Signed-off-by: Matej Marusak +--- + src/plugins/reporter-mantisbt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/reporter-mantisbt.c b/src/plugins/reporter-mantisbt.c +index 622af87..3705bc7 100644 +--- a/src/plugins/reporter-mantisbt.c ++++ b/src/plugins/reporter-mantisbt.c +@@ -243,7 +243,7 @@ int main(int argc, char **argv) + "\nTRACKER_NAME to URL field. This option is applied only when a new issue is to be" + "\nfiled. The default value is 'ABRT Server'" + "\n" +- "\nIf not specified, CONFFILE defaults to "CONF_DIR"/plugins/mantisb.conf" ++ "\nIf not specified, CONFFILE defaults to "CONF_DIR"/plugins/mantisbt.conf" + "\nIts lines should have 'PARAM = VALUE' format." + "\nRecognized string parameters: MantisbtURL, Login, Password, Project, ProjectVersion." + "\nRecognized boolean parameter (VALUE should be 1/0, yes/no): SSLVerify, CreatePrivate." +-- +2.9.5 + diff --git a/0011-logging-rename-log-to-log_warning.patch b/0011-logging-rename-log-to-log_warning.patch new file mode 100644 index 0000000..af9fa3c --- /dev/null +++ b/0011-logging-rename-log-to-log_warning.patch @@ -0,0 +1,1366 @@ +From 3244d3b944961e5be92bfa98d9ab5da014e6fa22 Mon Sep 17 00:00:00 2001 +From: Matej Habrnal +Date: Tue, 22 Aug 2017 17:06:12 +0200 +Subject: [PATCH 14/14] logging: rename log() to log_warning() + +Renaming log() logging function to log_warning() because +of conflict with log() function from math.h. + +Related to #1481205 + +Signed-off-by: Matej Habrnal +--- + src/client-python/reportclient/__init__.py | 2 +- + src/gtk-helpers/config_dialog.c | 4 +-- + src/gtk-helpers/event_config_dialog.c | 2 +- + src/gtk-helpers/problem_details_widget.c | 4 +-- + src/gtk-helpers/secrets.c | 2 +- + src/gui-wizard-gtk/main.c | 2 +- + src/gui-wizard-gtk/wizard.c | 26 +++++++++--------- + src/include/internal_libreport.h | 10 +++---- + src/lib/abrt_dbus.c | 4 +-- + src/lib/copy_file_recursive.c | 2 +- + src/lib/curl.c | 20 +++++++------- + src/lib/dump_dir.c | 6 ++-- + src/lib/event_config.c | 4 +-- + src/lib/event_xml_parser.c | 8 +++--- + src/lib/glib_support.c | 2 +- + src/lib/parse_options.c | 2 +- + src/lib/problem_data.c | 6 ++-- + src/lib/problem_report.c | 8 +++--- + src/lib/run_event.c | 8 +++--- + src/lib/steal_directory.c | 2 +- + src/lib/workflow_xml_parser.c | 2 +- + src/plugins/mantisbt.c | 2 +- + src/plugins/reporter-bugzilla.c | 36 ++++++++++++------------ + src/plugins/reporter-kerneloops.c | 6 ++-- + src/plugins/reporter-mailx.c | 10 +++---- + src/plugins/reporter-mantisbt.c | 26 +++++++++--------- + src/plugins/reporter-print.c | 2 +- + src/plugins/reporter-rhtsupport-parse.c | 2 +- + src/plugins/reporter-rhtsupport.c | 44 +++++++++++++++--------------- + src/plugins/reporter-systemd-journal.c | 2 +- + src/plugins/reporter-upload.c | 4 +-- + src/plugins/reporter-ureport.c | 4 +-- + src/plugins/rhbz.c | 8 +++--- + tests/glib_helpers.at | 8 +++--- + tests/osrelease.at | 24 ++++++++-------- + 35 files changed, 152 insertions(+), 152 deletions(-) + +diff --git a/src/client-python/reportclient/__init__.py b/src/client-python/reportclient/__init__.py +index ac5ce47..2721f1f 100644 +--- a/src/client-python/reportclient/__init__.py ++++ b/src/client-python/reportclient/__init__.py +@@ -69,7 +69,7 @@ def set_verbosity(verbosity): + os.environ["ABRT_VERBOSE"] = str(verbose) + + +-def log(fmt, *args): ++def log_warning(fmt, *args): + sys.stderr.write("%s\n" % (fmt % args)) + + +diff --git a/src/gtk-helpers/config_dialog.c b/src/gtk-helpers/config_dialog.c +index b65c217..7838ec7 100644 +--- a/src/gtk-helpers/config_dialog.c ++++ b/src/gtk-helpers/config_dialog.c +@@ -88,7 +88,7 @@ int cdialog_run(config_dialog_t *cdialog, const char *name) + { + if (cdialog == NULL || cdialog->dialog == NULL) + { +- log("There is no configurable option for: '%s'", name); ++ log_warning("There is no configurable option for: '%s'", name); + return GTK_RESPONSE_REJECT; + } + +@@ -146,7 +146,7 @@ static void save_value_from_widget(gpointer data, gpointer user_data) + val = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ow->widget)) ? "yes" : "no"; + break; + default: +- log("unsupported option type"); ++ log_warning("unsupported option type"); + } + + /* gtk_entry_get_text() returns empty string for empty text value */ +diff --git a/src/gtk-helpers/event_config_dialog.c b/src/gtk-helpers/event_config_dialog.c +index e5ce612..1a5e1ea 100644 +--- a/src/gtk-helpers/event_config_dialog.c ++++ b/src/gtk-helpers/event_config_dialog.c +@@ -181,7 +181,7 @@ static void add_option_to_table(gpointer data, gpointer user_data) + + default: + //option_input = gtk_label_new_justify_left("WTF?"); +- log("unsupported option type"); ++ log_warning("unsupported option type"); + free(option_label); + return; + } +diff --git a/src/gtk-helpers/problem_details_widget.c b/src/gtk-helpers/problem_details_widget.c +index d8d78e9..f0e6c6d 100644 +--- a/src/gtk-helpers/problem_details_widget.c ++++ b/src/gtk-helpers/problem_details_widget.c +@@ -183,7 +183,7 @@ problem_details_widget_add_binary(ProblemDetailsWidget *self, const char *label, + + if (stat(path, &statbuf) != 0) + { +- log("File '%s' does not exist", path); ++ log_warning("File '%s' does not exist", path); + return; + } + +@@ -224,7 +224,7 @@ problem_details_widget_add_problem_item(ProblemDetailsWidget *self, const char * + else if (item->flags & CD_FLAG_BIN) + problem_details_widget_add_binary(self, name, item->content); + else +- log("Unsupported file type"); ++ log_warning("Unsupported file type"); + } + + /* Callback for GHashTable */ +diff --git a/src/gtk-helpers/secrets.c b/src/gtk-helpers/secrets.c +index fdc6616..0f0bb20 100644 +--- a/src/gtk-helpers/secrets.c ++++ b/src/gtk-helpers/secrets.c +@@ -305,7 +305,7 @@ static enum secrets_service_state secrets_service_connect(void) + + if (!g_connection) + { +- log("Failed to open connection to D-Bus session bus: %s", error->message); ++ log_warning("Failed to open connection to D-Bus session bus: %s", error->message); + g_error_free(error); + return SBS_UNAVAILABLE; + } +diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c +index c47c57a..3ab8eb2 100644 +--- a/src/gui-wizard-gtk/main.c ++++ b/src/gui-wizard-gtk/main.c +@@ -66,7 +66,7 @@ void problem_data_reload_from_dump_dir(void) + new_item->default_by_reporter = 0; + new_item->required_by_reporter = 0; + } +- //log("%s: was ->selected_by_user=%d", __func__, new_item->selected_by_user); ++ //log_warning("%s: was ->selected_by_user=%d", __func__, new_item->selected_by_user); + } + problem_data_free(g_cd); + g_cd = new_cd; +diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c +index d337805..2ec4223 100644 +--- a/src/gui-wizard-gtk/wizard.c ++++ b/src/gui-wizard-gtk/wizard.c +@@ -307,7 +307,7 @@ static void label_wrapper(GtkWidget *widget, gpointer data_unused) + GtkLabel *label = (GtkLabel*)widget; + gtk_label_set_line_wrap(label, 1); + //const char *txt = gtk_label_get_label(label); +- //log("label '%s' set to wrap", txt); ++ //log_warning("label '%s' set to wrap", txt); + } + } + +@@ -341,7 +341,7 @@ static void wrap_fixer(GtkWidget *widget, gpointer data_unused) + && (gtk_widget_get_margin_bottom(widget) == 0) + #endif + ) { +- //log("label '%s' set to autowrap", txt); ++ //log_warning("label '%s' set to autowrap", txt); + make_label_autowrap_on_resize(label); + return; + } +@@ -864,7 +864,7 @@ static void g_tv_details_checkbox_toggled( + gchar *tree_path, + gpointer user_data_UNUSED) + { +- //log("%s: path:'%s'", __func__, tree_path); ++ //log_warning("%s: path:'%s'", __func__, tree_path); + GtkTreeIter iter; + if (!gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(g_ls_details), &iter, tree_path)) + return; +@@ -885,7 +885,7 @@ static void g_tv_details_checkbox_toggled( + cur_value = item->default_by_reporter; + else + cur_value = !!(item->selected_by_user + 1); /* map -1,1 to 0,1 */ +- //log("%s: allowed:%d reqd:%d def:%d user:%d cur:%d", __func__, ++ //log_warning("%s: allowed:%d reqd:%d def:%d user:%d cur:%d", __func__, + // item->allowed_by_reporter, + // item->required_by_reporter, + // item->default_by_reporter, +@@ -896,7 +896,7 @@ static void g_tv_details_checkbox_toggled( + { + cur_value = !cur_value; + item->selected_by_user = cur_value * 2 - 1; /* map 0,1 to -1,1 */ +- //log("%s: now ->selected_by_user=%d", __func__, item->selected_by_user); ++ //log_warning("%s: now ->selected_by_user=%d", __func__, item->selected_by_user); + gtk_list_store_set(g_ls_details, &iter, + DETAIL_COLUMN_CHECKBOX, cur_value, + -1); +@@ -1327,7 +1327,7 @@ static void append_item_to_ls_details(gpointer name, gpointer value, gpointer da + static void update_ls_details_checkboxes(const char *event_name) + { + event_config_t *cfg = get_event_config(event_name); +- //log("%s: event:'%s', cfg:'%p'", __func__, g_event_selected, cfg); ++ //log_warning("%s: event:'%s', cfg:'%p'", __func__, g_event_selected, cfg); + GHashTableIter iter; + char *name; + struct problem_item *item; +@@ -1370,7 +1370,7 @@ static void update_ls_details_checkboxes(const char *event_name) + else + cur_value = !!(item->selected_by_user + 1); /* map -1,1 to 0,1 */ + +- //log("%s: '%s' allowed:%d reqd:%d def:%d user:%d", __func__, name, ++ //log_warning("%s: '%s' allowed:%d reqd:%d def:%d user:%d", __func__, name, + // item->allowed_by_reporter, + // item->required_by_reporter, + // item->default_by_reporter, +@@ -1395,7 +1395,7 @@ static void update_ls_details_checkboxes(const char *event_name) + gtk_list_store_set(g_ls_details, &iter, + DETAIL_COLUMN_CHECKBOX, cur_value, + -1); +- //log("%s: changed gtk_list_store_set to %d", __func__, (item->allowed_by_reporter && item->selected_by_user >= 0)); ++ //log_warning("%s: changed gtk_list_store_set to %d", __func__, (item->allowed_by_reporter && item->selected_by_user >= 0)); + break; + } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(g_ls_details), &iter)); + } +@@ -1544,7 +1544,7 @@ static void set_excluded_envvar(void) + } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(g_ls_details), &iter)); + } + char *var = strbuf_free_nobuf(item_list); +- //log("EXCLUDE_FROM_REPORT='%s'", var); ++ //log_warning("EXCLUDE_FROM_REPORT='%s'", var); + if (var) + { + xsetenv("EXCLUDE_FROM_REPORT", var); +@@ -2349,7 +2349,7 @@ static void toggle_eb_comment(void) + switch(reproducible) + { + case -1: +- VERB1 log("Uninitialized 'How reproducible' combobox"); ++ VERB1 log_warning("Uninitialized 'How reproducible' combobox"); + break; + + case PROBLEM_REPRODUCIBLE_UNKNOWN: +@@ -2418,7 +2418,7 @@ static void log_ready_state(void) + buf[i] = ch; + } + buf[NUM_PAGES] = 0; +- log("Completeness:[%s]", buf); ++ log_warning("Completeness:[%s]", buf); + } + #endif + +@@ -3094,7 +3094,7 @@ static gint select_next_page_no(gint current_page_no, gpointer data) + } + else + { +- log("%s", msg); ++ log_warning("%s", msg); + free(msg); + } + } +@@ -3265,7 +3265,7 @@ static void save_edited_one_liner(GtkCellRendererText *renderer, + gchar *new_text, + gpointer user_data) + { +- //log("path:'%s' new_text:'%s'", tree_path, new_text); ++ //log_warning("path:'%s' new_text:'%s'", tree_path, new_text); + + GtkTreeIter iter; + if (!gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(g_ls_details), &iter, tree_path)) +diff --git a/src/include/internal_libreport.h b/src/include/internal_libreport.h +index c11826c..f243a04 100644 +--- a/src/include/internal_libreport.h ++++ b/src/include/internal_libreport.h +@@ -539,11 +539,11 @@ void set_xfunc_diemode(enum libreport_diemode mode); + /* Verbosity level */ + #define g_verbose libreport_g_verbose + extern int g_verbose; +-/* VERB1 log("what you sometimes want to see, even on a production box") */ ++/* VERB1 log_warning("what you sometimes want to see, even on a production box") */ + #define VERB1 if (g_verbose >= 1) +-/* VERB2 log("debug message, not going into insanely small details") */ ++/* VERB2 log_warning("debug message, not going into insanely small details") */ + #define VERB2 if (g_verbose >= 2) +-/* VERB3 log("lots and lots of details") */ ++/* VERB3 log_warning("lots and lots of details") */ + #define VERB3 if (g_verbose >= 3) + /* there is no level > 3 */ + +@@ -554,9 +554,9 @@ void xfunc_die(void) NORETURN; + #define die_out_of_memory libreport_die_out_of_memory + void die_out_of_memory(void) NORETURN; + +-/* It's a macro, not function, since it collides with log() from math.h */ ++/* It's a macro, not function, since it collides with log_warning() from math.h */ + #undef log +-#define log(...) log_standard(LOG_WARNING, __FILE__, __LINE__, __func__, __VA_ARGS__) ++#define log_warning(...) log_standard(LOG_WARNING, __FILE__, __LINE__, __func__, __VA_ARGS__) + #define log_debug(...) log_standard(LOG_DEBUG, __FILE__, __LINE__, __func__, __VA_ARGS__) + #define log_info(...) log_standard(LOG_INFO, __FILE__, __LINE__, __func__, __VA_ARGS__) + #define log_notice(...) log_standard(LOG_NOTICE, __FILE__, __LINE__, __func__, __VA_ARGS__) +diff --git a/src/lib/abrt_dbus.c b/src/lib/abrt_dbus.c +index 44ead3e..a7391c0 100644 +--- a/src/lib/abrt_dbus.c ++++ b/src/lib/abrt_dbus.c +@@ -134,7 +134,7 @@ int load_charp(DBusMessageIter* iter, const char** val) + return -1; + } + dbus_message_iter_get_basic(iter, val); +-//log("load_charp:'%s'", *val); ++//log_warning("load_charp:'%s'", *val); + return dbus_message_iter_next(iter); + } + +@@ -294,7 +294,7 @@ void attach_dbus_conn_to_glib_main_loop(DBusConnection* conn, + g_dbus_conn = conn; + + //do we need this? why? +-//log("dbus_connection_set_dispatch_status_function"); ++//log_warning("dbus_connection_set_dispatch_status_function"); + // dbus_connection_set_dispatch_status_function(conn, + // dispatch, /* void dispatch(DBusConnection *conn, DBusDispatchStatus new_status, void* data) */ + // NULL, /* data */ +diff --git a/src/lib/copy_file_recursive.c b/src/lib/copy_file_recursive.c +index 6bad978..7c7666e 100644 +--- a/src/lib/copy_file_recursive.c ++++ b/src/lib/copy_file_recursive.c +@@ -143,7 +143,7 @@ int copy_file_recursive(const char *source, const char *dest) + /* Neither dir not regular file: skip */ + + skip: +- log("Skipping '%s'", source); ++ log_warning("Skipping '%s'", source); + ret: + return retval; + } +diff --git a/src/lib/curl.c b/src/lib/curl.c +index 73ca9a0..17cb3e7 100644 +--- a/src/lib/curl.c ++++ b/src/lib/curl.c +@@ -224,7 +224,7 @@ static size_t fread_with_reporting(void *ptr, size_t size, size_t nmemb, void *u + last_t = t; + report_interval *= 2; + off_t sz = fstat_st_size_or_die(fileno(fp)); +- log(_("Uploaded: %llu of %llu kbytes"), ++ log_warning(_("Uploaded: %llu of %llu kbytes"), + (unsigned long long)cur_pos / 1024, + (unsigned long long)sz / 1024); + } +@@ -267,25 +267,25 @@ static int curl_debug(CURL *handle, curl_infotype it, char *buf, size_t bufsize, + switch (it) { + case CURLINFO_TEXT: /* The data is informational text. */ + /* Here eol is always "^J" or "", not printing it */ +- log("curl: %.*s", (int) bufsize, buf); ++ log_warning("curl: %.*s", (int) bufsize, buf); + break; + case CURLINFO_HEADER_IN: /* The data is header (or header-like) data received from the peer. */ +- log("curl rcvd header: '%.*s%s'", (int) bufsize, buf, eol); ++ log_warning("curl rcvd header: '%.*s%s'", (int) bufsize, buf, eol); + break; + case CURLINFO_HEADER_OUT: /* The data is header (or header-like) data sent to the peer. */ +- log("curl sent header: '%.*s%s'", (int) bufsize, buf, eol); ++ log_warning("curl sent header: '%.*s%s'", (int) bufsize, buf, eol); + break; + case CURLINFO_DATA_IN: /* The data is protocol data received from the peer. */ + if (g_verbose >= 3) +- log("curl rcvd data: '%.*s%s'", (int) bufsize, buf, eol); ++ log_warning("curl rcvd data: '%.*s%s'", (int) bufsize, buf, eol); + else +- log("curl rcvd data %u bytes", orig_bufsize); ++ log_warning("curl rcvd data %u bytes", orig_bufsize); + break; + case CURLINFO_DATA_OUT: /* The data is protocol data sent to the peer. */ + if (g_verbose >= 3) +- log("curl sent data: '%.*s%s'", (int) bufsize, buf, eol); ++ log_warning("curl sent data: '%.*s%s'", (int) bufsize, buf, eol); + else +- log("curl sent data %u bytes", orig_bufsize); ++ log_warning("curl sent data %u bytes", orig_bufsize); + break; + default: + break; +@@ -663,7 +663,7 @@ char *upload_file_ext(post_state_t *state, const char *url, const char *filename + + /* Do not include the path part of the URL as it can contain sensitive data + * in case of typos */ +- log(_("Sending %s to %s//%s"), filename, scheme, hostname); ++ log_warning(_("Sending %s to %s//%s"), filename, scheme, hostname); + post(state, + whole_url, + /*content_type:*/ "application/octet-stream", +@@ -716,7 +716,7 @@ char *upload_file_ext(post_state_t *state, const char *url, const char *filename + else + { + /* This ends up a "reporting status message" in abrtd */ +- log(_("Successfully created %s"), whole_url); ++ log_warning(_("Successfully created %s"), whole_url); + } + + close(stdin_bck); +diff --git a/src/lib/dump_dir.c b/src/lib/dump_dir.c +index f08bce7..f509fdc 100644 +--- a/src/lib/dump_dir.c ++++ b/src/lib/dump_dir.c +@@ -358,7 +358,7 @@ int create_symlink_lockfile_at(int dir_fd, const char* lock_file, const char* pi + + if (strcmp(pid_buf, pid) == 0) + { +- log("Lock file '%s' is already locked by us", lock_file); ++ log_warning("Lock file '%s' is already locked by us", lock_file); + errno = EALREADY; + return 0; + } +@@ -368,10 +368,10 @@ int create_symlink_lockfile_at(int dir_fd, const char* lock_file, const char* pi + snprintf(pid_str, sizeof(pid_str), "/proc/%s", pid_buf); + if (access(pid_str, F_OK) == 0) + { +- log("Lock file '%s' is locked by process %s", lock_file, pid_buf); ++ log_warning("Lock file '%s' is locked by process %s", lock_file, pid_buf); + return 0; + } +- log("Lock file '%s' was locked by process %s, but it crashed?", lock_file, pid_buf); ++ log_warning("Lock file '%s' was locked by process %s, but it crashed?", lock_file, pid_buf); + } + /* The file may be deleted by now by other process. Ignore ENOENT */ + if (unlinkat(dir_fd, lock_file, /*only files*/0) != 0 && errno != ENOENT) +diff --git a/src/lib/event_config.c b/src/lib/event_config.c +index c5b7b17..88334db 100644 +--- a/src/lib/event_config.c ++++ b/src/lib/event_config.c +@@ -212,12 +212,12 @@ static void load_config_files(const char *dir_path) + if (elem) + { + opt = elem->data; +- // log("conf: replacing '%s' value:'%s'->'%s'", name, opt->value, value); ++ // log_warning("conf: replacing '%s' value:'%s'->'%s'", name, opt->value, value); + free(opt->eo_value); + } + else + { +- // log("conf: new value %s='%s'", name, value); ++ // log_warning("conf: new value %s='%s'", name, value); + opt = new_event_option(); + opt->eo_name = xstrdup(name); + } +diff --git a/src/lib/event_xml_parser.c b/src/lib/event_xml_parser.c +index c89d896..43b8d4f 100644 +--- a/src/lib/event_xml_parser.c ++++ b/src/lib/event_xml_parser.c +@@ -154,13 +154,13 @@ static void consume_cur_option(struct my_parse_data *parse_data) + opt->eo_value = old_opt->eo_value; + old_opt->eo_value = NULL; + } +- //log("xml: replacing '%s' value:'%s'->'%s'", opt->eo_name, old_opt->eo_value, opt->eo_value); ++ //log_warning("xml: replacing '%s' value:'%s'->'%s'", opt->eo_name, old_opt->eo_value, opt->eo_value); + free_event_option(old_opt); + elem->data = opt; + } + else + { +- //log("xml: new value %s='%s'", opt->eo_name, opt->eo_value); ++ //log_warning("xml: new value %s='%s'", opt->eo_name, opt->eo_value); + event_config->values->options = g_list_append(event_config->values->options, opt); + } + } +@@ -173,7 +173,7 @@ static void start_element(GMarkupParseContext *context, + gpointer user_data, + GError **error) + { +- //log("start: %s", element_name); ++ //log_warning("start: %s", element_name); + + struct my_parse_data *parse_data = user_data; + if (strcmp(element_name, ADV_OPTIONS_ELEMENT) == 0) +@@ -494,7 +494,7 @@ static void text(GMarkupParseContext *context, + ui->ec_minimal_rating = strtol(text_copy, &endptr, 10); + if (errno != 0 || endptr == text_copy || *endptr != '\0') + { +- log("invalid minimal-rating number '%s', set to default 4", text_copy); ++ log_warning("invalid minimal-rating number '%s', set to default 4", text_copy); + ui->ec_minimal_rating = 4; + } + } +diff --git a/src/lib/glib_support.c b/src/lib/glib_support.c +index 2751b0c..a20910b 100644 +--- a/src/lib/glib_support.c ++++ b/src/lib/glib_support.c +@@ -48,7 +48,7 @@ void glib_init(void) + GLIB_MINOR_VERSION, + GLIB_MICRO_VERSION); + if (version_mismatch != NULL) +- log("Running GLib incompatible version: %s", version_mismatch); ++ log_warning("Running GLib incompatible version: %s", version_mismatch); + } + } + +diff --git a/src/lib/parse_options.c b/src/lib/parse_options.c +index 181ed1a..85b3a34 100644 +--- a/src/lib/parse_options.c ++++ b/src/lib/parse_options.c +@@ -180,7 +180,7 @@ unsigned parse_opts(int argc, char **argv, const struct options *opt, + case OPTION_END: + break; + } +- //log("curopt[%d].name:'%s' .has_arg:%d .flag:%p .val:%d", (int)(curopt-longopts), ++ //log_warning("curopt[%d].name:'%s' .has_arg:%d .flag:%p .val:%d", (int)(curopt-longopts), + // curopt->name, curopt->has_arg, curopt->flag, curopt->val); + /* + * getopt_long() thinks that NULL name marks the end of longopts. +diff --git a/src/lib/problem_data.c b/src/lib/problem_data.c +index c8cb944..7793244 100644 +--- a/src/lib/problem_data.c ++++ b/src/lib/problem_data.c +@@ -503,14 +503,14 @@ void problem_data_load_from_dump_dir(problem_data_t *problem_data, struct dump_d + { + if (excluding && is_in_string_list(short_name, (const char *const *)excluding)) + { +- //log("Excluded:'%s'", short_name); ++ //log_warning("Excluded:'%s'", short_name); + goto next; + } + + if (short_name[0] == '#' + || (short_name[0] && short_name[strlen(short_name) - 1] == '~') + ) { +- //log("Excluded (editor backup file):'%s'", short_name); ++ //log_warning("Excluded (editor backup file):'%s'", short_name); + goto next; + } + +@@ -591,7 +591,7 @@ void log_problem_data(problem_data_t *problem_data, const char *pfx) + g_hash_table_iter_init(&iter, problem_data); + while (g_hash_table_iter_next(&iter, (void**)&name, (void**)&value)) + { +- log("%s[%s]:'%s' 0x%x", ++ log_warning("%s[%s]:'%s' 0x%x", + pfx, name, + value->content, + value->flags +diff --git a/src/lib/problem_report.c b/src/lib/problem_report.c +index f5b5ee4..e406ec4 100644 +--- a/src/lib/problem_report.c ++++ b/src/lib/problem_report.c +@@ -483,7 +483,7 @@ append_short_backtrace(struct strbuf *result, problem_data_t *problem_data, bool + + if (!backtrace) + { +- log(_("Can't parse backtrace: %s"), error_msg); ++ log_warning(_("Can't parse backtrace: %s"), error_msg); + free(error_msg); + return 0; + } +@@ -498,7 +498,7 @@ append_short_backtrace(struct strbuf *result, problem_data_t *problem_data, bool + + if (!truncated) + { +- log(_("Can't generate stacktrace description (no crash thread?)")); ++ log_warning(_("Can't generate stacktrace description (no crash thread?)")); + return 0; + } + } +@@ -555,7 +555,7 @@ append_item(struct strbuf *result, const char *item_name, problem_data_t *pd, GL + bool text = (strcmp(item_name+1, "text" ) == 0); + if (!oneline && !multiline && !text) + { +- log("Unknown or unsupported element specifier '%s'", item_name); ++ log_warning("Unknown or unsupported element specifier '%s'", item_name); + return 0; /* "I did not print anything" */ + } + +@@ -665,7 +665,7 @@ get_special_items(const char *item_name, problem_data_t *pd, GList *comment_fmt_ + bool binary = (strcmp(item_name+1, "binary" ) == 0); + if (!oneline && !multiline && !text && !binary) + { +- log("Unknown or unsupported element specifier '%s'", item_name); ++ log_warning("Unknown or unsupported element specifier '%s'", item_name); + return NULL; + } + +diff --git a/src/lib/run_event.c b/src/lib/run_event.c +index b97abea..64c7a30 100644 +--- a/src/lib/run_event.c ++++ b/src/lib/run_event.c +@@ -250,9 +250,9 @@ GList *load_rule_list(GList *rule_list, + } + else if (g_verbose >= 3) + { +- log("Adding '%s'\nwith conditions:", p); ++ log_warning("Adding '%s'\nwith conditions:", p); + for (GList *c = cur_rule->conditions; c != NULL; c = g_list_next(c)) +- log("| %s", (const char *)c->data); ++ log_warning("| %s", (const char *)c->data); + } + + cur_rule->command = xstrdup(p); +@@ -313,7 +313,7 @@ static int regcmp_lines(char *val, const char *regex) + { + regex_t rx; + int r = regcomp(&rx, regex, REG_NOSUB); //TODO: and REG_EXTENDED? +- //log("REGEX:'%s':%d", regex, r); ++ //log_warning("REGEX:'%s':%d", regex, r); + if (r) + { + //char errbuf[256]; +@@ -329,7 +329,7 @@ static int regcmp_lines(char *val, const char *regex) + if (eol) + *eol = '\0'; + r = regexec(&rx, val, 0, NULL, /*eflags:*/ 0); +- //log("REGCMP:'%s':%d", val, r); ++ //log_warning("REGCMP:'%s':%d", val, r); + if (eol) + *eol = '\n'; + if (r == 0 || !eol) +diff --git a/src/lib/steal_directory.c b/src/lib/steal_directory.c +index ed18345..32b5f85 100644 +--- a/src/lib/steal_directory.c ++++ b/src/lib/steal_directory.c +@@ -88,7 +88,7 @@ struct dump_dir *open_directory_for_writing( + if (dd->locked) + return dd; + +- log("'%s' is not writable", dump_dir_name); ++ log_warning("'%s' is not writable", dump_dir_name); + dd_close(dd); + + char *spooldir = concat_path_file(g_get_user_cache_dir(), "abrt/spool"); +diff --git a/src/lib/workflow_xml_parser.c b/src/lib/workflow_xml_parser.c +index bc32be3..9b7c5a5 100644 +--- a/src/lib/workflow_xml_parser.c ++++ b/src/lib/workflow_xml_parser.c +@@ -35,7 +35,7 @@ static void start_element(GMarkupParseContext *context, + gpointer user_data, + GError **error) + { +- //log("start: %s", element_name); ++ //log_warning("start: %s", element_name); + + struct my_parse_data *parse_data = user_data; + if (strcmp(element_name, EVENTS_ELEMENT) == 0) +diff --git a/src/plugins/mantisbt.c b/src/plugins/mantisbt.c +index 803e969..2504f9a 100644 +--- a/src/plugins/mantisbt.c ++++ b/src/plugins/mantisbt.c +@@ -122,7 +122,7 @@ mantisbt_find_origin_bug_closed_duplicate(mantisbt_settings_t *settings, mantisb + if (ii == MAX_HOPS) + error_msg_and_die(_("MantisBT couldn't find parent of issue %d"), info->mii_id); + +- log("Issue %d is a duplicate, using parent issue %d", info_tmp->mii_id, info_tmp->mii_dup_id); ++ log_warning("Issue %d is a duplicate, using parent issue %d", info_tmp->mii_id, info_tmp->mii_dup_id); + int issue_id = info_tmp->mii_dup_id; + + mantisbt_issue_info_free(info_tmp); +diff --git a/src/plugins/reporter-bugzilla.c b/src/plugins/reporter-bugzilla.c +index 5364cd4..514fb65 100644 +--- a/src/plugins/reporter-bugzilla.c ++++ b/src/plugins/reporter-bugzilla.c +@@ -213,7 +213,7 @@ char *ask_bz_password(const char *message) + static + void login(struct abrt_xmlrpc *client, struct bugzilla_struct *rhbz) + { +- log(_("Logging into Bugzilla at %s"), rhbz->b_bugzilla_url); ++ log_warning(_("Logging into Bugzilla at %s"), rhbz->b_bugzilla_url); + while (!rhbz_login(client, rhbz->b_login, rhbz->b_password)) + { + free(rhbz->b_login); +@@ -385,7 +385,7 @@ int main(int argc, char **argv) + + if (abrt_hash) + { +- log(_("Looking for similar problems in bugzilla")); ++ log_warning(_("Looking for similar problems in bugzilla")); + char *hash; + if (prefixcmp(abrt_hash, "abrt_hash:")) + hash = xasprintf("abrt_hash:%s", abrt_hash); +@@ -491,7 +491,7 @@ int main(int argc, char **argv) + + /* won't ever call free on it - it simplifies the code a lot */ + ticket_no = xstrdup(ticket_no + 1); +- log(_("Using Bugzilla ID '%s'"), ticket_no); ++ log_warning(_("Using Bugzilla ID '%s'"), ticket_no); + } + + login(client, &rhbz); +@@ -525,7 +525,7 @@ int main(int argc, char **argv) + } + } + +- log(_("Logging out")); ++ log_warning(_("Logging out")); + rhbz_logout(client); + + #if 0 /* enable if you search for leaks (valgrind etc) */ +@@ -640,7 +640,7 @@ int main(int argc, char **argv) + struct bug_info *bz = NULL; + if (!bug_id) + { +- log(_("Checking for duplicates")); ++ log_warning(_("Checking for duplicates")); + + int existing_id = -1; + int crossver_id = -1; +@@ -716,7 +716,7 @@ int main(int argc, char **argv) + + if (r == 0) + { +- log(_("Logging out")); ++ log_warning(_("Logging out")); + rhbz_logout(client); + + problem_formatter_free(pf); +@@ -732,7 +732,7 @@ int main(int argc, char **argv) + } + + /* Create new bug */ +- log(_("Creating a new bug")); ++ log_warning(_("Creating a new bug")); + + if (existing_id < 0 && crossver_id >= 0) + problem_report_buffer_printf( +@@ -767,7 +767,7 @@ int main(int argc, char **argv) + if (extra != NULL) { + char *email = strtok(extra, "\n"); + while (email != NULL) { +- log(_("Adding extra cc %s to bug report"), email); ++ log_warning(_("Adding extra cc %s to bug report"), email); + rhbz_mail_to_cc(client, new_id, email, /* require mail notify */ 0); + email = strtok(NULL, "\n"); + } +@@ -776,13 +776,13 @@ int main(int argc, char **argv) + + if (reported_to && reported_to->url) + { +- log(_("Adding External URL to bug %i"), new_id); ++ log_warning(_("Adding External URL to bug %i"), new_id); + rhbz_set_url(client, new_id, reported_to->url, RHBZ_NOMAIL_NOTIFY); + free_report_result(reported_to); + } + } + +- log(_("Adding attachments to bug %i"), new_id); ++ log_warning(_("Adding attachments to bug %i"), new_id); + char new_id_str[sizeof(int)*3 + 2]; + sprintf(new_id_str, "%i", new_id); + +@@ -804,7 +804,7 @@ int main(int argc, char **argv) + + if (existing_id >= 0) + { +- log(_("Closing bug %i as duplicate of bug %i"), new_id, existing_id); ++ log_warning(_("Closing bug %i as duplicate of bug %i"), new_id, existing_id); + rhbz_close_as_duplicate(client, new_id, existing_id, RHBZ_NOMAIL_NOTIFY); + } + +@@ -816,7 +816,7 @@ int main(int argc, char **argv) + + bz = rhbz_bug_info(client, bug_id); + +- log(_("Bug is already reported: %i"), bz->bi_id); ++ log_warning(_("Bug is already reported: %i"), bz->bi_id); + + /* Follow duplicates */ + if ((strcmp(bz->bi_status, "CLOSED") == 0) +@@ -859,7 +859,7 @@ int main(int argc, char **argv) + if (strcmp(bz->bi_reporter, rhbz.b_login) != 0 + && !g_list_find_custom(bz->bi_cc_list, rhbz.b_login, (GCompareFunc)g_strcmp0) + ) { +- log(_("Adding %s to CC list"), rhbz.b_login); ++ log_warning(_("Adding %s to CC list"), rhbz.b_login); + rhbz_mail_to_cc(client, bz->bi_id, rhbz.b_login, RHBZ_NOMAIL_NOTIFY); + } + +@@ -880,7 +880,7 @@ int main(int argc, char **argv) + int dup_comment = is_comment_dup(bz->bi_comments, bzcomment); + if (!dup_comment) + { +- log(_("Adding new comment to bug %d"), bz->bi_id); ++ log_warning(_("Adding new comment to bug %d"), bz->bi_id); + rhbz_add_comment(client, bz->bi_id, bzcomment, 0); + + const char *bt = problem_data_get_content_or_NULL(problem_data, FILENAME_BACKTRACE); +@@ -893,23 +893,23 @@ int main(int argc, char **argv) + { + char bug_id_str[sizeof(int)*3 + 2]; + sprintf(bug_id_str, "%i", bz->bi_id); +- log(_("Attaching better backtrace")); ++ log_warning(_("Attaching better backtrace")); + rhbz_attach_blob(client, bug_id_str, FILENAME_BACKTRACE, bt, strlen(bt), + RHBZ_NOMAIL_NOTIFY); + } + } + else +- log(_("Found the same comment in the bug history, not adding a new one")); ++ log_warning(_("Found the same comment in the bug history, not adding a new one")); + + problem_report_free(pr); + problem_formatter_free(pf); + } + + log_out: +- log(_("Logging out")); ++ log_warning(_("Logging out")); + rhbz_logout(client); + +- log(_("Status: %s%s%s %s/show_bug.cgi?id=%u"), ++ log_warning(_("Status: %s%s%s %s/show_bug.cgi?id=%u"), + bz->bi_status, + bz->bi_resolution ? " " : "", + bz->bi_resolution ? bz->bi_resolution : "", +diff --git a/src/plugins/reporter-kerneloops.c b/src/plugins/reporter-kerneloops.c +index 895f755..9e72837 100644 +--- a/src/plugins/reporter-kerneloops.c ++++ b/src/plugins/reporter-kerneloops.c +@@ -26,7 +26,7 @@ static size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream) + /* + char *c, *c1, *c2; + +- log("received: '%*.*s'", (int)size, (int)size, (char*)ptr); ++ log_warning("received: '%*.*s'", (int)size, (int)size, (char*)ptr); + c = (char*)xzalloc(size + 1); + memcpy(c, ptr, size); + c1 = strstr(c, "201 "); +@@ -102,7 +102,7 @@ static void report_to_kerneloops( + if (!submitURL[0]) + submitURL = "http://oops.kernel.org/submitoops.php"; + +- log(_("Submitting oops report to %s"), submitURL); ++ log_warning(_("Submitting oops report to %s"), submitURL); + + CURLcode ret = http_post_to_kerneloops_site(submitURL, backtrace); + if (ret != CURLE_OK) +@@ -124,7 +124,7 @@ static void report_to_kerneloops( + dd_close(dd); + } + +- log("Kernel oops report was uploaded"); ++ log_warning("Kernel oops report was uploaded"); + } + + int main(int argc, char **argv) +diff --git a/src/plugins/reporter-mailx.c b/src/plugins/reporter-mailx.c +index 2312e4c..05fa1e5 100644 +--- a/src/plugins/reporter-mailx.c ++++ b/src/plugins/reporter-mailx.c +@@ -67,11 +67,11 @@ static void exec_and_feed_input(const char* text, char **args) + + static char** append_str_to_vector(char **vec, unsigned *size_p, const char *str) + { +- //log("old vec: %p", vec); ++ //log_warning("old vec: %p", vec); + unsigned size = *size_p; + vec = (char**) xrealloc(vec, (size+2) * sizeof(vec[0])); + vec[size] = xstrdup(str); +- //log("new vec: %p, added [%d] %p", vec, size, vec[size]); ++ //log_warning("new vec: %p, added [%d] %p", vec, size, vec[size]); + size++; + vec[size] = NULL; + *size_p = size; +@@ -204,9 +204,9 @@ static void create_and_send_email( + putenv((char*)"DEAD=/dev/null"); + + if (flag & RM_FLAG_NOTIFY) +- log(_("Sending a notification email to: %s"), email_to); ++ log_warning(_("Sending a notification email to: %s"), email_to); + else +- log(_("Sending an email...")); ++ log_warning(_("Sending an email...")); + + exec_and_feed_input(dsc, args); + +@@ -231,7 +231,7 @@ static void create_and_send_email( + free(rr.url); + dd_close(dd); + } +- log(_("Email was sent to: %s"), email_to); ++ log_warning(_("Email was sent to: %s"), email_to); + } + + free(email_to); +diff --git a/src/plugins/reporter-mantisbt.c b/src/plugins/reporter-mantisbt.c +index 3705bc7..e8afa7d 100644 +--- a/src/plugins/reporter-mantisbt.c ++++ b/src/plugins/reporter-mantisbt.c +@@ -106,7 +106,7 @@ verify_credentials(mantisbt_settings_t *settings) + { + GList *ids = response_get_main_ids_list(result->mr_body); + if (ids != NULL) +- log("%s", (char *)ids->data); ++ log_warning("%s", (char *)ids->data); + response_values_free(ids); + } + +@@ -337,7 +337,7 @@ int main(int argc, char **argv) + + if (abrt_hash) + { +- log(_("Looking for similar problems in MantisBT")); ++ log_warning(_("Looking for similar problems in MantisBT")); + GList *ids = mantisbt_search_by_abrt_hash(&mbt_settings, abrt_hash); + mantisbt_settings_free(&mbt_settings); + +@@ -380,7 +380,7 @@ int main(int argc, char **argv) + + /* won't ever call free on it - it simplifies the code a lot */ + ticket_no = xstrdup(ticket_no + 1); +- log(_("Using MantisBT ID '%s'"), ticket_no); ++ log_warning(_("Using MantisBT ID '%s'"), ticket_no); + } + + /* Attach files to existing MantisBT issues */ +@@ -388,7 +388,7 @@ int main(int argc, char **argv) + { + const char *path = *argv++; + char *filename = basename(path); +- log(_("Attaching file '%s' to issue %s"), filename, ticket_no); ++ log_warning(_("Attaching file '%s' to issue %s"), filename, ticket_no); + mantisbt_attach_file(&mbt_settings, ticket_no, filename, path); + } + +@@ -483,7 +483,7 @@ int main(int argc, char **argv) + mantisbt_issue_info_t *ii; + if (!bug_id) + { +- log(_("Checking for duplicates")); ++ log_warning(_("Checking for duplicates")); + + int existing_id = -1; + int crossver_id = -1; +@@ -522,7 +522,7 @@ int main(int argc, char **argv) + if (existing_id < 0) + { + /* Create new issue */ +- log(_("Creating a new issue")); ++ log_warning(_("Creating a new issue")); + problem_formatter_t *pf = problem_formatter_new(); + problem_formatter_add_section(pf, PR_SEC_ADDITIONAL_INFO, 0); + +@@ -550,7 +550,7 @@ int main(int argc, char **argv) + + if (reported_to && reported_to->url) + { +- log(_("Adding External URL to issue")); ++ log_warning(_("Adding External URL to issue")); + tracker_url = xstrdup(reported_to->url); + free_report_result(reported_to); + } +@@ -563,7 +563,7 @@ int main(int argc, char **argv) + if (new_id == -1) + return EXIT_FAILURE; + +- log(_("Adding attachments to issue %i"), new_id); ++ log_warning(_("Adding attachments to issue %i"), new_id); + char *new_id_str = xasprintf("%u", new_id); + + for (GList *a = problem_report_get_attachments(pr); a != NULL; a = g_list_next(a)) +@@ -592,7 +592,7 @@ int main(int argc, char **argv) + + ii = mantisbt_get_issue_info(&mbt_settings, bug_id); + +- log(_("Bug is already reported: %i"), ii->mii_id); ++ log_warning(_("Bug is already reported: %i"), ii->mii_id); + + /* Follow duplicates */ + if ((strcmp(ii->mii_status, "closed") == 0) +@@ -629,7 +629,7 @@ int main(int argc, char **argv) + int dup_comment = is_comment_dup(ii->mii_notes, mbtcomment); + if (!dup_comment) + { +- log(_("Adding new comment to issue %d"), ii->mii_id); ++ log_warning(_("Adding new comment to issue %d"), ii->mii_id); + mantisbt_add_issue_note(&mbt_settings, ii->mii_id, mbtcomment); + + const char *bt = problem_data_get_content_or_NULL(problem_data, FILENAME_BACKTRACE); +@@ -642,7 +642,7 @@ int main(int argc, char **argv) + { + char *bug_id_str = xasprintf("%i", ii->mii_id); + +- log(_("Attaching better backtrace")); ++ log_warning(_("Attaching better backtrace")); + + // find unique filename of attachment + char *name = NULL; +@@ -665,14 +665,14 @@ int main(int argc, char **argv) + } + } + else +- log(_("Found the same comment in the issue history, not adding a new one")); ++ log_warning(_("Found the same comment in the issue history, not adding a new one")); + + problem_report_free(pr); + problem_formatter_free(pf); + } + + finish: +- log(_("Status: %s%s%s %s/view.php?id=%u"), ++ log_warning(_("Status: %s%s%s %s/view.php?id=%u"), + ii->mii_status, + ii->mii_resolution ? " " : "", + ii->mii_resolution ? ii->mii_resolution : "", +diff --git a/src/plugins/reporter-print.c b/src/plugins/reporter-print.c +index 90ed4c3..b8701b6 100644 +--- a/src/plugins/reporter-print.c ++++ b/src/plugins/reporter-print.c +@@ -142,7 +142,7 @@ int main(int argc, char **argv) + } + } + const char *format = (open_mode[0] == 'a' ? _("The report was appended to %s") : _("The report was stored to %s")); +- log(format, output_file); ++ log_warning(format, output_file); + free(output_file); + } + +diff --git a/src/plugins/reporter-rhtsupport-parse.c b/src/plugins/reporter-rhtsupport-parse.c +index e7078e9..ab1679d 100644 +--- a/src/plugins/reporter-rhtsupport-parse.c ++++ b/src/plugins/reporter-rhtsupport-parse.c +@@ -39,7 +39,7 @@ static void start_element( + gpointer user_data, + GError **error) + { +- //log("start: %s", element_name); ++ //log_warning("start: %s", element_name); + + struct my_parse_data *parse_data = user_data; + +diff --git a/src/plugins/reporter-rhtsupport.c b/src/plugins/reporter-rhtsupport.c +index 6734519..cbf7c9a 100644 +--- a/src/plugins/reporter-rhtsupport.c ++++ b/src/plugins/reporter-rhtsupport.c +@@ -291,7 +291,7 @@ char *submit_ureport(const char *dump_dir_name, struct ureport_server_config *co + ureport_server_response_save_in_dump_dir(resp, dump_dir_name, conf); + + if (resp->urr_message) +- log("%s", resp->urr_message); ++ log_warning("%s", resp->urr_message); + } + else if (g_verbose > 2) + error_msg(_("Server responded with an error: '%s'"), resp->urr_value); +@@ -321,9 +321,9 @@ bool check_for_hints(const char *url, char **login, char **password, bool ssl_ve + ); + + #if 0 /* testing */ +- log("ERR:%d", result->error); +- log("MSG:'%s'", result->msg); +- log("BODY:'%s'", result->body); ++ log_warning("ERR:%d", result->error); ++ log_warning("MSG:'%s'", result->msg); ++ log_warning("BODY:'%s'", result->body); + result->error = 0; + result->body = xstrdup( + "" +@@ -595,8 +595,8 @@ int main(int argc, char **argv) + error_msg_and_die("Can't attach: problem data in '%s' " + "was not reported to RHTSupport and therefore has no URL", + dump_dir_name); +- //log("URL:'%s'", reported_to->url); +- //log("MSG:'%s'", reported_to->msg); ++ //log_warning("URL:'%s'", reported_to->url); ++ //log_warning("MSG:'%s'", reported_to->msg); + free(url); + url = reported_to->url; + reported_to->url = NULL; +@@ -616,7 +616,7 @@ int main(int argc, char **argv) + /* -t[CASE] FILE: just attach files and exit */ + while (*argv) + { +- log(_("Attaching '%s' to case '%s'"), *argv, url); ++ log_warning(_("Attaching '%s' to case '%s'"), *argv, url); + rhts_result_t *result = attach_file_to_case(url, + login, + password, +@@ -625,8 +625,8 @@ int main(int argc, char **argv) + ); + if (result->error) + error_msg_and_die("%s", result->msg); +- log("Attachment URL:%s", result->url); +- log("File attached successfully"); ++ log_warning("Attachment URL:%s", result->url); ++ log_warning("File attached successfully"); + free_rhts_result(result); + argv++; + } +@@ -653,7 +653,7 @@ int main(int argc, char **argv) + + if (submit_ur) + { +- log(_("Sending ABRT crash statistics data")); ++ log_warning(_("Sending ABRT crash statistics data")); + + bthash = submit_ureport(dump_dir_name, &urconf); + +@@ -794,7 +794,7 @@ int main(int argc, char **argv) + } + + /* Gzipping e.g. 0.5gig coredump takes a while. Let user know what we are doing */ +- log(_("Compressing data")); ++ log_warning(_("Compressing data")); + + struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0); + if (!dd) +@@ -813,12 +813,12 @@ int main(int argc, char **argv) + if (tempfile_size <= QUERY_HINTS_IF_SMALLER_THAN) + { + /* Check for hints and show them if we have something */ +- log(_("Checking for hints")); ++ log_warning(_("Checking for hints")); + if (check_for_hints(base_api_url, &login, &password, ssl_verify, tempfile)) + goto ret; + } + +- log(_("Creating a new case")); ++ log_warning(_("Creating a new case")); + + char *product = NULL; + char *version = NULL; +@@ -878,14 +878,14 @@ int main(int argc, char **argv) + add_reported_to_entry(dd, &rr); + dd_close(dd); + if (result->msg) +- log("%s", result->msg); +- log("URL=%s", result->url); ++ log_warning("%s", result->msg); ++ log_warning("URL=%s", result->url); + } + /* else: error msg was already emitted by dd_opendir */ + + if (bthash) + { +- log(_("Linking ABRT crash statistics record with the case")); ++ log_warning(_("Linking ABRT crash statistics record with the case")); + + /* Make sure we use the current credentials */ + ureport_server_config_set_basic_auth(&urconf, login, password); +@@ -898,7 +898,7 @@ int main(int argc, char **argv) + UREPORT_OPTION_VALUE_FROM_CONF(ursettings, "ContactEmail", email, (const char *)); + if (email != NULL) + { +- log(_("Linking ABRT crash statistics record with contact email: '%s'"), email); ++ log_warning(_("Linking ABRT crash statistics record with contact email: '%s'"), email); + attach_to_ureport(&urconf, bthash, "email", email); + } + +@@ -917,12 +917,12 @@ int main(int argc, char **argv) + if (bigsize != 0 && tempfile_size / (1024*1024) >= bigsize) + { + /* Upload tarball of -d DIR to "big file" FTP */ +- /* log(_("Uploading problem data to '%s'"), bigurl); - upload_file does this */ ++ /* log_warning(_("Uploading problem data to '%s'"), bigurl); - upload_file does this */ + remote_filename = upload_file(bigurl, tempfile); + } + if (remote_filename) + { +- log(_("Adding comment to case '%s'"), url); ++ log_warning(_("Adding comment to case '%s'"), url); + /* + * Do not translate message below - it goes + * to a server where *other people* will read it. +@@ -940,7 +940,7 @@ int main(int argc, char **argv) + else + { + /* Attach the tarball of -d DIR */ +- log(_("Attaching problem data to case '%s'"), url); ++ log_warning(_("Attaching problem data to case '%s'"), url); + INVALID_CREDENTIALS_LOOP(login, password, + result_atch, attach_file_to_case(url, login, password, ssl_verify, tempfile) + ); +@@ -952,11 +952,11 @@ int main(int argc, char **argv) + /* Prepend "Case created" text to whatever error message there is, + * so that user knows that case _was_ created despite error in attaching. + */ +- log("Case created but failed to attach problem data: %s", result_atch->msg); ++ log_warning("Case created but failed to attach problem data: %s", result_atch->msg); + } + else + { +- log("Failed to attach problem data: %s", result_atch->msg); ++ log_warning("Failed to attach problem data: %s", result_atch->msg); + } + } + +diff --git a/src/plugins/reporter-systemd-journal.c b/src/plugins/reporter-systemd-journal.c +index d12296e..16c0f1c 100644 +--- a/src/plugins/reporter-systemd-journal.c ++++ b/src/plugins/reporter-systemd-journal.c +@@ -334,7 +334,7 @@ int main(int argc, char **argv) + /* Debug */ + if (opts & OPT_D) + { +- log("Message: %s\n" ++ log_warning("Message: %s\n" + "\n" + "%s" + "\n" +diff --git a/src/plugins/reporter-upload.c b/src/plugins/reporter-upload.c +index 933cc9c..2bfed19 100644 +--- a/src/plugins/reporter-upload.c ++++ b/src/plugins/reporter-upload.c +@@ -100,7 +100,7 @@ static int create_and_upload_archive( + xfunc_die(); /* error msg is already logged by dd_opendir */ + + /* Compressing e.g. 0.5gig coredump takes a while. Let client know what we are doing */ +- log(_("Compressing data")); ++ log_warning(_("Compressing data")); + if (dd_create_archive(dd, tempfile, (const_string_vector_const_ptr_t)exclude_from_report, 0) != 0) + { + log_error("Can't create temporary file in %s", LARGE_DATA_TMP_DIR); +@@ -117,7 +117,7 @@ static int create_and_upload_archive( + else + { + result = 0; /* success */ +- log(_("Archive is created: '%s'"), tempfile); ++ log_warning(_("Archive is created: '%s'"), tempfile); + *remote_name = tempfile; + tempfile = NULL; + } +diff --git a/src/plugins/reporter-ureport.c b/src/plugins/reporter-ureport.c +index 5534579..cc1cedc 100644 +--- a/src/plugins/reporter-ureport.c ++++ b/src/plugins/reporter-ureport.c +@@ -313,9 +313,9 @@ int main(int argc, char **argv) + /* If a reported problem is not known then emit NEEDMORE */ + if (strcmp("true", response->urr_value) == 0) + { +- log(_("This problem has already been reported.")); ++ log_warning(_("This problem has already been reported.")); + if (response->urr_message) +- log("%s", response->urr_message); ++ log_warning("%s", response->urr_message); + + ret = EXIT_STOP_EVENT_RUN; + } +diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c +index 82e7d21..680527d 100644 +--- a/src/plugins/rhbz.c ++++ b/src/plugins/rhbz.c +@@ -34,8 +34,8 @@ + + //#define DEBUG + #ifdef DEBUG +-#define func_entry() log("-- %s", __func__) +-#define func_entry_str(x) log("-- %s\t%s", __func__, (x)) ++#define func_entry() log_warning("-- %s", __func__) ++#define func_entry_str(x) log_warning("-- %s\t%s", __func__, (x)) + #else + #define func_entry() + #define func_entry_str(x) +@@ -601,7 +601,7 @@ int rhbz_new_bug(struct abrt_xmlrpc *ax, + int new_bug_id = *r; + free(r); + +- log(_("New bug id: %i"), new_bug_id); ++ log_warning(_("New bug id: %i"), new_bug_id); + return new_bug_id; + } + +@@ -723,7 +723,7 @@ struct bug_info *rhbz_find_origin_bug_closed_duplicate(struct abrt_xmlrpc *ax, + if (ii == MAX_HOPS) + error_msg_and_die(_("Bugzilla couldn't find parent of bug %d"), bi->bi_id); + +- log("Bug %d is a duplicate, using parent bug %d", bi_tmp->bi_id, bi_tmp->bi_dup_id); ++ log_warning("Bug %d is a duplicate, using parent bug %d", bi_tmp->bi_id, bi_tmp->bi_dup_id); + int bug_id = bi_tmp->bi_dup_id; + + free_bug_info(bi_tmp); +diff --git a/tests/glib_helpers.at b/tests/glib_helpers.at +index 0dc7f7e..a93142e 100644 +--- a/tests/glib_helpers.at ++++ b/tests/glib_helpers.at +@@ -21,8 +21,8 @@ int test(const char *list, const char *delimiter, const char *strings[]) + int retval = 0; + + while(l != NULL) { +- log("is: '%s'", (char *)l->data); +- log("should be: '%s'", *tmp); ++ log_warning("is: '%s'", (char *)l->data); ++ log_warning("should be: '%s'", *tmp); + retval |= strcmp((char *)l->data, *(tmp++)) != 0; + if (retval) + break; // no need to continue further +@@ -60,8 +60,8 @@ int test(const char *list, const char *strings[]) + int retval = 0; + + while(l != NULL) { +- log("is: '%s'", (char *)l->data); +- log("should be: '%s'", *tmp); ++ log_warning("is: '%s'", (char *)l->data); ++ log_warning("should be: '%s'", *tmp); + retval |= strcmp((char *)l->data, *(tmp++)) != 0; + if (retval) + break; // no need to continue further +diff --git a/tests/osrelease.at b/tests/osrelease.at +index 1dc852c..3692e42 100644 +--- a/tests/osrelease.at ++++ b/tests/osrelease.at +@@ -16,12 +16,12 @@ int test(char ***input) + { + char * release_string = **input; + int retcode = 1; +- log("release: >>%s<<\n", release_string); ++ log_warning("release: >>%s<<\n", release_string); + char *product = NULL; + char *version = NULL; + parse_release_for_bz(release_string, &product, &version); +- log("version: >>%s<<\n", version); +- log("product: >>%s<<\n", product); ++ log_warning("version: >>%s<<\n", version); ++ log_warning("product: >>%s<<\n", product); + + if(version == NULL || (strlen(version) == 0)) + { +@@ -30,17 +30,17 @@ int test(char ***input) + } + + (*input)++; //expected product is +1 in the array +- log("'%s' == '%s'", product, **input); ++ log_warning("'%s' == '%s'", product, **input); + if (strcmp(product, **input) != 0) + goto ret; + + (*input)++; //expected version is +2 in the array +- log("'%s' == '%s'", version, **input); ++ log_warning("'%s' == '%s'", version, **input); + if (strcmp(version, **input) == 0) + retcode = 0; + + ret: +- log("retcode %i\n", retcode); ++ log_warning("retcode %i\n", retcode); + return retcode; + } + +@@ -84,12 +84,12 @@ int test(char ***input) + { + char * release_string = **input; + int retcode = 1; +- log("release: >>%s<<\n", release_string); ++ log_warning("release: >>%s<<\n", release_string); + char *product = NULL; + char *version = NULL; + parse_release_for_rhts(release_string, &product, &version); +- log("version: >>%s<<\n", version); +- log("product: >>%s<<\n", product); ++ log_warning("version: >>%s<<\n", version); ++ log_warning("product: >>%s<<\n", product); + + if(version == NULL || (strlen(version) == 0)) + { +@@ -98,17 +98,17 @@ int test(char ***input) + } + + (*input)++; //expected product is +1 in the array +- log("'%s' == '%s'", product, **input); ++ log_warning("'%s' == '%s'", product, **input); + if (strcmp(product, **input) != 0) + goto ret; + + (*input)++; //expected version is +2 in the array +- log("'%s' == '%s'", version, **input); ++ log_warning("'%s' == '%s'", version, **input); + if (strcmp(version, **input) == 0) + retcode = 0; + + ret: +- log("retcode %i\n", retcode); ++ log_warning("retcode %i\n", retcode); + return retcode; + } + +-- +2.9.5 + diff --git a/801.patch b/801.patch deleted file mode 100644 index 8f784ff..0000000 --- a/801.patch +++ /dev/null @@ -1,42 +0,0 @@ -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 deleted file mode 100644 index f592284..0000000 --- a/README.packit +++ /dev/null @@ -1,3 +0,0 @@ -This repository is maintained by packit. -https://packit.dev/ -The file was generated using packit 0.91.0.post1.dev4+ge6fd4a25. diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..c6e1729 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,70 @@ +#! /bin/sh + +print_help() +{ +cat << EOH +Prepares the source tree for configuration + +Usage: + autogen.sh [sydeps [--install]] + +Options: + + sysdeps prints out all dependencies + --install install all dependencies ('sudo yum install \$DEPS') + +EOH +} + +build_depslist() +{ + DEPS_LIST=`grep "^\(Build\)\?Requires:" *.spec.in | grep -v "%{name}" | tr -s " " | tr "," "\n" | cut -f2 -d " " | grep -v "^libreport" | sort -u | tr "\n" " "` +} + +case "$1" in + "--help"|"-h") + print_help + exit 0 + ;; + "sysdeps") + build_depslist + + if [ "$2" == "--install" ]; then + set -x verbose + sudo yum install $DEPS_LIST + set +x verbose + else + echo $DEPS_LIST + fi + exit 0 + ;; + *) + echo "Running gen-version" + ./gen-version + + mkdir -p m4 + echo "Creating m4/aclocal.m4 ..." + test -r m4/aclocal.m4 || touch m4/aclocal.m4 + + echo "Running autopoint" + autopoint --force || exit 1 + + echo "Running intltoolize..." + intltoolize --force --copy --automake || exit 1 + + echo "Running aclocal..." + aclocal || exit 1 + + echo "Running libtoolize..." + libtoolize || exit 1 + + echo "Running autoheader..." + autoheader || return 1 + + echo "Running autoconf..." + autoconf --force || exit 1 + + echo "Running automake..." + automake --add-missing --force --copy || exit 1 + ;; +esac diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index f075ad7..0000000 --- a/gating.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- !Policy -product_versions: - - fedora-* -decision_context: bodhi_update_push_testing -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - ---- !Policy -product_versions: - - fedora-* -decision_context: bodhi_update_push_stable -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/libreport-c89-2.patch b/libreport-c89-2.patch deleted file mode 100644 index 7b9b9d6..0000000 --- a/libreport-c89-2.patch +++ /dev/null @@ -1,46 +0,0 @@ -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 deleted file mode 100644 index 3f1770d..0000000 --- a/libreport-c89.patch +++ /dev/null @@ -1,28 +0,0 @@ -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 a4f068e..74681be 100644 --- a/libreport.spec +++ b/libreport.spec @@ -1,68 +1,75 @@ -%if 0%{?suse_version} - %bcond_with bugzilla +# platform-dependent +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} - %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 +%define satyr_ver 0.22 +%define glib_ver 2.43 Summary: Generic library for reporting various problems Name: libreport -Version: 2.17.15 -Release: 9%{?dist} -License: GPL-2.0-or-later +Version: 2.9.1 +Release: 3%{?dist} +License: GPLv2+ URL: https://abrt.readthedocs.org/ Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz -BuildRequires: %{dbus_devel} +Source1: autogen.sh + +# git format-patch %%{Version} -N -M --topo-order +# i=0; for p in `ls 0*.patch`; do printf "Patch%04d: %s\n" $i $p; ((i++)); done +Patch0000: 0001-augeas-trim-spaces-on-eol-around-value-separator.patch +Patch0001: 0002-reporter-s-journal-add-journal-default-entries.patch +Patch0002: 0003-reporter-s-journal-add-count-to-default-logs.patch +Patch0003: 0004-lib-fix-newline-issue-with-ask_password.patch +Patch0004: 0005-configure.ac-update-glib-min.-version-dependency.patch +Patch0005: 0006-lib-replace-hash-table-with-list.patch +Patch0006: 0007-dd-extend-create_dump_dir-to-allow-set-pid-in-dumpdi.patch +Patch0007: 0008-augeas-exclude-format-files.patch +Patch0008: 0009-bugzilla-add-check-if-option-d-was-entered.patch +Patch0009: 0010-reporter-mantisbt-Fix-typo-in-help.patch +Patch0010: 0011-logging-rename-log-to-log_warning.patch + +# git is need for '%%autosetup -S git' which automatically applies all the +# patches above. Please, be aware that the patches must be generated +# by 'git format-patch' +BuildRequires: git + +BuildRequires: dbus-devel BuildRequires: gtk3-devel BuildRequires: curl-devel BuildRequires: desktop-file-utils +BuildRequires: python-devel BuildRequires: python3-devel BuildRequires: gettext BuildRequires: libxml2-devel +BuildRequires: libtar-devel BuildRequires: intltool BuildRequires: libtool -BuildRequires: make BuildRequires: texinfo BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: newt-devel -BuildRequires: satyr-devel >= 0.38 +BuildRequires: libproxy-devel +BuildRequires: satyr-devel >= %{satyr_ver} BuildRequires: glib2-devel >= %{glib_ver} -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.38 -Requires: glib2%{?_isa} >= %{glib_ver} -Requires: libarchive%{?_isa} +BuildRequires: xz +BuildRequires: lz4 # 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 +Requires: libreport-filesystem = %{version}-%{release} +Requires: satyr >= %{satyr_ver} +Requires: glib2 >= %{glib_ver} +Requires: xz +Requires: lz4 %description Libraries providing API for reporting different problems in applications @@ -70,7 +77,6 @@ to different bug targets like Bugzilla, ftp, trac, etc... %package filesystem Summary: Filesystem layout for libreport -BuildArch: noarch %description filesystem Filesystem layout for libreport @@ -96,7 +102,23 @@ Requires: libreport-web = %{version}-%{release} %description web-devel Development headers for libreport-web -%package -n python3-libreport +%package python +Summary: Python bindings for report-libs +# Is group correct here? - +Requires: libreport = %{version}-%{release} +Requires: dnf +Provides: report = 0:0.23-1 +Obsoletes: report < 0:0.23-1 +# in report the rhtsupport is in the main package, so we need to install it too +# report is only in RHEL6, we do not need to carry the dependency to newer RHELs +%if 0%{?rhel} == 6 +Requires: libreport-plugin-rhtsupport = %{version}-%{release} +%endif + +%description python +Python bindings for report-libs. + +%package python3 Summary: Python 3 bindings for report-libs %if 0%{?_module_build} # This is required for F26 Boltron (the modular release) @@ -109,12 +131,9 @@ Requires: libreport >= %{version}-%{distfreerelease} %else Requires: libreport = %{version}-%{release} %endif -Requires: python3-dnf -Requires: python3-requests -Requires: python3-urllib3 -%{?python_provide:%python_provide python3-libreport} +Requires: dnf -%description -n python3-libreport +%description python3 Python 3 bindings for report-libs. %package cli @@ -139,6 +158,7 @@ bugs Summary: GTK front-end for libreport Requires: libreport = %{version}-%{release} Requires: libreport-plugin-reportuploader = %{version}-%{release} +Requires: fros >= 1.1-2 Provides: report-gtk = 0:0.23-1 Obsoletes: report-gtk < 0:0.23-1 @@ -179,29 +199,19 @@ 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: /usr/bin/mailx +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} -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. -%endif %package plugin-mantisbt Summary: %{name}'s mantisbt plugin @@ -222,13 +232,36 @@ Workflows to report issues into the CentOS Bug Tracker. %package plugin-ureport Summary: %{name}'s micro report plugin -BuildRequires: %{libjson_devel} +BuildRequires: json-c-devel Requires: %{name} = %{version}-%{release} Requires: libreport-web = %{version}-%{release} +%if 0%{?rhel} +Requires: python-rhsm +%endif %description plugin-ureport Uploads micro-report to abrt server +%package plugin-rhtsupport +Summary: %{name}'s RHTSupport plugin +Requires: %{name} = %{version}-%{release} +Requires: libreport-web = %{version}-%{release} +%if 0%{?rhel} +Requires: redhat-access-insights +%endif + +%description plugin-rhtsupport +Plugin to report bugs into RH support system. + +%package compat +Summary: %{name}'s compat layer for obsoleted 'report' package +Requires: libreport = %{version}-%{release} +Requires: %{name}-plugin-bugzilla = %{version}-%{release} +Requires: %{name}-plugin-rhtsupport = %{version}-%{release} + +%description compat +Provides 'report' command-line tool. + %package plugin-reportuploader Summary: %{name}'s reportuploader plugin Requires: %{name} = %{version}-%{release} @@ -237,7 +270,7 @@ 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} +%if 0%{?fedora} %package fedora Summary: Default configuration for reporting bugs via Fedora infrastructure Requires: %{name} = %{version}-%{release} @@ -248,7 +281,16 @@ used to easily configure the reporting process for Fedora systems. Just install this package and you're done. %endif -%if 0%{?rhel} && ! 0%{?eln} +%if 0%{?rhel} +%package rhel +Summary: Default configuration for reporting bugs via Red Hat infrastructure +Requires: %{name} = %{version}-%{release} + +%description rhel +Default configuration for reporting bugs via Red Hat infrastructure +used to easily configure the reporting process for Red Hat systems. Just +install this package and you're done. + %package rhel-bugzilla Summary: Default configuration for reporting bugs to Red Hat Bugzilla Requires: %{name} = %{version}-%{release} @@ -271,42 +313,41 @@ 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} +%if 0%{?rhel} +Requires: libreport-plugin-rhtsupport = %{version}-%{release} +%else 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 +# http://www.rpm.org/wiki/PackagerDocs/Autosetup +# Default '__scm_apply_git' is 'git apply && git commit' but this workflow +# doesn't allow us to create a new file within a patch, so we have to use +# 'git am' (see /usr/lib/rpm/macros for more details) +%define __scm_apply_git(qp:m:) %{__git} am --exclude src/report-python/libreport-meh-test.py +#%%define __scm_apply_git(qp:m:) %%{__git} am --exclude libreport.spec.in --exclude .gitignore +%autosetup -S git -%build +# koji in f19 has new autotools, so we need to regenerate everything +cp %SOURCE1 %_builddir/%{name}-%{version} ./autogen.sh -%configure \ -%if %{without bugzilla} - --without-bugzilla \ -%endif - --enable-doxygen-docs \ - --disable-silent-rules - -%make_build +%build +# Commented because of deprecated GTK API +#CFLAGS="%%{optflags} -Werror" %%configure --disable-silent-rules +CFLAGS="%{optflags}" %configure --enable-doxygen-docs --disable-silent-rules +make %{?_smp_mflags} %install -%make_install \ -%if %{with python3} - PYTHON=%{__python3} \ -%endif - mandir=%{_mandir} - +make install DESTDIR=%{buildroot} mandir=%{_mandir} %find_lang %{name} # Remove byte-compiled python files generated by automake. @@ -329,7 +370,7 @@ mkdir -p %{buildroot}/%{_datadir}/%{name}/workflows/ rm -f %{buildroot}/%{_infodir}/dir # Remove unwanted Fedora specific workflow configuration files -%if ! 0%{?fedora} && ! 0%{?eln} +%if 0%{!?fedora:1} 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 @@ -345,8 +386,17 @@ rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_AnacondaFedora.xml %endif # Remove unwanted RHEL specific workflow configuration files -%if ! 0%{?rhel} || 0%{?eln} +%if 0%{!?rhel:1} +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELCCpp.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELKerneloops.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELPython.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELvmcore.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELxorg.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELLibreport.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELJava.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_RHELJavaScript.xml rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_uReport.xml +rm -f %{buildroot}/%{_datadir}/libreport/workflows/workflow_AnacondaRHEL.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 @@ -356,23 +406,15 @@ 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_rhel.conf 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_rhel.conf.5 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 +%clean %check make check|| { @@ -382,16 +424,17 @@ make check|| { exit 1 } -%ldconfig_scriptlets -%ldconfig_scriptlets web -%if 0%{?rhel} && 0%{?rhel} <= 7 %post gtk -%{?ldconfig} +/sbin/ldconfig # update icon cache touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + %postun gtk -%{?ldconfig} +/sbin/ldconfig if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : @@ -400,23 +443,28 @@ fi %posttrans gtk gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -%endif + +%post web -p /sbin/ldconfig + + +%postun web -p /sbin/ldconfig + %files -f %{name}.lang -%doc README.md +%defattr(-,root,root,-) +%doc README %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 -%config(noreplace) %{_sysconfdir}/%{name}/ignored_elements.conf %{_datadir}/%{name}/conf.d/libreport.conf %{_libdir}/libreport.so.* +%{_libdir}/libabrt_dbus.so.* %{_mandir}/man5/libreport.conf.5* %{_mandir}/man5/report_event.conf.5* %{_mandir}/man5/forbidden_words.conf.5* %{_mandir}/man5/ignored_words.conf.5* -%{_mandir}/man5/ignored_elements.conf.5* # filesystem package owns /usr/share/augeas/lenses directory %{_datadir}/augeas/lenses/libreport.aug @@ -425,9 +473,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %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/ @@ -442,7 +487,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_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 @@ -454,10 +498,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_includedir}/libreport/reporters.h %{_includedir}/libreport/global_configuration.h # Private api headers: +%{_includedir}/libreport/internal_abrt_dbus.h %{_includedir}/libreport/internal_libreport.h %{_includedir}/libreport/xml_parser.h %{_includedir}/libreport/helpers %{_libdir}/libreport.so +%{_libdir}/libabrt_dbus.so %{_libdir}/pkgconfig/libreport.pc %dir %{_includedir}/libreport @@ -469,9 +515,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_includedir}/libreport/libreport_curl.h %{_libdir}/pkgconfig/libreport-web.pc -%files -n python3-libreport -%{python3_sitearch}/report/ -%{python3_sitearch}/reportclient/ +%files python +%{python_sitearch}/report/* +%{python_sitearch}/reportclient/* + +%files python3 +%{python3_sitearch}/report/* +%{python3_sitearch}/reportclient/* %files cli %{_bindir}/report-cli @@ -484,6 +534,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files gtk %{_bindir}/report-gtk %{_libdir}/libreport-gtk.so.* +%config(noreplace) %{_sysconfdir}/libreport/events.d/emergencyanalysis_event.conf +%{_mandir}/man5/emergencyanalysis_event.conf.5.* +%{_datadir}/%{name}/events/report_EmergencyAnalysis.xml %{_mandir}/man1/report-gtk.1.gz %files gtk-devel @@ -517,6 +570,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %config(noreplace) %{_sysconfdir}/libreport/plugins/mailx.conf %{_datadir}/%{name}/conf.d/plugins/mailx.conf %{_datadir}/%{name}/events/report_Mailx.xml +%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.mailx.xml %{_datadir}/%{name}/workflows/workflow_Mailx.xml %{_datadir}/%{name}/workflows/workflow_MailxCCpp.xml %config(noreplace) %{_sysconfdir}/libreport/events.d/mailx_event.conf @@ -534,25 +588,20 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_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 +%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.ureport.xml -%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 +%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.bugzilla.xml # FIXME: remove with the old gui %{_mandir}/man1/reporter-bugzilla.1.gz %{_mandir}/man5/report_Bugzilla.conf.5.* @@ -561,14 +610,8 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_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 -%if 0%{?fedora} < 38 -%{_bindir}/reporter-bugzilla-python -%endif - -%endif %files plugin-mantisbt %config(noreplace) %{_sysconfdir}/libreport/plugins/mantisbt.conf @@ -602,7 +645,22 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_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 +%{_mandir}/man5/centos_report_event.conf.5.* + +%files plugin-rhtsupport +%config(noreplace) %{_sysconfdir}/libreport/plugins/rhtsupport.conf +%{_datadir}/%{name}/conf.d/plugins/rhtsupport.conf +%{_datadir}/%{name}/events/report_RHTSupport.xml +%{_datadir}/dbus-1/interfaces/com.redhat.problems.configuration.rhtsupport.xml +%config(noreplace) %{_sysconfdir}/libreport/events.d/rhtsupport_event.conf +%{_mandir}/man1/reporter-rhtsupport.1.gz +%{_mandir}/man5/rhtsupport.conf.5.* +%{_mandir}/man5/rhtsupport_event.conf.5.* +%{_bindir}/reporter-rhtsupport + +%files compat +%{_bindir}/report +%{_mandir}/man1/report.1.gz %files plugin-reportuploader %{_mandir}/man*/reporter-upload.* @@ -613,14 +671,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_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 +%{_datadir}/%{name}/conf.d/plugins/upload.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} +%if 0%{?fedora} %files fedora %{_datadir}/%{name}/workflows/workflow_FedoraCCpp.xml %{_datadir}/%{name}/workflows/workflow_FedoraKerneloops.xml @@ -635,8 +693,22 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man5/report_fedora.conf.5.* %endif -%if %{with bugzilla} -%if 0%{?rhel} && ! 0%{?eln} +%if 0%{?rhel} +%files rhel +%{_datadir}/%{name}/workflows/workflow_RHELCCpp.xml +%{_datadir}/%{name}/workflows/workflow_RHELKerneloops.xml +%{_datadir}/%{name}/workflows/workflow_RHELPython.xml +%{_datadir}/%{name}/workflows/workflow_RHELvmcore.xml +%{_datadir}/%{name}/workflows/workflow_RHELxorg.xml +%{_datadir}/%{name}/workflows/workflow_RHELLibreport.xml +%{_datadir}/%{name}/workflows/workflow_RHELJava.xml +%{_datadir}/%{name}/workflows/workflow_RHELJavaScript.xml +%{_datadir}/%{name}/workflows/workflow_uReport.xml +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_rhel.conf +%config(noreplace) %{_sysconfdir}/libreport/workflows.d/report_uReport.conf +%{_mandir}/man5/report_rhel.conf.5.* +%{_mandir}/man5/report_uReport.conf.5.* + %files rhel-bugzilla %{_datadir}/%{name}/workflows/workflow_RHELBugzillaCCpp.xml %{_datadir}/%{name}/workflows/workflow_RHELBugzillaKerneloops.xml @@ -654,9 +726,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %endif %files anaconda -%if 0%{?fedora} || 0%{?eln} +%if 0%{?fedora} %{_datadir}/%{name}/workflows/workflow_AnacondaFedora.xml %endif +%if 0%{?rhel} +%{_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 @@ -666,449 +741,1050 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man5/bugzilla_anaconda_event.conf.5.* %{_mandir}/man5/bugzilla_format_anaconda.conf.5.* %{_mandir}/man5/bugzilla_formatdup_anaconda.conf.5.* -%endif %changelog -* Fri Sep 19 2025 Python Maint - 2.17.15-9 -- Rebuilt for Python 3.14.0rc3 bytecode +* Thu Aug 31 2017 Julius Milan 2.9.1-3 +- logging: rename log() to log_warning() +- reporter-mantisbt: Fix typo in help +- bugzilla: add check if option -d was entered +- dd: extend create_dump_dir to allow set pid in dumpdir name +- lib: fix to ensure order of login credentials when reporting using abrt-cli +- configure.ac: update glib min. version dependency +- lib: fix newline issue with ask_password +- Resolves: #1445669, #1481205 -* Fri Aug 15 2025 Python Maint - 2.17.15-8 -- Rebuilt for Python 3.14.0rc2 bytecode +* Thu Apr 13 2017 Matej Habrnal 2.9.1-2 +- add journal default entries to reporter-systemd-journal +- augeas: trim spaces on eol, around value separator +- Resolves: #1434414 -* Thu Jul 24 2025 Fedora Release Engineering - 2.17.15-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Wed Mar 15 2017 Matej Habrnal 2.9.1-1 +- build: do not upload tarball to fedorahosted.org +- spec: do not use fedorahosted.org as source +- build: fix generating list of dependences in autogen.sh +- build: generate new release entries with date +- report-newt: free allocated variables, don't close dd twice +- build: fix scratch-build target +- changelog: reflect the PR +- lib: several bug fixes in parsing of mountinfo +- lib: correctly recognize chroot in container +- lib: declare CONTAINER_ROOTS element name +- lib: add more log wrappers for perror +- reporter-bugzilla: use /etc/os-release for default url +- configure.ac: Remove nss dependency +- spec: include testsuite headers in the devel package +- tests: include testsuite.h in the dist archive +- maint: check pulled .po files for errors +- build: fix bug in changelog generating in release target +- changelog: fix typos -* Mon Jun 02 2025 Python Maint - 2.17.15-6 -- Rebuilt for Python 3.14 +* Fri Feb 10 2017 Fedora Release Engineering - 2.9.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild -* Mon Jan 20 2025 Fedora Release Engineering - 2.17.15-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +* Sat Jan 21 2017 Igor Gnatenko - 2.9.0-4 +- Rebuild for xmlrpc-c -* Fri Jan 17 2025 Fedora Release Engineering - 2.17.15-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +* Mon Jan 02 2017 Matej Habrnal 2.9.0-3 +- fix minimal satyr version -* Thu Jul 18 2024 Fedora Release Engineering - 2.17.15-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild +* Thu Dec 15 2016 Charalampos Stratakis - 2.9.0-2 +- Rebuild for Python 3.6 -* Fri Jun 07 2024 Python Maint - 2.17.15-2 -- Rebuilt for Python 3.13 +* Thu Dec 15 2016 Matej Habrnal 2.9.0-1 +- Translation updates +- build: make the release-* targets smarter +- add CHANGELOG.md +- reporter-s-journal: enable SYSLOG_IDENTIFIER from env +- report-python: add method run_event_on_problem_dir +- lib: use lz4 instead of lz4cat +- tree-wide: introduce 'stop_on_not_reportable' option +- client: add support for $releasever to debuginfo +- workflows: run analyze_BodhiUpdates event on Fedora +- reporter-systemd-journal: introduce reporter-systemd-journal +- problem_data: add function which returns all problem data keys +- problem_report: add normalization of crashed thread +- problem_report: make generate report configurable +- problem_report: use core_backtrace if there is no backtrace +- lib: refuse to parse negative number as unsigned int +- problem_report: ensure C-string null terminator +- lib: fix invalid cgroup namespace ID +- lib: make die function configurable +- lib: allow using FD of /proc/[pid] instead of pid_t +- dd: add functions for opening dd item +- lib: add xfdopen +- problem data: search for sensitive words in more files +- dd: add dd_copy_file_at +- ignored words: add "systemd-logind" and "hawkey" +- ureport: less confusing logging +- workflow: add JavaScript workflows +- bugzilla: stop including package details -* 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) +* Fri Sep 09 2016 Jakub Filak 2.8.0-1 +- lib: fix a memory leak in create_dump_dir fn +- rhtsupport: fix a double free of config at exit +- debuginfo: dnf API logging workarounds list +- lib: don't warn when user word file doesn't exist +- lib: be able to define base conf dir at runtime +- wizard: use dnf instead of yum in add a screencast note +- problem_report: document resevered elements -* 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) +* Tue Jul 19 2016 Fedora Release Engineering - 2.7.2-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages -* 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) +* Mon Jul 18 2016 Matej Habrnal 2.7.2-1 +- Translation updates +- wizard: do not create reproducible if complex_detail == no +- include: save_user_settings function declaration isn’t a prototype +- Bugzilla: fix typo in comment don -> don't +- client-python: fix a typo in error check +- dd: do not log missing uid file when creating new dump dir +- build: update searched pkg names for systemd -* Thu Jan 25 2024 Fedora Release Engineering - 2.17.11-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +* Wed May 18 2016 Matej Habrnal 2.7.1-1 +- lib: add lz4 decompression +- lib: avoid the need to link against lzma +- all: format security +- lib: add cgroup namespace +- dd: introduce functions getting occurrence stamps +- dd: introduce dd_get_env_variable +- lib: add get env variable from a file +- RHTSupport: include count in Support cases +- lib: problem report API check fseek return code +- ignored words: remove 'kwallet_jwakely' which I added wrongly -* Sun Jan 21 2024 Florian Weimer - 2.17.11-5 -- Fix C compatibility issues in tests +* Fri Apr 08 2016 Matej Habrnal 2.7.0-1 +- ignored words: update ignored words +- mailx: use problem report api to define an emais' content +- augeas: trim spaces before key value +- spec: add workflows.d to filesystem package +- mailx: stop creating dead.letter on mailx failures +- workflows: add comments to ambiguous functions +- workflows: publish the function loading configuration +- augeas: exclude mantisbt format configurations +- reporter-mantisbt: add missing '=' to conf file +- curl: fix typo Ingoring -> Ignoring +- rhtsupport: attach all dump dir's element to a new case +- rhtsupport: add pkg_vendor, reproducer and reproducible to description +- report client: add silent mode to clean_up() +- doc: add documentation for requires-details attribute +- rhtsupport: Discourage users from reporting in non Red Hat stuff +- rhtsupport: Discourage users from opening one-shot crashes +- report-gtk: Require Reproducer for RHTSupport +- Add workflow for RHEL anonymous report +- spec: add workflow for RHEL anonymous report files +- wizard: fix the broken widget expansion +- dd: add documentation of dd_create_skeleton +- workflow: add extern C to the header file +- Fix minor typos +- Translation updates +- translations: update zanata configuration +- wizard: fix the broken "Show log" widget +- wizard: remove the code correcting Bugzilla groups -* Sun Jan 21 2024 Fedora Release Engineering - 2.17.11-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +* Thu Feb 18 2016 Matej Habrnal 2.6.4-3 +- Translation updates +- wizard: fix the broken widget expansion -* Thu Jul 20 2023 Fedora Release Engineering - 2.17.11-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild +* Wed Feb 10 2016 Matej Habrnal 2.6.4-2 +- wizard: fix the broken "Show log" widget +- Resolves: #1303326 -* Sat Jul 01 2023 Python Maint - 2.17.11-2 -- Rebuilt for Python 3.12 +* Tue Feb 02 2016 Matej Habrnal 2.6.4-1 +- doc: add option -o and -O into reporter-ureport man page +- rhtsupport: use problme report API to create description +- bugzilla: make the event configurable +- report-gtk: offer users to create private ticket +- bugzilla|centos: declare 'restricted access' support +- dd: allow 1 and 2 letter long element names +- formatdup: more universal comment +- Refactoring conditional directives that break parts of statements. +- bugzilla: actualize man pages +- bugzilla: don't report private problem as comment +- uploader: move username and password to the advanced options +- uploader: allow empty username and password +- uploader: add possibility to set SSH keyfiles +- desktop-utils: deal with Destkop files without command line +- ureport: enable attaching of arbitrary values +- uploader: save remote name in reported_to +- curl: return URLs without userinfo -* 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) +* Wed Nov 04 2015 Robert Kuska - 2.6.3-2 +- Rebuilt for Python3.5 rebuild -* Thu Jun 15 2023 Python Maint - 2.17.10-2 -- Rebuilt for Python 3.12 +* Thu Oct 15 2015 Matej Habrnal 2.6.3-1 +- reporter-bugzilla: add parameter -p +- fix save users changes after reviewing dump dir files +- bugzilla: don't attach build_ids +- rewrite event rule parser +- ureport: improve curl's error messages +- curl: add posibility to use own Certificate Authority cert -* 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) +* Tue Sep 15 2015 Matej Habrnal 2.6.2-5 +- bugzilla: put VARIANT_ID= to Whiteboard -* 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) +* Wed Aug 26 2015 Matej Habrnal 2.6.2-4 +- add a helper for HTTP GET +- configure: use hex value for dump dir mode -* 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) +* Fri Aug 14 2015 Matej Habrnal 2.6.2-3 +- don't warn about missing 'type' if the locking fails +- stop warning about corrupted mandatory files -* 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) +* Wed Jul 22 2015 Matej Habrnal 2.6.2-2 +- Use a dgettext function returning strings instead of bytes -* Thu Jan 19 2023 Fedora Release Engineering - 2.17.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +* Fri Jul 17 2015 Jakub Filak 2.6.2-1 +- avoid starvation in processes concurrently accessing a dump directory +- bugzilla: Add check for extra-cc file -* 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) +* Fri Jul 03 2015 Matej Habrnal 2.6.1-1 +- add functionality to use consumer certificate +- improve client.h documentation +- support new dump dir element 'tid' +- reportclient: minor python style fixes +- fix dnf logging +- don't log attempts to load non-existent files +- fix in dialog ask_yes_no_save_result -* Mon Oct 24 2022 Michal Srb - 2.17.5-2 -- Fix dist-tag +* Wed Jun 17 2015 Fedora Release Engineering - 2.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild -* 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) +* Thu Jun 11 2015 Jakub Filak 2.6.0-2 +- remove pygobject3 from Requires of libreport-gtk +- Resolves: #1230420 -* 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) +* Tue Jun 09 2015 Jakub Filak 2.6.0-1 +- harden the code against directory traversal, symbolic and hard link attacks +- fix a bug causing that the first value of AlwaysExcludedElements was ignored +- fix missing icon for the "Stop" button icon name +- switch the default dump dir mode to 0640 +- fix races in dump directory handling code +- improve development documentation +- translations updates -* 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) +* Wed May 20 2015 Matej Habrnal 2.5.1-2 +- reporter-mantisbt: switch from 'analyzer' to 'type' +- report client: provide cpio log when unpacking fails +- report client: check owner of /var/cache/abrt-di when unpacking fails +- reporter-mantisbt: add event for reporting AVCs +- translations updates +- bugzilla: Spell Bugzilla, not BZ in UI -* 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 Apr 09 2015 Jakub Filak 2.5.1-1 +- Translation updates +- problem_data: cache problem_item size -* Thu Jul 21 2022 Fedora Release Engineering - 2.17.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild +* Sat Mar 21 2015 Jakub Filak 2.5.0-2 +- remove libreport-python from libreport's Requires -* Mon Jun 13 2022 Python Maint - 2.17.1-2 -- Rebuilt for Python 3.11 +* Wed Mar 18 2015 Jakub Filak 2.5.0-1 +- spec: require dnf instead of yum +- Port reportclient to python3 +- reportclient: introduce DNF debug info downloader +- Python 3 compatibility +- report-python: fix getVersion_fromOSRELEASE +- ignored words: ignore lxqt-openssh-askpass +- spec: don't pull libreport-python with libreport +- Resolves: #1156485, #1168494 -* 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) +* Sat Feb 21 2015 Till Maas - 2.4.0-3 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code -* Mon Feb 21 2022 Michal Srb - 2.17.0-1 -- [reporter-bugzilla] Use API key for authentication +* Fri Feb 20 2015 Jakub Filak 2.4.0-2 +- bump required satyr verion -* Thu Jan 20 2022 Fedora Release Engineering - 2.16.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild +* Fri Feb 20 2015 Jakub Filak 2.4.0-1 +- introduce reporter-mantisbt +- introduce global configuration +- gui: try to reduce false positive sensitive words +- lib: add Problem Format API +- Resolves: #1168494 -* Wed Jan 19 2022 Matěj Grabovský - 2.16.0-2 -- Rebuild for testing +* Mon Dec 08 2014 Jakub Filak 2.3.0-8 +- fix several python3 incompatibilities +- switch back from FAF2 to FAF -* 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 +* Fri Nov 28 2014 Jakub Filak 2.3.0-7 +- anaconda: filter out rootpw lines +- highglit OpenStack related strings +- ureport: do not bother user with the configuration window + +* Thu Nov 13 2014 Jakub Filak 2.3.0-6 +- ureport: do not use 'rhsm' SSL auth by default + +* Thu Nov 06 2014 Jakub Filak 2.3.0-5 +- Prevent duplicate values for CODE_* fields being logged to journal +- ureport and rhtsupport bug fixes +- update Package URL + +* Fri Oct 17 2014 Jakub Filak 2.3.0-4 +- ureport: use FAF2 server + +* Mon Oct 13 2014 Jakub Filak 2.3.0-3 +- ureport: fix a bug in the response parser +- upload: don't ask for password if the env var is empty string + +* Wed Oct 08 2014 Jakub Filak 2.3.0-2 +- Require satyr-0.15 + +* Mon Oct 06 2014 Jakub Filak 2.3.0-1 +- Translation updates +- uploader: correct capitalization of the event name +- uploader: read credentials from environment variables +- uploader: handle access denials and ask for updated credentials +- ureport: polish public API +- bugzilla: add comment to closed bugs too +- corrected man pages +- augeas: exclude bugzilla format configurations +- add new workflows for Uploader, Mailx and Logger +- make_desc: add reason to the list +- lib: use userfriendly order in the make_description +- fix bugzilla bug formating for libreport analyzer +- lib: make_description show not-reportable + +* Tue Sep 09 2014 Jakub Filak 2.2.3-7 +- reporting GUI: allow users to run it multiple times +- Resolves: #1134407 + +* Mon Sep 01 2014 Jakub Filak 2.2.3-6 +- add "Details" button on the screen with comment +- terminate reporting after the emergency analysis +- reduce the amount of log messages +- use symbolic icons +- parse release version from os-release (Python) +- Resolves: #1133549 + +* Tue Aug 19 2014 Jakub Filak 2.2.3-5 +- add the "Repeat" button to the reporting wizard +- a bunch of GUI improvements +- fix a bug in logging causing reporter-ureport to crash + +* Sun Aug 17 2014 Fedora Release Engineering - 2.2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jul 25 2014 Jakub Filak 2.2.3-3 +- fix build with json-c-0.12 + +* Wed Jul 23 2014 Jakub Filak 2.2.3-2 +- reporter-ureport: attach anonymous comment +- gui: close dialogues on Enter key +- gui: support Enter & 2Click in Preferences list +- gui: fix help text for screencasting +- gui: wrap lines for human readable files on Data review page +- gui: select the first item in the configuration list +- gui: make the preferences dialogue modal for parents + +* Tue Jul 08 2014 Jakub Filak 2.2.3-1 +- wizard: Do not highlight sensitive words in user's comment +- bugzilla: show description for all configuration options +- wizard: use a tab for Advanced opts instead of an expander +- mailx: improve notification e-mail format +- configure: Support cross compiling with python3 +- ignored words: add well known SELinux messages +- Resolves: #974746, #1111729, #1111734 + +* Sat Jun 07 2014 Fedora Release Engineering - 2.2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 27 2014 Kalev Lember - 2.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Wed Apr 30 2014 Jakub Filak - 2.2.2-3 +- improve User Experience in Anaconda + +* Thu Apr 24 2014 Jakub Filak - 2.2.2-2 +- Bugzilla: pass Bugzilla_token in every XML RPC call + +* Sun Apr 20 2014 Jakub Filak 2.2.2-1 +- stop using deprecated json-c functions +- bugzilla: try to avoid usage of 'private' group +- spec: install ignored_words.conf manual page +- wizard: extended the manual pages +- localization: fix gettext +- wizard: make the custom search case insensitive +- use a better label for the forbidden words button + +* Mon Apr 07 2014 Jakub Filak 2.2.1-2 +- include 'package' in AVC bugzilla bug reports + +* Fri Apr 04 2014 Jakub Filak 2.2.1-1 +- update the list of ignored words +- wizard: introduce the searched words list +- report-gtk: confirm the ask dialogs on 'Enter' +- spec: provide default config for reporter-upload +- Provide default config for reporter-upload +- config: do not export empty environment variables +- spec: byte-compile py files with rpm scripts + +* Wed Mar 05 2014 Jakub Filak 2.2.0-1 +- python: build python api for py3 +- Bugzilla: fedora_contrib_private group ID for the private bugs +- remove invalid bytes from 'sv' strings +- client API: return empty string instead of NULL +- introduce 'watch_Bugzilla' event +- ignored words: add SSH_ASKPASS words +- introduce import-event-options in xml event definitions +- correct name of RH Customer Portal +- Fix typos in error messages +- Translation updates + +* Wed Mar 05 2014 Karsten Hopp 2.1.12-4 +- don't run tests on ppc* until rhbz 1070892 is fixed + +* Tue Feb 18 2014 Jakub Filak 2.1.12-3 +- fix a pair of typos in error messages +- add libpciaccess.so to the list of ignored keywords +- translation updates +- Resolves: #1064209 + +* Mon Feb 10 2014 Jakub Filak 2.1.12-2 +- fix loading of localized strings from XML files +- fix loading of default event configuration files +- provide SYSLOG_FACILITY when logging through journal + +* Thu Jan 30 2014 Jakub Filak 2.1.12-1 +- fix loading of the user list of ignored words +- report-cli: use the Client API for communication to user +- add more forbidden words +- a better message for invalid data in backtrace_rating +- ureport: add support for client-side authentication +- Export plugin config dir in pkg-config +- add Java reporting workflows +- define DBus config interfaces for all plugins +- add a workflow for libreport type problems + +* Wed Jan 8 2014 Peter Robinson 2.1.11-3 +- Don't use deprecated GTK3 API +- Fix unit tests + +* Wed Jan 8 2014 Peter Robinson 2.1.11-2 +- Build latest version on F-21/rawhide +- Fix descriptions + +* Wed Jan 08 2014 Jakub Filak 2.1.11-1 - Update translations +- add type agnostic functions for map_string_t +- %%description spelling fix. +- update titles of RHTS workflows +- add Anaconda Bugzilla reporting workflows for RHEL +- add Bugzilla reporting workflows for RHEL -* 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 - -* Sat Jul 10 2021 Björn Esser - 2.15.2-5 -- Rebuild for versioned symbols in json-c - -* Mon Jun 07 2021 Python Maint - 2.15.2-4 -- Rebuilt for Python 3.10 - -* Fri Jun 04 2021 Python Maint - 2.15.2-2 -- Rebuilt for Python 3.10 - -* Tue Jun 01 2021 Packit Service - 2.15.2-1 -- Release version 2.15.2-1 (Michal Fabik) -- binhex: Remove unused API (Matěj Grabovský) -- lib: Use GLib for computing SHA-1 digests (Matěj Grabovský) -- run_event: Improve memory management (Matěj Grabovský) -- gtk: Fix segfault (Matěj Grabovský) - -* Tue May 04 2021 Packit Service - 2.15.1-1 -- Release version 2.15.1-1 (Michal Fabik) -- ureport: Strange usage of tmp variable (Michal Židek) -- steal_directory: Silence a warning (Michal Židek) -- dump_dir: Use g_free and re-init to NULL (Michal Židek) -- dump_dir: Use g_free instead of free (Michal Židek) -- dirsize: No need to check for NULL (Michal Židek) -- dirsize: Bad checks for NULL (Michal Židek) -- gui-wizard-gtk: Possible double free (Michal Židek) -- gui-wizard-gtk: Check if EXCLUDE_FROM_REPORT is set (Michal Židek) -- gui-wizard-gtk: Improve docs and add missing free (Michal Židek) -- cli: Address of local auto-variable assigned to a function parameter (Michal Židek) -- gtk-helpers: Add missing g_strfreev() (Michal Židek) -- cli: Add missing g_free call (Michal Židek) -- gitignore: Drop misleading comment (Michal Fabik) -- spec: Sync upstream with distgit (Michal Fabik) -- changelog: Add missing link to changes in 2.15.0 (Matěj Grabovský) -- spec: Make plugin-mailx depend on /usr/bin/mailx (Matěj Grabovský) -- Add support for excluding whole elements from search for sensitive words (Michal Srb) -- ignored_words: add more "key" variations (Michal Srb) - -* Fri Jan 29 2021 Michal Srb - 2.14.0-17 -- Drop AnacondaRHEL workflow reference - -* Tue Jan 26 2021 Fedora Release Engineering - 2.14.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 18 2021 Peter Robinson - 2.14.0-15 -- Bump rev for upgrades - -* Fri Dec 11 2020 Matěj Grabovský - 2.14.0-13 -- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1906405 - -* Tue Nov 03 2020 Matěj Grabovský - 2.14.0-12 -- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1893595 - -* 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 +* Wed Dec 11 2013 Jakub Filak 2.1.10-1 +- bugzilla: no extra email notification on URL addition +- Make make_description() output less confusing +- Ensure 'long long unsigned' in printf format args +- make_description: add an option for URLs from reported_to +- add accountsservice into ignored words +- Put back VERBn prefixes for few logging calls +- debuginfo: fix clean_up function call +- augeas: trim spaces arround '=' +- spec: add augeas-devel to build requires +- load/save configuration via augeas +- create augeas lens for libreport +- Fix typo in a string +- spec: install ureport conf file and man page +- Update reporter-ureport manual pages +- ureport: add the configuration file +- anaconda: use workflow in the report-cli event +- report-cli: add support for workflows +- wizard: do not show 'show log' expander if log is empty +- ureport: print the error response body only in verbose mode +- Load a config file from several directories +- Export EXIT_STOP_EVENT_RUN in python modules +- reporter-bugzilla: if adding to existing BZ, clearly flag comment as a dup. +- Fix a small mistake in "Use log_ family instead of VERBn log calls" commit +- ureport: implement attaching of contact email +- Do not load "always editable" files if they are HUGE. Fixes rhbz1010167. +- shorten default Bugzilla bug summary format - Update translations +- XML parser: keep region specific translation texts +- Resolves: #1009730 -* Tue Apr 21 2020 Björn Esser - 2.12.0-4 -- Rebuild (json-c) +* Sat Oct 26 2013 Jakub Filak 2.1.9-1 +- rephrase a message for missing configuration +- ask for missing configuration instead of dying +- Client API: introduce non-iteractive mode +- spec: add systemd-devel to BuildRequires +- Use log_ family instead of VERBn log calls +- Add journald support +- Modify logging to use various logging levels +- Include hostname in mailx notification +- enable reporting to Red Hat Support tool for anaconda bugs +- bugzilla: set URL field +- fix an overflow condition in parse time fn for x32 arch +- add a short explanation of private tickets - related rhbz#1011916 +- don't use popup to ask for a private ticket - related rhbz#1011916 -* Fri Mar 20 2020 Ernestas Kulik - 2.12.0-3 -- Add patch for https://bugzilla.redhat.com/show_bug.cgi?id=1815544 +* Fri Oct 04 2013 Jakub Filak 2.1.8-1 +- disable rhel/fedora workflows for anaconda +- added whitelist for sensitive data - rhbz#1009730 rhbz#896246 +- ureport: always add BTHASH link to a report +- reprot-gtk: underline tab titles with sensitive information +- introduce FILENAME_EXPLOITABLE; related to abrt/abrt#703 -* Fri Feb 07 2020 Ernestas Kulik - 2.12.0-2 -- Bump release for side tag rebuild +* Wed Sep 11 2013 Jakub Filak 2.1.7-1 +- Fix problem_item_format() to work properly after 2038 on x32. #691 +- Use proper json-c requirement in libreport-web.pc. +- abrt-cli info: even -s 10 should show one-liners. #690 +- add checks for existing dumpdir items - closes #164 +- Create helper functions for sha1-hashing strings. #694 +- can now use custom repo filters for enabling repos, related abrt/abrt#688 +- add docstrings, remove global variable - related #171 +- fixed exception handling - closes #173 +- added checks for locked dump directory to dd_* functions, closes #133 +- fixed the symlinks handling in get_file_list abrt/abrt#686 +- make the build in the the build directory to not pollute the source tree +- fixed debugInfoDownload so that it can process local repos - closes #48 +- Increase text size limit from 1Mb to 8 MB. rhbz#887570. +- print warning when there is not engough free space for debuginfos, closes #170 +- autogen.sh: improve dependency parser +- ignore directories without type element - rhbz#958968 +- abrt_xmlrpc: increase XML_SIZE_LIMIT to 4 mbytes. rhbz#961520. +- ask user to create a private report if it contains sensitive data - rhbz#960549 +- updated translation rhbz#860555 +- updated transifex url +- do not leak file rhbz#997871 +- in KDE session open URLs in kde-open +- report-gtk: use wrapped text for warning labels +- spec: remove abrt-screencast +- remove obsoleted abrt-screencast +- Fix create_symlink_lockfile() to not emit ENOENT when asked not to. +- do not store potentially big data in /tmp +- New public function create_symlink_lockfile() -* 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 +* Mon Jul 29 2013 Jakub Filak 2.1.6-2 +- link with gobject libraries +- use RHTSupport in RHEL workflows -* Wed Jan 29 2020 Fedora Release Engineering - 2.11.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +* Fri Jul 26 2013 Jakub Filak 2.1.6-1 +- add related packages version in emergency event +- replace functions deprecated in Gtk-3.10 with their substitutes +- fixed the bugzilla private group names rhbz#985881 +- workflows: add Anaconda work flow for RHEL +- add missing manual pages for configuration files, binaries and scripts +- added options to create private bz tickets rhbz#803772 +- skip the workflow selection if there is only 1 available closes #167 +- added missing workflows for Fedora rhbz#866027 +- spec: double up percent signs in chagelog entries +- spec: make anaconda package description more generic +- spec: install RHEL anaconda work flow +- spec: added new workflow files rhbz#866027 +- spec: build only workflow subpkg relevant for host's OS +- spec: install all manual pages +- spec: install only documentation files +- spec: drop unnecessary Obsoletes and Provides +- spec: add manual pages to packages +- spec: specify all config files +- spec: replace btparser with satyr +- move non-conf XML files from /etc/libreport/ to /usr/share/libreport/ +- Update satyr support, drop btparser compatibility +- fixed typo in config file related #866027 +- resize the config window upon collapsing Advanced section +- rhbz: test xmlrpc env for errors in abrt_xmlrpc_call_params() +- rhbz: test rhbz_new_bug() return value for errors +- wizard: show accurate messages +- spec: add dependency on fros rhbz#958979 +- use fros instead of hard dependency on recordmydesktop rhbz#958979 -* 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 +* Tue Jul 02 2013 Jakub Filak 2.1.5-2 +- reporter-bugzilla: test return values for errors +- Resolves: #980228 -* Mon Nov 11 2019 Ernestas Kulik - 2.11.2-2 -- Add patch to fix a double-free +* Fri Jun 14 2013 Jakub Filak 2.1.5-1 +- make the uploader event available for all report types +- ureport: add conversion from abrt vmcore type to ureport KERNELOOPS type +- fixed relro flags rhbz#812283 +- rhbz: don't pass NULL in platform argument +- add function getting information about dump dir for uid +- anaconda: add proper configuration +- rhbz: do not try to attach empty files +- try to delete dump dirs using abrtd in the first step +- workflow config: use scrollbars instead of enormous window size +- Resolves: #963020 -* 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 +* Fri May 10 2013 Jiri Moskovcak 2.1.4-5 +- removed dependency on recordmydesktop rhbz#959475 -* Wed Oct 16 2019 Matěj Grabovský 2.11.1-1 -- gtk: Fix a double-free condition +* Mon May 06 2013 Jakub Filak 2.1.4-4 +- create last_occurrence at the time of the first crash -* 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 +* Fri May 03 2013 Jakub Filak 2.1.4-2 +- update translation +- reporter-bugzilla: provide version of libreport -* Thu Oct 03 2019 Miro Hrončok - 2.10.1-4 -- Rebuilt for Python 3.8.0rc1 (#1748018) +* Mon Apr 29 2013 Jakub Filak 2.1.4-1 +- support /etc/os-release +- added flag to not retry locking the incomplete problem dir +- ureport: save solutions in not-reportable item +- wizard: make value column click-sortable too +- wizard: fix clickability of the item list column header +- wizard: eliminate evd->error_msg member +- wizard: remove a bunch of evd->foo members +- debuginfo downloader should enable repos matching *debug* closes #138 +- Replace "THANKYOU" with EXIT_STOP_EVENT_RUN exit code (70) +- debuginfo downloader: fix DebugInfoDownload::download() error paths. +- report-gtk: handle user cancellation gracefully +- logging: refine errors reporting +- emit a message when searching bugzilla for duplicates closes #151 +- reporter-upload: create tarball with the name based on directory's name +- reporter-rhtsupport: generate archive name from problem dir name +- added report-cli event for anaconda should help with rhbz#950544 +- ss: skip option holding NULL values +- spec: added new event for anaconda reporting rhbz#926916 +- distinguish the event configuration by problem type in the UI closes #149 +- report-gtk: show Next Step btn at workflow start +- curl upload helper: upload data with "application/octet-stream" content type +- reporter-rhtsupport: fix hint query to use correct URL -* Sat Aug 17 2019 Miro Hrončok - 2.10.1-3 -- Rebuilt for Python 3.8 +* Thu Apr 4 2013 Jiri Moskovcak 2.1.3-2 +- fixed reporting from anaconda +- Resolves: #926916 -* Thu Jul 25 2019 Fedora Release Engineering - 2.10.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild +* Wed Mar 27 2013 Jakub Filak 2.1.3-1 +- rhbz: get id of duplicate from correct field +- change the "exited with" message with something less technical closes #143 +- Integration with satyr +- dump_dir_accessible_by_uid(): clear errno if error didn't occur +- reporter-rhtsupport: improve logging +- reporter-rhtsupport: upload file to BigFileURL if it is large +- dd: document used errno values in dump_dir_accessible_by_uid() +- add rhel package with appropriate workflow definitions +- add workflow definitions for RHEL +- improve is_text_file() to not treat valid Unicode as bad_chars +- reporter-rhtsupport: fix double-free error +- reporter-upload: move file upload function to lib/ +- reporter-upload: factor out HTTP PUT upload +- reporter-rhtsupport: skip hints check if uploaded data is really large +- reporter-rhtsupport: make -t[CASE_ID] work without FILEs. Closes #140 +- reporter-rhtsupport: factor out tarball creation +- RHTS support: regularize order of functions and comments +- fread_with_reporting: make progress indicator less noisy +- report-gtk: update excluded elements check boxes before emergency analysis event +- Resolves: #921941 -* 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 +* Fri Mar 22 2013 Jakub Filak 2.1.2-2 +- add a patch which fixes a problem with empty archives in emergency analysis -* 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 +* Tue Mar 19 2013 Jakub Filak 2.1.2-1 +- always treat os-release as textual related to rhbz#922433 +- is_text_file(): bump allowable non-ASCII chars from 2%% to 10%%. Closes rhbz#922433 +- report-gtk: don't clear warnings after reporting is finished +- report-gtk: show tabs only in verbose expert mode +- report-gtk: prettify the workflow buttons rhbz#917694 +- report-gtk: add a button to report reporting failures +- uReport: do not show URL twice in error output +- uReport: detect missing type field at client side +- uReport: add more explanatory message when upload fails +- uReport: improve messages. Closes #579 +- workflows: a less confusing event name for reporting to Fedora infrastructure +- workflows: correct an event name for reporting to Fedora in anaconda config +- fixed workflow localization closes #137 +- run_event_state: expose children_count in python wrapper +- add the proxy options to the addvanced section of event configurations +- don't suid before running yum related to rhbz#759443 +- update translation +- ss: stop reconnecting to the session bus +- ss: destroy all timeout GSources attached to the main context +- ss: add a timeout to the waiting for the Completed signal +- dd: convert time at lock time +- spawn_next_command: make process group creation optional +- fork_execv_on_steroids: fix close/move order of fds, move getpwuid out of fork +- problem API: generate UUID if is missing instead of DUPHASH +- fix logic of 'Dont ask me again' dialogues (stop returning true for all options) +- make [p]error_msg[_and_die] more fork-in-multithreaded-app safe +- Make forking code paths more robust. +- curl_debug: fix use of "%%.*s" (need to pass an int, not size_t) +- curl_debug: prettify debug output +- Resolves: #871126, #885055, #890778, #901467, #916389, #917684, #917694, #919536, #922433, #923117 -* Mon Feb 04 2019 Ernestas Kulik - 2.10.0-2 -- Remove unused patch +* Thu Feb 07 2013 Jakub Filak 2.1.1-1 +- move 'reporter-mailx' from post-create event to notify(-dup) event +- reporter-bugzilla: use base64 XMLRPC type for encoded data instead of string type +- ureport: fix extra quoting when reporting error messages +- Resolves: #908210 -* 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 +* Tue Feb 05 2013 Jakub Filak 2.1.0-2 +- configure libreport to be in conflict with abrt < 2.1.0 + +* Mon Feb 04 2013 Jakub Filak 2.1.0-1 +- dd: unify error handling in save_binary_file() +- dd_sanitize: don't sanitize symlinks +- rpm: preserve old configuration for 2.0.20-2 +- don't require recordmydesktop on rhel + +* Wed Dec 19 2012 Jiri Moskovcak 2.0.20-1 +- New version 2.0.20 +- updated po files +- add abrt-screencast to POTFILES.in +- added screen casting support to the wizard +- fix memory leaks in workflow code +- report_problem_in_dir(): make LIBREPORT_DEL_DIR work +- add Yes/No dialog saving answer +- refactor: move ask_yes_no_save_result from wizard to libreport-gtk +- added anaconda workflows rhbz#885690 +- report-python: export dd_delete_item too +- report-python: export DD_OPEN_READONLY too +- strtrimch: optimize it a bit +- show only workflows applicable to actual problem directory +- report-gtk: destroy global text cache only once +- change rules for FILENAME_NOT_REPORTABLE to always include trailing period. +- ask for BZ login/BZ pwd if Login attempt failed +- ask for BZ login/BZ password if not provided by conf +- remove new line from ask/ask_password responses +- add ask_yes_no_yesforever() to Python client API +- make client API independent on translation +- run_event: use client functions for the communication callbacks +- clean the workflow buttons when refreshing the event page +- Fix a bug - inverted check for failed rename() call +- wrap the not_reportable label .trac#908 +- don't show events without configuration in preferences .trac#881 +- - implemented saving/loading configuratio for workflows - related to trac#822 +- reporter-bz: add AVC's description added to BZ comment +- add microseconds to dump dir name (problem ID) +- teach reporter-bugzilla to read BZ ID from reported_to element +- teach reporter-bugzilla to add reporter to CC +- introduce a function deleting dd's element +- introduce a function getting no. of Bytes of dd's element +- make event config name immutable +- fixed segv in the last commit +- made struct workflow private related to trac#822 +- don't show the spinner if the problem is not reportable trac#852 +- made the config_item_info structure private +- added workflows trac#822 +- added x,--expert cmdline option to enable expert mode +- switch comment and event selector page +- use get_ and set_ functions to access event_config_t +- reporter-bz: don't return NULL on %%non_existing_item%% - use "" instead +- refactoring the xml and conf loader code related to trac#822 +- reporter-bugzilla: add a --debug option +- reporter-bz: fix a summary line formatting bug +- let logging_callback and post_run_callback members be None +- expose make_run_event_state_forwarding() in Python API +- reporter-bz: change syntax of bugzilla_format_*.conf to require "text::", not "text:" +- reporter-bz: add support for line continuation and simple text in bugzilla_format*.conf + +* Mon Dec 03 2012 Jakub Filak 2.0.19-3 +- add a description of AVC to bugzilla comment 0 + +* Mon Nov 26 2012 Jakub Filak 2.0.19-2 +- fix bugzilla summary formatting +- Resolves: #879846 + +* Wed Nov 14 2012 Jakub Filak 2.0.19-1 +- introduce a new formating feature for Bugzilla plugin +- use gtk_show_uri() instead of own launcher +- update kerneloops urls +- don't force the minimal rating trac#854 +- add support for forwarding of report client requests +- fix i18n in event client communication protocol +- add event name to the error message - can't get secret item +- switch all load_conf_file() calls to use skipKeysWithoutValue=false +- hide the spinner when the event processing is finishes trac#852 +- add a method for loading of configuration of a single event +- unlock secret collection only on meaningful demand +- fix secret item look up for gnome-keyring + +* Thu Nov 01 2012 Jakub Filak 2.0.18-1 +- reporter-bz: tighten up checking that BZ server gave us its version; fix recently broken settings parsing +- reporter-bz: make selinux-policy special case controllable from config file +- reporter-bz: if we create a new bug but cross-version dup exists, add a note +- reporter-bz: make rhbz_search_duphash static, use it more widely + +* Wed Oct 24 2012 Jakub Filak 2.0.17-1 +- update CWD after stealing of a dump directory +- get product/version from system configuration +- shorten bz summary if its length exceeds 255 chars +- add full kerneloops to the uReport +- reporter-bz: require bz version match when searching for dups. Closes rhbz#849833 +- reporter-bz: eliminate bugzilla_struct::b_product - use auto var instead +- Move struct bugzilla_struct to its only user, reporter-bugzilla.c +- reporter-bz: do not needlessly open dd if -f; assorted small fixes +- added relro to reportclient.so and _pyreport.so rhbz#812283 +- bz reporter: include ROOTDIR, OS_RELEASE_IN_ROOTDIR, EXECUTABLE elements +- Fix report-newt segfault +- Resolves: #741647, #812283, #849833, #867118, #869032 + +* Thu Oct 11 2012 Jakub Filak 2.0.16-1 +- expand events from a chain and process expanded events separately +- report-gtk: move selection of event to a right place +- fix a crash while report-gtk startup (use the correct variable) +- wizard: allow "non-reportable" reporting for experts; disallow it for non-experts +- fix typo in function name, remove unnecessary forward declaratioins +- wizard: fix a thinko in last commit (thanks Jakub) +- wizard: check for NON_REPORTABLE file, stop if it exists.FILE +- wizard: remove unnecessary if (1) {...} block. No code changes +- don't update the selected event while processing it +- check D-Bus err name without leaking nor crashing +- ureport: always include offset +- add Makefile target release-fix +- Resolves: #864803, #864803, #863595 + +* Fri Oct 05 2012 Jakub Filak 2.0.15-1 +- remove unnecessary flag from words highlighting functions +- report-gtk: rework forbidden words highlighting +- add xmalloc_fopen_fgetline_fclose helper for reading one-line files +- update GUI before highlighting of forbidden words +- clear warnings after switching to a next page +- tweak conditions in show next forbidden word functions +- reporter-ureport: respect chrooted os_release +- Fix typos. +- rhbz#861679: report-gtk: immediately release dump directory lock +- add a few helpers for reading files as one malloced block + +* Fri Sep 21 2012 Jiri Moskovcak 2.0.14-1 +- added error callback to get notification about download failure rhbz#786640 +- rhbz#767186: show a link to a page describing the ABRT configuration +- spec: silence rpmdiff rhbz#857425 +- don't show the credential in logs rhbz#856960 +- rhbz#852165: warn if adding commands without any rule condition +- rhbz#851855: process ureport server errors correctly +- reporter-bugzilla: fix adding users to CC. (Partially?) closes rhbz#841338 +- Resolves: #786640, #767186, #857425, #856960, #852165, #851855, #841338 + +* Wed Aug 29 2012 Jakub Filak 2.0.13-2 +- increment the release number due to rebuild for F17 package + +* Tue Aug 21 2012 Jakub Filak 2.0.13-1 +- rhbz#741255: don't autodetect executable for sealert reports +- reporter-ureport: save backtrace hash to reported_to +- trac#683: show the description file in bugzilla comment 0 +- trac#684: report-gtk saves only loaded files +- reporter-ureport: allow sending attachments +- event_config_dialog: make it resizable; tweak Uploader hint +- add python binding for problem_data_send_to_abrt +- reporter-ureport: attach bug ID from reported_to +- reporter-ureport: make configurable only URL to a server +- Resolves: #741255 + +* Wed Aug 15 2012 Jakub Filak 2.0.12-5 +- rhbz#741255: don't autodetect executable for sealert reports +- show message from the server for known uReports +- trac#678: reporter-bugzilla: do not attach empty files +- Resolves: #741255 + +* Tue Aug 14 2012 Jakub Filak 2.0.12-4 +- rhbz#846389: generate koops description according to rhbz std template +- trac#556: skip not provided bz bug description template fields +- report-gtk: don't log THANKYOU message +- added internal_libreport.h into POTFILES.in rhbz#801255 +- updated po files +- Resolves: #801255, #846389 + +* Fri Aug 10 2012 Jakub Filak 2.0.12-3 +- wizard: small changes to message texts and one function name +- trac#623: dd_opendir() fails if time file doesn't contain valid time stamp +- trac#660: report-cli asks for premission to send sensitive data +- trac#660: report-gtk asks for permission to send sensitive data +- trac#660: report-gtk: introduce generic ask_yes_no() function for options +- trac#660: add support for sendining-sensitive-data event option +- Do not check for analyzer == "Kerneloops" when appending "TAINTED" msg +- fix leaks in list_possible_events() + +* Tue Aug 7 2012 Jakub Filak 2.0.12-2 +- report-gtk: fixed bug in automatic running of next event +- don't try to delete dump dir which doesn't exist rhbz#799909 +- Resolves: #799909 + +* Fri Aug 3 2012 Jakub Filak 2.0.12-1 +- new upstream release +- trac#642: run the next event if the current one finished without errors +- trac#641: don't allow event chain to continue, if user don't want to steal a directory +- trac#640: report-gtk replaces 'Forward' button with 'Close' button on finished reporting +- Fix bugs uncovered by Coverity. Closes rhbz#809416 +- Resolves: #809416 + +* Tue Jul 31 2012 Jiri Moskovcak 2.0.11-1 +- new upstream release + +* Thu Jul 19 2012 Fedora Release Engineering - 2.0.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jun 01 2012 Jiri Moskovcak 2.0.10-4 +- fixed build on rhel7 + +* Mon May 14 2012 Jiri Moskovcak 2.0.10-3 +- fixed compatibility with bugzilla 4.2 +- Resolved: #820985, #795548 + +* Mon Apr 02 2012 Jiri Moskovcak 2.0.10-2 +- added cgroups filename define + +* Mon Mar 26 2012 Jiri Moskovcak 2.0.10-1 +- updated to latest upstream + +* Mon Jan 23 2012 Dan Horák - 2.0.8-6 +- rebuilt for json-c-0.9-4.fc17 + +* Fri Jan 13 2012 Fedora Release Engineering - 2.0.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 20 2011 Nikola Pajkovsky 2.0.8-4 +- 768647 - [abrt] libreport-plugin-bugzilla-2.0.8-3.fc16: libreport_xatou: + Process /usr/bin/reporter-bugzilla was killed by signal 11 (SIGSEGV) + +* Fri Dec 09 2011 Jiri Moskovcak 2.0.8-3 +- fixed few crashes in bodhi plugin + +* Thu Dec 08 2011 Jiri Moskovcak 2.0.8-2 +- fixed crash in bodhi plugin +- re-upload better backtrace if available +- fixed dupe finding for selinux +- don't duplicate comments in bugzilla +- fixed problem with empty release + +* Tue Dec 06 2011 Jiri Moskovcak 2.0.8-1 +- new version +- added bodhi plugin rhbz#655783 +- one tab per file on details page rhbz#751833 +- search box search thru all data (should help with privacy) rhbz#748457 +- fixed close button position rhbz#741230 +- rise the attachment limit to 4kb rhbz#712602 +- fixed make check (rpath problem) +- save chnages in editable lines rhbz#710100 +- ignore backup files rhbz#707959 +- added support for proxies rhbz#533652 +- Resolves: 753183 748457 737991 723219 712602 711986 692274 636000 631856 655783 741257 748457 741230 712602 753183 748457 741230 712602 710100 707959 533652 + +* Sat Nov 05 2011 Jiri Moskovcak 2.0.7-2 +- bumped release + +* Fri Nov 04 2011 Jiri Moskovcak 2.0.7-1 +- new version +- added support for bodhi (preview) +- dropped unused patches +- reporter-bugzilla/rhts: add code to prevent duplicate reporting. Closes rhbz#727494 (dvlasenk@redhat.com) +- wizard: search thru all items + tabbed details rhbz#748457 (jmoskovc@redhat.com) +- wizard: add "I don't know what caused this problem" checkbox. Closes rhbz#712508 (dvlasenk@redhat.com) +- reporter-bugzilla: add optional 'Product' parameter. Closes rhbz#665210 (dvlasenk@redhat.com) +- rhbz#728190 - man pages contain suspicious version string (npajkovs@redhat.com) +- reporter-print: expand leading ~/ if present. Closes rhbz#737991 (dvlasenk@redhat.com) +- reporter-rhtsupport: ask rs/problems endpoint before creating new case. (working on rhbz#677052) (dvlasenk@redhat.com) +- reporter-mailx: use Bugzilla's output format. Closes rhbz#717321. (dvlasenk@redhat.com) +- report-newt: add option to display version (rhbz#741590) (mlichvar@redhat.com) +- Resolves: #727494 #748457 #712508 #665210 rhbz#728190 #737991 #677052 #717321 #741590 + +* Fri Oct 07 2011 Nikola Pajkovsky 2.0.6-2 +- refuse reporting when not reportable file exist + +* Mon Oct 03 2011 Jiri Moskovcak 2.0.6-1 +- updated to the latest upstrem +- just a bug fixing release + +* Mon Sep 26 2011 Jiri Moskovcak 2.0.5.982-1 +- re-fix rhbz#730887 +- re-fixed prgname (nice icons in gnome3) rhbz#741231 +- Resolves: #741231 #730887 + +* Thu Sep 22 2011 Jiri Moskovcak 2.0.5-9 +- don't allow sending reports with bad rating rhbz#672023 +- don't allow reporting without duphash rhbz#739182 +- tell users to fill out reports in English rhbz#734037 +- fixed config for kerneloops reporter rhbz#731189 +- Resolves: #672023 #739182 #734037 #731189 + +* Fri Sep 09 2011 Jiri Moskovcak 2.0.5-8 +- allow bugzilla to send binary files +- Related: #733448 + +* Tue Aug 30 2011 Jiri Moskovcak 2.0.5-7 +- added glob support to event xml files +- changed handling of long text files +- added a simple editor as a fallback when no editor is installed (i.e in anaconda) rhbz#728479 +- Resolves: #733448 #728479 + +* Tue Aug 16 2011 Jiri Moskovcak 2.0.5-6 +- improved release parsing rhbz#730887 +- Resolves: #730887 + +* Fri Aug 12 2011 Jiri Moskovcak 2.0.5-5 +- more anaconda fixes +- Resolves: #729537 + +* Tue Aug 02 2011 Jiri Moskovcak 2.0.5-4 +- silent keyring warning rhbz#692433 +- further improvements to Anaconda compatibility + +* Fri Jul 29 2011 Jiri Moskovcak 2.0.5-3 +- enable bugzilla reporter for analyzer=libreport rhbz#725970 +- improved compatibility with anaconda + +* Thu Jul 21 2011 Jiri Moskovcak 2.0.5-2 +- obsolete report in rawhide properly rhbz#723320 +- added button to add attachments +- ignore backup files +- improved support for interactive plugins +- added description text for logger +- added python bindings for interactive plugins +- Resolves: #723320 + +* Mon Jul 18 2011 Jiri Moskovcak 2.0.5-1 +- move reporter plugins from abrt to libreport +- fixed provides/obsolete to properly obsolete report package +- wizard: make more fields editable + +* Mon Jul 11 2011 Jiri Moskovcak 2.0.4-3 +- bump release + +* Mon Jun 27 2011 Jiri Moskovcak 2.0.4-2 +- removed Provides/Obsoletes: report-gtk + +* Mon Jun 20 2011 Jiri Moskovcak 2.0.4-1 +- new upstream release +- cleaned some header files + +* Thu Jun 16 2011 Jiri Moskovcak 2.0.3-1 +- added report-cli +- updated translation + +* Wed Jun 01 2011 Jiri Moskovcak 2.0.2-1 +- initial packaging diff --git a/sources b/sources index 3f8648a..b0b969e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libreport-2.17.15.tar.gz) = a4707f5272f037f91b4f4b562d3f0eb165ae7790699714accdd1af40216f37bd40d430a06925b1b7b8ac2d2cf97fd0cc4efded51dc22d21d9ef2abedf796e5fe +SHA512 (libreport-2.9.1.tar.gz) = 2cffb44fd8da625a9a0613f91ce3d485fe21b0a1f5932f6d6bfbdb4d41337f95c49f525556596aeef2fc3737015151d43250f287dc624f97469f087ff9213bde diff --git a/tests/library-smoke.sh b/tests/library-smoke.sh deleted file mode 100755 index ed1322f..0000000 --- a/tests/library-smoke.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/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 deleted file mode 100644 index e872709..0000000 --- a/tests/smoke.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Basic smoke test for libreport -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: | - tests/library-smoke.sh - report-cli --version