@@ -304,13 +304,22 @@ func (c *cmdRepackWindows) run(cmd *cobra.Command, args []string, overlayDir str
304
304
305
305
logger .Info ("Generating new ISO" )
306
306
var stdout strings.Builder
307
+ var software string
307
308
308
309
err = shared .RunCommand (c .global .ctx , nil , & stdout , "genisoimage" , "--version" )
309
310
if err != nil {
310
- return fmt .Errorf ("Failed to determine version of genisoimage: %w" , err )
311
+ err = shared .RunCommand (c .global .ctx , nil , & stdout , "mkisofs" , "--version" )
312
+ if err != nil {
313
+ return fmt .Errorf ("Failed to determine version of genisoimage or mkisofs: %w" , err )
314
+ } else {
315
+ software = "mkisofs"
316
+ }
317
+ } else {
318
+ software = "genisoimage"
311
319
}
312
320
313
321
version := strings .Split (stdout .String (), "\n " )[0 ]
322
+
314
323
genArgs := []string {"-l" , "-iso-level" , "4" , "-no-emul-boot" ,
315
324
"-b" , "boot/etfsboot.com" , "-boot-load-seg" , "0" ,
316
325
"-boot-load-size" , "8" , "-eltorito-alt-boot" }
@@ -337,7 +346,7 @@ func (c *cmdRepackWindows) run(cmd *cobra.Command, args []string, overlayDir str
337
346
338
347
return os .Stderr .Write (b )
339
348
})),
340
- nil , nil , "genisoimage" , genArgs ... )
349
+ nil , nil , software , genArgs ... )
341
350
342
351
if err != nil {
343
352
return fmt .Errorf ("Failed to generate ISO: %w" , err )
@@ -426,7 +435,7 @@ func (c *cmdRepackWindows) modifyWimIndex(wimFile string, index int, name string
426
435
}
427
436
428
437
func (c * cmdRepackWindows ) checkDependencies () error {
429
- dependencies := []string {"genisoimage" , " hivexregedit" , "rsync" , "wimlib-imagex" }
438
+ dependencies := []string {"hivexregedit" , "rsync" , "wimlib-imagex" }
430
439
431
440
for _ , dep := range dependencies {
432
441
_ , err := exec .LookPath (dep )
@@ -435,6 +444,12 @@ func (c *cmdRepackWindows) checkDependencies() error {
435
444
}
436
445
}
437
446
447
+ _ , err := exec .LookPath ("genisoimage" )
448
+ _ , err1 := exec .LookPath ("mkisofs" )
449
+ if err != nil && err1 != nil {
450
+ return fmt .Errorf ("Required tool genisoimage or mkisofs is missing" )
451
+ }
452
+
438
453
return nil
439
454
}
440
455
0 commit comments