From 60ed34c6de8b30624774c50cbb6bfc05740b4a1a Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 10 May 2011 18:52:52 +0200 Subject: Add analyzer which collects ~/.xsession-errors. Closes bz#539532 Signed-off-by: Denys Vlasenko --- abrt.spec.in | 2 +- src/gui-wizard-gtk/wizard.c | 2 +- src/plugins/Makefile.am | 4 ++-- src/plugins/analyze_var_log_messages.xml.in | 10 ---------- src/plugins/analyze_xsession_errors.xml.in | 10 ++++++++++ src/plugins/ccpp_events.conf | 23 +++++++++++++++++------ 6 files changed, 31 insertions(+), 20 deletions(-) delete mode 100644 src/plugins/analyze_var_log_messages.xml.in create mode 100644 src/plugins/analyze_xsession_errors.xml.in diff --git a/abrt.spec.in b/abrt.spec.in index af8be2c9..99c19684 100644 --- a/abrt.spec.in +++ b/abrt.spec.in @@ -540,7 +540,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_sysconfdir}/%{name}/events.d/ccpp_events.conf %{_sysconfdir}/%{name}/events/analyze_LocalGDB.xml %{_sysconfdir}/%{name}/events/analyze_RetraceServer.xml -%{_sysconfdir}/%{name}/events/analyze_var_log_messages.xml +%{_sysconfdir}/%{name}/events/analyze_xsession_errors.xml %{_mandir}/man*/abrt-action-trim-files.* %{_mandir}/man*/abrt-action-generate-backtrace.* %{_mandir}/man*/abrt-action-analyze-backtrace.* diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c index ba0d9b90..6366a353 100644 --- a/src/gui-wizard-gtk/wizard.c +++ b/src/gui-wizard-gtk/wizard.c @@ -497,7 +497,7 @@ static event_gui_data_t *add_event_buttons(GtkBox *box, if (get_problem_data_item_or_NULL(g_cd, cfg->creates_elements)) { green_choice = true; - event_description = tmp_description = xasprintf("(not needed, %s already exists)", cfg->creates_elements); + event_description = tmp_description = xasprintf(_("(not needed, '%s' already exists)"), cfg->creates_elements); } } } diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index 7221079a..1ef7fbc2 100644 --- a/src/plugins/Makefile.am +++ b/src/plugins/Makefile.am @@ -40,7 +40,7 @@ dist_events_DATA = \ report_Logger.conf \ analyze_LocalGDB.xml \ analyze_RetraceServer.xml \ - analyze_var_log_messages.xml \ + analyze_xsession_errors.xml \ report_Mailx.xml \ report_RHTSupport.xml \ report_Kerneloops.xml @@ -91,7 +91,7 @@ EXTRA_DIST = \ $(MAN_TXT) \ $(PYTHON_FILES) \ $(man1_MANS) \ - analyze_var_log_messages.xml.in \ + analyze_xsession_errors.xml.in \ analyze_LocalGDB.xml.in \ analyze_RetraceServer.xml.in \ report_Bugzilla.xml.in \ diff --git a/src/plugins/analyze_var_log_messages.xml.in b/src/plugins/analyze_var_log_messages.xml.in deleted file mode 100644 index fa5edbff..00000000 --- a/src/plugins/analyze_var_log_messages.xml.in +++ /dev/null @@ -1,10 +0,0 @@ - - - Collect /var/log/messages - <_description>Save relevant lines in /var/log/messages - <_long-description> - Scans through /var/log/messages file and saves those lines which contain executable's name. - The result is saved as 'var_log_messages' element. - - var_log_messages - diff --git a/src/plugins/analyze_xsession_errors.xml.in b/src/plugins/analyze_xsession_errors.xml.in new file mode 100644 index 00000000..9f7a46bf --- /dev/null +++ b/src/plugins/analyze_xsession_errors.xml.in @@ -0,0 +1,10 @@ + + + Collect .xsession-errors + <_description>Save relevant lines from ~/.xsession-errors file + <_long-description> + Scans through ~/.xsession-errors file and saves those lines which contain executable's name. + The result is saved as 'xsession_errors' element. + + xsession_errors + diff --git a/src/plugins/ccpp_events.conf b/src/plugins/ccpp_events.conf index ca9ac558..eb3384a6 100644 --- a/src/plugins/ccpp_events.conf +++ b/src/plugins/ccpp_events.conf @@ -1,14 +1,25 @@ EVENT=post-create analyzer=CCpp abrt-action-analyze-c && - abrt-action-list-dsos.py -m maps -o dsos + abrt-action-list-dsos.py -m maps -o dsos && + ( + # Try to save relevant log lines. + # Can't do it as analyzer step, non-root can't read log. + # It's not an error if /var/log/messages isn't readable: + test -f /var/log/messages || exit 0 + test -r /var/log/messages || exit 0 + executable=`cat executable` && + base_executable=${executable##*/} && + grep -e "$base_executable" /var/log/messages | tail -999 >var_log_messages && + echo "Element 'var_log_messages' saved" + ) -EVENT=analyze_var_log_messages analyzer=CCpp - test -f /var/log/messages || { echo "No /var/log/messages"; exit 1; } - test -r /var/log/messages || { echo "Can't read /var/log/messages"; exit 1; } +EVENT=analyze_xsession_errors analyzer=CCpp + test -f ~/.xsession-errors || { echo "No ~/.xsession-errors"; exit 1; } + test -r ~/.xsession-errors || { echo "Can't read ~/.xsession-errors"; exit 1; } executable=`cat executable` && base_executable=${executable##*/} && - grep -e "$base_executable" /var/log/messages | tail -999 >var_log_messages && - echo "var_log_messages element saved" + grep -e "$base_executable" ~/.xsession-errors | tail -999 >xsession_errors && + echo "Element 'xsession_errors' saved" # TODO: can we still specify additional directories to search for debuginfos, # or was this ability lost with move to python installer? -- cgit