- support "const" properties as flag
- add API to clone sd_bus_message objects
- SD_BUS_COMMENT() macro for inclusion in vtables, syntax inspired by gdbus
- - unelss configure option is specified refuse connecting and creating kdbus, so that we can break compat
+ - make sd_bus_open_system_container() kdbus aware
- longer term:
* priority queues
* priority inheritance
fi
if [ "x$1" = "xc" ]; then
- ./configure CFLAGS='-g -O0' $args
+ ./configure CFLAGS='-g -O0' --enable-kdbus $args
make clean
elif [ "x$1" = "xg" ]; then
- ./configure CFLAGS='-g -Og' $args
+ ./configure CFLAGS='-g -Og' --enable-kdbus $args
make clean
else
echo
echo "Initialized build system. For a common configuration please run:"
echo "----------------------------------------------------------------"
echo
- echo "./configure CFLAGS='-g -O0' $args"
+ echo "./configure CFLAGS='-g -O0' --enable-kdbus $args"
echo
fi
fi
AM_CONDITIONAL(ENABLE_MULTI_SEAT_X, [test "$have_multi_seat_x" = "yes"])
+# ------------------------------------------------------------------------------
+have_kdbus=no
+AC_ARG_ENABLE(kdbus, AS_HELP_STRING([--enable-kdbus], [do not connect to kdbus by default]))
+if test "x$enable_kdbus" == "xyes"; then
+ AC_DEFINE(ENABLE_KDBUS, 1, [Define if kdbus support is to be enabled])
+ have_kdbus=yes
+fi
+AM_CONDITIONAL(ENABLE_KDBUS, [test "$have_kdbus" = "yes"])
+
# ------------------------------------------------------------------------------
AC_ARG_WITH(rc-local-script-path-start,
AS_HELP_STRING([--with-rc-local-script-path-start=PATH],
gudev: ${enable_gudev}
gintrospection: ${enable_introspection}
multi-seat-x: ${have_multi_seat_x}
+ kdbus: ${have_kdbus}
Python: ${have_python}
Python Headers: ${have_python_devel}
man pages: ${have_manpages}
assert(m);
+#ifdef ENABLE_KDBUS
if (m->kdbus_fd >= 0)
return 0;
}
log_info("Successfully set up kdbus on %s", p);
+#endif
+
return 0;
}
if (e)
r = sd_bus_set_address(b, e);
else
+#ifdef ENABLE_KDBUS
r = sd_bus_set_address(b, "kernel:path=/dev/kdbus/0-system/bus;unix:path=/run/dbus/system_bus_socket");
+#else
+ r = sd_bus_set_address(b, "unix:path=/run/dbus/system_bus_socket");
+#endif
if (r < 0)
goto fail;
ee = bus_address_escape(e);
if (!ee) {
- r = -ENOENT;
+ r = -ENOMEM;
goto fail;
}
+#ifdef ENABLE_KDBUS
asprintf(&b->address, "kernel:path=/dev/kdbus/%lu-user/bus;unix:path=%s/bus", (unsigned long) getuid(), ee);
- } else
+#else
+ b->address = strjoin("unix:path=", ee, "/bus", NULL);
+#endif
+ } else {
+#ifdef ENABLE_KDBUS
asprintf(&b->address, "kernel:path=/dev/kdbus/%lu-user/bus", (unsigned long) getuid());
+#else
+ return -ECONNREFUSED;
+#endif
+ }
if (!b->address) {
r = -ENOMEM;