[abrt/f21] abrt 2.3.0-4
Matej Habrnal
mhabrnal at fedoraproject.org
Tue Feb 24 14:03:06 UTC 2015
commit bcb3c1eff186f1b99ad26cd35ed96c6191f27101
Author: Matej Habrnal <mhabrnal at redhat.com>
Date: Fri Feb 20 17:17:05 2015 +0100
abrt 2.3.0-4
Signed-off-by: Matej Habrnal <mhabrnal at redhat.com>
...-gdb-disable-loading-of-auto-loaded-files.patch | 120 ++++++++++++++
...ake-gdb-aware-of-the-abrt-s-debuginfo-dir.patch | 175 +++++++++++++++++++++
...-load-the-configuration-from-correct-file.patch | 31 ++++
0047-vmcore-catch-IOErrors-and-OSErrors.patch | 41 +++++
...ove-original-vmcore-file-in-the-last-step.patch | 43 +++++
0050-console-notifications-add-timeout.patch | 25 +++
...-unbounded-amounts-of-data-when-invoking-.patch | 29 ++++
...rnalctl-invocations-replace-grep-tail-pip.patch | 29 ++++
abrt.spec | 25 ++-
9 files changed, 515 insertions(+), 3 deletions(-)
---
diff --git a/0043-Revert-gdb-disable-loading-of-auto-loaded-files.patch b/0043-Revert-gdb-disable-loading-of-auto-loaded-files.patch
new file mode 100644
index 0000000..03d5f0b
--- /dev/null
+++ b/0043-Revert-gdb-disable-loading-of-auto-loaded-files.patch
@@ -0,0 +1,120 @@
+From a8df76250f97903d1bac872bb53b9d41721d5da9 Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Wed, 12 Nov 2014 15:49:13 +0100
+Subject: [PATCH] Revert "gdb: disable loading of auto-loaded files"
+
+This reverts commit 77a270a948216a8bb5bcc960042aeb467794b593.
+
+Turning auto-load off also turns the pretty printer off.
+
+Unfortunately, we must trust to providers of the auto-loaded scripts.
+(Jakub Filak must start fixing root causes and stop treating symptoms.)
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/lib/hooklib.c | 40 +++++++++++++++++++---------------------
+ 1 file changed, 19 insertions(+), 21 deletions(-)
+
+diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
+index 21ad9e0..4a50727 100644
+--- a/src/lib/hooklib.c
++++ b/src/lib/hooklib.c
+@@ -252,12 +252,10 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ /* Let user know what's going on */
+ log(_("Generating backtrace"));
+
+- char *args[23];
++ char *args[21];
+ args[0] = (char*)"gdb";
+ args[1] = (char*)"-batch";
+ args[2] = (char*)"-ex";
+- args[3] = (char*)"set auto-load off";
+- args[4] = (char*)"-ex";
+ struct strbuf *set_debug_file_directory = strbuf_new();
+ if(debuginfo_dirs == NULL)
+ {
+@@ -280,7 +278,7 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ p = colon_or_nul;
+ }
+ }
+- args[5] = strbuf_free_nobuf(set_debug_file_directory);
++ args[3] = strbuf_free_nobuf(set_debug_file_directory);
+
+ /* "file BINARY_FILE" is needed, without it gdb cannot properly
+ * unwind the stack. Currently the unwind information is located
+@@ -302,27 +300,27 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ * TODO: check mtimes on COREFILE and BINARY_FILE and not supply
+ * BINARY_FILE if it is newer (to at least avoid gdb complaining).
+ */
+- args[6] = (char*)"-ex";
+- args[7] = xasprintf("file %s", executable);
++ args[4] = (char*)"-ex";
++ args[5] = xasprintf("file %s", executable);
+ free(executable);
+
+- args[8] = (char*)"-ex";
+- args[9] = xasprintf("core-file %s/"FILENAME_COREDUMP, dump_dir_name);
++ args[6] = (char*)"-ex";
++ args[7] = xasprintf("core-file %s/"FILENAME_COREDUMP, dump_dir_name);
+
++ args[8] = (char*)"-ex";
++ /*args[9] = ... see below */
+ args[10] = (char*)"-ex";
+- /*args[11] = ... see below */
+- args[12] = (char*)"-ex";
+- args[13] = (char*)"info sharedlib";
++ args[11] = (char*)"info sharedlib";
+ /* glibc's abort() stores its message in __abort_msg variable */
++ args[12] = (char*)"-ex";
++ args[13] = (char*)"print (char*)__abort_msg";
+ args[14] = (char*)"-ex";
+- args[15] = (char*)"print (char*)__abort_msg";
++ args[15] = (char*)"print (char*)__glib_assert_msg";
+ args[16] = (char*)"-ex";
+- args[17] = (char*)"print (char*)__glib_assert_msg";
++ args[17] = (char*)"info all-registers";
+ args[18] = (char*)"-ex";
+- args[19] = (char*)"info all-registers";
+- args[20] = (char*)"-ex";
+- args[21] = (char*)"disassemble";
+- args[22] = NULL;
++ args[19] = (char*)"disassemble";
++ args[20] = NULL;
+
+ /* Get the backtrace, but try to cap its size */
+ /* Limit bt depth. With no limit, gdb sometimes OOMs the machine */
+@@ -332,9 +330,9 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ char *bt = NULL;
+ while (1)
+ {
+- args[11] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
++ args[9] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
+ bt = exec_vp(args, /*redirect_stderr:*/ 1, timeout_sec, NULL);
+- free(args[11]);
++ free(args[9]);
+ if ((bt && strnlen(bt, 256*1024) < 256*1024) || bt_depth <= 32)
+ {
+ break;
+@@ -359,7 +357,7 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ * End of assembler dump.
+ * (IOW: "empty" dump)
+ */
+- args[21] = (char*)"disassemble $pc-20, $pc+64";
++ args[19] = (char*)"disassemble $pc-20, $pc+64";
+
+ if (bt_depth <= 64 && thread_apply_all[0] != '\0')
+ {
+@@ -375,9 +373,9 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ }
+ }
+
++ free(args[3]);
+ free(args[5]);
+ free(args[7]);
+- free(args[9]);
+ return bt;
+ }
+
+--
+2.1.0
+
diff --git a/0044-gdb-make-gdb-aware-of-the-abrt-s-debuginfo-dir.patch b/0044-gdb-make-gdb-aware-of-the-abrt-s-debuginfo-dir.patch
new file mode 100644
index 0000000..87fdc09
--- /dev/null
+++ b/0044-gdb-make-gdb-aware-of-the-abrt-s-debuginfo-dir.patch
@@ -0,0 +1,175 @@
+From 4eee77568fe24bcb9341ee9c2eaa74cb048103cb Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Thu, 13 Nov 2014 12:08:07 +0100
+Subject: [PATCH] gdb: make gdb aware of the abrt's debuginfo dir
+
+A debuginfo package might ship an auto-loaded gdb script. If abrt
+unpacks that package into the abrt's debuginfo cache dir and points gdb
+to that directory, gdb refuses to auto-loaded that gdb scripts and
+produces a plenty of warning messages that abrt writes to 'backtrace'
+file.
+
+The previous solution of this issue was to turn auto-load off completely
+but it turned the pretty printer off too.
+
+The correct solution is to add the abrt's debuginfo cache directory to
+auto-load safe-path and auto-load scripts-dir settings.
+
+Thanks Jan Kratochvil <jkratoch at redhat.com>
+
+Requires: rhbz#1163335
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/lib/hooklib.c | 83 ++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 55 insertions(+), 28 deletions(-)
+
+diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
+index 4a50727..1d45cdd 100644
+--- a/src/lib/hooklib.c
++++ b/src/lib/hooklib.c
+@@ -252,11 +252,12 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ /* Let user know what's going on */
+ log(_("Generating backtrace"));
+
+- char *args[21];
+- args[0] = (char*)"gdb";
+- args[1] = (char*)"-batch";
+- args[2] = (char*)"-ex";
++ unsigned i = 0;
++ char *args[25];
++ args[i++] = (char*)"gdb";
++ args[i++] = (char*)"-batch";
+ struct strbuf *set_debug_file_directory = strbuf_new();
++ unsigned auto_load_base_index = 0;
+ if(debuginfo_dirs == NULL)
+ {
+ // set non-existent debug file directory to prevent resolving
+@@ -266,6 +267,8 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ else
+ {
+ strbuf_append_str(set_debug_file_directory, "set debug-file-directory /usr/lib/debug");
++
++ struct strbuf *debug_directories = strbuf_new();
+ const char *p = debuginfo_dirs;
+ while (1)
+ {
+@@ -274,11 +277,25 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ if (*p == '\0')
+ break;
+ const char *colon_or_nul = strchrnul(p, ':');
+- strbuf_append_strf(set_debug_file_directory, ":%.*s/usr/lib/debug", (int)(colon_or_nul - p), p);
++ strbuf_append_strf(debug_directories, "%s%.*s/usr/lib/debug", (debug_directories->len == 0 ? "" : ":"),
++ (int)(colon_or_nul - p), p);
+ p = colon_or_nul;
+ }
++
++ strbuf_append_strf(set_debug_file_directory, ":%s", debug_directories->buf);
++
++ args[i++] = (char*)"-iex";
++ auto_load_base_index = i;
++ args[i++] = xasprintf("add-auto-load-safe-path %s", debug_directories->buf);
++ args[i++] = (char*)"-iex";
++ args[i++] = xasprintf("add-auto-load-scripts-directory %s", debug_directories->buf);
++
++ strbuf_free(debug_directories);
+ }
+- args[3] = strbuf_free_nobuf(set_debug_file_directory);
++
++ args[i++] = (char*)"-ex";
++ const unsigned debug_dir_cmd_index = i++;
++ args[debug_dir_cmd_index] = strbuf_free_nobuf(set_debug_file_directory);
+
+ /* "file BINARY_FILE" is needed, without it gdb cannot properly
+ * unwind the stack. Currently the unwind information is located
+@@ -300,27 +317,31 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ * TODO: check mtimes on COREFILE and BINARY_FILE and not supply
+ * BINARY_FILE if it is newer (to at least avoid gdb complaining).
+ */
+- args[4] = (char*)"-ex";
+- args[5] = xasprintf("file %s", executable);
++ args[i++] = (char*)"-ex";
++ const unsigned file_cmd_index = i++;
++ args[file_cmd_index] = xasprintf("file %s", executable);
+ free(executable);
+
+- args[6] = (char*)"-ex";
+- args[7] = xasprintf("core-file %s/"FILENAME_COREDUMP, dump_dir_name);
++ args[i++] = (char*)"-ex";
++ const unsigned core_cmd_index = i++;
++ args[core_cmd_index] = xasprintf("core-file %s/"FILENAME_COREDUMP, dump_dir_name);
+
+- args[8] = (char*)"-ex";
++ args[i++] = (char*)"-ex";
++ const unsigned bt_cmd_index = i++;
+ /*args[9] = ... see below */
+- args[10] = (char*)"-ex";
+- args[11] = (char*)"info sharedlib";
++ args[i++] = (char*)"-ex";
++ args[i++] = (char*)"info sharedlib";
+ /* glibc's abort() stores its message in __abort_msg variable */
+- args[12] = (char*)"-ex";
+- args[13] = (char*)"print (char*)__abort_msg";
+- args[14] = (char*)"-ex";
+- args[15] = (char*)"print (char*)__glib_assert_msg";
+- args[16] = (char*)"-ex";
+- args[17] = (char*)"info all-registers";
+- args[18] = (char*)"-ex";
+- args[19] = (char*)"disassemble";
+- args[20] = NULL;
++ args[i++] = (char*)"-ex";
++ args[i++] = (char*)"print (char*)__abort_msg";
++ args[i++] = (char*)"-ex";
++ args[i++] = (char*)"print (char*)__glib_assert_msg";
++ args[i++] = (char*)"-ex";
++ args[i++] = (char*)"info all-registers";
++ args[i++] = (char*)"-ex";
++ const unsigned dis_cmd_index = i++;
++ args[dis_cmd_index] = (char*)"disassemble";
++ args[i++] = NULL;
+
+ /* Get the backtrace, but try to cap its size */
+ /* Limit bt depth. With no limit, gdb sometimes OOMs the machine */
+@@ -330,9 +351,9 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ char *bt = NULL;
+ while (1)
+ {
+- args[9] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
++ args[bt_cmd_index] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
+ bt = exec_vp(args, /*redirect_stderr:*/ 1, timeout_sec, NULL);
+- free(args[9]);
++ free(args[bt_cmd_index]);
+ if ((bt && strnlen(bt, 256*1024) < 256*1024) || bt_depth <= 32)
+ {
+ break;
+@@ -357,7 +378,7 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ * End of assembler dump.
+ * (IOW: "empty" dump)
+ */
+- args[19] = (char*)"disassemble $pc-20, $pc+64";
++ args[dis_cmd_index] = (char*)"disassemble $pc-20, $pc+64";
+
+ if (bt_depth <= 64 && thread_apply_all[0] != '\0')
+ {
+@@ -373,9 +394,15 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
+ }
+ }
+
+- free(args[3]);
+- free(args[5]);
+- free(args[7]);
++ if (auto_load_base_index > 0)
++ {
++ free(args[auto_load_base_index]);
++ free(args[auto_load_base_index + 2]);
++ }
++
++ free(args[debug_dir_cmd_index]);
++ free(args[file_cmd_index]);
++ free(args[core_cmd_index]);
+ return bt;
+ }
+
+--
+2.1.0
+
diff --git a/0046-python-load-the-configuration-from-correct-file.patch b/0046-python-load-the-configuration-from-correct-file.patch
new file mode 100644
index 0000000..d1d6b41
--- /dev/null
+++ b/0046-python-load-the-configuration-from-correct-file.patch
@@ -0,0 +1,31 @@
+From fcc37ca833fdc20573a1e1a7d46712e243f8615e Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Tue, 25 Nov 2014 15:54:15 +0100
+Subject: [PATCH] python: load the configuration from correct file
+
+Python2 exception handler has its configuration stored in python.conf
+file.
+
+Related: rhbz#1166633
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/hooks/abrt_exception_handler.py.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hooks/abrt_exception_handler.py.in b/src/hooks/abrt_exception_handler.py.in
+index fa4f34f..8412e5f 100644
+--- a/src/hooks/abrt_exception_handler.py.in
++++ b/src/hooks/abrt_exception_handler.py.in
+@@ -177,7 +177,7 @@ def require_abs_path():
+ import problem
+
+ try:
+- conf = problem.load_plugin_conf_file("python3.conf")
++ conf = problem.load_plugin_conf_file("python.conf")
+ except OsError:
+ return False
+
+--
+2.1.0
+
diff --git a/0047-vmcore-catch-IOErrors-and-OSErrors.patch b/0047-vmcore-catch-IOErrors-and-OSErrors.patch
new file mode 100644
index 0000000..b40dcde
--- /dev/null
+++ b/0047-vmcore-catch-IOErrors-and-OSErrors.patch
@@ -0,0 +1,41 @@
+From 01557f26b84f392dd74083b47d763def27683410 Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Thu, 27 Nov 2014 12:45:04 +0100
+Subject: [PATCH] vmcore: catch IOErrors and OSErrors
+
+Perhaps some temporary data cleaner removed problem directory while the hook
+was still using in.
+
+Resolves: rhbz#1077241
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/hooks/abrt_harvest_vmcore.py.in | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
+index 17e2be8..c6a7e6b 100644
+--- a/src/hooks/abrt_harvest_vmcore.py.in
++++ b/src/hooks/abrt_harvest_vmcore.py.in
+@@ -272,8 +272,16 @@ def harvest_vmcore():
+ except OSError:
+ sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
+
+- # Let abrtd know what type of problem it is:
+- create_abrtd_info(destdirnew)
++ try:
++ # Let abrtd know what type of problem it is:
++ create_abrtd_info(destdirnew)
++ except EnvironmentError as ex:
++ sys.stderr.write("Unable to create problem directory info: " + str(ex))
++ try:
++ shutil.rmtree(destdirnew)
++ except Exception as ex:
++ sys.stderr.write("Unable to remove incomplete problem directory: " + str(ex))
++ continue
+
+ # chown -R 0:0
+ change_owner_rec(destdirnew)
+--
+2.1.0
+
diff --git a/0048-vmcore-remove-original-vmcore-file-in-the-last-step.patch b/0048-vmcore-remove-original-vmcore-file-in-the-last-step.patch
new file mode 100644
index 0000000..8086ee3
--- /dev/null
+++ b/0048-vmcore-remove-original-vmcore-file-in-the-last-step.patch
@@ -0,0 +1,43 @@
+From 479f1a6dd0406d50794dd77312d430e6ca8a22d6 Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Thu, 27 Nov 2014 14:30:48 +0100
+Subject: [PATCH] vmcore: remove original vmcore file in the last step
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/hooks/abrt_harvest_vmcore.py.in | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
+index c6a7e6b..256f8f1 100644
+--- a/src/hooks/abrt_harvest_vmcore.py.in
++++ b/src/hooks/abrt_harvest_vmcore.py.in
+@@ -266,12 +266,6 @@ def harvest_vmcore():
+ shutil.rmtree(destdirnew)
+ continue
+
+- if copyvmcore == 'no':
+- try:
+- shutil.rmtree(f_full)
+- except OSError:
+- sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
+-
+ try:
+ # Let abrtd know what type of problem it is:
+ create_abrtd_info(destdirnew)
+@@ -291,6 +285,12 @@ def harvest_vmcore():
+ # Get rid of the .new suffix
+ shutil.move(destdirnew, destdir)
+
++ if copyvmcore == 'no':
++ try:
++ shutil.rmtree(f_full)
++ except OSError:
++ sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
++
+ problem.notify_new_path(destdir)
+
+
+--
+2.1.0
+
diff --git a/0050-console-notifications-add-timeout.patch b/0050-console-notifications-add-timeout.patch
new file mode 100644
index 0000000..21e6b47
--- /dev/null
+++ b/0050-console-notifications-add-timeout.patch
@@ -0,0 +1,25 @@
+From e11ca890308b8e4e1a822a77336b8b540cf1128d Mon Sep 17 00:00:00 2001
+From: Jakub Filak <jfilak at redhat.com>
+Date: Tue, 20 Jan 2015 15:12:05 +0100
+Subject: [PATCH] console-notifications: add timeout
+
+Related to #898
+
+Signed-off-by: Jakub Filak <jfilak at redhat.com>
+---
+ src/cli/abrt-console-notification.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
+index 976dfc3..a98f164 100755
+--- a/src/cli/abrt-console-notification.sh
++++ b/src/cli/abrt-console-notification.sh
+@@ -39,4 +39,4 @@ if [ -f "$TMPPATH" ]; then
+ mv -f "$TMPPATH" "$SINCEFILE" >"$ABRT_DEBUG_LOG" 2>&1
+ fi
+
+-abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG"
++timeout 10s abrt-cli status --since="$SINCE" 2>"$ABRT_DEBUG_LOG" || echo "'abrt-cli status' timed out"
+--
+2.1.0
+
diff --git a/0051-Don-t-slurp-unbounded-amounts-of-data-when-invoking-.patch b/0051-Don-t-slurp-unbounded-amounts-of-data-when-invoking-.patch
new file mode 100644
index 0000000..3b9b1af
--- /dev/null
+++ b/0051-Don-t-slurp-unbounded-amounts-of-data-when-invoking-.patch
@@ -0,0 +1,29 @@
+From 0df5572c2a7e752efdbb86e854e2d1583e014546 Mon Sep 17 00:00:00 2001
+From: Gregory Collins <greg at gregorycollins.net>
+Date: Tue, 20 Jan 2015 18:39:42 -0800
+Subject: [PATCH] Don't slurp unbounded amounts of data when invoking
+ journalctl. Fixes #887.
+
+---
+ src/plugins/ccpp_event.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf
+index 9fbe760..223144e 100644
+--- a/src/plugins/ccpp_event.conf
++++ b/src/plugins/ccpp_event.conf
+@@ -40,9 +40,9 @@ EVENT=post-create analyzer=CCpp
+ else
+ uid=`cat uid` &&
+ log="[System Logs]:\n" &&
+- log=$log`journalctl -b --system | grep -F -e "$base_executable" | tail -99` &&
++ log=$log`journalctl -b --since=-3m --system | grep -F -e "$base_executable" | tail -99` &&
+ log=$log"\n[User Logs]:\n" &&
+- log=$log`journalctl _UID="$uid" -b | grep -F -e "$base_executable" | tail -99` &&
++ log=$log`journalctl _UID="$uid" -b --since=-3m | grep -F -e "$base_executable" | tail -99` &&
+ log=`echo -e "$log"`
+ fi
+ if test -n "$log"; then
+--
+2.1.0
+
diff --git a/0052-Rewrite-journalctl-invocations-replace-grep-tail-pip.patch b/0052-Rewrite-journalctl-invocations-replace-grep-tail-pip.patch
new file mode 100644
index 0000000..549ed0e
--- /dev/null
+++ b/0052-Rewrite-journalctl-invocations-replace-grep-tail-pip.patch
@@ -0,0 +1,29 @@
+From 554f0230864f1489eb494efa2592f8fa32aa4b18 Mon Sep 17 00:00:00 2001
+From: Gregory Collins <greg at gregorycollins.net>
+Date: Wed, 21 Jan 2015 04:38:58 +0100
+Subject: [PATCH] Rewrite journalctl invocations: replace grep/tail pipeline
+ with journalctl builtins.
+
+---
+ src/plugins/ccpp_event.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf
+index 223144e..15bb18c 100644
+--- a/src/plugins/ccpp_event.conf
++++ b/src/plugins/ccpp_event.conf
+@@ -40,9 +40,9 @@ EVENT=post-create analyzer=CCpp
+ else
+ uid=`cat uid` &&
+ log="[System Logs]:\n" &&
+- log=$log`journalctl -b --since=-3m --system | grep -F -e "$base_executable" | tail -99` &&
++ log=$log`journalctl -b --since=-3m --system -n 99 _COMM="$base_executable"` &&
+ log=$log"\n[User Logs]:\n" &&
+- log=$log`journalctl _UID="$uid" -b --since=-3m | grep -F -e "$base_executable" | tail -99` &&
++ log=$log`journalctl -b --since=-3m -n 99 _COMM="$base_executable" _UID="$uid"` &&
+ log=`echo -e "$log"`
+ fi
+ if test -n "$log"; then
+--
+2.1.0
+
diff --git a/abrt.spec b/abrt.spec
index cb06b40..852b0b1 100644
--- a/abrt.spec
+++ b/abrt.spec
@@ -46,7 +46,7 @@
Summary: Automatic bug detection and reporting tool
Name: abrt
Version: 2.3.0
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: Applications/System
URL: https://github.com/abrt/abrt/wiki/ABRT-Project
@@ -96,6 +96,16 @@ Patch0038: 0039-sos-use-all-valuable-plugins.patch
Patch0039: 0040-koops-improve-reason-text-for-page-faults.patch
#Patch0040: 0041-testsuite-ureport-does-not-fail-on-rhsm-errors.patch
#Patch0041: 0042-spec-update-the-URL.patch
+Patch0043: 0043-Revert-gdb-disable-loading-of-auto-loaded-files.patch
+Patch0044: 0044-gdb-make-gdb-aware-of-the-abrt-s-debuginfo-dir.patch
+#Patch0045: 0045-spec-update-the-required-gdb-version.patch
+Patch0046: 0046-python-load-the-configuration-from-correct-file.patch
+Patch0047: 0047-vmcore-catch-IOErrors-and-OSErrors.patch
+Patch0048: 0048-vmcore-remove-original-vmcore-file-in-the-last-step.patch
+#Patch0049: 0049-spec-add-missing-augeas-dependency.patch
+Patch0050: 0050-console-notifications-add-timeout.patch
+Patch0051: 0051-Don-t-slurp-unbounded-amounts-of-data-when-invoking-.patch
+Patch0052: 0052-Rewrite-journalctl-invocations-replace-grep-tail-pip.patch
# '%%autosetup -S git' -> git
@@ -133,6 +143,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-python = %{version}-%{release}
Requires(pre): shadow-utils
+Requires: python-augeas
Requires: python-dbus
Requires: python-dmidecode
Requires: libreport-plugin-ureport >= %{libreport_ver}
@@ -195,7 +206,7 @@ GTK+ wizard for convenient bug reporting.
Summary: %{name}'s C/C++ addon
Group: System Environment/Libraries
Requires: cpio
-Requires: gdb >= 7.0-3
+Requires: gdb >= 7.8.1-31
Requires: elfutils
%if 0%{!?rhel:1}
# abrt-action-perform-ccpp-analysis wants to run analyze_RetraceServer:
@@ -378,7 +389,7 @@ Requires: abrt-addon-python
Requires: abrt-addon-python3
Requires: abrt-addon-xorg
# Default config of addon-ccpp requires gdb
-Requires: gdb >= 7.0-3
+Requires: gdb >= 7.8.1-31
Requires: elfutils
Requires: abrt-gui
Requires: gnome-abrt
@@ -1008,6 +1019,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh
%changelog
+* Tue Feb 24 2015 Matej Habrnal <mhabrnal at redhat.com> - 2.3.0-4
+- make gdb aware of the abrt's debuginfo dir
+- python: load the configuration from correct file
+- add missing augeas dependency
+- console-notifications: add timeout
+- Don't slurp unbounded amounts of data when invoking journalctl
+- Resolves: #1177447
+
* Mon Nov 10 2014 Jakub Filak <jfilak at redhat.com> - 2.3.0-3
- re-enable GPGCheck: report only signed packages
- koops: improve 'reason' text for page faults
More information about the scm-commits
mailing list