summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* extend run_event() to run_event_on_dir_name() and run_event_on_crash_data()Denys Vlasenko2010-12-2222-57/+119
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* src/report-python: expose CD_FLAG_foo constants to Python wrapperDenys Vlasenko2010-12-223-1/+16
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* *: rename *crash_dump.* -> *crash_data.*Denys Vlasenko2010-12-2225-30/+30
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* src/report-python: add report package compatibilityDenys Vlasenko2010-12-218-1/+190
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* create_dump_dir: add base_dir_name parameter.Denys Vlasenko2010-12-1610-35/+147
| | | | | | | | This makes python wrappers more usable. src/report-python/test_full demonstrates how pyhton programs can run reporting now. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* report-python/run_event.c: python wrappers for run_event.h APIDenys Vlasenko2010-12-166-3/+255
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* report-python/dump_dir: fix SEGV when dd.op() operates on closed ddDenys Vlasenko2010-12-161-0/+26
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* python wrapper: trivial cleanupDenys Vlasenko2010-12-163-7/+0
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* Rename foo_crash_dump_dir -> foo_dump_dirDenys Vlasenko2010-12-1520-57/+40
| | | | | | | | | | | | | To be exact, these three functions are renamed: load_crash_data_from_crash_dump_dir create_crash_dump_dir delete_crash_dump_dir Rationale: data structure is called "struct dump_dir", not "struct crash_dump_dir" Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* set chmod 0755 on test progsDenys Vlasenko2010-12-152-0/+0
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* python wrappers: make crash_data.create_crash_dump_dir() workDenys Vlasenko2010-12-156-19/+109
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* python wrappers: add dump_dir wrapperDenys Vlasenko2010-12-155-28/+205
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* simplify python wrapper codeDenys Vlasenko2010-12-155-106/+56
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* jury-rig compile for python2.6; small style fixesDenys Vlasenko2010-12-144-22/+24
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* a stub for report-pythonJiri Moskovcak2010-12-147-1/+313
|
* small fixes to map_string_t conversion suggested by KarelDenys Vlasenko2010-12-132-8/+9
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* convert Applet.cpp to C. Needed only one change: dbus' load_val -> load_charpDenys Vlasenko2010-12-092-14/+14
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* move test app for libreport from c++ to CDenys Vlasenko2010-12-092-3/+4
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* rename a few more files from .cpp to .cDenys Vlasenko2010-12-098-19/+34
| | | | | | | | | | | | Renamed files: KerneloopsSysLog.c abrt-action-rhtsupport.c abrt-action-upload.c abrt-action-kerneloops.c abrt-action-mailx.c abrt-action-print.c Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* rename libabrt.so to libreport.soDenys Vlasenko2010-12-097-26/+26
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* create report-libs-devel package; separate out report headersDenys Vlasenko2010-12-0911-68/+76
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* add abrt_ prefixes to abrt-internal functions in libabrt.soDenys Vlasenko2010-12-0822-77/+184
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* Rename some .cpp files to .cDenys Vlasenko2010-12-086-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apart from src/lib/Makefile.am changes, this is a pure rename, no textual changes to the files. Before patch set: $ size libabrt.so.0.0.1; ldd libabrt.so.0.0.1 text data bss dec hex filename 58031 2312 32 60375 ebd7 libabrt.so.0.0.1 linux-vdso.so.1 => (0x00007fffd46dc000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f373eabc000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f373e7b6000) libm.so.6 => /lib64/libm.so.6 (0x00007f373e531000) libc.so.6 => /lib64/libc.so.6 (0x00007f373e1b2000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f373df9c000) /lib64/ld-linux-x86-64.so.2 (0x00007f373efde000) After patch set: $ size libabrt.so.0.0.1; ldd libabrt.so.0.0.1 text data bss dec hex filename 51777 2064 32 53873 d271 libabrt.so.0.0.1 linux-vdso.so.1 => (0x00007fff48703000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fd63aa45000) libc.so.6 => /lib64/libc.so.6 (0x00007fd63a6c6000) /lib64/ld-linux-x86-64.so.2 (0x00007fd63af66000) Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* removal of C++isms from libabrt, part 2Denys Vlasenko2010-12-088-76/+24
| | | | | | This patch rewrites a few places where we use C++ strings Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* removal of C++isms from libabrt, part 1Denys Vlasenko2010-12-0828-484/+347
| | | | | | | | | | | | | This patch converts libabrt usage of C++ map<string, string> to a glib-based container, GHashTable. It is typedef-ed to map_string_h. We can't typedef it to map_string_t, since other parts of ABRT (daemon, cli) still use that name for C++ container. Also, exceptions are removed everywhere. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* remove unused function parse_args; make a few functions extern "C"Denys Vlasenko2010-12-075-71/+9
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* This patch changes crash data to use C structures.Denys Vlasenko2010-12-0626-458/+749
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The smallest data element is: struct crash_item { char *content; unsigned flags; }; where content is, eh, content, and flags is a bit flag field. crash_data_t is a map of crash_item's, implemented as a pointer to heap-allocated GHashTable. vector_of_crash_data_t is a vector of crash_data_t's, implemented as a pointer to heap-allocated GPtrArray. Most operations have light wrappers around them to hide the nature of the containers. For example, to free vector_of_crash_data, you need to use free_vector_of_crash_data(ptr) instead of open-coding g_ptr_array_free. The wrapper is thin. The goal is not so much to hide the implementation, but more to make it easier to use the correct function. dbus (un)marshalling functions convert crash_item to three-element array of strings, in order to keep compatibility with abrt-gui (python). This can be changed later to use native representation. crash_data_t and vector_of_crash_data_t are represented in "natural" way, no funny stuff there. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* preparatory patch: add -v to abrt-cli; remove unused func; make func staticDenys Vlasenko2010-12-035-37/+16
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* GUI: optimized the log window (possibly fixes rhbz#596592)Jiri Moskovcak2010-12-022-37/+50
| | | | | | - we used to change the whole textbuffer and redraw the whole textview, now we just add the last line - possibly fixes *gtk_text_mark_get_buffer bugs
* GHashTable: must use g_hash_table_replace instead of _insert to not leak keyDenys Vlasenko2010-12-011-3/+3
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* factor out headers so that "report lib" API is separated out of abrt APIDenys Vlasenko2010-12-0113-67/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch minimally affects code per se - it adds create_crash_dump_dir() function which takes in-memory representation of the dump (map_crash_data_t object) and creates an on-disk representation. Then it returns pointer to struct dump_dir. With this function, it is possible to run an event on a user-constructed map_crash_data_t: map_crash_data_t cd; add_to_crash_data(cd, "foo", "bar"); struct dump_dir *dd = create_crash_dump_dir(cd); char *dir_name = strdup(dd->dd_dir); dd_close(dd); run_event(run_state, dir_name, event); delete_crash_dump_dir(dir_name); which is, basically, what report library is about. The biggest part of the patch is reshuffling of header files, with the following result: three header files which are not cluttered by other ABRT stuff, and expose the following API each: crash_dump.h - in-memory crash dump data structs and ops dump_dir.h - on-disk crash dump data structs and ops run_event.h - run_event() and friends These is a test application, test_report.cpp.cpp, which demonstrates (and tests) usage of these headers. (grep for "test-report" and enable it in build system if you want it to be built). It creates a temporary dump in /var/run/abrt/tmp-NNNN-NNNNN and runs "report" event. Deleting of temp dump is disabled for testing purposes - you might want to see the contents. Here is how the binary looks like: text data bss dec hex filename 3730 668 48 4446 115e /usr/bin/test-report linux-vdso.so.1 => (0x00007ffffa80f000) libabrt.so.0 => /usr/lib64/libabrt.so.0 (0x00007fad1f35e000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003c1f200000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003c2c200000) libm.so.6 => /lib64/libm.so.6 (0x00007fad1f0da000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003c28e00000) libc.so.6 => /lib64/libc.so.6 (0x00007fad1ed5b000) /lib64/ld-linux-x86-64.so.2 (0x00007fad1f570000) Next step would be to clean up the namespace, then rename libabrt.so into libreport.so, then split it into a separate package so that we can install it without installing other two abrt .so files. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* get_reporter_plugin_settings() returns GHashTableNikola Pajkovsky2010-12-014-23/+70
| | | | | | | | | | | | static void get_reporter_plugin_settings(const vector_string_t& reporters, map_map_string_t &settings) a new interface is static GHashTable *get_reporter_plugin_settings(const vector_string_t& reporters) Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* new debuginfo install script rewritten in pythonJiri Moskovcak2010-11-294-424/+478
| | | | | | | | - using python alows us to use the yum API, so we can read the progress, file sizes, requires disk space, etc.. and seems to be faster the using yum --whatprovides + yumdownloader - it's easier to translate - we can drop dependency on yum-utils
* fix locking kerneloops conf file when -d not specifiedNikola Pajkovsky2010-11-291-1/+0
| | | | | | | when -c option is specified and -d option is not, keneloops locks his own confing file Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* preparatory patch for future factoring out of headers for reportlibDenys Vlasenko2010-11-2625-43/+42
| | | | | | Some files and functions are renamed, no logic changes. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt-action-rhtsupport: fix -c CONFFILE erroneously setting DUMPDIR tooDenys Vlasenko2010-11-261-1/+0
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* correct a comment about libraries' usersDenys Vlasenko2010-11-261-2/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* reorganize librariesDenys Vlasenko2010-11-2624-268/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does not change any code per se, it renames libABRTfoo -> libabrt_bar and moves a few functions around. After the patch, we are left with the following libs: libabrt - the stuff shared among most of abrt (like xmalloc, logging) libabrt_daemon - only daemon-related things are here (should probably be just moved into daemon - later) libabrt_dbus - daemon, cli and applet use this libabrt_web - abrt-action-foo where foo deals with network/web/ftp/... As a result, we have following reductions in dependent libs: /usr/libexec/abrt-hook-ccpp: linux-vdso.so.1 => () - libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 () + libabrt.so.0 => /usr/lib64/libabrt.so.0 () libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 () - libdbus-1.so.3 => /lib64/libdbus-1.so.3 () - libpthread.so.0 => /lib64/libpthread.so.0 () - librt.so.1 => /lib64/librt.so.1 () - libdl.so.2 => /lib64/libdl.so.2 () /usr/libexec/abrt-action-upload: linux-vdso.so.1 => () libtar.so.1 => /usr/lib64/libtar.so.1 () libcurl.so.4 => /usr/lib64/libcurl.so.4 () - libABRTdUtils.so.0 => /usr/lib64/libABRTdUtils.so.0 () - libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 () + libabrt.so.0 => /usr/lib64/libabrt.so.0 () libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 () - libdbus-1.so.3 => /lib64/libdbus-1.so.3 () Similar savings are in almost every abrt-action-foo. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* GUI: added a button to view a log when in verbose modeJiri Moskovcak2010-11-251-0/+30
|
* GUI: at least show warn when the rating is lowJiri Moskovcak2010-11-251-0/+8
| | | | | | - we lost the ability to query the reporters if they require rating during the plugins->separate process transition, so we can't disable the reporting, so at least show a warning about it...
* fixed build against libnotify 0.7Jiri Moskovcak2010-11-251-0/+7
|
* abrtd: suppress spurious warning about missing coredump and inform_allDenys Vlasenko2010-11-253-9/+14
| | | | | | Also plugs two memory leaks Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* taint flag is decimal representation of a bitmaskNikola Pajkovsky2010-11-252-14/+76
| | | | Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* abrt-action-install-debuginfo: removed generation of MISSING: stringDenys Vlasenko2010-11-241-5/+4
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt-cli: dont die if message element is missing in the dump dirDenys Vlasenko2010-11-241-2/+6
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* GUI: handle crashdir parameter in crash_cbJiri Moskovcak2010-11-231-1/+1
| | | | | | - crashdir in now in Crash signal, so we need to modify crash_cb to know about it, otherwise it ends up with exception and gui is not refreshed when crash happens while the gui is open
* remove sqlite DBDenys Vlasenko2010-11-2341-1676/+369
| | | | | | | | | | | | | | | | | | | | | | This change removes sqlite database. Database was used to find dump dirs by [UID:]UUID. This patch uses more natural way: dump dirs are addressed by their directory names. DB was also used to produce a list of dump dirs. Now it is done by iterating over the /var/spool/abrt directory. And finally, DB was also used to find duplicate UUIDs. Now it is done by iterating over the /var/spool/abrt directory. Crash count, "inform all" and reporting result message are moved from DB field to a file in dump dir. "Reported" DB field is deleted - if message != "", then this dump was reported. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* rhbz 623142Nikola Pajkovsky2010-11-223-0/+28
| | | | | | | Save tainted flag from /proc/sys/kernel/tainted. When flag is set to 1 TAINED string is added to bugzilla summary. Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* Merge branch 'remove-polkit'Nikola Pajkovsky2010-11-2212-333/+1
|\ | | | | | | | | | | * remove-polkit: remove PLUGIN_DYNAMIC_LOAD_UNLOAD remove polkit
| * remove PLUGIN_DYNAMIC_LOAD_UNLOADNikola Pajkovsky2010-11-195-129/+0
| | | | | | | | | | | | it contains polkit Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>