diff --git a/boltd/bolt-daemon.c b/boltd/bolt-daemon.c index ffe4690..7ed1601 100644 --- a/boltd/bolt-daemon.c +++ b/boltd/bolt-daemon.c @@ -28,13 +28,16 @@ #include "bolt-daemon-resource.h" +#ifdef SYSTEMD #include +#endif #include #include #include #include +#include /* globals */ static BoltManager *manager = NULL; @@ -145,7 +148,9 @@ main (int argc, char **argv) GBusType bus_type = G_BUS_TYPE_SYSTEM; GBusNameOwnerFlags flags; LogCfg log = { FALSE, }; +#ifdef SYSTEMD sd_id128_t logid; +#endif const GOptionEntry options[] = { { "replace", 'r', 0, G_OPTION_ARG_NONE, &replace, "Replace old daemon.", NULL }, { "session-bus", 0, 0, G_OPTION_ARG_NONE, &session_bus, "Use the session bus.", NULL}, @@ -189,8 +194,16 @@ main (int argc, char **argv) log.debug = bolt_streq (domains, "all"); } +#ifdef SYSTEMD sd_id128_randomize (&logid); sd_id128_to_string (logid, log.session_id); +#else + memset(log.session_id, 0, 33); + for(int i=0; i < 33; i += 8) { + snprintf(log.session_id + i, (sizeof(uint32_t)+1), "%0" PRIx32, (uint32_t)rand()); + } +#endif + //bolt_error (LOG_ERR (error), "session %s", log.session_id); g_resources_register (bolt_daemon_get_resource ()); diff --git a/meson.build b/meson.build index 2c8744e..9870170 100644 --- a/meson.build +++ b/meson.build @@ -76,8 +76,8 @@ libudev = dependency('libudev') unix = dependency('gio-unix-2.0') udev = dependency('udev') polkit = dependency('polkit-gobject-1') -systemd = dependency('systemd') -libsysd = dependency('libsystemd') +systemd = dependency('systemd', required: false) +libsysd = dependency('libsystemd', required: false) mockdev = dependency('umockdev-1.0', required: false) git = find_program('git', required: false) @@ -96,7 +96,11 @@ mandir = get_option('mandir') dbdir = get_option('db-path') udevdir = udev.get_pkgconfig_variable('udevdir') -unitdir = systemd.get_pkgconfig_variable('systemdsystemunitdir') +if systemd.found() + unitdir = systemd.get_pkgconfig_variable('systemdsystemunitdir') +else + unitdir = '' +endif version_split = meson.project_version().split('.') version_major = version_split[0] @@ -264,9 +268,11 @@ unit_file = configure_file( configuration: subs ) -install_data(unit_file, - install_dir: unitdir -) +if unitdir != '' + install_data(unit_file, + install_dir: unitdir + ) +endif install_data('data/90-bolt.rules', install_dir: join_paths(udevdir, 'rules.d')