bin/admin: Check for booted deployment to see if we should reboot
Rather than calling `ostree_sysroot_get_path()`, which I'd like to deprecate for the same reason as `ostree_repo_get_path()`. Closes: #1123 Approved by: jlebon
This commit is contained in:
parent
b71fdbcb5c
commit
aef5a7331e
|
|
@ -151,13 +151,15 @@ ot_admin_sysroot_lock (OstreeSysroot *sysroot,
|
||||||
gboolean
|
gboolean
|
||||||
ot_admin_execve_reboot (OstreeSysroot *sysroot, GError **error)
|
ot_admin_execve_reboot (OstreeSysroot *sysroot, GError **error)
|
||||||
{
|
{
|
||||||
g_autoptr(GFile) real_sysroot = g_file_new_for_path ("/");
|
OstreeDeployment *booted = ostree_sysroot_get_booted_deployment (sysroot);
|
||||||
|
|
||||||
if (g_file_equal (ostree_sysroot_get_path (sysroot), real_sysroot))
|
/* If the sysroot isn't booted, we shouldn't reboot, even if somehow the user
|
||||||
{
|
* asked for it; might accidentally be specified in a build script, etc.
|
||||||
if (execlp ("systemctl", "systemctl", "reboot", NULL) < 0)
|
*/
|
||||||
return glnx_throw_errno (error);
|
if (!booted)
|
||||||
}
|
return TRUE;
|
||||||
|
|
||||||
|
if (execlp ("systemctl", "systemctl", "reboot", NULL) < 0)
|
||||||
|
return glnx_throw_errno_prefix (error, "execve(systemctl reboot)");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue