From a5d8520f86d8691ece4b82e5174fb49daf692bc0 Mon Sep 17 00:00:00 2001 From: Ivan Kruglov Date: Wed, 9 Jul 2025 05:50:32 -0700 Subject: [PATCH] core: move Version/Arch/Features/Taints/UnitPath from context to runtime --- src/core/varlink-manager.c | 20 ++++++++++---------- src/shared/varlink-io.systemd.Manager.c | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/core/varlink-manager.c b/src/core/varlink-manager.c index 217769c1534..a54ee6ce3fd 100644 --- a/src/core/varlink-manager.c +++ b/src/core/varlink-manager.c @@ -41,19 +41,9 @@ static int manager_environment_build_json(sd_json_variant **ret, const char *nam static int manager_context_build_json(sd_json_variant **ret, const char *name, void *userdata) { Manager *m = ASSERT_PTR(userdata); - _cleanup_strv_free_ char **taints = NULL; - - taints = taint_strv(); - if (!taints) - return -ENOMEM; return sd_json_buildo( ASSERT_PTR(ret), - SD_JSON_BUILD_PAIR_STRING("Version", GIT_VERSION), - SD_JSON_BUILD_PAIR_STRING("Architecture", architecture_to_string(uname_architecture())), - SD_JSON_BUILD_PAIR_STRING("Features", systemd_features), - JSON_BUILD_PAIR_STRV_NON_EMPTY("Taints", taints), - SD_JSON_BUILD_PAIR_STRV("UnitPath", m->lookup_paths.search_path), JSON_BUILD_PAIR_STRV_NON_EMPTY("Environment", m->transient_environment), SD_JSON_BUILD_PAIR_STRING("DefaultStandardOutput", exec_output_to_string(m->defaults.std_output)), SD_JSON_BUILD_PAIR_STRING("DefaultStandardError", exec_output_to_string(m->defaults.std_error)), @@ -110,9 +100,19 @@ static int log_level_build_runtime_json(sd_json_variant **ret, const char *name, static int manager_runtime_build_json(sd_json_variant **ret, const char *name, void *userdata) { Manager *m = ASSERT_PTR(userdata); dual_timestamp watchdog_last_ping; + _cleanup_strv_free_ char **taints = NULL; + + taints = taint_strv(); + if (!taints) + return -ENOMEM; return sd_json_buildo( ASSERT_PTR(ret), + SD_JSON_BUILD_PAIR_STRING("Version", GIT_VERSION), + SD_JSON_BUILD_PAIR_STRING("Architecture", architecture_to_string(uname_architecture())), + SD_JSON_BUILD_PAIR_STRING("Features", systemd_features), + JSON_BUILD_PAIR_STRV_NON_EMPTY("Taints", taints), + SD_JSON_BUILD_PAIR_STRV("UnitPath", m->lookup_paths.search_path), SD_JSON_BUILD_PAIR_STRING("Virtualization", virtualization_to_string(detect_virtualization())), SD_JSON_BUILD_PAIR_STRING("ConfidentialVirtualization", confidential_virtualization_to_string(detect_confidential_virtualization())), JSON_BUILD_PAIR_STRING_NON_EMPTY("ConfirmSpawn", manager_get_confirm_spawn(m)), diff --git a/src/shared/varlink-io.systemd.Manager.c b/src/shared/varlink-io.systemd.Manager.c index 299e0a9c300..d1ed8e22b4a 100644 --- a/src/shared/varlink-io.systemd.Manager.c +++ b/src/shared/varlink-io.systemd.Manager.c @@ -20,16 +20,6 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE( static SD_VARLINK_DEFINE_STRUCT_TYPE( ManagerContext, - SD_VARLINK_FIELD_COMMENT("The version string of the running systemd instance"), - SD_VARLINK_DEFINE_FIELD(Version, SD_VARLINK_STRING, 0), - SD_VARLINK_FIELD_COMMENT("A short ID string describing the architecture the systemd instance is running on"), - SD_VARLINK_DEFINE_FIELD(Architecture, SD_VARLINK_STRING, 0), - SD_VARLINK_FIELD_COMMENT("The features that have been enabled and disabled for this build"), - SD_VARLINK_DEFINE_FIELD(Features, SD_VARLINK_STRING, 0), - SD_VARLINK_FIELD_COMMENT("An array of strings describing the taints applied to the running system"), - SD_VARLINK_DEFINE_FIELD(Taints, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE), - SD_VARLINK_FIELD_COMMENT("The unit search path"), - SD_VARLINK_DEFINE_FIELD(UnitPath, SD_VARLINK_STRING, SD_VARLINK_ARRAY), SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/latest/systemd-system.conf.html#ManagerEnvironment="), SD_VARLINK_DEFINE_FIELD(Environment, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE), SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/"PROJECT_VERSION_STR"/systemd-system.conf.html#DefaultStandardOutput="), @@ -81,6 +71,16 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE( static SD_VARLINK_DEFINE_STRUCT_TYPE( ManagerRuntime, + SD_VARLINK_FIELD_COMMENT("The version string of the running systemd instance"), + SD_VARLINK_DEFINE_FIELD(Version, SD_VARLINK_STRING, 0), + SD_VARLINK_FIELD_COMMENT("A short ID string describing the architecture the systemd instance is running on"), + SD_VARLINK_DEFINE_FIELD(Architecture, SD_VARLINK_STRING, 0), + SD_VARLINK_FIELD_COMMENT("The features that have been enabled and disabled for this build"), + SD_VARLINK_DEFINE_FIELD(Features, SD_VARLINK_STRING, 0), + SD_VARLINK_FIELD_COMMENT("An array of strings describing the taints applied to the running system"), + SD_VARLINK_DEFINE_FIELD(Taints, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("The unit search path"), + SD_VARLINK_DEFINE_FIELD(UnitPath, SD_VARLINK_STRING, SD_VARLINK_ARRAY), SD_VARLINK_FIELD_COMMENT("A short ID string describing the virtualization technology the system runs in"), SD_VARLINK_DEFINE_FIELD(Virtualization, SD_VARLINK_STRING, 0), SD_VARLINK_FIELD_COMMENT("A short ID string describing the confidential virtualization technology the system runs in"), -- 2.47.3