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 <eli.uriegas@docker.com>
Upstream-commit: 559c9a323a77fe1215f91d851ce72053ce5dd99b
Component: packaging
This commit is contained in:
Eli Uriegas
2018-07-06 17:59:30 +00:00
parent 51cfefca93
commit 8dfe97f6a1
4 changed files with 12 additions and 10 deletions

View File

@ -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 \

View File

@ -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"

View File

@ -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

View File

@ -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