From 0db9239bf78058a897b0d4c373cb94f50fe25443 Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Mon, 25 Mar 2024 10:39:30 -0500 Subject: [PATCH] sharing: fix building without systemd 0bfc60813befb45e3dd4840795839806f5310e39 introduced a bunch of systemd-specific stuff that broke building without systemd. Guard all of the relevant things. --- meson.build | 1 + plugins/sharing/gsd-sharing-manager.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index deecd3f1..bff77e7e 100644 --- a/meson.build +++ b/meson.build @@ -117,6 +117,7 @@ if systemd_dep.found() pkgconfig_define: ['prefix', gsd_prefix]) endif libsystemd_dep = dependency('libsystemd', version: '>= 243', required: enable_systemd) +config_h.set10('HAVE_LIBSYSTEMD', enable_systemd) m_dep = cc.find_library('m') diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c index 7713569f..fe71b9af 100644 --- a/plugins/sharing/gsd-sharing-manager.c +++ b/plugins/sharing/gsd-sharing-manager.c @@ -20,12 +20,15 @@ #include "config.h" #include -#include #include #include #include #include +#if HAVE_LIBSYSTEMD +#include +#endif + #if HAVE_NETWORK_MANAGER #include #endif /* HAVE_NETWORK_MANAGER */ @@ -263,6 +266,7 @@ gsd_sharing_manager_sync_configurable_services (GsdSharingManager *manager) } +#if HAVE_LIBSYSTEMD static void on_assigned_service_finished (GPid pid, int exit_status, @@ -403,10 +407,12 @@ stop_assigned_service_after_timeout (GsdSharingManager *manager, timeout_source, G_SOURCE_FUNC (on_timeout_reached)); } +#endif static void gsd_sharing_manager_sync_assigned_services (GsdSharingManager *manager) { +#if HAVE_LIBSYSTEMD GList *services, *l; services = g_hash_table_get_values (manager->assigned_services); @@ -420,6 +426,7 @@ gsd_sharing_manager_sync_assigned_services (GsdSharingManager *manager) stop_assigned_service (manager, info); } g_list_free (services); +#endif } static void @@ -1001,6 +1008,7 @@ assigned_service_free (gpointer pointer) g_free (info); } +#if HAVE_LIBSYSTEMD static void on_system_bus_name_appeared (GDBusConnection *connection, const char *system_bus_name, @@ -1043,6 +1051,7 @@ on_system_bus_name_vanished (GDBusConnection *connection, stop_assigned_service_after_timeout (manager, info); } +#endif static void manage_configurable_services (GsdSharingManager *manager) @@ -1066,6 +1075,7 @@ manage_configurable_services (GsdSharingManager *manager) static void manage_assigned_services (GsdSharingManager *manager) { +#if HAVE_LIBSYSTEMD size_t i; int ret; g_autofree char *session_id = NULL; @@ -1126,12 +1136,13 @@ manage_assigned_services (GsdSharingManager *manager) g_hash_table_insert (manager->assigned_services, (gpointer) service->system_bus_name, info); } +#endif } static void gsd_sharing_manager_init (GsdSharingManager *manager) { - int ret; + int ret = -1; g_autofree char *systemd_unit = NULL; manager->configurable_services = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, configurable_service_free); @@ -1143,7 +1154,9 @@ gsd_sharing_manager_init (GsdSharingManager *manager) manager->carrier_type = g_strdup (""); manager->sharing_status = GSD_SHARING_STATUS_OFFLINE; +#if HAVE_LIBSYSTEMD ret = sd_pid_get_user_unit (getpid (), &systemd_unit); +#endif if (ret < 0) manager->is_systemd_managed = FALSE; -- 2.44.0