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:
@ -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 \
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user