diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-01-20 18:46:06 +0100 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-01-20 18:46:06 +0100 |
commit | 4f11e5697a459f787e45a9821f44d1674a68f848 (patch) | |
tree | 409c70f70d8100565ee3b7ebf744e0ddf54b8d58 | |
parent | 888ea986f9820db3d9cd256c82ec9b00eba9c26e (diff) | |
parent | 5eb422818258b63357ef1996de24db0ebe7c9cae (diff) | |
download | abrt-4f11e5697a459f787e45a9821f44d1674a68f848.tar.gz abrt-4f11e5697a459f787e45a9821f44d1674a68f848.tar.xz abrt-4f11e5697a459f787e45a9821f44d1674a68f848.zip |
Merge branch 'master' of ssh://git.fedorahosted.org/git/abrt
-rw-r--r-- | lib/Plugins/Bugzilla.cpp | 14 | ||||
-rw-r--r-- | lib/Plugins/KerneloopsScanner.cpp | 2 | ||||
-rw-r--r-- | lib/Plugins/Python.cpp | 2 | ||||
-rw-r--r-- | po/nl.po | 182 | ||||
-rw-r--r-- | src/Daemon/CommLayerServerDBus.cpp | 7 | ||||
-rw-r--r-- | src/Daemon/CrashWatcher.cpp | 3 | ||||
-rw-r--r-- | src/Daemon/Daemon.cpp | 6 | ||||
-rw-r--r-- | src/Daemon/MiddleWare.cpp | 53 |
8 files changed, 164 insertions, 105 deletions
diff --git a/lib/Plugins/Bugzilla.cpp b/lib/Plugins/Bugzilla.cpp index 8a5a7978..aafa0198 100644 --- a/lib/Plugins/Bugzilla.cpp +++ b/lib/Plugins/Bugzilla.cpp @@ -442,12 +442,12 @@ std::string CReporterBugzilla::Report(const map_crash_data_t& pCrashData, update_client(_("Checking for duplicates...")); bug_id = bz_server.check_uuid_in_bugzilla(component.c_str(), uuid.c_str()); - update_client(_("Logging into bugzilla...")); if ((Login == "") && (Password == "")) { VERB3 log("Empty login and password"); throw CABRTException(EXCEP_PLUGIN, _("Empty login and password. Please check Bugzilla.conf")); } + update_client(_("Logging into bugzilla...")); bz_server.login(Login.c_str(), Password.c_str()); if (bug_id > 0) @@ -458,7 +458,9 @@ std::string CReporterBugzilla::Report(const map_crash_data_t& pCrashData, bz_server.add_plus_one_cc(bug_id, Login.c_str()); } bz_server.logout(); - return BugzillaURL + "/show_bug.cgi?id=" + to_string(bug_id); + BugzillaURL += "/show_bug.cgi?id="; + BugzillaURL += to_string(bug_id); + return BugzillaURL; } update_client(_("Creating new bug...")); @@ -475,12 +477,16 @@ std::string CReporterBugzilla::Report(const map_crash_data_t& pCrashData, if (bug_id > 0) { - return BugzillaURL + "/show_bug.cgi?id=" + to_string(bug_id); + BugzillaURL += "/show_bug.cgi?id="; + BugzillaURL += to_string(bug_id); + return BugzillaURL; } - return BugzillaURL + "/show_bug.cgi?id="; + BugzillaURL += "/show_bug.cgi?id="; + return BugzillaURL; } +//todo: make static map_plugin_settings_t CReporterBugzilla::parse_settings(const map_plugin_settings_t& pSettings) { map_plugin_settings_t plugin_settings; diff --git a/lib/Plugins/KerneloopsScanner.cpp b/lib/Plugins/KerneloopsScanner.cpp index 47043c25..42ffd409 100644 --- a/lib/Plugins/KerneloopsScanner.cpp +++ b/lib/Plugins/KerneloopsScanner.cpp @@ -34,8 +34,6 @@ #include "KerneloopsSysLog.h" #include "KerneloopsScanner.h" -#include <limits.h> - // TODO: https://fedorahosted.org/abrt/ticket/78 CKerneloopsScanner::CKerneloopsScanner() diff --git a/lib/Plugins/Python.cpp b/lib/Plugins/Python.cpp index 79247d65..ad954681 100644 --- a/lib/Plugins/Python.cpp +++ b/lib/Plugins/Python.cpp @@ -5,9 +5,9 @@ static std::string CreateHash(const char *pDebugDumpDir) { - std::string uuid; CDebugDump dd; dd.Open(pDebugDumpDir); + std::string uuid; dd.LoadText(FILENAME_UUID, uuid); return uuid; } @@ -7,13 +7,13 @@ # Geert Warrink <geert.warrink@onsnet.nu>, 2009. # Richard van der Luit <nippur@fedoraproject.org>, 2009. # Geert Warrink <geert.warrink@onsnet.nu>, 2009, 2010. -#: ../src/Gui/CCReporterDialog.py:208 +#: ../src/Gui/CCReporterDialog.py:233 msgid "" msgstr "" "Project-Id-Version: abrt.master\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-01-14 15:35+0000\n" -"PO-Revision-Date: 2010-01-14 17:50+0100\n" +"POT-Creation-Date: 2010-01-20 09:57+0000\n" +"PO-Revision-Date: 2010-01-20 17:54+0100\n" "Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n" "Language-Team: nl <fedora-trans-list@redhat.com>\n" "MIME-Version: 1.0\n" @@ -51,10 +51,6 @@ msgstr "Rapporteer plugins" msgid "Database plugins" msgstr "Databse plugins" -#: ../src/Gui/ABRTPlugin.py:99 -msgid "Plugin name is not set, can't load its settings" -msgstr "Plugin naam is niet ingesteld, kan zijn instellingen niet laden" - #: ../src/Gui/CCDBusBackend.py:74 ../src/Gui/CCDBusBackend.py:97 msgid "Can't connect to system dbus" msgstr "Kan niet verbinden met systeem dbus" @@ -79,7 +75,8 @@ msgstr "(C) 2009 Red Hat, Inc." msgid "About ABRT" msgstr "Over ABRT" -#: ../src/Gui/ccgui.glade.h:3 ../src/Gui/abrt.desktop.in.h:1 +#: ../src/Gui/ccgui.glade.h:3 ../src/Gui/CCMainWindow.py:9 +#: ../src/Gui/report.glade.h:15 ../src/Gui/abrt.desktop.in.h:1 msgid "Automatic Bug Reporting Tool" msgstr "Automatisch bug rapporteer gereedschap" @@ -103,7 +100,7 @@ msgstr "Wacht a.u.b..." msgid "Plugins" msgstr "Plugins" -#: ../src/Gui/ccgui.glade.h:9 ../src/Gui/report.glade.h:6 +#: ../src/Gui/ccgui.glade.h:9 msgid "Report" msgstr "Rapport" @@ -148,31 +145,31 @@ msgid "_Help" msgstr "_Hulp" #. add pixbuff separatelly -#: ../src/Gui/CCMainWindow.py:76 +#: ../src/Gui/CCMainWindow.py:78 msgid "Icon" msgstr "Icoon" -#: ../src/Gui/CCMainWindow.py:84 +#: ../src/Gui/CCMainWindow.py:86 msgid "Package" msgstr "Pakket" -#: ../src/Gui/CCMainWindow.py:85 +#: ../src/Gui/CCMainWindow.py:87 msgid "Application" msgstr "Toepassing" -#: ../src/Gui/CCMainWindow.py:86 +#: ../src/Gui/CCMainWindow.py:88 msgid "Date" msgstr "Datum" -#: ../src/Gui/CCMainWindow.py:87 +#: ../src/Gui/CCMainWindow.py:89 msgid "Crash count" msgstr "Crash count" -#: ../src/Gui/CCMainWindow.py:88 +#: ../src/Gui/CCMainWindow.py:90 msgid "User" msgstr "Gebruiker" -#: ../src/Gui/CCMainWindow.py:156 +#: ../src/Gui/CCMainWindow.py:158 #, python-format msgid "" "Can't show the settings dialog\n" @@ -181,7 +178,7 @@ msgstr "" "Kan de instellingen dialoog niet tonen\n" "%s" -#: ../src/Gui/CCMainWindow.py:167 +#: ../src/Gui/CCMainWindow.py:169 #, python-format msgid "" "Unable to finish current task!\n" @@ -191,7 +188,7 @@ msgstr "" "%s" #. there is something wrong with the daemon if we cant get the dumplist -#: ../src/Gui/CCMainWindow.py:194 +#: ../src/Gui/CCMainWindow.py:196 #, python-format msgid "" "Error while loading the dumplist.\n" @@ -200,15 +197,15 @@ msgstr "" "Fout tijdens het laden van de dumplijst.\n" "%s" -#: ../src/Gui/CCMainWindow.py:231 +#: ../src/Gui/CCMainWindow.py:233 msgid "<b>This crash has been reported:</b>\n" msgstr "<b>Deze crash is gerapporteerd:</b>\n" -#: ../src/Gui/CCMainWindow.py:241 +#: ../src/Gui/CCMainWindow.py:247 msgid "<b>Not reported!</b>" msgstr "<b>Niet gerapporteerd!</b>" -#: ../src/Gui/CCMainWindow.py:290 +#: ../src/Gui/CCMainWindow.py:296 msgid "" "Unable to get report!\n" "Debuginfo is missing?" @@ -216,7 +213,7 @@ msgstr "" "Kan geen rapport krijgen!\n" "Mist debuginfo?" -#: ../src/Gui/CCMainWindow.py:309 +#: ../src/Gui/CCMainWindow.py:322 #, python-format msgid "" "Reporting failed!\n" @@ -225,25 +222,16 @@ msgstr "" "Rapporteren mislukte!\n" "%s" -#: ../src/Gui/CCMainWindow.py:328 ../src/Gui/CCMainWindow.py:355 +#: ../src/Gui/CCMainWindow.py:341 ../src/Gui/CCMainWindow.py:368 #, python-format msgid "Error getting the report: %s" msgstr "Fout tijdens het verkrijgen van het rapport: %s" -#: ../src/Gui/CCReporterDialog.py:136 -#, python-format -msgid "" -"Can't save plugin settings:\n" -" %s" -msgstr "" -"Kan de plugin instellingen niet opslaan:\n" -" %s" - -#: ../src/Gui/CCReporterDialog.py:194 -msgid "Brief description how to reproduce this or what you did..." -msgstr "Korte beschrijving hoe dit te reproduceren is of wat je deed..." +#: ../src/Gui/CCReporterDialog.py:97 +msgid "You must agree with submitting the backtrace." +msgstr "Je moet het goed vinden om de backtrace op te sturen." -#: ../src/Gui/CCReporterDialog.py:239 +#: ../src/Gui/CCReporterDialog.py:108 #, python-format msgid "" "Reporting disabled because the backtrace is unusable.\n" @@ -256,11 +244,11 @@ msgstr "" "<b>debuginfo-install %s</b> \n" "en gebruik dan de Verversen knop om de backtrace opnieuw te genereren." -#: ../src/Gui/CCReporterDialog.py:241 +#: ../src/Gui/CCReporterDialog.py:110 msgid "The backtrace is unusable, you can't report this!" msgstr "De backtrace in niet bruikbaar, je kunt dit niet rapporteren!" -#: ../src/Gui/CCReporterDialog.py:246 +#: ../src/Gui/CCReporterDialog.py:113 msgid "" "The backtrace is incomplete, please make sure you provide good steps to " "reproduce." @@ -268,18 +256,20 @@ msgstr "" "De backtrace is niet compleet, wees er zeker van om voor het genereren de " "juiste stappen op te volgen." -#: ../src/Gui/CCReporterDialog.py:296 +#: ../src/Gui/CCReporterDialog.py:153 #, python-format msgid "" -"<b>WARNING</b>, you're about to send data which might contain sensitive " -"information.\n" -"Do you really want to send <b>%s</b>?\n" +"Can't save plugin settings:\n" +" %s" msgstr "" -"<b>WAARSCHUWING</b>, je staat op het punt om data te versturen die gevoelige " -"informatie kan bevatten\n" -"Wil je <b>%s</b> echt versturen?\n" +"Kan de plugin instellingen niet opslaan:\n" +" %s" -#: ../src/Gui/dialogs.glade.h:1 ../src/Gui/report.glade.h:5 +#: ../src/Gui/CCReporterDialog.py:219 +msgid "Brief description how to reproduce this or what you did..." +msgstr "Korte beschrijving hoe dit te reproduceren is of wat je deed..." + +#: ../src/Gui/dialogs.glade.h:1 ../src/Gui/report.glade.h:17 msgid "Log" msgstr "Log" @@ -310,18 +300,68 @@ msgid " " msgstr " " #: ../src/Gui/report.glade.h:2 -msgid "<b>Comment</b>" -msgstr "<b>Commentaar</b>" +msgid "<b>Attachments</b>" +msgstr "<b>Bijlagen</b>" #: ../src/Gui/report.glade.h:3 -msgid "<b>Following items will be sent</b>" -msgstr "<b>De volgende items zullen verzonden worden</b>" +msgid "<b>Backtrace</b>" +msgstr "<b>Backtrace</b>" #: ../src/Gui/report.glade.h:4 +msgid "<b>Comment</b>" +msgstr "<b>Commentaar</b>" + +#: ../src/Gui/report.glade.h:5 msgid "<b>How to reproduce (in a few simple steps)</b>" msgstr "<b>Hoe het te reproduceren (in een paar eenvoudige stappen)</b>" +#: ../src/Gui/report.glade.h:6 +msgid "<b>Please fix the following problems</b>" +msgstr "<b>Los a.u.b. de volgende problemen op</b>" + #: ../src/Gui/report.glade.h:7 +msgid "<span fgcolor=\"blue\">Architecture:</span>" +msgstr "<span fgcolor=\"blue\">Architectuur:</span>" + +#: ../src/Gui/report.glade.h:8 +msgid "<span fgcolor=\"blue\">Cmdline:</span>" +msgstr "<span fgcolor=\"blue\">Cmdregel:</span>" + +#: ../src/Gui/report.glade.h:9 +msgid "<span fgcolor=\"blue\">Component:</span>" +msgstr "<span fgcolor=\"blue\">Onderdeel:</span>" + +#: ../src/Gui/report.glade.h:10 +msgid "<span fgcolor=\"blue\">Executable:</span>" +msgstr "<span fgcolor=\"blue\">Uitvoerbaar programma:</span>" + +#: ../src/Gui/report.glade.h:11 +msgid "<span fgcolor=\"blue\">Kernel:</span>" +msgstr "<span fgcolor=\"blue\">Kernel:</span>" + +#: ../src/Gui/report.glade.h:12 +msgid "<span fgcolor=\"blue\">Package:</span>" +msgstr "<span fgcolor=\"blue\">Pakket:</span>" + +#: ../src/Gui/report.glade.h:13 +msgid "<span fgcolor=\"blue\">Reason:</span>" +msgstr "<span fgcolor=\"blue\">Reden:</span>" + +#: ../src/Gui/report.glade.h:14 +msgid "<span fgcolor=\"blue\">Release:</span>" +msgstr "<span fgcolor=\"blue\">Vrijgave:</span>" + +#: ../src/Gui/report.glade.h:16 +msgid "I agree to submit this backtrace, which could contain sensitive data" +msgstr "" +"Ik ben er mee eens om deze backtrace in te dienen, hoewel hij gevoelige data " +"kan bevatten" + +#: ../src/Gui/report.glade.h:18 +msgid "N/A" +msgstr "n.v.t." + +#: ../src/Gui/report.glade.h:19 msgid "Send" msgstr "Verzenden" @@ -441,12 +481,12 @@ msgstr "gtk-ok" msgid "View and report application crashes" msgstr "Bekijk en rapporteer crashes van toepassingen" -#: ../src/Applet/Applet.cpp:79 +#: ../src/Applet/Applet.cpp:78 #, c-format msgid "A crash in package %s has been detected" msgstr "Een crash in pakket %s is ontdekt" -#: ../src/Applet/Applet.cpp:254 +#: ../src/Applet/Applet.cpp:253 msgid "ABRT service is not running" msgstr "ABRT service draait niet" @@ -454,7 +494,7 @@ msgstr "ABRT service draait niet" msgid "Warning" msgstr "Waarschuwing" -#: ../src/Daemon/Daemon.cpp:474 +#: ../src/Daemon/Daemon.cpp:473 msgid "" "Report size exceeded the quota. Please check system's MaxCrashReportsSize " "value in abrt.conf." @@ -496,31 +536,31 @@ msgstr "Nieuwe bug aanmaken..." msgid "Logging out..." msgstr "Uitloggen..." -#: ../lib/Plugins/Kerneloops.cpp:37 +#: ../lib/Plugins/Kerneloops.cpp:35 msgid "Getting local universal unique identification" msgstr "Verkrijgen van locale universele unieke identificatie" -#: ../lib/Plugins/CCpp.cpp:257 +#: ../lib/Plugins/CCpp.cpp:253 msgid "Generating backtrace" msgstr "Aangemaakte backtrace" -#: ../lib/Plugins/CCpp.cpp:376 +#: ../lib/Plugins/CCpp.cpp:375 msgid "Starting debuginfo installation" msgstr "Start debuginfo installatie" -#: ../lib/Plugins/CCpp.cpp:527 +#: ../lib/Plugins/CCpp.cpp:526 msgid "Getting local universal unique identification..." msgstr "Verkrijgen van locale universele unieke identificatie..." -#: ../lib/Plugins/CCpp.cpp:546 +#: ../lib/Plugins/CCpp.cpp:545 msgid "Getting global universal unique identification..." msgstr "Verkrijgen van golbale universele unieke identificatie..." -#: ../lib/Plugins/CCpp.cpp:725 +#: ../lib/Plugins/CCpp.cpp:723 msgid "Skipping debuginfo installation" msgstr "Sla debuginfo installatie over" -#: ../lib/Plugins/KerneloopsReporter.cpp:102 +#: ../lib/Plugins/KerneloopsReporter.cpp:100 msgid "Creating and submitting a report..." msgstr "Aanmaken en indienen van rapport..." @@ -552,11 +592,11 @@ msgstr "Kan geen archief maken en versturen: %s" msgid "Can't create and send an archive %s" msgstr "Kan archief %s niet aanmaken en versturen" -#: ../lib/Plugins/KerneloopsScanner.cpp:84 +#: ../lib/Plugins/KerneloopsScanner.cpp:81 msgid "Creating kernel oops crash reports..." msgstr "Aanmaken van kernel oops crash rapporten..." -#: ../lib/Plugins/Mailx.cpp:147 +#: ../lib/Plugins/Mailx.cpp:137 msgid "Sending an email..." msgstr "Versturen van email..." @@ -573,6 +613,21 @@ msgstr "sosreport draaien: %s" msgid "done running sosreport" msgstr "klaar met het draaien van sosreport" +#~ msgid "Plugin name is not set, can't load its settings" +#~ msgstr "Plugin naam is niet ingesteld, kan zijn instellingen niet laden" + +#~ msgid "" +#~ "<b>WARNING</b>, you're about to send data which might contain sensitive " +#~ "information.\n" +#~ "Do you really want to send <b>%s</b>?\n" +#~ msgstr "" +#~ "<b>WAARSCHUWING</b>, je staat op het punt om data te versturen die " +#~ "gevoelige informatie kan bevatten\n" +#~ "Wil je <b>%s</b> echt versturen?\n" + +#~ msgid "<b>Following items will be sent</b>" +#~ msgstr "<b>De volgende items zullen verzonden worden</b>" + #~ msgid "Searching for debug-info packages..." #~ msgstr "Zoeken naar debug-info pakketten..." @@ -585,9 +640,6 @@ msgstr "klaar met het draaien van sosreport" #~ msgid "Starting report creation..." #~ msgstr "Beginnen met rapport aanmaken..." -#~ msgid "<span color=\"white\">Description</span>" -#~ msgstr "<span color=\"white\">Beschrijving</span>" - #~ msgid "Working..." #~ msgstr "Ben bezig..." diff --git a/src/Daemon/CommLayerServerDBus.cpp b/src/Daemon/CommLayerServerDBus.cpp index fef8c578..ddfbba49 100644 --- a/src/Daemon/CommLayerServerDBus.cpp +++ b/src/Daemon/CommLayerServerDBus.cpp @@ -249,15 +249,14 @@ static int handle_Report(DBusMessage* call, DBusMessage* reply) } } +#if 0 //const char * sender = dbus_message_get_sender(call); if (!user_conf_data.empty()) { - std::string PluginName; map_map_string_t::const_iterator it_user_conf_data = user_conf_data.begin(); for (; it_user_conf_data != user_conf_data.end(); it_user_conf_data++) { - PluginName = it_user_conf_data->first; -#if DEBUG + std::string PluginName = it_user_conf_data->first; std::cout << "plugin name: " << it_user_conf_data->first; map_string_t::const_iterator it_plugin_config; for (it_plugin_config = it_user_conf_data->second.begin(); @@ -266,11 +265,11 @@ static int handle_Report(DBusMessage* call, DBusMessage* reply) { std::cout << " key: " << it_plugin_config->first << " value: " << it_plugin_config->second << std::endl; } -#endif // this would overwrite the default settings //g_pPluginManager->SetPluginSettings(PluginName, sender, plugin_settings); } } +#endif long unix_uid = get_remote_uid(call); report_status_t argout1; diff --git a/src/Daemon/CrashWatcher.cpp b/src/Daemon/CrashWatcher.cpp index 8a1aacdd..80d8cd47 100644 --- a/src/Daemon/CrashWatcher.cpp +++ b/src/Daemon/CrashWatcher.cpp @@ -98,13 +98,12 @@ vector_map_crash_data_t GetCrashInfos(const char *pUID) */ map_crash_data_t CreateReport(const char* pUUID, const char* pUID, int force) { - map_crash_data_t crashReport; - /* FIXME: starting from here, any shared data must be protected with a mutex. * For example, CreateCrashReport does: * g_pPluginManager->GetDatabase(g_settings_sDatabase.c_str()); * which is unsafe wrt concurrent updates to g_pPluginManager state. */ + map_crash_data_t crashReport; mw_result_t res = CreateCrashReport(pUUID, pUID, force, crashReport); switch (res) { diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp index 2964d582..c7acffc3 100644 --- a/src/Daemon/Daemon.cpp +++ b/src/Daemon/Daemon.cpp @@ -320,9 +320,9 @@ static void FindNewDumps(const char* pPath) vector_string_t::iterator itt = dirs.begin(); for (; itt != dirs.end(); ++itt) { - map_crash_data_t crashinfo; try { + map_crash_data_t crashinfo; mw_result_t res = SaveDebugDump(itt->c_str(), crashinfo); switch (res) { @@ -476,11 +476,11 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin worst_dir = ""; } - map_crash_data_t crashinfo; try { std::string fullname = concat_path_file(DEBUG_DUMPS_DIR, name); - + map_crash_data_t crashinfo; +//todo: rename SaveDebugDump to ???? it does not save crashinfo, it FETCHES crashinfo mw_result_t res = SaveDebugDump(fullname.c_str(), crashinfo); switch (res) { diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp index 4f24ee11..a2b20e68 100644 --- a/src/Daemon/MiddleWare.cpp +++ b/src/Daemon/MiddleWare.cpp @@ -120,29 +120,11 @@ static char* is_text_file(const char *name, ssize_t *sz) return NULL; /* it's binary */ } -/** - * Transforms a debugdump direcortry to inner crash - * report form. This form is used for later reporting. - * @param pDebugDumpDir A debugdump dir containing all necessary data. - * @param pCrashData A created crash report. - */ -static void DebugDumpToCrashReport(const char *pDebugDumpDir, map_crash_data_t& pCrashData) +static void load_crash_data_from_debug_dump(CDebugDump& dd, map_crash_data_t& data) { - CDebugDump dd; - dd.Open(pDebugDumpDir); - if (!dd.Exist(FILENAME_ARCHITECTURE) - || !dd.Exist(FILENAME_KERNEL) - || !dd.Exist(FILENAME_PACKAGE) - || !dd.Exist(FILENAME_COMPONENT) - || !dd.Exist(FILENAME_RELEASE) - || !dd.Exist(FILENAME_EXECUTABLE) - ) { - throw CABRTException(EXCEP_ERROR, "DebugDumpToCrashReport(): One or more of important file(s) are missing"); - } - std::string short_name; std::string full_name; - pCrashData.clear(); + dd.InitGetNextFile(); while (dd.GetNextFile(&short_name, &full_name)) { @@ -150,7 +132,7 @@ static void DebugDumpToCrashReport(const char *pDebugDumpDir, map_crash_data_t& char *text = is_text_file(full_name.c_str(), &sz); if (!text) { - add_to_crash_data_ext(pCrashData, + add_to_crash_data_ext(data, short_name.c_str(), CD_BIN, CD_ISNOTEDITABLE, @@ -173,7 +155,7 @@ static void DebugDumpToCrashReport(const char *pDebugDumpDir, map_crash_data_t& || short_name == FILENAME_RELEASE || short_name == FILENAME_EXECUTABLE ) { - add_to_crash_data_ext(pCrashData, + add_to_crash_data_ext(data, short_name.c_str(), CD_TXT, CD_ISNOTEDITABLE, @@ -190,7 +172,7 @@ static void DebugDumpToCrashReport(const char *pDebugDumpDir, map_crash_data_t& && short_name != FILENAME_COMMENT ) { add_to_crash_data_ext( - pCrashData, + data, short_name.c_str(), CD_TXT, CD_ISEDITABLE, @@ -201,6 +183,29 @@ static void DebugDumpToCrashReport(const char *pDebugDumpDir, map_crash_data_t& } /** + * Transforms a debugdump directory to inner crash + * report form. This form is used for later reporting. + * @param pDebugDumpDir A debugdump dir containing all necessary data. + * @param pCrashData A created crash report. + */ +static void DebugDumpToCrashReport(const char *pDebugDumpDir, map_crash_data_t& pCrashData) +{ + CDebugDump dd; + dd.Open(pDebugDumpDir); + if (!dd.Exist(FILENAME_ARCHITECTURE) + || !dd.Exist(FILENAME_KERNEL) + || !dd.Exist(FILENAME_PACKAGE) + || !dd.Exist(FILENAME_COMPONENT) + || !dd.Exist(FILENAME_RELEASE) + || !dd.Exist(FILENAME_EXECUTABLE) + ) { + throw CABRTException(EXCEP_ERROR, "DebugDumpToCrashReport(): One or more of important file(s) are missing"); + } + + load_crash_data_from_debug_dump(dd, pCrashData); +} + +/** * Get a local UUID from particular analyzer plugin. * @param pAnalyzer A name of an analyzer plugin. * @param pDebugDumpDir A debugdump dir containing all necessary data. @@ -299,7 +304,7 @@ mw_result_t CreateCrashReport(const char *pUUID, std::string gUUID = GetGlobalUUID(analyzer.c_str(), row.m_sDebugDumpDir.c_str()); VERB3 log(" GetGlobalUUID:'%s'", gUUID.c_str()); - VERB3 log(" RunAnalyzerActions"); + VERB3 log(" RunAnalyzerActions('%s','%s')", analyzer.c_str(), row.m_sDebugDumpDir.c_str()); RunAnalyzerActions(analyzer.c_str(), row.m_sDebugDumpDir.c_str()); VERB3 log(" DebugDumpToCrashReport"); DebugDumpToCrashReport(row.m_sDebugDumpDir.c_str(), pCrashData); |