summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2011-04-22 00:11:26 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2011-04-22 00:11:26 +0200
commit4b3cb55883bfcb90002da0c21a8c39ac79843b92 (patch)
tree0c7606b91a211372f1cb961767b6c619a84174c8
parent65ede0e06ac3d9ce1e9857231a22b97baa1d3954 (diff)
downloadabrt-4b3cb55883bfcb90002da0c21a8c39ac79843b92.tar.gz
abrt-4b3cb55883bfcb90002da0c21a8c39ac79843b92.tar.xz
abrt-4b3cb55883bfcb90002da0c21a8c39ac79843b92.zip
renamed abrt-action-analyzecore.py -> analyze-core; made .conf file more readable
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
-rw-r--r--abrt.spec2
-rw-r--r--src/plugins/Makefile.am4
-rwxr-xr-xsrc/plugins/abrt-action-analyze-core.py (renamed from src/plugins/abrt-action-analyzecore.py)55
-rw-r--r--src/plugins/ccpp_events.conf40
4 files changed, 48 insertions, 53 deletions
diff --git a/abrt.spec b/abrt.spec
index d7c88ad6..06094d4b 100644
--- a/abrt.spec
+++ b/abrt.spec
@@ -541,7 +541,7 @@ fi
%{_bindir}/abrt-action-analyze-c
%{_bindir}/abrt-action-trim-files
%attr(4755, abrt, abrt) %{_bindir}/abrt-action-install-debuginfo
-%{_bindir}/abrt-action-analyzecore.py*
+%{_bindir}/abrt-action-analyze-core.py*
%{_bindir}/abrt-action-install-debuginfo.py*
%{_bindir}/abrt-action-generate-backtrace
%{_bindir}/abrt-action-analyze-backtrace
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 00be78fd..52006b5e 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -2,7 +2,7 @@ pluginslibdir = $(PLUGINS_LIB_DIR)
bin_SCRIPTS = \
abrt-action-install-debuginfo.py \
- abrt-action-analyzecore.py \
+ abrt-action-analyze-core.py \
abrt-action-list-dsos.py
bin_PROGRAMS = \
@@ -63,7 +63,7 @@ man_MANS = \
PYTHON_FILES = \
abrt-action-install-debuginfo.py \
abrt-action-list-dsos.py \
- abrt-action-analyzecore.py
+ abrt-action-analyze-core.py
EXTRA_DIST = \
$(man_MANS) \
diff --git a/src/plugins/abrt-action-analyzecore.py b/src/plugins/abrt-action-analyze-core.py
index 238c7480..8de79203 100755
--- a/src/plugins/abrt-action-analyzecore.py
+++ b/src/plugins/abrt-action-analyze-core.py
@@ -30,21 +30,6 @@ def init_gettext():
gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
gettext.textdomain(GETTEXT_PROGNAME)
-
-old_stdout = -1
-def mute_stdout():
- if verbose < 2:
- global old_stdout
- old_stdout = sys.stdout
- sys.stdout = open("/dev/null", "w")
-
-def unmute_stdout():
- if verbose < 2:
- if old_stdout != -1:
- sys.stdout = old_stdout
- else:
- print "ERR: unmute called without mute?"
-
verbose = 0
def log1(message):
""" prints log message if verbosity > 0 """
@@ -72,24 +57,25 @@ def extract_info_from_core(coredump_name):
eu_unstrip_OUT = Popen(["eu-unstrip","--core=%s" % coredump_name, "-n"], stdout=PIPE, bufsize=-1).communicate()[0]
# parse eu_unstrip_OUT and return the list of build_ids
- # eu_unstrip_OUT = ("0x7f42362ca000+0x204000 c4d35d993598a6242f7525d024b5ec3becf5b447@0x7f42362ca1a0 /usr/lib64/libcanberra-gtk.so.0 - libcanberra-gtk.so.0\n"
- # "0x3afa400000+0x210000 607308f916c13c3ad9ee503008d31fa671ba73ce@0x3afa4001a0 /usr/lib64/libcanberra.so.0 - libcanberra.so.0\n"
- # "0x3afa400000+0x210000 607308f916c13c3ad9ee503008d31fa671ba73ce@0x3afa4001a0 /usr/lib64/libcanberra.so.0 - libcanberra.so.0\n"
- # "0x3bc7000000+0x208000 3be016bb723e85779a23e111a8ab1a520b209422@0x3bc70001a0 /usr/lib64/libvorbisfile.so.3 - libvorbisfile.so.3\n"
- # "0x7f423609e000+0x22c000 87f9c7d9844f364c73aa2566d6cfc9c5fa36d35d@0x7f423609e1a0 /usr/lib64/libvorbis.so.0 - libvorbis.so.0\n"
- # "0x7f4235e99000+0x205000 b5bc98c125a11b571cf4f2746268a6d3cfa95b68@0x7f4235e991a0 /usr/lib64/libogg.so.0 - libogg.so.0\n"
- # "0x7f4235c8b000+0x20e000 f1ff6c8ee30dba27e90ef0c5b013df2833da2889@0x7f4235c8b1a0 /usr/lib64/libtdb.so.1 - libtdb.so.1\n"
- # "0x3bc3000000+0x209000 8ef56f789fd914e8d0678eb0cdfda1bfebb00b40@0x3bc30001a0 /usr/lib64/libltdl.so.7 - libltdl.so.7\n"
- # "0x7f4231b64000+0x22b000 3ca5b83798349f78b362b1ea51c8a4bc8114b8b1@0x7f4231b641a0 /usr/lib64/gio/modules/libgvfsdbus.so - libgvfsdbus.so\n"
- # "0x7f423192a000+0x218000 ad024a01ad132737a8cfc7c95beb7c77733a652d@0x7f423192a1a0 /usr/lib64/libgvfscommon.so.0 - libgvfscommon.so.0\n"
- # "0x7f423192a000+0x218000 ad024a01ad132737a8cfc7c95beb7c77733a652d@0x7f423192a1a0 /usr/lib64/libgvfscommon.so.0 - libgvfscommon.so.0\n"
- # "0x3bb8e00000+0x20e000 d240ac5755184a95c783bb98a2d05530e0cf958a@0x3bb8e001a0 /lib64/libudev.so.0 - libudev.so.0")
- #
+ # eu_unstrip_OUT = (
+ # "0x7f42362ca000+0x204000 c4d35d993598a6242f7525d024b5ec3becf5b447@0x7f42362ca1a0 /usr/lib64/libcanberra-gtk.so.0 - libcanberra-gtk.so.0\n"
+ # "0x3afa400000+0x210000 607308f916c13c3ad9ee503008d31fa671ba73ce@0x3afa4001a0 /usr/lib64/libcanberra.so.0 - libcanberra.so.0\n"
+ # "0x3afa400000+0x210000 607308f916c13c3ad9ee503008d31fa671ba73ce@0x3afa4001a0 /usr/lib64/libcanberra.so.0 - libcanberra.so.0\n"
+ # "0x3bc7000000+0x208000 3be016bb723e85779a23e111a8ab1a520b209422@0x3bc70001a0 /usr/lib64/libvorbisfile.so.3 - libvorbisfile.so.3\n"
+ # "0x7f423609e000+0x22c000 87f9c7d9844f364c73aa2566d6cfc9c5fa36d35d@0x7f423609e1a0 /usr/lib64/libvorbis.so.0 - libvorbis.so.0\n"
+ # "0x7f4235e99000+0x205000 b5bc98c125a11b571cf4f2746268a6d3cfa95b68@0x7f4235e991a0 /usr/lib64/libogg.so.0 - libogg.so.0\n"
+ # "0x7f4235c8b000+0x20e000 f1ff6c8ee30dba27e90ef0c5b013df2833da2889@0x7f4235c8b1a0 /usr/lib64/libtdb.so.1 - libtdb.so.1\n"
+ # "0x3bc3000000+0x209000 8ef56f789fd914e8d0678eb0cdfda1bfebb00b40@0x3bc30001a0 /usr/lib64/libltdl.so.7 - libltdl.so.7\n"
+ # "0x7f4231b64000+0x22b000 3ca5b83798349f78b362b1ea51c8a4bc8114b8b1@0x7f4231b641a0 /usr/lib64/gio/modules/libgvfsdbus.so - libgvfsdbus.so\n"
+ # "0x7f423192a000+0x218000 ad024a01ad132737a8cfc7c95beb7c77733a652d@0x7f423192a1a0 /usr/lib64/libgvfscommon.so.0 - libgvfscommon.so.0\n"
+ # "0x7f423192a000+0x218000 ad024a01ad132737a8cfc7c95beb7c77733a652d@0x7f423192a1a0 /usr/lib64/libgvfscommon.so.0 - libgvfscommon.so.0\n"
+ # "0x3bb8e00000+0x20e000 d240ac5755184a95c783bb98a2d05530e0cf958a@0x3bb8e001a0 /lib64/libudev.so.0 - libudev.so.0\n"
+ # )
#print eu_unstrip_OUT
# we failed to get build ids from the core -> die
if not eu_unstrip_OUT:
print "Can't get build ids from %s" % coredump_name
- return RETURN_FAILURE
+ exit(RETURN_FAILURE)
lines = eu_unstrip_OUT.split('\n')
# using set ensures the unique values
@@ -152,12 +138,12 @@ if __name__ == "__main__":
except:
pass
- help_text = _("Usage: %s --core=COREFILE ") % sys.argv[0]
+ help_text = _("Usage: %s [-v] [-o OUTFILE] [-c COREFILE]") % sys.argv[0]
try:
opts, args = getopt.getopt(sys.argv[1:], "vhc:o:", ["help", "core="])
except getopt.GetoptError, err:
print str(err) # prints something like "option -a not recognized"
- sys.exit(RETURN_FAILURE)
+ exit(RETURN_FAILURE)
for opt, arg in opts:
if opt == "-v":
@@ -168,17 +154,16 @@ if __name__ == "__main__":
core = arg
elif opt in ("-h", "--help"):
print help_text
- sys.exit()
+ exit()
if not core:
- print _("You have to specify the path to coredump.")
+ print _("You have to specify the path to coredump")
print help_text
exit(RETURN_FAILURE)
b_ids = extract_info_from_core(core)
- if b_ids == RETURN_FAILURE:
- exit(RETURN_FAILURE)
f_build_ids = open(output_file, "w")
+# TODO: check for open/write/close errors?
for bid in b_ids:
f_build_ids.write("%s\n" % bid)
f_build_ids.close()
diff --git a/src/plugins/ccpp_events.conf b/src/plugins/ccpp_events.conf
index 0c6d0462..dcfab55e 100644
--- a/src/plugins/ccpp_events.conf
+++ b/src/plugins/ccpp_events.conf
@@ -1,23 +1,33 @@
-EVENT=post-create analyzer=CCpp abrt-action-analyze-c
-EVENT=post-create analyzer=CCpp abrt-action-list-dsos.py > dsos
+EVENT=post-create analyzer=CCpp
+ abrt-action-analyze-c &&
+ abrt-action-list-dsos.py >dsos
# We run analyze_foo steps only if backtrace is empty (not yet generated):
-EVENT=analyze_LocalGDB analyzer=CCpp backtrace= abrt-action-trim-files -f 4096m:/var/cache/abrt-di
# TODO: can we still specify additional directories to search for debuginfos,
# or was this ability lost with move to python installer?
-EVENT=analyze_LocalGDB analyzer=CCpp backtrace= abrt-action-analyzecore.py --core="$DUMP_DIR/coredump"; abrt-action-install-debuginfo
-EVENT=analyze_LocalGDB analyzer=CCpp backtrace= abrt-action-generate-backtrace
-EVENT=analyze_LocalGDB analyzer=CCpp backtrace= abrt-action-analyze-backtrace
-EVENT=analyze_RetraceServer analyzer=CCpp backtrace= abrt-retrace-client batch -k --dir "$DUMP_DIR"
-EVENT=analyze_RetraceServer analyzer=CCpp backtrace= abrt-action-analyze-backtrace
+EVENT=analyze_LocalGDB analyzer=CCpp backtrace=
+ abrt-action-trim-files -f 4096m:/var/cache/abrt-di &&
+ abrt-action-analyze-core.py --core="$DUMP_DIR/coredump" &&
+ abrt-action-install-debuginfo &&
+ abrt-action-generate-backtrace &&
+ abrt-action-analyze-backtrace
+
+EVENT=analyze_RetraceServer analyzer=CCpp backtrace=
+ abrt-retrace-client batch -k --dir "$DUMP_DIR" &&
+ abrt-action-analyze-backtrace
# Same as "analyze", but executed when user requests "refresh" in GUI
# It doesn't check that backtrace is empty:
-EVENT=reanalyze_LocalGDB analyzer=CCpp abrt-action-trim-files -f 4096m:/var/cache/abrt-di
-EVENT=reanalyze_LocalGDB analyzer=CCpp abrt-action-analyzecore.py --core="$DUMP_DIR/coredump"; abrt-action-install-debuginfo
-EVENT=reanalyze_LocalGDB analyzer=CCpp abrt-action-generate-backtrace
-EVENT=reanalyze_LocalGDB analyzer=CCpp abrt-action-analyze-backtrace
-EVENT=reanalyze_RetraceServer analyzer=CCpp abrt-retrace-client batch -k --dir "$DUMP_DIR"
-EVENT=reanalyze_RetraceServer analyzer=CCpp abrt-action-analyze-backtrace
+EVENT=reanalyze_LocalGDB analyzer=CCpp
+ abrt-action-trim-files -f 4096m:/var/cache/abrt-di &&
+ abrt-action-analyze-core.py --core="$DUMP_DIR/coredump" &&
+ abrt-action-install-debuginfo &&
+ abrt-action-generate-backtrace &&
+ abrt-action-analyze-backtrace
+
+EVENT=reanalyze_RetraceServer analyzer=CCpp
+ abrt-retrace-client batch -k --dir "$DUMP_DIR" &&
+ abrt-action-analyze-backtrace
-EVENT=report_Bugzilla analyzer=CCpp abrt-action-bugzilla -c /etc/abrt/plugins/Bugzilla.conf
+EVENT=report_Bugzilla analyzer=CCpp
+ abrt-action-bugzilla -c /etc/abrt/plugins/Bugzilla.conf