d1a34d
From a8018a5553bfccfbd28ea77e06207d68f60f12e6 Mon Sep 17 00:00:00 2001
d1a34d
From: Pavel Valena <pvalena@redhat.com>
d1a34d
Date: Fri, 25 Mar 2022 16:20:16 +0100
d1a34d
Subject: [PATCH] fix(dracut-install): do not fail when SOURCE is optional and
d1a34d
 missing
d1a34d
d1a34d
When running dracut-install with '-o' (optional source), and nullglob
d1a34d
at the same time, when all of the arguments evaluate <null>, dracut-install
d1a34d
should not fail even when the source is not specified.
d1a34d
d1a34d
Resolves: #2047654
d1a34d
---
d1a34d
 src/install/dracut-install.c | 8 ++++++--
d1a34d
 1 file changed, 6 insertions(+), 2 deletions(-)
d1a34d
d1a34d
diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c
d1a34d
index 9a40e022..ad16b98f 100644
d1a34d
--- a/src/install/dracut-install.c
d1a34d
+++ b/src/install/dracut-install.c
d1a34d
@@ -1199,8 +1199,12 @@ static int parse_argv(int argc, char *argv[])
d1a34d
         }
d1a34d
 
d1a34d
         if (!optind || optind == argc) {
d1a34d
-                log_error("No SOURCE argument given");
d1a34d
-                usage(EXIT_FAILURE);
d1a34d
+                if (!arg_optional) {
d1a34d
+                        log_error("No SOURCE argument given");
d1a34d
+                        usage(EXIT_FAILURE);
d1a34d
+                } else {
d1a34d
+                        exit(EXIT_SUCCESS);
d1a34d
+                }
d1a34d
         }
d1a34d
 
d1a34d
         return 1;
d1a34d