diff --git a/Makefile b/Makefile index 1c18b1a4c..ff0455da2 100644 --- a/Makefile +++ b/Makefile @@ -71,6 +71,10 @@ build: checks @echo "Building minio binary to './minio'" @GO111MODULE=on CGO_ENABLED=0 go build -tags kqueue -trimpath --ldflags "$(LDFLAGS)" -o $(PWD)/minio 1>/dev/null +hotfix: LDFLAGS := $(shell MINIO_RELEASE="RELEASE" MINIO_HOTFIX="hotfix" go run buildscripts/gen-ldflags.go $(shell git describe --tags --abbrev=0 | \ + sed 's#RELEASE\.\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)T\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)Z#\1-\2-\3T\4:\5:\6Z#')) +hotfix: install + docker: checks @echo "Building minio docker image '$(TAG)'" @GOOS=linux GO111MODULE=on CGO_ENABLED=0 go build -tags kqueue -trimpath --ldflags "$(LDFLAGS)" -o $(PWD)/minio 1>/dev/null diff --git a/buildscripts/gen-ldflags.go b/buildscripts/gen-ldflags.go index 9e8e3038f..574a2473d 100644 --- a/buildscripts/gen-ldflags.go +++ b/buildscripts/gen-ldflags.go @@ -44,10 +44,21 @@ func releaseTag(version string) string { relPrefix = prefix } + relSuffix := "" + if hotfix := os.Getenv("MINIO_HOTFIX"); hotfix != "" { + relSuffix = hotfix + } + relTag := strings.Replace(version, " ", "-", -1) relTag = strings.Replace(relTag, ":", "-", -1) relTag = strings.Replace(relTag, ",", "", -1) - return relPrefix + "." + relTag + relTag = relPrefix + "." + relTag + + if relSuffix != "" { + relTag += "." + relSuffix + } + + return relTag } // commitID returns the abbreviated commit-id hash of the last commit. @@ -68,5 +79,12 @@ func commitID() string { } func main() { - fmt.Println(genLDFlags(time.Now().UTC().Format(time.RFC3339))) + var version string + if len(os.Args) > 1 { + version = os.Args[1] + } else { + version = time.Now().UTC().Format(time.RFC3339) + } + + fmt.Println(genLDFlags(version)) }