Re: [Crash-catcher] improving handling of debuginfos by abrt
by Jan Kratochvil
Hi,
Cced to <crash-catcher(a)lists.fedorahosted.org>.
On Wed, 26 Aug 2009 04:31:12 +0200, Denys Vlasenko wrote:
> When we process a crash, we have a core file. We just run gdb on it
> in batch mode by running
>
> gdb -batch -x FILE
>
> where FILE contains:
>
> file BINARY
> code COREFILE
^^^^->core-file
Fedora GDB does not need the first "file" command, it will find out the binary
by its build-id. But for binaries either without build-id (=built on
non-Fedora GCC) or which do not have their debuginfo rpm installed we would
not find the filename of BINARY so it is right to say also "file BINARY".
> thread apply all backtrace full
> q
> It tries to locate debuginfo by finding executable's build id,
> [Jan, can you expand on this - does gdb look at executable
> or at the core file in order to find build id? If it looks at core file
> for this, does code file contain build ids of loaded libraries too?]
> then looks it up in /usr/lib/debug/.build-id/XX/XXXXXXXXXXXXXXX
> and uses if it is found.
If you type "file BINARY" it will try to find the separate .debug file
according to the build-id of BINARY. In such case COREFILE build-id would be
ignored.
If you type just "core-file COREFILE" (without "file BINARY") it will find the
binary according to its build-id.
Libraries are always found preferred to their build-id.
Separate debug info files for binaries and libraries are always found
preferred according to the build-id in the binary/library (not core file).
But as build-id of the binary, .debug file and the core file note must be
always the same by definition this paragraph is just an implementation detail.
> example:
> # ls -l /usr/lib/debug/.build-id/00/5af5b5e7d6ab560825b0747fcbe41112431b8c.debug
> lrwxrwxrwx 1 root root 28 2009-07-20 18:08 /usr/lib/debug/.build-id/00/5af5b5e7d6ab560825b0747fcbe41112431b8c.debug -> ../../usr/bin/makestrs.debug
>
> However, we (abrt) do not know whether debuginfo is installed,
> so currently we just run "debuginfo-install -y -- PACKAGE".
ABRT should
eu-unstrip -n --core=/tmp/core.20546
and for its each produced line like
0x3979600000+0x36e000 ec8dd400904ddfcac8b1c343263a790f977159dc@0x3979600280 /lib64/libc-2.10.1.so /usr/lib/debug/lib64/libc-2.10.1.so.debug libc.so.6
use
yum --enablerepo='*-debuginfo' install /usr/lib/debug/.build-id/ec/8dd400904ddfcac8b1c343263a790f977159dc.debug
(or some other yum/gpk command what recommend their maintainers)
> This is a simple approach, but it has several drawbacks.
Yes, I was already suggesting the direct build-id way before which avoids the
package versions mistakes and it may even work one day after we convince
releng they should keep debuginfos even for some (all) previous versions of
packages. Currently for any longterm running programs/daemons the crash
backtrace always fails as there is no longer the debuginfo available for the
running version of the program (while the on-disk program binary is already
updated, incl. its debuginfo package, even if it was already installed).
> So, Jan, what is this pk-debuginfo-install thing, and how it can
> help us here?
Tried installing pk-debuginfo-install but it wanted to install some graphical
mess. Crashes bugreporting must not rely on graphical tools to be usable on
the RHEL text-only server farms.
Thanks,
Jan
14 years, 7 months
[Crash-catcher] improving handling of debuginfos by abrt
by Denys Vlasenko
Hi Richard, folks,
Jiri said to me on IRC:
<jmoskovc> the debuginfo-install support in PackageKit seems to be finally working
<jmoskovc> so if you want, you can change the old debuginfo-install script for pk-debuginfo-install
Here is a quick recap how we currently do it, what's wrong with it,
and how it can be improved.
When we process a crash, we have a core file. We just run gdb on it
in batch mode by running
gdb -batch -x FILE
where FILE contains:
file BINARY
code COREFILE
thread apply all backtrace full
q
This produces a backtrace. gdb tries to produce better backtrace
(with line numbers, variable names and so on) using debug info.
It tries to locate debuginfo by finding executable's build id,
and uses debuginfo if it is found.
example:
# ls -l /usr/lib/debug/.build-id/00/5af5b5e7d6ab560825b0747fcbe41112431b8c.debug
lrwxrwxrwx 1 root root 28 2009-07-20 18:08 /usr/lib/debug/.build-id/00/5af5b5e7d6ab560825b0747fcbe41112431b8c.debug -> ../../usr/bin/makestrs.debug
However, we (abrt) do not know whether debuginfo is installed,
so currently we just run "debuginfo-install -y -- PACKAGE".
This is a simple approach, but it has several drawbacks.
* we install debuginfo packages even if debuginfo files
are present. For example, some people in large installations
mount a network filesystem on /usr/lib/debug/ with *all* debuginfos
installed, in order to reduce unneeded downloads.
Running debuginfo-install in this case is not only unproductive,
it will likely fail.
* we install all debuginfos, even those not needed for this particular
crash. There may be dozens of libraries linked in, yet the stacktrace
processing may not need debuginfo for most of them.
* Jiri pointed out another problem: we may be installing debuginfos
for a wrong version of the executable. It does not mess up stacktrace,
it just does not help gdb at all.
So, Richard, what is this pk-debuginfo-install thing, and how it can
help us here? In what ways is it different from debuginfo-install?
--
vda
14 years, 7 months
[Crash-catcher] Duplicate detection
by Jiri Moskovcak
Hi,
since we ship abrt with F12 we have a lot of reports where ABRT fails to
detect that it's a duplicate. So, we should try to improve the dupe
finding algorithm (our way of calculating the hash which we use to find
the dupe is really unreliable).
One idea mcepl pointed me to is to calculate the hash only from the
last 5 calls before crash handler, as there could be many ways to same
crash.
The other idea is to try to find even "duplicate candidates" and add
them to report to help the developer speed up the triaging.
So, let's think about it and send write what do you think.
Here could be found some inspiration:
http://live.gnome.org/Bugsquad/TriageGuide/FindingDuplicates
Jirka
14 years, 7 months
Re: [Crash-catcher] ABRT features plan
by Jiri Moskovcak
On 09/24/2009 08:14 AM, Zdenek Prikryl wrote:
> On 09/24/2009 07:56 AM, Zdenek Prikryl wrote:
>> On 09/23/2009 01:41 PM, Jiri Moskovcak wrote:
>>> I'm more concern about how we bind the 3rd party packages to it's
>>> reporter automatically. Your proposed solution would mean that
>>> every-time user will install package from 3rd party repo he will need to
>>> change abrt's configuration which is really not good.
>
> And this is not true, The mplayer was just an example, you can have
> something like this [1] generated in automatic way, when an user accept
> new repo. Again, I don't bother with syntax, so this is just an example.
>
> [1] CCpp : * : "RPM Fusion" = ....
>
If the configuration can be written (determined) automatically why it
should be written at all (maybe just to speed things up?)? The main
question here is: how to get bugzilla url automatically? for gnome apps
(and hopefully for KDE apps and any other desktop apps) we'll have the
desktop file file bugzilla url.
Jirka
p.s: please keep the mailing list in CC.
14 years, 7 months
[Crash-catcher] ABRT features plan
by Jiri Moskovcak
Hi, this is my "brain dump" of ABRT development plan, I hope you'll add
some of yours and then we can discuss this later.
Jirka
>> Urgent <<
daemon can't read/write config from home dir
- we need to move this to client (gui, applet)
>> Minor <<
finish saving the global settings from gui
improve the GUI:
- I'd like the gui to be more like wizard
improve the dbus methods return values
- all methods should return some value to let client know how it end
- e.g. {Re,Unre}gister plugin doesn't return anything, so GUI
doesn't know how did it go
>> Long term features <<
add some other logic for creating the BT:
- I'd like to have some "on server" BT creating
- we can use tools like pstack, addr2line and others to
reconstruct" the BT on server
- this should help us to get better information about crash even if
debuginfo is not installed on client side
- this is really rough idea and your comments/ideas are more than
welcome
deal with "foreign" packages:
- how can we report bugs in packages from 3rd party repositories
(RPMFusion)
deal with "special" packages:
- gnome*, qt*, kde* packages should be reported to upstream
deal with self-compiled apps/libs:
- if we can detect, that some app crashed because user uses
unsupported version of some library it would speed the resolution
Qt GUI:
- as the plan is to replace dr.konqi in KDE we should have Qt
version of GUI
14 years, 7 months
[Crash-catcher] unification of CommLayer, MiddleWare and Utils into Utils
by Denys Vlasenko
<dvlasenk> on a slightly different matter: I want to unite CommLayer, MiddleWare and Utils into Utils
<dvlasenk> They are all user in the same way: a common utility functions for daemon/applet/CLI.
<dvlasenk> any objections?
* jmoskovc is thinking ...
<jmoskovc> I wouldn't say that mw and commlayer contains "common utility functions
<jmoskovc> ok, maybe merging utils and mw makes sense
<jmoskovc> but i'm against merging commlayer into utils
Let's look what is in these directories.
They do not contain a significantly massive code:
CommLayer:
CommLayerInner.{h,cpp} -> warn_client(str), update_client(str) and relevant init functions
DBusClientProxy.{h,cpp} -> client's dbus comm (I plan to simplify this)
DBusCommon.h -> typedefs and #de3fines only
Observer.h -> simple class abstracting out DBUS/socket comm
MiddleWare: -> Plugin API
Action.h
Analyzer.h
Database.h
Reporter.h
Plugin.{h,cpp} -> Plugin trivial virtual functions
They are small enough to not warrant separate libs.
(We do not put strlen ans chdir in different libs either,
they are in the same one (glibc) even though the functions
are not related, right?)
We bundle CommLayer, MiddleWare and Utils into single rpm,
abrt-libs-0.0.8.5-1.fc11.x86_64.rpm,
so user can't install only Utils. This is understandable since
we almost always use all three of them:
bin/abrt-applet:
libABRTCommLayer.so.0 => /usr/lib64/libABRTCommLayer.so.0 (0x00007fbdb21ef000)
libABRTMiddleWare.so.0 => /usr/lib64/libABRTMiddleWare.so.0 (0x00007fbdb1fee000)
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007fbdb1dde000)
bin/abrt-cli:
libABRTCommLayer.so.0 => /usr/lib64/libABRTCommLayer.so.0 (0x00007f4411437000)
libABRTMiddleWare.so.0 => /usr/lib64/libABRTMiddleWare.so.0 (0x00007f4411236000)
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007f4411026000)
bin/dumpoops:
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007f2bdcccd000)
libABRTMiddleWare.so.0 => /usr/lib64/libABRTMiddleWare.so.0 (0x00007f2bdcacc000)
libABRTCommLayer.so.0 => /usr/lib64/libABRTCommLayer.so.0 (0x00007f2bdc8bb000)
sbin/abrtd:
libABRTMiddleWare.so.0 => /usr/lib64/libABRTMiddleWare.so.0 (0x00007f96d4f9e000)
libABRTCommLayer.so.0 => /usr/lib64/libABRTCommLayer.so.0 (0x00007f96d4d8d000)
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007f96d4b7d000)
libexec/hookCCpp:
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007fc9bcec1000)
I prepared the patch which merges them, and with this patch I see
abrt-libs-0.0.8.5-1.fc11.x86_64.rpm reduced from 68235 to 59239, or:
text data bss dec hex filename
61659 4712 176 66547 103f3 abrt.z8/usr/lib64/libABRTCommLayer.so
2569 760 16 3345 d11 abrt.z8/usr/lib64/libABRTMiddleWare.so
60924 2176 40 63140 f6a4 abrt.z8/usr/lib64/libABRTUtils.so
to
112464 6024 208 118696 1cfa8 abrt.z9/usr/lib64/libABRTUtils.so
The slightly smaller size, because intra-DSO calls may be optimized
(we don't do it well....yet. But we can do it later).
Look at the simplifications in the patch itself:
diff -urp abrt.8/configure.ac abrt.9/configure.ac
--- abrt.8/configure.ac 2009-09-14 15:45:54.105470228 +0200
+++ abrt.9/configure.ac 2009-09-14 16:41:57.171720232 +0200
@@ -76,8 +76,6 @@ AC_CONFIG_FILES([
Makefile
lib/Makefile
lib/Utils/Makefile
- lib/MiddleWare/Makefile
- lib/CommLayer/Makefile
lib/Plugins/Makefile
lib/Python/Makefile
src/Makefile
diff -urp abrt.8/lib/Makefile.am abrt.9/lib/Makefile.am
--- abrt.8/lib/Makefile.am 2009-09-04 17:47:35.000000000 +0200
+++ abrt.9/lib/Makefile.am 2009-09-14 16:40:44.705471087 +0200
@@ -1 +1 @@
-SUBDIRS = Utils MiddleWare Plugins CommLayer Python
+SUBDIRS = Utils Plugins Python
diff -urp abrt.8/lib/Plugins/Makefile.am abrt.9/lib/Plugins/Makefile.am
--- abrt.8/lib/Plugins/Makefile.am 2009-09-09 13:47:29.000000000 +0200
+++ abrt.9/lib/Plugins/Makefile.am 2009-09-14 16:56:58.110470277 +0200
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -I$(srcdir)/../CommLayer
+AM_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils
pluginslibdir=$(PLUGINS_LIB_DIR)
pluginslib_LTLIBRARIES = libCCpp.la \
libMailx.la \
@@ -36,39 +36,39 @@ install-data-hook:
libCCpp_la_SOURCES = CCpp.cpp CCpp.h
libCCpp_la_LDFLAGS = -avoid-version
libCCpp_la_LIBADD = $(NSS_LIBS)
-libCCpp_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -DCCPP_HOOK_PATH=\"${libexecdir}/hookCCpp\" -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" $(NSS_CFLAGS)
+libCCpp_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DCCPP_HOOK_PATH=\"${libexecdir}/hookCCpp\" -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" $(NSS_CFLAGS)
# Kerneloops
libKerneloops_la_SOURCES = Kerneloops.cpp Kerneloops.h
libKerneloops_la_LDFLAGS = -avoid-version
-libKerneloops_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils
+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)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare $(CURL_CFLAGS) -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
+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
libKerneloopsScanner_la_LDFLAGS = -avoid-version
-libKerneloopsScanner_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\"
+libKerneloopsScanner_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\"
# Mailx
libMailx_la_SOURCES = Mailx.cpp Mailx.h
libMailx_la_LDFLAGS = -avoid-version
-libMailx_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -I$(srcdir)/../CommLayer -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
+libMailx_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
# SQLite3
libSQLite3_la_SOURCES = SQLite3.cpp SQLite3.h
libSQLite3_la_LDFLAGS = -avoid-version
libSQLite3_la_LIBADD = $(SQLITE3_LIBS)
-libSQLite3_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils $(SQLITE3_CFLAGS) -DLOCALSTATEDIR='"$(localstatedir)"'
+libSQLite3_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils $(SQLITE3_CFLAGS) -DLOCALSTATEDIR='"$(localstatedir)"'
# Logger
libLogger_la_SOURCES = Logger.cpp Logger.h
libLogger_la_LDFLAGS = -avoid-version
-libLogger_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -I$(srcdir)/../CommLayer -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
+libLogger_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
# RunApp
libRunApp_la_SOURCES = RunApp.h RunApp.cpp
@@ -82,22 +82,22 @@ libSOSreport_la_LDFLAGS = -avoid-version
libBugzilla_la_SOURCES = Bugzilla.h Bugzilla.cpp
libBugzilla_la_LIBADD = $(XMLRPC_CPP_LIBS) $(XMLRPC_CLIENT_CPP_LIBS) $(NSS_LIBS)
libBugzilla_la_LDFLAGS = -avoid-version
-libBugzilla_la_CPPFLAGS = $(XMLRPC_CPP_CFLAGS) $(XMLRPC_CLIENT_CPP_CFLAGS) $(NSS_CFLAGS) -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
+libBugzilla_la_CPPFLAGS = $(XMLRPC_CPP_CFLAGS) $(XMLRPC_CLIENT_CPP_CFLAGS) $(NSS_CFLAGS) -I$(srcdir)/../../inc -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
# TicketUploader
libTicketUploader_la_SOURCES = TicketUploader.h TicketUploader.cpp
libTicketUploader_la_LDFLAGS = -avoid-version
libTicketUploader_la_LIBADD = $(CURL_LIBS)
-libTicketUploader_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils $(CURL_CFLAGS) -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
+libTicketUploader_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils $(CURL_CFLAGS) -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\"
# Python
libPython_la_SOURCES = Python.h Python.cpp
#libPython_la_LIBADD = $(NSS_LIBS)
libPython_la_LDFLAGS = -avoid-version
-libPython_la_CPPFLAGS = $(NSS_CFLAGS) -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils
+libPython_la_CPPFLAGS = $(NSS_CFLAGS) -I$(srcdir)/../../inc -I$(srcdir)/../Utils
# FileTrasfer
libFileTransfer_la_SOURCES = FileTransfer.cpp FileTransfer.h
libFileTransfer_la_LDFLAGS = -avoid-version
libFileTransfer_la_LIBADD = $(CURL_LIBS)
-libFileTransfer_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils $(CURL_CFLAGS) -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\"
+libFileTransfer_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils $(CURL_CFLAGS) -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\"
diff -urp abrt.8/lib/Utils/Makefile.am abrt.9/lib/Utils/Makefile.am
--- abrt.8/lib/Utils/Makefile.am 2009-09-04 17:47:35.000000000 +0200
+++ abrt.9/lib/Utils/Makefile.am 2009-09-14 16:40:23.265470552 +0200
@@ -1,15 +1,37 @@
lib_LTLIBRARIES = libABRTUtils.la
-libABRTUtils_la_SOURCES = \
- DebugDump.cpp DebugDump.h \
- CrashTypesSocket.cpp \
- xfuncs.cpp \
- read_write.cpp \
- logging.cpp \
- copyfd.cpp
-libABRTUtils_la_LDFLAGS = -version-info 0:1:0
-libABRTUtils_la_LIBADD = -lmagic
-libABRTUtils_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../../lib/CommLayer
+libABRTUtils_la_SOURCES = \
+ xfuncs.cpp \
+ read_write.cpp \
+ logging.cpp \
+ copyfd.cpp \
+ CrashTypesSocket.cpp \
+ DebugDump.h DebugDump.cpp \
+ DBusClientProxy.h DBusClientProxy.cpp \
+ CommLayerInner.h CommLayerInner.cpp \
+ Plugin.h Plugin.cpp \
+ Action.h Database.h Reporter.h Analyzer.h \
+ Observer.h \
+ DBusCommon.h
+libABRTUtils_la_LDFLAGS = \
+ -version-info 0:1:0 \
+ $(DL_LIBS) \
+ $(RPM_LIBS) \
+ $(DBUSCPP_LIBS)
+libABRTUtils_la_LIBADD = \
+ -lmagic
+libABRTUtils_la_CPPFLAGS = \
+ -Wall -Werror \
+ -I$(srcdir)/../../inc \
+ -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
+ -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
+ -DPLUGINS_CONF_DIR=\"$(PLUGINS_CONF_DIR)\" \
+ -DCONF_DIR=\"$(CONF_DIR)\" \
+ -DVAR_RUN=\"$(VAR_RUN)\" \
+ $(RPM_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(DBUSCPP_CFLAGS) \
+ -D_GNU_SOURCE
install-data-local:
$(mkdir_p) '$(DESTDIR)/$(DEBUG_DUMPS_DIR)'
diff -urp abrt.8/src/Applet/Makefile.am abrt.9/src/Applet/Makefile.am
--- abrt.8/src/Applet/Makefile.am 2009-09-14 14:18:33.398470541 +0200
+++ abrt.9/src/Applet/Makefile.am 2009-09-14 17:21:07.776468668 +0200
@@ -7,17 +7,19 @@ abrt_applet_CPPFLAGS = \
-Wall -Werror \
-I../Daemon/ \
-I$(srcdir)/../../inc \
- -I$(srcdir)/../../lib/CommLayer \
- -I$(srcdir)/../../lib/MiddleWare \
+ -I$(srcdir)/../../lib/Utils \
+ -I/usr/include/glib-2.0 \
+ -I/usr/lib/glib-2.0/include \
-DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
-DBIN_DIR=\"$(bindir)\" \
- $(DBUS_GLIB_CFLAGS) $(GTK_CFLAGS) $(DBUSCPP_CFLAGS) $(LIBNOTIFY_CFLAGS) \
- -I/usr/include/glib-2.0 \
- -I/usr/lib/glib-2.0/include
+ $(DBUS_GLIB_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(DBUSCPP_CFLAGS) \
+ $(LIBNOTIFY_CFLAGS)
abrt_applet_LDADD = \
- ../../lib/CommLayer/libABRTCommLayer.la \
- $(DL_LIBS) $(GTK_LIBS) \
+ ../../lib/Utils/libABRTUtils.la \
-lglib-2.0 -lgthread-2.0 \
+ $(DL_LIBS) $(GTK_LIBS) \
$(DBUSCPP_LIBS) $(LIBNOTIFY_LIBS)
EXTRA_DIST = abrt-applet.desktop popup.GtkBuilder
diff -urp abrt.8/src/CLI/Makefile.am abrt.9/src/CLI/Makefile.am
--- abrt.8/src/CLI/Makefile.am 2009-09-14 14:54:32.897470829 +0200
+++ abrt.9/src/CLI/Makefile.am 2009-09-14 16:54:09.611470727 +0200
@@ -3,15 +3,19 @@
#abrt_cli_CPPFLAGS = -I$(srcdir)/../../inc -DVAR_RUN=\"$(VAR_RUN)\"
bin_PROGRAMS = abrt-cli
+
abrt_cli_SOURCES = \
CLI.cpp \
ABRTSocket.h ABRTSocket.cpp \
CommLayerClientDBus.h CommLayerClientDBus.cpp
abrt_cli_CPPFLAGS = \
- $(DBUS_GLIB_CFLAGS) $(GTK_CFLAGS) $(DBUSCPP_CFLAGS) $(LIBNOTIFY_CFLAGS)\
- -I$(srcdir)/../../inc -DVAR_RUN=\"$(VAR_RUN)\" \
- -I$(srcdir)/../../lib/CommLayer \
+ -I$(srcdir)/../../inc \
+ -I$(srcdir)/../../lib/Utils \
+ -DVAR_RUN=\"$(VAR_RUN)\" \
$(ENABLE_SOCKET_OR_DBUS) \
- -I../../lib/MiddleWare
-
-abrt_cli_LDADD = ../../lib/CommLayer/libABRTCommLayer.la
+ $(DBUS_GLIB_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(DBUSCPP_CFLAGS) \
+ $(LIBNOTIFY_CFLAGS)
+abrt_cli_LDADD = \
+ ../../lib/Utils/libABRTUtils.la
diff -urp abrt.8/src/Daemon/Makefile.am abrt.9/src/Daemon/Makefile.am
--- abrt.8/src/Daemon/Makefile.am 2009-09-09 15:33:57.000000000 +0200
+++ abrt.9/src/Daemon/Makefile.am 2009-09-14 17:19:34.959470173 +0200
@@ -1,7 +1,7 @@
sbin_PROGRAMS = abrtd
# FIXME: we still link against dbus-c++ (not just dbus)
-# because lib/CommLayer links it in
+# because lib/Utils links it in
abrtd_SOURCES = \
ABRTPlugin.cpp ABRTPlugin.h \
@@ -17,8 +17,6 @@ abrtd_SOURCES = \
Polkit.h Polkit.cpp
abrtd_CPPFLAGS = \
-I$(srcdir)/../../inc \
- -I$(srcdir)/../../lib/MiddleWare \
- -I$(srcdir)/../../lib/CommLayer \
-I$(srcdir)/../../lib/Utils \
-DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
-DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
@@ -28,8 +26,7 @@ abrtd_CPPFLAGS = \
$(GLIB_CFLAGS) $(DBUS_CFLAGS) \
$(ENABLE_SOCKET_OR_DBUS) $(POLKIT_CFLAGS)
abrtd_LDADD = \
- ../../lib/MiddleWare/libABRTMiddleWare.la \
- ../../lib/CommLayer/libABRTCommLayer.la \
+ ../../lib/Utils/libABRTUtils.la \
$(DL_LIBS) $(DBUS_LIBS) $(RPM_LIBS) $(POLKIT_LIBS)
dbusabrtconfdir = ${sysconfdir}/dbus-1/system.d/
diff -urp abrt.8/src/Hooks/Makefile.am abrt.9/src/Hooks/Makefile.am
--- abrt.8/src/Hooks/Makefile.am 2009-09-04 17:47:35.000000000 +0200
+++ abrt.9/src/Hooks/Makefile.am 2009-09-14 17:15:30.444719876 +0200
@@ -10,19 +10,19 @@ hookCCpp_CPPFLAGS = -I$(srcdir)/../../in
-DVAR_RUN=\"$(VAR_RUN)\"
# dumpoops
-dumpoops_SOURCES = dumpoops.cpp
-dumpoops_LDADD = ../../lib/Utils/libABRTUtils.la \
- ../../lib/MiddleWare/libABRTMiddleWare.la \
- ../../lib/CommLayer/libABRTCommLayer.la
-dumpoops_CPPFLAGS = -I$(srcdir)/../../inc \
- -I$(srcdir)/../../lib/Utils \
- -I$(srcdir)/../../lib/Plugins \
- -I$(srcdir)/../../lib/MiddleWare \
- -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
- -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
- -DPLUGINS_CONF_DIR=\"$(PLUGINS_CONF_DIR)\" \
- -DCONF_DIR=\"$(CONF_DIR)\" \
- -DVAR_RUN=\"$(VAR_RUN)\"
+dumpoops_SOURCES = \
+ dumpoops.cpp
+dumpoops_LDADD = \
+ ../../lib/Utils/libABRTUtils.la
+dumpoops_CPPFLAGS = \
+ -I$(srcdir)/../../inc \
+ -I$(srcdir)/../../lib/Utils \
+ -I$(srcdir)/../../lib/Plugins \
+ -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
+ -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
+ -DPLUGINS_CONF_DIR=\"$(PLUGINS_CONF_DIR)\" \
+ -DCONF_DIR=\"$(CONF_DIR)\" \
+ -DVAR_RUN=\"$(VAR_RUN)\"
python_PYTHON = sitecustomize.py abrt_exception_handler.py
EXTRA_DIST = abrt_exception_handler.py.in
So, what say you? Is it ok?
--
vda
14 years, 7 months