From 220e0777c80d19da63a54c8153afd5bfa091a6ed Mon Sep 17 00:00:00 2001
From: JonasS <jonass@dev.jsje.de>
Date: Tue, 5 Dec 2023 11:09:00 +0100
Subject: [PATCH] bugfix: Accept legacy default images (fix #116)

---
 driver/flag_processing.go | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/driver/flag_processing.go b/driver/flag_processing.go
index 0b88246..4e7622f 100644
--- a/driver/flag_processing.go
+++ b/driver/flag_processing.go
@@ -8,6 +8,22 @@ import (
 	"strings"
 )
 
+var legacyDefaultImages = [...]string{
+	defaultImage,
+	"ubuntu-18.04",
+	"ubuntu-16.04",
+	"debian-9",
+}
+
+func isDefaultImageName(imageName string) bool {
+	for _, defaultImage := range legacyDefaultImages {
+		if imageName == defaultImage {
+			return true
+		}
+	}
+	return false
+}
+
 func (d *Driver) setImageArch(arch string) error {
 	switch arch {
 	case "":
@@ -23,7 +39,7 @@ func (d *Driver) setImageArch(arch string) error {
 }
 
 func (d *Driver) verifyImageFlags() error {
-	if d.ImageID != 0 && d.Image != "" && d.Image != defaultImage /* support legacy behaviour */ {
+	if d.ImageID != 0 && d.Image != "" && !isDefaultImageName(d.Image) /* support legacy behaviour */ {
 		return d.flagFailure("--%v and --%v are mutually exclusive", flagImage, flagImageID)
 	} else if d.ImageID != 0 && d.ImageArch != "" {
 		return d.flagFailure("--%v and --%v are mutually exclusive", flagImageArch, flagImageID)
-- 
GitLab