diff options
-rw-r--r-- | abrt.spec | 39 | ||||
-rw-r--r-- | doc/IMPLEMENTATION | 16 | ||||
-rw-r--r-- | lib/Plugins/Makefile.am | 33 | ||||
-rw-r--r-- | lib/Plugins/SOSreport.conf | 1 | ||||
-rw-r--r-- | src/Daemon/abrt.conf | 12 |
5 files changed, 51 insertions, 50 deletions
@@ -138,13 +138,14 @@ Requires: %{name} = %{version}-%{release} %description plugin-sosreport Plugin to include an sosreport in an abrt report. -%package plugin-bugzilla -Summary: %{name}'s bugzilla plugin -Group: System Environment/Libraries -Requires: %{name} = %{version}-%{release} +# Remove, we don't use bz in rhel +#%package plugin-bugzilla +#Summary: %{name}'s bugzilla plugin +#Group: System Environment/Libraries +#Requires: %{name} = %{version}-%{release} -%description plugin-bugzilla -Plugin to report bugs into the bugzilla. +#%description plugin-bugzilla +#Plugin to report bugs into the bugzilla. %package plugin-catcut Summary: %{name}'s catcut plugin @@ -202,7 +203,7 @@ Requires: %{name}-addon-ccpp, %{name}-addon-python # Default config of addon-ccpp requires gdb Requires: gdb >= 7.0-3 Requires: %{name}-gui -Requires: %{name}-plugin-bugzilla, %{name}-plugin-logger, %{name}-plugin-runapp +Requires: %{name}-plugin-logger, %{name}-plugin-ticketuploader, %{name}-plugin-sosreport #Requires: %{name}-plugin-firefox Obsoletes: bug-buddy Provides: bug-buddy @@ -224,8 +225,6 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} %find_lang %{name} -#rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib*.la -#rm -rf $RPM_BUILD_ROOT/%{_libdir}/%{name}/lib*.la # remove all .la and .a files find $RPM_BUILD_ROOT -name '*.la' -or -name '*.a' | xargs rm -f mkdir -p ${RPM_BUILD_ROOT}/%{_initrddir} @@ -330,9 +329,9 @@ fi %{_libdir}/%{name}/libKerneloops.so* %{_libdir}/%{name}/libKerneloopsScanner.so* %{_mandir}/man7/%{name}-KerneloopsScanner.7.gz -%{_libdir}/%{name}/libKerneloopsReporter.so* -%{_libdir}/%{name}/KerneloopsReporter.GTKBuilder -%{_mandir}/man7/%{name}-KerneloopsReporter.7.gz +#%{_libdir}/%{name}/libKerneloopsReporter.so* +#%{_libdir}/%{name}/KerneloopsReporter.GTKBuilder +#%{_mandir}/man7/%{name}-KerneloopsReporter.7.gz %files plugin-logger %defattr(-,root,root,-) @@ -355,14 +354,16 @@ fi %files plugin-sosreport %defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/%{name}/plugins/SOSreport.conf %{_libdir}/%{name}/libSOSreport.so* -%files plugin-bugzilla -%defattr(-,root,root,-) -%config(noreplace) %{_sysconfdir}/%{name}/plugins/Bugzilla.conf -%{_libdir}/%{name}/libBugzilla.so* -%{_libdir}/%{name}/Bugzilla.GTKBuilder -%{_mandir}/man7/%{name}-Bugzilla.7.gz + +#%files plugin-bugzilla +#%defattr(-,root,root,-) +#%config(noreplace) %{_sysconfdir}/%{name}/plugins/Bugzilla.conf +#%{_libdir}/%{name}/libBugzilla.so* +#%{_libdir}/%{name}/Bugzilla.GTKBuilder +#%{_mandir}/man7/%{name}-Bugzilla.7.gz %files plugin-catcut %defattr(-,root,root,-) @@ -403,6 +404,8 @@ fi %changelog * Wed Jan 20 2010 Jiri Moskovcak <jmoskovc@redhat.com> 1.0.4-1 +- enabled sosreport +- fixes in ticketuploader - GUI: redesign of reporter dialog (jmoskovc@redhat.com) - Set the prgname to "Automatic Bug Reporting Tool" fixes rhbz#550357 (jmoskovc@redhat.com) - CCpp analyzer: display __abort_msg in backtrace. closes rhbz#549735 (vda.linux@googlemail.com) diff --git a/doc/IMPLEMENTATION b/doc/IMPLEMENTATION index ae8ef71c..62ad5786 100644 --- a/doc/IMPLEMENTATION +++ b/doc/IMPLEMENTATION @@ -3,7 +3,7 @@ Implementation: C/C++ handling: ============== -we change /proc/sys/kernel/core_pattern to invoke abrtd helper to save +we change /proc/sys/kernel/core_pattern to invoke abrtd helper to save the coredump of crashing app: * helper source code: http://git.fedorahosted.org/git/abrt.git?p=abrt.git;a=blob_plain;f=src/Hooks/abrt-hook-python.cpp the code responsible for this: @@ -16,7 +16,7 @@ the code responsible for this: fOutCorePattern << CORE_PATTERN << endl; fOutCorePattern.close(); } - + %p - pid %s - signal %u - uid @@ -24,7 +24,7 @@ the code responsible for this: when some crash occurs abrt-hook-ccpp is invoked to store the coredump and some other info read from /proc/<pid>/: -executable: +executable: char buf[sizeof("/proc/%u/exe") + sizeof(int)*3]; sprintf(buf, "/proc/%u/exe", (int)pid); readlink(buf); @@ -32,7 +32,7 @@ executable: cmdline: char path[sizeof("/proc/%u/cmdline") + sizeof(int)*3]; sprintf(path, "/proc/%u/cmdline", (int)pid); - + both is saved to file in /var/cache/abrt/ccpp-<time>-<pid> readable only by owner the crashed process: int fd = open(pPath, O_WRONLY | O_TRUNC | O_CREAT, 0666); @@ -41,7 +41,7 @@ only by owner the crashed process: n = write(fd, buf, count); } while (n < 0 && errno == EINTR); } - + when the hook is done it signalize the daemon (be removing the lock file) and daemon process the written info and saves some aditional information: analyzer : name of the plugin used to analyze the crash (ccpp, python) @@ -59,8 +59,8 @@ daemon process the written info and saves some aditional information: 1. uid of the app owner 2. package name -This is all what happens when some app crashes, the next step is to process -the coredump and extract the backtrace. This is done on user demand by calling +This is all what happens when some app crashes, the next step is to process +the coredump and extract the backtrace. This is done on user demand by calling getReport(UUID) method or automatically if admin sets it in /etc/abrt/abrt.conf * UUID is unique id of the crash in the database, every user is allowed to see only his own crashes or kerneloops crashes @@ -81,7 +81,7 @@ abrt-debuginfo-install is a shell script using elfutils to get build-ids from co see http://git.fedorahosted.org/git/abrt.git?p=abrt.git;a=blob_plain;f=lib/Plugins/CCpp.cpp line 260 - gdb is run with the same privileges as the crashed app (setregid, setreuid) d) BT is saved to same directory where the coredump is - + Once the backtrace is processed all data from the /var/cache/abrt/ccpp-<time>-<pid> is sent over dbus to the client and then user can edit the backtrace. When user is happy about the report and command the client (gui, tui) to send the it, the client sends the data back diff --git a/lib/Plugins/Makefile.am b/lib/Plugins/Makefile.am index df35416f..43887274 100644 --- a/lib/Plugins/Makefile.am +++ b/lib/Plugins/Makefile.am @@ -6,11 +6,9 @@ pluginslib_LTLIBRARIES = \ libSQLite3.la \ libLogger.la \ libKerneloopsScanner.la\ - libKerneloopsReporter.la\ libKerneloops.la \ libRunApp.la \ libSOSreport.la \ - libBugzilla.la \ libCatcut.la \ libTicketUploader.la \ libPython.la \ @@ -18,9 +16,10 @@ pluginslib_LTLIBRARIES = \ # libFirefox.la dist_pluginslib_DATA = \ - KerneloopsReporter.GTKBuilder Logger.GTKBuilder \ - Mailx.GTKBuilder Bugzilla.GTKBuilder \ - TicketUploader.GTKBuilder Catcut.GTKBuilder + Logger.GTKBuilder \ + Mailx.GTKBuilder \ + TicketUploader.GTKBuilder \ + Catcut.GTKBuilder pluginsconfdir = $(PLUGINS_CONF_DIR) dist_pluginsconf_DATA = \ @@ -29,13 +28,13 @@ dist_pluginsconf_DATA = \ SQLite3.conf \ Logger.conf \ Kerneloops.conf \ - Bugzilla.conf \ Catcut.conf \ TicketUploader.conf \ FileTransfer.conf \ - Python.conf + Python.conf \ + SOSreport.conf -man_MANS = abrt-FileTransfer.7 abrt-Bugzilla.7 abrt-KerneloopsReporter.7 \ +man_MANS = abrt-FileTransfer.7 \ abrt-KerneloopsScanner.7 abrt-Logger.7 abrt-Mailx.7 abrt-plugins.7 \ abrt-SQLite3.7 abrt-RunApp.7 abrt-TicketUploader.7 # + abrt-Catcut.7 @@ -46,7 +45,6 @@ $(DESTDIR)/$(DEBUG_INFO_DIR): $(mkdir_p) '$@' install-data-hook: $(DESTDIR)/$(DEBUG_INFO_DIR) - chmod 0600 $(DESTDIR)$(sysconfdir)/abrt/plugins/Bugzilla.conf sed 's: = /var/: = $(localstatedir)/:g' -i \ $(DESTDIR)$(sysconfdir)/abrt/plugins/SQLite3.conf \ $(DESTDIR)$(sysconfdir)/abrt/plugins/Logger.conf @@ -77,10 +75,10 @@ libKerneloops_la_LDFLAGS = -avoid-version libKerneloops_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils # KerneloopsReporter -libKerneloopsReporter_la_SOURCES = KerneloopsReporter.cpp KerneloopsReporter.h -libKerneloopsReporter_la_LDFLAGS = -avoid-version -libKerneloopsReporter_la_LIBADD = $(CURL_LIBS) -libKerneloopsReporter_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils $(CURL_CFLAGS) -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" +#libKerneloopsReporter_la_SOURCES = KerneloopsReporter.cpp KerneloopsReporter.h +#libKerneloopsReporter_la_LDFLAGS = -avoid-version +#libKerneloopsReporter_la_LIBADD = $(CURL_LIBS) +#libKerneloopsReporter_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils $(CURL_CFLAGS) -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" # KerneloopsScanner libKerneloopsScanner_la_SOURCES = KerneloopsScanner.cpp KerneloopsScanner.h KerneloopsSysLog.cpp KerneloopsSysLog.h @@ -111,11 +109,12 @@ libRunApp_la_LDFLAGS = -avoid-version libSOSreport_la_SOURCES = SOSreport.cpp SOSreport.h libSOSreport_la_LDFLAGS = -avoid-version +# We don't use bugzilla to report RHEL bugs # Bugzilla -libBugzilla_la_SOURCES = Bugzilla.h Bugzilla.cpp -libBugzilla_la_LIBADD = $(XMLRPC_LIBS) $(XMLRPC_CLIENT_LIBS) -libBugzilla_la_LDFLAGS = -avoid-version -libBugzilla_la_CPPFLAGS = $(XMLRPC_CFLAGS) $(XMLRPC_CLIENT_CFLAGS) -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" +#libBugzilla_la_SOURCES = Bugzilla.h Bugzilla.cpp +#libBugzilla_la_LIBADD = $(XMLRPC_LIBS) $(XMLRPC_CLIENT_LIBS) +#libBugzilla_la_LDFLAGS = -avoid-version +#libBugzilla_la_CPPFLAGS = $(XMLRPC_CFLAGS) $(XMLRPC_CLIENT_CFLAGS) -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" # Catcut libCatcut_la_SOURCES = Catcut.h Catcut.cpp diff --git a/lib/Plugins/SOSreport.conf b/lib/Plugins/SOSreport.conf new file mode 100644 index 00000000..3201c6da --- /dev/null +++ b/lib/Plugins/SOSreport.conf @@ -0,0 +1 @@ +Enabled = yes diff --git a/src/Daemon/abrt.conf b/src/Daemon/abrt.conf index bffc48da..4c669ad6 100644 --- a/src/Daemon/abrt.conf +++ b/src/Daemon/abrt.conf @@ -5,8 +5,9 @@ # This has a remote possibility of breaking binaries and libraries, # and also SELinux gets unhappy about prelink trying to modify them. OpenGPGCheck = no +# gpgcheck is disabled, so we don't need to load any keys # GPG keys -OpenGPGPublicKeys = /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora +#OpenGPGPublicKeys = /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora # Blacklisted packages BlackList = nspluginwrapper # Which database plugin to use @@ -16,14 +17,12 @@ MaxCrashReportsSize = 1000 # Vector of actions and reporters which are activated immediately # after a crash occurs, comma separated. #ActionsAndReporters = Mailx("[abrt] new crash was detected") -#ActionsAndReporters = FileTransfer("store") -ActionsAndReporters = RunApp("test x\"`cat component`\" = x\"xorg-x11-server-Xorg\" && cp /var/log/Xorg.0.log .") # What actions or reporters to run on each crash type [ AnalyzerActionsAndReporters ] -Kerneloops = KerneloopsReporter -CCpp = Bugzilla, Logger -Python = Bugzilla, Logger +Kerneloops = TicketUploader +CCpp = TicketUploader, SOSreport +Python = TicketUploader, SOSreport #CCpp:xorg-x11-apps = RunApp("date", "date.txt") # Which Action plugins to run repeatedly @@ -31,4 +30,3 @@ Python = Bugzilla, Logger # h:m - at h:m # s - every s seconds 120 = KerneloopsScanner -#02:00 = FileTransfer |