commit 15c98fec3948c19854f270225f552aa50d9cabcd Author: Lukas Märdian Date: 7 weeks ago generate:dbus:util: glib 2.70 compat (#235) * generate:dbus:util: glib 2.70 compat g_spawn_check_exit_status is deprecated since libglib 2.70 and replaced by g_spawn_check_wait_status * dbus:generate:util: keep glib < 2.70 backwards compatibility (for now) diff --git a/src/dbus.c b/src/dbus.c index 1442af3..c438d98 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -110,7 +110,11 @@ _try_accept(bool accept, sd_bus_message *m, NetplanData *d, sd_bus_error *ret_er * Check return code/errors. */ kill(d->try_pid, signal); waitpid(d->try_pid, &status, 0); + #if GLIB_CHECK_VERSION (2, 70, 0) + g_spawn_check_wait_status(status, &error); + #else g_spawn_check_exit_status(status, &error); + #endif if (error != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "netplan try failed: %s", error->message); // LCOV_EXCL_LINE @@ -254,7 +258,11 @@ method_apply(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "cannot run netplan apply: %s", err->message); + #if GLIB_CHECK_VERSION (2, 70, 0) + g_spawn_check_wait_status(exit_status, &err); + #else g_spawn_check_exit_status(exit_status, &err); + #endif if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "netplan apply failed: %s\nstdout: '%s'\nstderr: '%s'", @@ -283,7 +291,11 @@ method_generate(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "cannot run netplan generate: %s", err->message); + #if GLIB_CHECK_VERSION (2, 70, 0) + g_spawn_check_wait_status(exit_status, &err); + #else g_spawn_check_exit_status(exit_status, &err); + #endif if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "netplan generate failed: %s\nstdout: '%s'\nstderr: '%s'", @@ -360,7 +372,11 @@ method_get(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "cannot run netplan get: %s", err->message); // LCOV_EXCL_LINE + #if GLIB_CHECK_VERSION (2, 70, 0) + g_spawn_check_wait_status(exit_status, &err); + #else g_spawn_check_exit_status(exit_status, &err); + #endif if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "netplan get failed: %s\nstdout: '%s'\nstderr: '%s'", err->message, stdout, stderr); // LCOV_EXCL_LINE @@ -406,7 +422,11 @@ method_set(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "cannot run netplan set %s: %s", config_delta, err->message); // LCOV_EXCL_LINE + #if GLIB_CHECK_VERSION (2, 70, 0) + g_spawn_check_wait_status(exit_status, &err); + #else g_spawn_check_exit_status(exit_status, &err); + #endif if (err != NULL) return sd_bus_error_setf(ret_error, SD_BUS_ERROR_FAILED, "netplan set failed: %s\nstdout: '%s'\nstderr: '%s'", err->message, stdout, stderr); // LCOV_EXCL_LINE diff --git a/src/generate.c b/src/generate.c index 388d86a..bc024db 100644 --- a/src/generate.c +++ b/src/generate.c @@ -96,7 +96,11 @@ check_called_just_in_time() gint exit_code = 0; g_spawn_sync(NULL, (gchar**)argv2, NULL, G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, NULL, &exit_code, NULL); /* return TRUE, if network.target is not yet active */ + #if GLIB_CHECK_VERSION (2, 70, 0) + return !g_spawn_check_wait_status(exit_code, NULL); + #else return !g_spawn_check_exit_status(exit_code, NULL); + #endif } g_free(output); return FALSE; diff --git a/src/util.c b/src/util.c index 03c0326..e6debc4 100644 --- a/src/util.c +++ b/src/util.c @@ -195,7 +195,11 @@ systemd_escape(char* string) gchar *argv[] = {"bin" "/" "systemd-escape", string, NULL}; g_spawn_sync("/", argv, NULL, 0, NULL, NULL, &escaped, &stderrh, &exit_status, &err); + #if GLIB_CHECK_VERSION (2, 70, 0) + g_spawn_check_wait_status(exit_status, &err); + #else g_spawn_check_exit_status(exit_status, &err); + #endif if (err != NULL) { // LCOV_EXCL_START g_fprintf(stderr, "failed to ask systemd to escape %s; exit %d\nstdout: '%s'\nstderr: '%s'", string, exit_status, escaped, stderrh);