Browse code

Add rpm builder for VMware Photon OS

Signed-off-by: Fabio Rapposelli <fabio@vmware.com>

Fabio Rapposelli authored on 2016/02/09 02:03:08
Showing 3 changed files
... ...
@@ -25,6 +25,9 @@ for version in "${versions[@]}"; do
25 25
 	if [[ "$distro" == "fedora" ]]; then
26 26
 		installer=dnf
27 27
 	fi
28
+	if [[ "$distro" == "photon" ]]; then
29
+		installer=tdnf
30
+	fi
28 31
 
29 32
 	mkdir -p "$version"
30 33
 	echo "$version -> FROM $from"
... ...
@@ -70,6 +73,9 @@ for version in "${versions[@]}"; do
70 70
 			# get rpm-build and curl packages and dependencies
71 71
 			echo 'RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build' >> "$version/Dockerfile"
72 72
 			;;
73
+		photon:*)
74
+			echo "RUN ${installer} install -y wget curl ca-certificates gzip make rpm-build sed gcc linux-api-headers glibc-devel binutils libseccomp libltdl-devel elfutils" >> "$version/Dockerfile"
75
+			;;
73 76
 		*)
74 77
 			echo "RUN ${installer} install -y @development-tools fedora-packager" >> "$version/Dockerfile"
75 78
 			;;
... ...
@@ -129,6 +135,10 @@ for version in "${versions[@]}"; do
129 129
 			# use zypper
130 130
 			echo "RUN zypper --non-interactive install ${packages[*]}" >> "$version/Dockerfile"
131 131
 			;;
132
+		photon:*)
133
+			packages=( "${packages[@]/pkgconfig/pkg-config}" )
134
+			echo "RUN ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
135
+			;;
132 136
 		*)
133 137
 			echo "RUN ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
134 138
 			;;
135 139
new file mode 100644
... ...
@@ -0,0 +1,18 @@
0
+#
1
+# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
2
+#
3
+
4
+FROM photon:1.0
5
+
6
+RUN tdnf install -y wget curl ca-certificates gzip make rpm-build sed gcc linux-api-headers glibc-devel binutils libseccomp libltdl-devel elfutils
7
+RUN tdnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkg-config selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git
8
+
9
+ENV GO_VERSION 1.7
10
+RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
11
+ENV PATH $PATH:/usr/local/go/bin
12
+
13
+ENV AUTO_GOPATH 1
14
+
15
+ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux
16
+ENV RUNC_BUILDTAGS seccomp selinux
17
+
... ...
@@ -141,7 +141,7 @@ do_install() {
141 141
 	esac
142 142
 
143 143
 	if command_exists docker; then
144
-		version="$(docker -v | awk -F '[ ,]+' '{ print $3 }')"
144
+		version="$(docker -v | cut -d ' ' -f3 | cut -d ',' -f1)"
145 145
 		MAJOR_W=1
146 146
 		MINOR_W=10
147 147
 
... ...
@@ -247,6 +247,9 @@ do_install() {
247 247
 	if [ -z "$lsb_dist" ] && [ -r /etc/redhat-release ]; then
248 248
 		lsb_dist='redhat'
249 249
 	fi
250
+	if [ -z "$lsb_dist" ] && [ -r /etc/photon-release ]; then
251
+		lsb_dist='photon'
252
+	fi
250 253
 	if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then
251 254
 		lsb_dist="$(. /etc/os-release && echo "$ID")"
252 255
 	fi
... ...
@@ -292,6 +295,11 @@ do_install() {
292 292
 			dist_version="$(rpm -q --whatprovides ${lsb_dist}-release --queryformat "%{VERSION}\n" | sed 's/\/.*//' | sed 's/\..*//' | sed 's/Server*//' | sort | tail -1)"
293 293
 		;;
294 294
 
295
+		"vmware photon")
296
+			lsb_dist="photon"
297
+			dist_version="$(. /etc/os-release && echo "$VERSION_ID")"
298
+		;;
299
+
295 300
 		*)
296 301
 			if command_exists lsb_release; then
297 302
 				dist_version="$(lsb_release --codename | cut -f2)"
... ...
@@ -450,7 +458,7 @@ do_install() {
450 450
 			exit 0
451 451
 			;;
452 452
 
453
-		fedora|centos|redhat|oraclelinux)
453
+		fedora|centos|redhat|oraclelinux|photon)
454 454
 			if [ "${lsb_dist}" = "redhat" ]; then
455 455
 				# we use the centos repository for both redhat and centos releases
456 456
 				lsb_dist='centos'
... ...
@@ -468,6 +476,11 @@ do_install() {
468 468
 					set -x
469 469
 					$sh_c 'sleep 3; dnf -y -q install docker-engine'
470 470
 				)
471
+			elif [ "$lsb_dist" = "photon" ]; then
472
+				(
473
+					set -x
474
+					$sh_c 'sleep 3; tdnf -y install docker-engine'
475
+				)
471 476
 			else
472 477
 				(
473 478
 					set -x