[libreport] fix reporter-bugzilla, reporter-ureport and don't autodetect executable
Jakub Filak
jfilak at fedoraproject.org
Wed Aug 15 15:39:58 UTC 2012
commit 041177be2c0035f8c3262d915ae9c7d756ef6017
Author: Jakub Filak <jfilak at redhat.com>
Date: Wed Aug 15 17:04:27 2012 +0200
fix reporter-bugzilla, reporter-ureport and don't autodetect executable
- Resolves: #741255
...essage-from-the-server-for-known-uReports.patch | 60 ++++++++++
...porter-bugzilla-do-not-attach-empty-files.patch | 32 ++++++
...-don-t-autodetect-executable-for-sealert-.patch | 117 ++++++++++++++++++++
libreport.spec | 15 +++-
4 files changed, 223 insertions(+), 1 deletions(-)
---
diff --git a/0017-show-message-from-the-server-for-known-uReports.patch b/0017-show-message-from-the-server-for-known-uReports.patch
new file mode 100644
index 0000000..b292b6a
--- /dev/null
+++ b/0017-show-message-from-the-server-for-known-uReports.patch
@@ -0,0 +1,60 @@
+From 9eb7698dc060869cffb56039407411c8885ec3de Mon Sep 17 00:00:00 2001
+From: Michal Toman <mtoman at redhat.com>
+Date: Wed, 15 Aug 2012 10:15:45 +0200
+Subject: [LIBREPORT PATCH 17/19] show message from the server for known
+ uReports
+
+---
+ src/plugins/ureport.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/ureport.c b/src/plugins/ureport.c
+index 5d3d5bc..3913a89 100644
+--- a/src/plugins/ureport.c
++++ b/src/plugins/ureport.c
+@@ -52,6 +52,7 @@ enum response_type
+ struct ureport_server_response {
+ enum response_type type;
+ const char *value;
++ const char *message;
+ };
+
+ /*
+@@ -76,7 +77,12 @@ static bool ureport_server_parse_json(json_object *json, struct ureport_server_r
+ if (obj)
+ {
+ out_response->type = UREPORT_SERVER_RESP_KNOWN;
+- out_response->value = json_object_to_json_string(obj);
++ out_response->value = json_object_get_string(obj);
++
++ json_object *message = json_object_object_get(json, "message");
++ if (message)
++ out_response->message = json_object_get_string(message);
++
+ return true;
+ }
+
+@@ -150,6 +156,7 @@ int main(int argc, char **argv)
+ struct ureport_server_response response = {
+ .type=UREPORT_SERVER_RESP_UNKNOWN_TYPE,
+ .value=NULL,
++ .message=NULL,
+ };
+
+ const bool is_valid_response = ureport_server_parse_json(json, &response);
+@@ -167,7 +174,12 @@ int main(int argc, char **argv)
+ ret = 0;
+ /* If a reported problem is not known then emit NEEDMORE */
+ if (strcmp("true", response.value) == 0)
++ {
++ log("This problem has already been reported.");
++ if (response.message)
++ log(response.message);
+ log("THANKYOU");
++ }
+ break;
+ case UREPORT_SERVER_RESP_ERROR:
+ VERB1 log("server side error: %s", response.value);
+--
+1.7.11.2
+
diff --git a/0018-trac-678-reporter-bugzilla-do-not-attach-empty-files.patch b/0018-trac-678-reporter-bugzilla-do-not-attach-empty-files.patch
new file mode 100644
index 0000000..4725c7a
--- /dev/null
+++ b/0018-trac-678-reporter-bugzilla-do-not-attach-empty-files.patch
@@ -0,0 +1,32 @@
+From dcecc5b0c7384075cdd060efbcf80157f59bd4f5 Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Tue, 14 Aug 2012 16:51:35 +0200
+Subject: [LIBREPORT PATCH 18/19] trac#678: reporter-bugzilla: do not attach
+ empty files
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/plugins/rhbz.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
+index 9c9ea34..b1c6b76 100644
+--- a/src/plugins/rhbz.c
++++ b/src/plugins/rhbz.c
+@@ -841,6 +841,13 @@ int rhbz_attach_files(struct abrt_xmlrpc *ax, const char *bug_id,
+ if (is_in_string_list(name, (char**)g_not_attached_files))
+ continue;
+
++ /* Skip empty files */
++ if (strlen(value->content) == 0)
++ {
++ log(_("Not attaching empty file '%s'"), name);
++ continue;
++ }
++
+ if (value->flags & CD_FLAG_TXT)
+ {
+ const char *content = value->content;
+--
+1.7.11.2
+
diff --git a/0019-rhbz-741255-don-t-autodetect-executable-for-sealert-.patch b/0019-rhbz-741255-don-t-autodetect-executable-for-sealert-.patch
new file mode 100644
index 0000000..c7b0604
--- /dev/null
+++ b/0019-rhbz-741255-don-t-autodetect-executable-for-sealert-.patch
@@ -0,0 +1,117 @@
+From 55af9a96d9ba4748309d0b5fb2bf6ca82b9beafd Mon Sep 17 00:00:00 2001
+From: Martin Milata <mmilata at redhat.com>
+Date: Mon, 13 Aug 2012 18:38:14 +0200
+Subject: [LIBREPORT PATCH 19/20] rhbz#741255: don't autodetect executable for
+ sealert reports
+
+- Code that adds information about current process was moved from
+ problem_data_add_basics to new function
+ problem_data_add_current_process_data.
+- This change is also reflected in the python bindings (new method:
+ add_current_process).
+- In report-python, createAlertSignature takes optional argument that
+ can be used to manually set the executable.
+---
+ src/include/problem_data.h | 2 ++
+ src/lib/problem_data.c | 3 +++
+ src/report-python/__init__.py | 7 +++++--
+ src/report-python/problem_data.c | 17 +++++++++++++----
+ 4 files changed, 23 insertions(+), 6 deletions(-)
+
+diff --git a/src/include/problem_data.h b/src/include/problem_data.h
+index b03e272..d741b5d 100644
+--- a/src/include/problem_data.h
++++ b/src/include/problem_data.h
+@@ -66,6 +66,8 @@ static inline void problem_data_free(problem_data_t *problem_data)
+
+ void problem_data_add_basics(problem_data_t *pd);
+
++void problem_data_add_current_process_data(problem_data_t *pd);
++
+ void problem_data_add(problem_data_t *problem_data,
+ const char *name,
+ const char *content,
+diff --git a/src/lib/problem_data.c b/src/lib/problem_data.c
+index 06ff3cf..724a702 100644
+--- a/src/lib/problem_data.c
++++ b/src/lib/problem_data.c
+@@ -107,7 +107,10 @@ void problem_data_add_basics(problem_data_t *pd)
+
+ problem_data_add_text_noteditable(pd, FILENAME_DUPHASH, hash_str);
+ }
++}
+
++void problem_data_add_current_process_data(problem_data_t *pd)
++{
+ const char *executable = problem_data_get_content_or_NULL(pd, FILENAME_EXECUTABLE);
+ if (executable == NULL)
+ {
+diff --git a/src/report-python/__init__.py b/src/report-python/__init__.py
+index 34b1ed1..9c5e6b3 100644
+--- a/src/report-python/__init__.py
++++ b/src/report-python/__init__.py
+@@ -130,13 +130,15 @@ def getVersion():
+
+ return _hardcoded_default_version
+
+-def createAlertSignature(component, hashmarkername, hashvalue, summary, alertSignature):
++def createAlertSignature(component, hashmarkername, hashvalue, summary, alertSignature, executable=None):
+ pd = problem_data()
+ pd.add("component", component)
+ pd.add("hashmarkername", hashmarkername)
+ pd.add("duphash", hashvalue)
+ pd.add("reason", summary)
+ pd.add("description", alertSignature)
++ if executable:
++ pd.add("executable", executable)
+ pd.add_basics()
+
+ return pd
+@@ -163,7 +165,8 @@ def createPythonUnhandledExceptionSignature(**kwargs):
+ if (version and product):
+ # need to add "release", parse_release() expects format "<product> release <version>"
+ pd.add("os_release", product +" release "+ version)
+- pd.add_basics() # adds product and version + some other required field
++ pd.add_basics() # adds required items
++ pd.add_current_proccess() # adds executable and component
+
+ return pd
+
+diff --git a/src/report-python/problem_data.c b/src/report-python/problem_data.c
+index d5e0133..666d839 100644
+--- a/src/report-python/problem_data.c
++++ b/src/report-python/problem_data.c
+@@ -120,6 +120,14 @@ static PyObject *p_problem_data_add_basics(PyObject *pself, PyObject *always_nul
+ Py_RETURN_NONE;
+ }
+
++static PyObject *p_problem_data_add_current_process(PyObject *pself, PyObject *always_null)
++{
++ p_problem_data *self = (p_problem_data*)pself;
++ problem_data_add_current_process_data(self->cd);
++
++ Py_RETURN_NONE;
++}
++
+
+ //static PyMemberDef p_problem_data_members[] = {
+ // { NULL }
+@@ -127,10 +135,11 @@ static PyObject *p_problem_data_add_basics(PyObject *pself, PyObject *always_nul
+
+ static PyMethodDef p_problem_data_methods[] = {
+ /* method_name, func, flags, doc_string */
+- { "add" , p_problem_data_add , METH_VARARGS },
+- { "get" , p_problem_data_get_item , METH_VARARGS },
+- { "create_dump_dir", p_create_dump_dir_from_problem_data, METH_VARARGS },
+- { "add_basics", p_problem_data_add_basics, METH_NOARGS },
++ { "add" , p_problem_data_add , METH_VARARGS },
++ { "get" , p_problem_data_get_item , METH_VARARGS },
++ { "create_dump_dir" , p_create_dump_dir_from_problem_data, METH_VARARGS },
++ { "add_basics" , p_problem_data_add_basics , METH_NOARGS },
++ { "add_current_proccess", p_problem_data_add_current_process , METH_NOARGS },
+ { NULL }
+ };
+
+--
+1.7.11.2
+
diff --git a/libreport.spec b/libreport.spec
index 1ca0c92..a93137e 100644
--- a/libreport.spec
+++ b/libreport.spec
@@ -5,7 +5,7 @@
Summary: Generic library for reporting various problems
Name: libreport
Version: 2.0.12
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: https://fedorahosted.org/abrt/
@@ -26,6 +26,10 @@ Patch13: 0013-report-gtk-don-t-log-THANKYOU-message.patch
Patch14: 0014-trac-556-skip-not-provided-bz-bug-description-templa.patch
Patch15: 0015-rhbz-846389-generate-koops-description-according-to-.patch
Patch16: 0016-report-gtk-bug-fix-compare-ask-yes-no-dialog-respons.patch
+Patch17: 0017-show-message-from-the-server-for-known-uReports.patch
+Patch18: 0018-trac-678-reporter-bugzilla-do-not-attach-empty-files.patch
+Patch19: 0019-rhbz-741255-don-t-autodetect-executable-for-sealert-.patch
+
BuildRequires: dbus-devel
BuildRequires: gtk3-devel
BuildRequires: curl-devel
@@ -257,6 +261,9 @@ Plugin to report bugs into anonymous FTP site associated with ticketing system.
%patch14 -p1
%patch15 -p1
%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
%build
autoconf
@@ -429,6 +436,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%config(noreplace) %{_sysconfdir}/libreport/events.d/uploader_event.conf
%changelog
+* Wed Aug 15 2012 Jakub Filak <jfilak at redhat.com> 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 <jfilak at redhat.com> 2.0.12-4
- rhbz#846389: generate koops description according to rhbz std template
- trac#556: skip not provided bz bug description template fields
More information about the scm-commits
mailing list