소스 검색

Merge pull request #19150 from mikedougherty/cs-108-rpm-release

[CS-108] Adjust version string processing for RPM build
Sebastiaan van Stijn 9 년 전
부모
커밋
4bcb6c7fc8
1개의 변경된 파일11개의 추가작업 그리고 4개의 파일을 삭제
  1. 11 4
      hack/make/build-rpm

+ 11 - 4
hack/make/build-rpm

@@ -10,17 +10,20 @@ set -e
 	# TODO consider using frozen images for the dockercore/builder-rpm tags
 
 	rpmName=docker-engine
-	rpmVersion="${VERSION%%-*}"
+	rpmVersion="$VERSION"
 	rpmRelease=1
 
 	# rpmRelease versioning is as follows
 	# Docker 1.7.0:  version=1.7.0, release=1
 	# Docker 1.7.0-rc1: version=1.7.0, release=0.1.rc1
+	# Docker 1.7.0-cs1: version=1.7.0.cs1, release=1
+	# Docker 1.7.0-cs1-rc1: version=1.7.0.cs1, release=0.1.rc1
 	# Docker 1.7.0-dev nightly: version=1.7.0, release=0.0.YYYYMMDD.HHMMSS.gitHASH
 
 	# if we have a "-rc*" suffix, set appropriate release
-	if [[ "$VERSION" == *-rc* ]]; then
-		rcVersion=${VERSION#*-rc}
+	if [[ "$rpmVersion" =~ .*-rc[0-9]+$ ]] ; then
+		rcVersion=${rpmVersion#*-rc}
+		rpmVersion=${rpmVersion%-rc*}
 		rpmRelease="0.${rcVersion}.rc${rcVersion}"
 	fi
 
@@ -30,15 +33,19 @@ set -e
 	fi
 
 	# if we have a "-dev" suffix or have change in Git, let's make this package version more complex so it works better
-	if [[ "$VERSION" == *-dev ]] || [ -n "$(git status --porcelain)" ]; then
+	if [[ "$rpmVersion" == *-dev ]] || [ -n "$(git status --porcelain)" ]; then
 		gitUnix="$(git log -1 --pretty='%at')"
 		gitDate="$(date --date "@$gitUnix" +'%Y%m%d.%H%M%S')"
 		gitCommit="$(git log -1 --pretty='%h')"
 		gitVersion="${gitDate}.git${gitCommit}"
 		# gitVersion is now something like '20150128.112847.17e840a'
+		rpmVersion="${rpmVersion%-dev}"
 		rpmRelease="0.0.$gitVersion"
 	fi
 
+	# Replace any other dashes with periods
+	rpmVersion="${rpmVersion/-/.}"
+
 	rpmPackager="$(awk -F ': ' '$1 == "Packager" { print $2; exit }' hack/make/.build-rpm/${rpmName}.spec)"
 	rpmDate="$(date +'%a %b %d %Y')"