<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
On 09/14/2009 06:19 PM, Denys Vlasenko wrote:
<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:
So, what say you? Is it ok?
-- vda
Ok, lets do it, if it's for sake of optimization, but I really feel more like Utils should contain functions from abrtlib (which are 'utils' for me) and commlayer, mw and the others should be in other library - or we can combine it together and name it little more descriptive then 'utils'.
Jirka
crash-catcher@lists.fedorahosted.org