Signed-off-by: Jakub Filak <[email protected]>
---
 abrt.spec.in                          |  1 +
 src/plugins/Makefile.am               |  6 ++++--
 src/plugins/abrt-action-analyze-crash | 15 +++++++++++++++
 src/plugins/ccpp_retrace_event.conf   |  2 +-
 4 files changed, 21 insertions(+), 3 deletions(-)
 create mode 100755 src/plugins/abrt-action-analyze-crash

diff --git a/abrt.spec.in b/abrt.spec.in
index a1c00ba..93689f3 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -535,6 +535,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null 
|| :
 %{_bindir}/abrt-action-generate-core-backtrace
 %{_bindir}/abrt-action-analyze-backtrace
 %{_bindir}/abrt-action-list-dsos
+%{_bindir}/abrt-action-analyze-crash
 %{_bindir}/abrt-dedup-client
 %{_sbindir}/abrt-install-ccpp-hook
 %{_sysconfdir}/libreport/events.d/ccpp_event.conf
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 675b1a7..15223ef 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -4,7 +4,8 @@ bin_SCRIPTS = \
     abrt-action-install-debuginfo \
     abrt-action-analyze-core \
     abrt-action-analyze-vmcore \
-    abrt-action-list-dsos
+    abrt-action-list-dsos \
+    abrt-action-analyze-crash
 
 bin_PROGRAMS = \
     abrt-watch-log \
@@ -73,7 +74,8 @@ EXTRA_DIST = \
     analyze_VMcore.xml.in \
     abrt-action-analyze-vmcore \
     https-utils.h \
-    post_report.xml.in
+    post_report.xml.in \
+    abrt-action-analyze-crash
 
 abrt_watch_log_SOURCES = \
     abrt-watch-log.c
diff --git a/src/plugins/abrt-action-analyze-crash 
b/src/plugins/abrt-action-analyze-crash
new file mode 100755
index 0000000..1acca6b
--- /dev/null
+++ b/src/plugins/abrt-action-analyze-crash
@@ -0,0 +1,15 @@
+#!/bin/sh
+# For event handlers
+# Tries to retrace over retrace server
+# If retrace server fails asks user for an approval to run retracing locally
+
+abrt-retrace-client batch --dir "$DUMP_DIR" --status-delay 10 || (
+    echo `gettext "ASK_YES_NO Do you want to perform local analysis?"` && read 
answ
+    if test x"$answ" == x"yes"; then
+        abrt-action-analyze-core --core=coredump -o build_ids &&
+        /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache 
--size_mb=4096 &&
+        abrt-action-generate-backtrace
+    else
+        exit 1
+    fi
+)
diff --git a/src/plugins/ccpp_retrace_event.conf 
b/src/plugins/ccpp_retrace_event.conf
index 60e53d7..3cd5450 100644
--- a/src/plugins/ccpp_retrace_event.conf
+++ b/src/plugins/ccpp_retrace_event.conf
@@ -1,5 +1,5 @@
 EVENT=analyze_RetraceServer analyzer=CCpp
-        abrt-retrace-client batch --dir "$DUMP_DIR" --status-delay 10 &&
+        abrt-action-analyze-crash &&
         abrt-action-analyze-backtrace &&
         (
             bug_id=$(reporter-bugzilla -h `cat duphash`) &&
-- 
1.7.11.4

Reply via email to