summaryrefslogtreecommitdiffstats
path: root/src/daemon/abrt_action.conf
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-11-01 18:47:50 +0100
committerDenys Vlasenko <dvlasenk@redhat.com>2010-11-01 18:47:50 +0100
commit3b1dd4985ac7e32a3a1a498214bd26df29089dbc (patch)
tree3c7366d29f387fa20db1b72cc2fec2a5a80f3d3e /src/daemon/abrt_action.conf
parent7048013d2019b50b5b9af5a13d3f30e5cdafe4f8 (diff)
downloadabrt-3b1dd4985ac7e32a3a1a498214bd26df29089dbc.tar.gz
abrt-3b1dd4985ac7e32a3a1a498214bd26df29089dbc.tar.xz
abrt-3b1dd4985ac7e32a3a1a498214bd26df29089dbc.zip
introduce abrt_action.conf; use it for post-create step
This patch replaces only the post-create step with new logic (the step which happens when abrtd detects fresh crash dump dir and needs to decide what to do with it), but it turns out this step is one of hard ones: it needs special handling of UUID. So a good chunk of hard-ish stuff is already in this patch. It also contains logic to collect the log from actions, even though so far it is simply logged. Other steps (like reporting step) will pipe it to clients. post-create step simply has no client to pipe output to. But the code is there already. GetLocalUUID() members in all plugins are unused now and are deleted from all classes. Next patches will move run_event() function into libABRT, so that it can be used from e.g. abrt-handle-crashdump utility if/when we will write it, from clients directly and so on. For now, it lives in MiddleWare.cpp since it is only used there. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src/daemon/abrt_action.conf')
-rw-r--r--src/daemon/abrt_action.conf41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/daemon/abrt_action.conf b/src/daemon/abrt_action.conf
new file mode 100644
index 00000000..5d403177
--- /dev/null
+++ b/src/daemon/abrt_action.conf
@@ -0,0 +1,41 @@
+# This table specifies which programs should be run
+# when the specified event occurs in crash dump lifetime.
+#
+# Example:
+# EVENT=post-create { pwd; date; }>/tmp/dt; echo $HOSTNAME `uname -r`
+#
+# Each line may have conditions to be checked
+# before the program is run.
+#
+# Conditions have form VAR=VAL, where VAR is either word "EVENT"
+# or a name of crash dump element to be checked (for example,
+# "executable", "package", hostname" etc).
+#
+# If all conditions match, the program is run in the shell.
+# All shell language constructs are valid.
+# All stdout and stderr output is captured and passed to abrt
+# and possibly to abrt's frontends and shown to the user.
+#
+# If the program terminates with nonzero exitcode,
+# the event processing is considered unsuccessful and is stopped.
+# Last captured output line, if any, is considered to be
+# the error message indicating the reason of the failure,
+# and may be used by abrt as such.
+#
+# If the program terminates successfully, next line is read
+# and processed. This process is repeated until the end of this file.
+
+# abrt-action-analyze-c needs package name, save package data first
+EVENT=post-create abrt-action-save-package-data
+EVENT=post-create analyzer=CCpp abrt-action-analyze-c
+EVENT=post-create analyzer=python abrt-action-analyze-python
+EVENT=post-create analyzer=oops abrt-action-analyze-oops
+
+EVENT=analyze analyzer=CCpp abrt-action-install-debuginfo ./coredump /var/run/abrt/$$-$RANDOM /var/cache/abrt-di
+EVENT=analyze analyzer=CCpp abrt-action-generate-backtrace
+
+EVENT=report analyzer=oops abrt-action-kerneloops
+EVENT=report analyzer=CCpp abrt-action-bugzilla
+EVENT=report analyzer=CCpp abrt-action-print >/var/log/abrt.log
+EVENT=report analyzer=python abrt-action-bugzilla
+EVENT=report analyzer=python abrt-action-print >/var/log/abrt.log