From 8dfe97f6a16588e3f55fa409f838610e20e222b4 Mon Sep 17 00:00:00 2001 From: Eli Uriegas Date: Fri, 6 Jul 2018 17:59:30 +0000 Subject: [PATCH] Change dev versioning to be purely git based Switches dev versioning from being based on a set version like `18.06.0-dev` to being based purely on the git commit timestamp / git commit sha. This should give us a bit more flexibility in terms of nightlies not being tied to specific versions. Signed-off-by: Eli Uriegas Upstream-commit: 559c9a323a77fe1215f91d851ce72053ce5dd99b Component: packaging --- components/packaging/deb/Makefile | 4 ++-- components/packaging/deb/gen-deb-ver | 7 ++++--- components/packaging/rpm/Makefile | 2 +- components/packaging/rpm/gen-rpm-ver | 9 +++++---- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/components/packaging/deb/Makefile b/components/packaging/deb/Makefile index bf3f12571e..960f68b876 100644 --- a/components/packaging/deb/Makefile +++ b/components/packaging/deb/Makefile @@ -12,8 +12,8 @@ EPOCH?= BUILD=docker build --build-arg GO_VERSION=$(GO_VERSION) -t debbuild-$@/$(ARCH) -f $(CURDIR)/$@/Dockerfile.$(ARCH) . RUN=docker run --rm -i \ -e EPOCH='$(EPOCH)' \ - -e DEB_VERSION=$(DEB_VERSION) \ - -e VERSION=$(VERSION) \ + -e DEB_VERSION=$(word 1, $(DEB_VERSION)) \ + -e VERSION=$(word 2, $(DEB_VERSION)) \ -e DOCKER_GITCOMMIT=$(GITCOMMIT) \ -v $(CURDIR)/debbuild/$@:/build \ -v $(ENGINE_DIR):/engine \ diff --git a/components/packaging/deb/gen-deb-ver b/components/packaging/deb/gen-deb-ver index c0304c7823..bc1e321e26 100755 --- a/components/packaging/deb/gen-deb-ver +++ b/components/packaging/deb/gen-deb-ver @@ -2,6 +2,7 @@ ENGINE_DIR="$1" VERSION="$2" +origVersion=$VERSION SUFFIX=${SUFFIX:=ce} @@ -55,8 +56,8 @@ if [[ "$VERSION" == *-dev ]]; then gitUnix="$($GIT_COMMAND log -1 --pretty='%at')" gitDate="$($DATE_COMMAND --date "@$gitUnix" +'%Y%m%d.%H%M%S')" gitCommit="$($GIT_COMMAND log -1 --pretty='%h')" - gitVersion="git${gitDate}.0.${gitCommit}" - debVersion="$debVersion~$gitVersion" + debVersion="0.${gitDate}~${gitCommit}" + origVersion=$debVersion # $ dpkg --compare-versions 1.5.0 gt 1.5.0~rc1 && echo true || echo false # true @@ -68,4 +69,4 @@ if [[ "$VERSION" == *-dev ]]; then # ie, 1.5.0 > 1.5.0~rc1 > 1.5.0~git20150128.112847.17e840a > 1.5.0~dev~git20150128.112847.17e840a fi -echo "$debVersion" +echo "$debVersion" "$origVersion" diff --git a/components/packaging/rpm/Makefile b/components/packaging/rpm/Makefile index c746907c54..edcade9976 100644 --- a/components/packaging/rpm/Makefile +++ b/components/packaging/rpm/Makefile @@ -17,7 +17,7 @@ RPMBUILD_FLAGS=-ba\ --define '_gitcommit $(word 3,$(GEN_RPM_VER))' \ --define '_release $(word 2,$(GEN_RPM_VER))' \ --define '_version $(word 1,$(GEN_RPM_VER))' \ - --define '_origversion $(VERSION)' \ + --define '_origversion $(word 4, $(GEN_RPM_VER))' \ SPECS/docker-ce.spec .PHONY: help diff --git a/components/packaging/rpm/gen-rpm-ver b/components/packaging/rpm/gen-rpm-ver index 391c67fc44..1db470e89b 100755 --- a/components/packaging/rpm/gen-rpm-ver +++ b/components/packaging/rpm/gen-rpm-ver @@ -11,6 +11,7 @@ if [[ $(uname) -eq "Darwin" ]]; then fi GIT_COMMAND="git -C $ENGINE_DIR" +origVersion="$VERSION" rpmVersion="$VERSION" rpmRelease=3 @@ -47,12 +48,12 @@ if [[ "$rpmVersion" == *-dev ]] || [ -n "$($GIT_COMMAND status --porcelain)" ]; gitUnix="$($GIT_COMMAND log -1 --pretty='%at')" gitDate="$($DATE_COMMAND --date "@$gitUnix" +'%Y%m%d.%H%M%S')" gitCommit="$($GIT_COMMAND log -1 --pretty='%h')" - gitVersion="git${gitDate}.0.${gitCommit}" # gitVersion is now something like '20150128.112847.17e840a' - rpmVersion="${rpmVersion%-dev}" - rpmRelease="0.0.dev.$gitVersion" + rpmVersion="0.${gitDate}~${gitCommit}" + rpmRelease="0" + origVersion="0.${gitDate}~${gitCommit}" fi # Replace any other dashes with periods rpmVersion="${rpmVersion//-/.}" -echo $rpmVersion $rpmRelease $DOCKER_GITCOMMIT +echo $rpmVersion $rpmRelease $DOCKER_GITCOMMIT $origVersion