diff --git a/Makefile b/Makefile index 3fd63d2..6d8923b 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ MODULE = go.linka.cloud/d2vm REPOSITORY = linkacloud -TAG = $(shell git describe --tags --exact-match 2> /dev/null) +TAG = $(shell git diff --quiet && git describe --tags --exact-match 2> /dev/null) VERSION_SUFFIX = $(shell git diff --quiet || echo "-dev") VERSION = $(shell git describe --tags --exact-match 2> /dev/null || echo "`git describe --tags $$(git rev-list --tags --max-count=1) 2> /dev/null || echo v0.0.0`-`git rev-parse --short HEAD`")$(VERSION_SUFFIX) show-version: diff --git a/cmd/d2vm/run/hetzner.go b/cmd/d2vm/run/hetzner.go index f7945c2..a5a7be3 100644 --- a/cmd/d2vm/run/hetzner.go +++ b/cmd/d2vm/run/hetzner.go @@ -243,7 +243,12 @@ func runHetzner(ctx context.Context, imgPath string, stdin io.Reader, stderr io. } } }() - cmd := fmt.Sprintf("%s -r -disable-sparse-target -of %s", sparsecatPath, vmBlockPath) + var cmd string + if runtime.GOOS == "linux" { + cmd = fmt.Sprintf("%s -r -disable-sparse-target -of %s", sparsecatPath, vmBlockPath) + } else { + cmd = fmt.Sprintf("dd of=%s", vmBlockPath) + } logrus.Debugf("$ %s", cmd) if b, err := wses.CombinedOutput(cmd); err != nil { return fmt.Errorf("%v: %s", err, string(b))