diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-09-29 14:07:18 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-09-29 14:07:18 +0200 |
| commit | cef7bce317368cce6c87d9bcf9745e43d1866076 (patch) | |
| tree | d5f8c595fbf26f3331781cbc61d5f4b85e81af0e /src | |
| parent | d5bdbc372f3d6708df787d2f4d26bbd2134f2926 (diff) | |
| download | abrt-cef7bce317368cce6c87d9bcf9745e43d1866076.tar.gz abrt-cef7bce317368cce6c87d9bcf9745e43d1866076.tar.xz abrt-cef7bce317368cce6c87d9bcf9745e43d1866076.zip | |
add support for abrtd autostart
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/Daemon/Daemon.cpp | 8 | ||||
| -rw-r--r-- | src/Daemon/Makefile.am | 3 | ||||
| -rw-r--r-- | src/Daemon/com.redhat.abrt.service | 4 | ||||
| -rw-r--r-- | src/Gui/CCDBusBackend.py | 17 |
4 files changed, 24 insertions, 8 deletions
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp index 6445b6c..3b66bdb 100644 --- a/src/Daemon/Daemon.cpp +++ b/src/Daemon/Daemon.cpp @@ -647,13 +647,16 @@ int main(int argc, char** argv) textdomain(PACKAGE); #endif - while ((opt = getopt(argc, argv, "dv")) != -1) + while ((opt = getopt(argc, argv, "dsv")) != -1) { switch (opt) { case 'd': daemonize = false; break; + case 's': + start_syslog_logging(); + break; case 'v': g_verbose++; break; @@ -662,6 +665,7 @@ int main(int argc, char** argv) "Usage: abrt [-dv]\n" "\nOptions:" "\n\t-d\tDo not daemonize" + "\n\t-s\tLog to syslog even with -d" "\n\t-v\tVerbose" ); } @@ -701,7 +705,7 @@ int main(int argc, char** argv) } /* Child (daemon) continues */ setsid(); /* never fails */ - if (g_verbose == 0) + if (g_verbose == 0 && logmode != LOGMODE_SYSLOG) start_syslog_logging(); } diff --git a/src/Daemon/Makefile.am b/src/Daemon/Makefile.am index 49898c1..a21eb9c 100644 --- a/src/Daemon/Makefile.am +++ b/src/Daemon/Makefile.am @@ -39,6 +39,9 @@ dist_daemonconf_DATA = abrt.conf polkitconfdir = ${datadir}/polkit-1/actions dist_polkitconf_DATA = org.fedoraproject.abrt.policy +comredhatabrtservicedir = /usr/share/dbus-1/system-services +dist_comredhatabrtservice_DATA = com.redhat.abrt.service + man_MANS = abrt.8 abrt.conf.5 EXTRA_DIST = $(man_MANS) diff --git a/src/Daemon/com.redhat.abrt.service b/src/Daemon/com.redhat.abrt.service new file mode 100644 index 0000000..163f276 --- /dev/null +++ b/src/Daemon/com.redhat.abrt.service @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=com.redhat.abrt +Exec=/usr/sbin/abrtd -ds +User=root diff --git a/src/Gui/CCDBusBackend.py b/src/Gui/CCDBusBackend.py index 7b952a6..844b371 100644 --- a/src/Gui/CCDBusBackend.py +++ b/src/Gui/CCDBusBackend.py @@ -122,12 +122,15 @@ class DBusManager(gobject.GObject): # self.emit("analyze-complete", dump) pass +# Seems to be not needed at all. Not only that, it is actively harmful +# when abrtd is autostarted by dbus-daemon: connect_to_daemon() would install +# duplicate signal handlers! def owner_changed_cb(self,name, old_owner, new_owner): if(name == CC_NAME and new_owner): - self.proxy = self.connect_to_daemon() + #self.proxy = self.connect_to_daemon() self.emit("daemon-state-changed", "up") if(name == CC_NAME and not(new_owner)): - self.proxy = None + #self.proxy = None self.emit("daemon-state-changed", "down") @@ -138,10 +141,12 @@ class DBusManager(gobject.GObject): self.uniq_name = self.bus.get_unique_name() if not self.bus: raise Exception(_("Can't connect to dbus")) - if self.bus.name_has_owner(CC_NAME): - self.proxy = self.bus.get_object(CC_IFACE, CC_PATH,introspect=False) - else: - raise Exception(_("Please check if abrt daemon is running.")) + self.proxy = self.bus.get_object(CC_IFACE, CC_PATH, introspect=False) + # Can't do this: abrtd may be autostarted by dbus-daemon + #if self.bus.name_has_owner(CC_NAME): + # self.proxy = self.bus.get_object(CC_IFACE, CC_PATH, introspect=False) + #else: + # raise Exception(_("Please check if abrt daemon is running.")) if self.proxy: self.cc = dbus.Interface(self.proxy, dbus_interface=CC_IFACE) |
