]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
firstboot: add option to turn off welcome text display
authorLennart Poettering <lennart@poettering.net>
Sun, 28 Jun 2020 09:59:00 +0000 (11:59 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 7 Jul 2020 09:20:42 +0000 (11:20 +0200)
man/systemd-firstboot.xml
src/firstboot/firstboot.c

index d6bfd855c10e3259433f0cb475051e5fbf217183..491ca6e9bf16f88d8ba01eacb36d219efae323cb 100644 (file)
         option should not be used lightly.</para></listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><option>--welcome=</option></term>
+
+        <listitem><para>Takes a boolean argument. By default when prompting the user for configuration
+        options a brief welcome text is shown before the first question is asked. Pass false to this option
+        to turn off the welcome text.</para></listitem>
+      </varlistentry>
+
       <xi:include href="standard-options.xml" xpointer="help" />
       <xi:include href="standard-options.xml" xpointer="version" />
     </variablelist>
index 6d22fbc081bf5f452536bc01067799ab7ef810d5..5c9ee779ca989cf25c8e7bf4ded47d6e02fc6020 100644 (file)
@@ -62,6 +62,7 @@ static bool arg_copy_root_password = false;
 static bool arg_force = false;
 static bool arg_delete_root_password = false;
 static bool arg_root_password_is_hashed = false;
+static bool arg_welcome = true;
 
 STATIC_DESTRUCTOR_REGISTER(arg_root, freep);
 STATIC_DESTRUCTOR_REGISTER(arg_image, freep);
@@ -93,6 +94,9 @@ static void print_welcome(void) {
         const char *pn;
         int r;
 
+        if (!arg_welcome)
+                return;
+
         if (done)
                 return;
 
@@ -940,6 +944,7 @@ static int help(void) {
                "     --setup-machine-id                     Generate a new random machine ID\n"
                "     --force                                Overwrite existing files\n"
                "     --delete-root-password                 Delete root password\n"
+               "     --welcome=no                           Disable the welcome text\n"
                "\nSee the %s for details.\n"
                , program_invocation_short_name
                , link
@@ -978,6 +983,7 @@ static int parse_argv(int argc, char *argv[]) {
                 ARG_SETUP_MACHINE_ID,
                 ARG_FORCE,
                 ARG_DELETE_ROOT_PASSWORD,
+                ARG_WELCOME,
         };
 
         static const struct option options[] = {
@@ -1009,6 +1015,7 @@ static int parse_argv(int argc, char *argv[]) {
                 { "setup-machine-id",        no_argument,       NULL, ARG_SETUP_MACHINE_ID        },
                 { "force",                   no_argument,       NULL, ARG_FORCE                   },
                 { "delete-root-password",    no_argument,       NULL, ARG_DELETE_ROOT_PASSWORD    },
+                { "welcome",                 required_argument, NULL, ARG_WELCOME                 },
                 {}
         };
 
@@ -1186,6 +1193,14 @@ static int parse_argv(int argc, char *argv[]) {
                         arg_delete_root_password = true;
                         break;
 
+                case ARG_WELCOME:
+                        r = parse_boolean(optarg);
+                        if (r < 0)
+                                return log_error_errno(r, "Failed to parse --welcome= argument: %s", optarg);
+
+                        arg_welcome = r;
+                        break;
+
                 case '?':
                         return -EINVAL;