From 20daf9688006f17e11af7692d2e43292b36df71f Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 5 Sep 2019 00:52:15 +0000 Subject: [PATCH] finalize-staged: Use the core option parsing to load sysroot Prep for using the default mount namespace handling there that will land as part of the read-only `/sysroot` and `/boot` work. See https://github.com/ostreedev/ostree/issues/1265 --- src/ostree/ot-admin-builtin-finalize-staged.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ostree/ot-admin-builtin-finalize-staged.c b/src/ostree/ot-admin-builtin-finalize-staged.c index 6740f82a..3cea1bdb 100644 --- a/src/ostree/ot-admin-builtin-finalize-staged.c +++ b/src/ostree/ot-admin-builtin-finalize-staged.c @@ -34,6 +34,10 @@ #include "ostree-cmdprivate.h" #include "ostree.h" +static GOptionEntry options[] = { + { NULL } +}; + /* Called by ostree-finalize-staged.service, and in turn * invokes a cmdprivate function inside the shared library. */ @@ -46,11 +50,13 @@ ot_admin_builtin_finalize_staged (int argc, char **argv, OstreeCommandInvocation if (fstatat (AT_FDCWD, "/run/ostree-booted", &stbuf, 0) < 0) return TRUE; - g_autoptr(GFile) sysroot_file = g_file_new_for_path ("/"); - g_autoptr(OstreeSysroot) sysroot = ostree_sysroot_new (sysroot_file); - - if (!ostree_sysroot_load (sysroot, cancellable, error)) + g_autoptr(GOptionContext) context = g_option_context_new (""); + g_autoptr(OstreeSysroot) sysroot = NULL; + if (!ostree_admin_option_context_parse (context, options, &argc, &argv, + OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER, + invocation, &sysroot, cancellable, error)) return FALSE; + if (!ostree_cmd__private__()->ostree_finalize_staged (sysroot, cancellable, error)) return FALSE;