diff options
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | daemon/.gitignore | 2 | ||||
-rw-r--r-- | daemon/Makefile.am | 14 | ||||
-rw-r--r-- | daemon/gvfs-daemon.service.in | 3 | ||||
-rw-r--r-- | daemon/gvfsbackend.c | 9 |
5 files changed, 25 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index 4fc3ccb0..61068cd7 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,9 @@ AC_SUBST(GLIB_LIBS) PKG_CHECK_MODULES(DBUS, dbus-1) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) +AC_ARG_WITH(dbus_service_dir, [ --with-dbus-service-dir=PATH choose directory for dbus service files, [default=PREFIX/share/dbus-1/services]], with_dbus_service_dir="$withval", with_dbus_service_dir=$datadir/dbus-1/services) +DBUS_SERVICE_DIR=$with_dbus_service_dir +AC_SUBST(DBUS_SERVICE_DIR) GETTEXT_PACKAGE=gvfs diff --git a/daemon/.gitignore b/daemon/.gitignore index 3df41a58..40dc437f 100644 --- a/daemon/.gitignore +++ b/daemon/.gitignore @@ -9,4 +9,4 @@ Makefile.in gvfs-daemon gvfs-daemon-smb gvfs-daemon-test - +*.service diff --git a/daemon/Makefile.am b/daemon/Makefile.am index afbc92b9..97d95782 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -17,9 +17,21 @@ libraries = \ $(top_builddir)/common/libcommon.la \ $(GLIB_LIBS) $(DBUS_LIBS) +# D-BUS service file +%.service: %.service.in ../config.log + sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ + +servicedir = $(DBUS_SERVICE_DIR) +service_in_files = gvfs-daemon.service.in +service_DATA = gvfs-daemon.service + +EXTRA_DIST = gvfs-daemon.service.in + +DISTCLEANFILES = gvfs-daemon.service + +libexec_PROGRAMS=gvfs-daemon noinst_PROGRAMS = \ - gvfs-daemon \ gvfs-daemon-test \ gvfs-daemon-smb \ $(NULL) diff --git a/daemon/gvfs-daemon.service.in b/daemon/gvfs-daemon.service.in new file mode 100644 index 00000000..69e51a66 --- /dev/null +++ b/daemon/gvfs-daemon.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.gtk.vfs.Daemon +Exec=@libexecdir@/gvfs-daemon diff --git a/daemon/gvfsbackend.c b/daemon/gvfsbackend.c index 51565732..66dd0151 100644 --- a/daemon/gvfsbackend.c +++ b/daemon/gvfsbackend.c @@ -169,6 +169,7 @@ g_vfs_backend_register_with_daemon (GVfsBackend *backend, DBusMessage *message, *reply; DBusMessageIter iter; char *icon = "icon"; + DBusError error; g_vfs_daemon_add_job_source (daemon, G_VFS_JOB_SOURCE (backend)); backend->object_path = g_vfs_daemon_register_mount (daemon, @@ -197,13 +198,13 @@ g_vfs_backend_register_with_daemon (GVfsBackend *backend, dbus_message_set_auto_start (message, TRUE); + dbus_error_init (&error); reply = dbus_connection_send_with_reply_and_block (conn, message, - -1, NULL); - if (reply == NULL || - dbus_message_get_type (reply) == DBUS_MESSAGE_TYPE_ERROR) + -1, &error); + if (reply == NULL) { /* TODO: handle better */ - g_print ("failed to register mountpoint"); + g_error ("failed to register mountpoint: %s", error.message); exit (1); } |