diff --git a/pkg/iso9660util/iso9660util.go b/pkg/iso9660util/iso9660util.go index b6d49c1fb9b..fa18f64ef5a 100644 --- a/pkg/iso9660util/iso9660util.go +++ b/pkg/iso9660util/iso9660util.go @@ -2,11 +2,15 @@ package iso9660util import ( "io" + "io/ioutil" "os" "path" + "path/filepath" + "runtime" "github.com/diskfs/go-diskfs/filesystem" "github.com/diskfs/go-diskfs/filesystem/iso9660" + "github.com/sirupsen/logrus" ) type Entry struct { @@ -26,7 +30,17 @@ func Write(isoPath, label string, layout []Entry) error { defer isoFile.Close() - fs, err := iso9660.Create(isoFile, 0, 0, 0, "") + workdir, err := ioutil.TempDir("", "diskfs_iso") + if err != nil { + return err + } + if runtime.GOOS == "windows" { + // go-embed unfortunately needs unix path + workdir = filepath.ToSlash(workdir) + } + logrus.Debugf("Creating iso file %s", isoFile.Name()) + logrus.Debugf("Using %s as workspace", workdir) + fs, err := iso9660.Create(isoFile, 0, 0, 0, workdir) if err != nil { return err }