]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sysupdate: Split reboot_now into utils 33520/head
authorAdrian Vovk <adrianvovk@gmail.com>
Wed, 19 Jul 2023 21:55:18 +0000 (17:55 -0400)
committerTom Coldrick <thomas.coldrick@codethink.co.uk>
Fri, 12 Jul 2024 13:38:10 +0000 (14:38 +0100)
This will let us reuse reboot_now in updatectl

src/sysupdate/meson.build
src/sysupdate/sysupdate-util.c
src/sysupdate/sysupdate-util.h [new file with mode: 0644]
src/sysupdate/sysupdate.c

index 3e50c42afefd9663e8889f3e1091070727b75c05..b1b1204a2ab5947c18dcab3709830173c863c286 100644 (file)
@@ -9,6 +9,7 @@ systemd_sysupdate_sources = files(
         'sysupdate-transfer.c',
         'sysupdate-update-set.c',
         'sysupdate-update-set-flags.c',
+        'sysupdate-util.c',
         'sysupdate.c',
 )
 
index eacc592f622f5ca3c7c9dff796bc48e187d737ad..2b3acd0fd954762c876404a08ae2f4c055f196bf 100644 (file)
@@ -1,4 +1,26 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
-#include "path-util.h"
+#include "sd-bus.h"
+
+#include "bus-error.h"
+#include "bus-locator.h"
+#include "login-util.h"
+
 #include "sysupdate-util.h"
+
+int reboot_now(void) {
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
+        _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL;
+        int r;
+
+        r = sd_bus_open_system(&bus);
+        if (r < 0)
+                return log_error_errno(r, "Failed to open bus connection: %m");
+
+        r = bus_call_method(bus, bus_login_mgr, "RebootWithFlags", &error, NULL, "t",
+                            (uint64_t) SD_LOGIND_ROOT_CHECK_INHIBITORS);
+        if (r < 0)
+                return log_error_errno(r, "Failed to issue reboot request: %s", bus_error_message(&error, r));
+
+        return 0;
+}
diff --git a/src/sysupdate/sysupdate-util.h b/src/sysupdate/sysupdate-util.h
new file mode 100644 (file)
index 0000000..fdd6c83
--- /dev/null
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#pragma once
+
+int reboot_now(void);
index e2f154d0e8dccc7e8ed325f444248027972706d2..870aa04d7ca6da9b24541cd8c4636edfd7a2134e 100644 (file)
@@ -4,8 +4,6 @@
 #include <unistd.h>
 
 #include "build.h"
-#include "bus-error.h"
-#include "bus-locator.h"
 #include "chase.h"
 #include "conf-files.h"
 #include "constants.h"
@@ -16,7 +14,6 @@
 #include "glyph-util.h"
 #include "hexdecoct.h"
 #include "json-util.h"
-#include "login-util.h"
 #include "main-func.h"
 #include "mount-util.h"
 #include "os-util.h"
 #include "sort-util.h"
 #include "string-util.h"
 #include "strv.h"
+#include "sysupdate.h"
 #include "sysupdate-transfer.h"
 #include "sysupdate-update-set.h"
-#include "sysupdate.h"
+#include "sysupdate-util.h"
 #include "terminal-util.h"
 #include "utf8.h"
 #include "verbs.h"
@@ -905,23 +903,6 @@ static int context_apply(
         return 1;
 }
 
-static int reboot_now(void) {
-        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
-        _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL;
-        int r;
-
-        r = sd_bus_open_system(&bus);
-        if (r < 0)
-                return log_error_errno(r, "Failed to open bus connection: %m");
-
-        r = bus_call_method(bus, bus_login_mgr, "RebootWithFlags", &error, NULL, "t",
-                            (uint64_t) SD_LOGIND_ROOT_CHECK_INHIBITORS);
-        if (r < 0)
-                return log_error_errno(r, "Failed to issue reboot request: %s", bus_error_message(&error, r));
-
-        return 0;
-}
-
 static int process_image(
                 bool ro,
                 char **ret_mounted_dir,