Browse code

Add build number, release version to build artifact names

Change-Id: Id6e2e65a68bad4b535df90dbe81f299160d2303c
Reviewed-on: http://photon-jenkins.eng.vmware.com/46
Reviewed-by: Divya Thaluru <dthaluru@vmware.com>
Reviewed-by: <anishs@vmware.com>
Tested-by: jenkins-photon <wangnan2015@hotmail.com>

Vinay Kulkarni authored on 2015/10/07 23:47:42
Showing 14 changed files
... ...
@@ -5,7 +5,7 @@
5 5
 FROM scratch
6 6
 MAINTAINER tliaqat@vmware.com
7 7
 
8
-ADD stage/photon-rootfs.tar.bz2 /
8
+ADD stage/photon-rootfs-$PHOTON_RELEASE_VERSION-$PHOTON_BUILD_NUMBER.tar.bz2 /
9 9
 
10 10
 VOLUME /var/lib/docker
11 11
 
... ...
@@ -12,6 +12,8 @@ Makefile: ;
12 12
 include $(MAKEROOT)/makedefs.mk
13 13
 
14 14
 export PATH := $(SRCROOT)/tools/bin:$(PATH)
15
+export PHOTON_BUILD_NUM=$(PHOTON_BUILD_NUMBER)
16
+export PHOTON_RELEASE_VER=$(PHOTON_RELEASE_VERSION)
15 17
 
16 18
 ifdef PHOTON_CACHE_PATH
17 19
 PHOTON_PACKAGES_MICRO := packages-cached
... ...
@@ -56,14 +58,16 @@ micro: micro-iso
56 56
 micro-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MICRO)
57 57
 	@echo "Building Photon Micro ISO..."
58 58
 	@cd $(PHOTON_INSTALLER_DIR) && \
59
-        $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-micro.iso \
59
+        $(PHOTON_INSTALLER) \
60
+                -i $(PHOTON_STAGE)/photon-micro-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \
60 61
                 -w $(PHOTON_STAGE)/photon_iso \
61 62
                 -l $(PHOTON_STAGE)/LOGS \
62 63
                 -r $(PHOTON_STAGE)/RPMS \
63 64
                 -p $(PHOTON_GENERATED_DATA_DIR)/$(MICRO_PACKAGE_LIST_FILE) \
64 65
                 -o $(PHOTON_STAGE)/common/data \
65 66
                 -f > \
66
-                $(PHOTON_LOGS_DIR)/installer.log 2>&1
67
+                $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \
68
+        cd $(PHOTON_STAGE) && ln -fs photon-micro-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-micro.iso
67 69
 
68 70
 packages-micro: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) generate-dep-lists
69 71
 	@echo "Building all Micro RPMS..."
... ...
@@ -76,8 +80,10 @@ packages-micro: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) g
76 76
                 -l $(PHOTON_LOGS_DIR) \
77 77
                 -p $(PHOTON_PUBLISH_RPMS_DIR) \
78 78
                 -j $(PHOTON_GENERATED_DATA_DIR)/$(MICRO_PACKAGE_LIST_FILE) \
79
-		-c $(PHOTON_BINTRAY_CONFIG) \
80
-		-d $(PHOTON_DIST_TAG) \
79
+                -c $(PHOTON_BINTRAY_CONFIG) \
80
+                -d $(PHOTON_DIST_TAG) \
81
+                -n $(PHOTON_BUILD_NUMBER) \
82
+                -v $(PHOTON_RELEASE_VERSION) \
81 83
                 -t ${THREADS}
82 84
 
83 85
 minimal: minimal-iso
... ...
@@ -86,38 +92,44 @@ minimal: minimal-iso
86 86
 minimal-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MINIMAL)
87 87
 	@echo "Building Photon Minimal ISO..."
88 88
 	@cd $(PHOTON_INSTALLER_DIR) && \
89
-        $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-minimal.iso \
89
+        $(PHOTON_INSTALLER) \
90
+                -i $(PHOTON_STAGE)/photon-minimal-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \
90 91
                 -w $(PHOTON_STAGE)/photon_iso \
91 92
                 -l $(PHOTON_STAGE)/LOGS \
92 93
                 -r $(PHOTON_STAGE)/RPMS \
93 94
                 -p $(PHOTON_GENERATED_DATA_DIR)/$(MINIMAL_PACKAGE_LIST_FILE) \
94 95
                 -o $(PHOTON_STAGE)/common/data \
95 96
                 -f > \
96
-                $(PHOTON_LOGS_DIR)/installer.log 2>&1
97
+                $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \
98
+        cd $(PHOTON_STAGE) && ln -fs photon-minimal-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-minimal.iso
97 99
 
98 100
 ostree-host-iso: check $(PHOTON_STAGE) ostree-repo
99 101
 	@echo "Building Photon OSTree Host ISO..."
100 102
 	@cd $(PHOTON_INSTALLER_DIR) && \
101
-        $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-ostree-host.iso \
103
+        $(PHOTON_INSTALLER) \
104
+                -i $(PHOTON_STAGE)/photon-ostree-host-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \
102 105
                 -w $(PHOTON_STAGE)/photon_iso \
103 106
                 -l $(PHOTON_STAGE)/LOGS \
104 107
                 -r $(PHOTON_STAGE)/RPMS \
105 108
                 -p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_ostreehost.json \
106 109
                 -o $(PHOTON_STAGE)/common/data \
107 110
                 -f > \
108
-                $(PHOTON_LOGS_DIR)/installer.log 2>&1
111
+                $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \
112
+        cd $(PHOTON_STAGE) && ln -fs photon-ostree-host-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-ostree-host.iso
109 113
 
110 114
 live-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MINIMAL) minimal-iso
111 115
 	@echo "Building Photon Minimal LIVE ISO..."
112 116
 	@cd $(PHOTON_INSTALLER_DIR) && \
113
-        $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-live-iso.iso \
117
+        $(PHOTON_INSTALLER) \
118
+                -i $(PHOTON_STAGE)/photon-live-iso-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \
114 119
                 -w $(PHOTON_STAGE)/photon_iso \
115 120
                 -l $(PHOTON_STAGE)/LOGS \
116 121
                 -r $(PHOTON_STAGE)/RPMS \
117 122
                 -p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_livecd.json \
118 123
                 -o $(PHOTON_STAGE)/common/data \
119 124
                 -f > \
120
-                $(PHOTON_LOGS_DIR)/installer.log 2>&1                
125
+                $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \
126
+        cd $(PHOTON_STAGE) && ln -fs photon-live-iso-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-live-iso.iso
121 127
 
122 128
 packages-minimal: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) generate-dep-lists
123 129
 	@echo "Building all RPMS..."
... ...
@@ -130,21 +142,25 @@ packages-minimal: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES)
130 130
                 -l $(PHOTON_LOGS_DIR) \
131 131
                 -p $(PHOTON_PUBLISH_RPMS_DIR) \
132 132
                 -j $(PHOTON_GENERATED_DATA_DIR)/$(MINIMAL_PACKAGE_LIST_FILE) \
133
-		-c $(PHOTON_BINTRAY_CONFIG) \
134
-		-d $(PHOTON_DIST_TAG) \
133
+                -c $(PHOTON_BINTRAY_CONFIG) \
134
+                -d $(PHOTON_DIST_TAG) \
135
+                -n $(PHOTON_BUILD_NUMBER) \
136
+                -v $(PHOTON_RELEASE_VERSION) \
135 137
                 -t ${THREADS}
136 138
 
137 139
 iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES) ostree-repo
138 140
 	@echo "Building Photon Full ISO..."
139 141
 	@cd $(PHOTON_INSTALLER_DIR) && \
140
-        sudo $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon.iso \
142
+        sudo $(PHOTON_INSTALLER) \
143
+                -i $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \
141 144
                 -w $(PHOTON_STAGE)/photon_iso \
142 145
                 -l $(PHOTON_STAGE)/LOGS \
143 146
                 -r $(PHOTON_STAGE)/RPMS \
144 147
                 -p $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \
145
-		        -o $(PHOTON_STAGE)/common/data \
148
+                -o $(PHOTON_STAGE)/common/data \
146 149
                 -f > \
147
-                $(PHOTON_LOGS_DIR)/installer.log 2>&1
150
+                $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \
151
+        cd $(PHOTON_STAGE) && ln -fs photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon.iso
148 152
 
149 153
 pkgtree:
150 154
 	@cd $(PHOTON_SPECDEPS_DIR) && \
... ...
@@ -169,8 +185,10 @@ packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTA
169 169
                 -l $(PHOTON_LOGS_DIR) \
170 170
                 -p $(PHOTON_PUBLISH_RPMS_DIR) \
171 171
                 -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \
172
-		-c $(PHOTON_BINTRAY_CONFIG) \
173
-		-d $(PHOTON_DIST_TAG) \
172
+                -c $(PHOTON_BINTRAY_CONFIG) \
173
+                -d $(PHOTON_DIST_TAG) \
174
+                -n $(PHOTON_BUILD_NUMBER) \
175
+                -v $(PHOTON_RELEASE_VERSION) \
174 176
                 -t ${THREADS}
175 177
 
176 178
 updated-packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists
... ...
@@ -184,8 +202,10 @@ updated-packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES)
184 184
                 -l $(PHOTON_LOGS_DIR) \
185 185
                 -p $(PHOTON_PUBLISH_RPMS_DIR) \
186 186
                 -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \
187
-		-c $(PHOTON_BINTRAY_CONFIG) \
188
-		-d $(PHOTON_DIST_TAG) \
187
+                -c $(PHOTON_BINTRAY_CONFIG) \
188
+                -d $(PHOTON_DIST_TAG) \
189
+                -n $(PHOTON_BUILD_NUMBER) \
190
+                -v $(PHOTON_RELEASE_VERSION) \
189 191
                 -k $(PHOTON_INPUT_RPMS_DIR) \
190 192
                 -t ${THREADS}
191 193
 
... ...
@@ -201,8 +221,10 @@ tool-chain-stage1: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES
201 201
                 -p $(PHOTON_PUBLISH_RPMS_DIR) \
202 202
                 -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \
203 203
                 -t ${THREADS} \
204
-		-c $(PHOTON_BINTRAY_CONFIG) \
205
-		-d $(PHOTON_DIST_TAG) \
204
+                -c $(PHOTON_BINTRAY_CONFIG) \
205
+                -d $(PHOTON_DIST_TAG) \
206
+                -n $(PHOTON_BUILD_NUMBER) \
207
+                -v $(PHOTON_RELEASE_VERSION) \
206 208
                 -m stage1
207 209
 
208 210
 tool-chain-stage2: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists
... ...
@@ -217,8 +239,10 @@ tool-chain-stage2: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES
217 217
                 -p $(PHOTON_PUBLISH_RPMS_DIR) \
218 218
                 -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \
219 219
                 -t ${THREADS} \
220
-		-c $(PHOTON_BINTRAY_CONFIG) \
221
-		-d $(PHOTON_DIST_TAG) \
220
+                -c $(PHOTON_BINTRAY_CONFIG) \
221
+                -d $(PHOTON_DIST_TAG) \
222
+                -n $(PHOTON_BUILD_NUMBER) \
223
+                -v $(PHOTON_RELEASE_VERSION) \
222 224
                 -m stage2
223 225
 
224 226
 
... ...
@@ -285,6 +309,8 @@ docker-image:
285 285
 		--rm \
286 286
 		--privileged \
287 287
 		--net=host \
288
+		-e PHOTON_BUILD_NUMBER=$(PHOTON_BUILD_NUMBER) \
289
+		-e PHOTON_RELEASE_VERSION=$(PHOTON_RELEASE_VERSION) \
288 290
 		-v `pwd`:/workspace \
289 291
 		vmware/build-photon \
290 292
 		./support/dockerfiles/photon/make-docker-image.sh tdnf
... ...
@@ -302,7 +328,7 @@ ostree-repo: $(PHOTON_PACKAGES)
302 302
 
303 303
 clean: clean-install clean-chroot
304 304
 	@echo "Deleting Photon ISO..."
305
-	@$(RM) -f $(PHOTON_STAGE)/photon.iso
305
+	@$(RM) -f $(PHOTON_STAGE)/photon-*.iso
306 306
 	@echo "Deleting stage dir..."
307 307
 	@$(RMDIR) $(PHOTON_STAGE)
308 308
 	@echo "Deleting chroot path..."
... ...
@@ -344,15 +370,15 @@ endif
344 344
 
345 345
 photon-vagrant-local: check-packer check-vagrant
346 346
 	@echo "Building a Photon Vagrant box with Packer..."
347
-	@if [ -e $(PHOTON_STAGE)/photon.iso ]; then \
347
+	@if [ -e $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ]; then \
348 348
 		cd $(PHOTON_PACKER_TEMPLATES) && \
349
-		$(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"$$($(SHASUM) ../../stage/photon.iso | cut -f 1 -d ' ')\",#" photon.json && \
349
+		$(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"$$($(SHASUM) ../../stage/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso | cut -f 1 -d ' ')\",#" photon.json && \
350 350
 		$(PACKER) build $(PACKER_ARGS) photon.json && \
351 351
 		$(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"\",#" photon.json; \
352 352
 		echo "Moving boxes to $(PHOTON_STAGE)..." && \
353 353
 		$(MV) *.box $(PHOTON_STAGE); \
354 354
 	else \
355
-		echo "Unable to find $(PHOTON_STAGE)/photon.iso ... aborting build"; \
355
+		echo "Unable to find $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ... aborting build"; \
356 356
 	fi
357 357
 
358 358
 cloud-image: $(PHOTON_STAGE) iso
... ...
@@ -412,14 +438,16 @@ check-packer-ovf-plugin:
412 412
 	$(eval PKG_NAME = $@)
413 413
 	@echo "Building package $(PKG_NAME) ..."
414 414
 	@cd $(PHOTON_PKG_BUILDER_DIR) && \
415
-    $(PHOTON_PACKAGE_BUILDER) -i $(PKG_NAME)\
415
+        $(PHOTON_PACKAGE_BUILDER) -i $(PKG_NAME)\
416 416
                               -b $(PHOTON_CHROOT_PATH) \
417 417
                               -s $(PHOTON_SPECS_DIR) \
418 418
                               -r $(PHOTON_RPMS_DIR) \
419 419
                               -x $(PHOTON_SRCS_DIR) \
420 420
                               -p $(PHOTON_PUBLISH_RPMS_DIR) \
421 421
                               -c $(PHOTON_BINTRAY_CONFIG) \
422
-			      -d $(PHOTON_DIST_TAG) \
422
+                              -d $(PHOTON_DIST_TAG) \
423
+                              -n $(PHOTON_BUILD_NUMBER) \
424
+                              -v $(PHOTON_RELEASE_VERSION) \
423 425
                               -l $(PHOTON_LOGS_DIR)
424 426
 
425 427
 $(TOOLS_BIN):
... ...
@@ -1,12 +1,13 @@
1 1
 Summary:	Default file system
2 2
 Name:		filesystem
3 3
 Version:	7.5
4
-Release:	8%{?dist}
4
+Release:	9%{?dist}
5 5
 License:	GPLv3
6 6
 Group:		System Environment/Base
7 7
 Vendor:		VMware, Inc.
8 8
 URL:		http://www.linuxfromscratch.org
9 9
 Distribution:	Photon
10
+
10 11
 %description
11 12
 The filesystem package is one of the basic packages that is installed
12 13
 on a Linux system. Filesystem contains the basic directory
... ...
@@ -319,19 +320,22 @@ EOF
319 319
 #
320 320
 #		chapter 9.1. The End
321 321
 #
322
-echo "VMware Photon Linux 1.0 TP2" > %{buildroot}/etc/photon-release
322
+
323
+echo "VMware Photon Linux %{photon_release_version}" > %{buildroot}/etc/photon-release
324
+echo "PHOTON_BUILD_NUMBER=%{photon_build_number}" >> %{buildroot}/etc/photon-release
325
+
323 326
 cat > %{buildroot}/etc/lsb-release <<- "EOF"
324 327
 DISTRIB_ID="VMware Photon"
325
-DISTRIB_RELEASE="1.0 TP2"
328
+DISTRIB_RELEASE="%{photon_release_version}"
326 329
 DISTRIB_CODENAME=Photon
327
-DISTRIB_DESCRIPTION="VMware Photon 1.0 TP2"
330
+DISTRIB_DESCRIPTION="VMware Photon %{photon_release_version}"
328 331
 EOF
329 332
 
330 333
 cat > %{buildroot}/usr/lib/os-release <<- "EOF"
331 334
 NAME="VMware Photon"
332
-VERSION="1.0 TP2"
335
+VERSION="%{photon_release_version}"
333 336
 ID=photon
334
-VERSION_ID=1.0
337
+VERSION_ID=%{photon_release_version} | cut -d- -f1
335 338
 PRETTY_NAME="VMware Photon/Linux"
336 339
 ANSI_COLOR="1;34"
337 340
 HOME_URL="https://vmware.github.io/photon/"
... ...
@@ -466,6 +470,8 @@ ln -sv ../usr/lib/os-release %{buildroot}/etc/os-release
466 466
 /usr/local/lib64
467 467
 %endif
468 468
 %changelog
469
+*   Fri Oct 02 2015 Vinay Kulkarni <kulkarniv@vmware.com> 7.5-9
470
+-   Dump build-number and release version from macros.
469 471
 *   Fri Aug 14 2015 Sharath George <sharathg@vmware.com> 7.5-8
470 472
 -   upgrading release to TP2
471 473
 *   Tue Jun 30 2015 Alexey Makhalov <amakhalov@vmware.com> 7.5-7
... ...
@@ -1,6 +1,10 @@
1 1
 #!/bin/bash
2 2
 
3 3
 PHOTON_IMG_OUTPUT_PATH=$1
4
-tar -Szcf $PHOTON_IMG_OUTPUT_PATH/photon-ami.tar.gz $PHOTON_IMG_OUTPUT_PATH/photon-ami.raw
5 4
 
6
-rm -f $PHOTON_IMG_OUTPUT_PATH/photon-ami.raw
5
+cd $PHOTON_IMG_OUTPUT_PATH
6
+mv photon-ami.raw photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.raw
7
+tar -Szcf photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.tar.gz photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.raw
8
+ln -s photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.tar.gz photon-ami.tar.gz
9
+
10
+rm -f photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.raw
... ...
@@ -6,7 +6,8 @@ cd $SRC_ROOT/tools/src/imgconverter
6 6
 mkdir -p $SRC_ROOT/tools/bin
7 7
 make clean
8 8
 make
9
-$SRC_ROOT/tools/bin/imgconverter -i $PHOTON_IMG_OUTPUT_PATH/photon-azure.raw -v vhd -o $PHOTON_IMG_OUTPUT_PATH/photon-azure.vhd
9
+$SRC_ROOT/tools/bin/imgconverter -i $PHOTON_IMG_OUTPUT_PATH/photon-azure.raw -v vhd -o $PHOTON_IMG_OUTPUT_PATH/photon-azure-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.vhd
10
+cd $PHOTON_IMG_OUTPUT_PATH && ln -s photon-azure-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.vhd photon-azure.vhd
10 11
 
11 12
 rm -f $PHOTON_IMG_OUTPUT_PATH/photon-azure.raw
12 13
 
... ...
@@ -2,11 +2,12 @@
2 2
 
3 3
 PHOTON_IMG_OUTPUT_PATH=$1
4 4
 RAWFILE="photon-gce.raw"
5
-TARFILE="photon-gce.tar.gz"
5
+TARFILE="photon-gce-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.tar.gz"
6 6
 
7 7
 echo "Creating ${TARFILE} file from ${RAWFILE}."
8 8
 cd $PHOTON_IMG_OUTPUT_PATH
9 9
 mv ${RAWFILE} disk.raw
10 10
 tar -Szcf $PHOTON_IMG_OUTPUT_PATH/${TARFILE} disk.raw
11
+cd $PHOTON_IMG_OUTPUT_PATH && ln -s ${TARFILE} photon-gce.tar.gz
11 12
 
12 13
 rm -f disk.raw
... ...
@@ -28,10 +28,10 @@ sed -i "s/otherGuest/other3xLinux64Guest/g" $PHOTON_IMG_OUTPUT_PATH/temp/photon-
28 28
 sed -i '/\/VirtualSystem>/i \ \t<ProductSection> \n \t\t<Info>Information about the installed software</Info> \n \t\t<Product>Photon</Product> \n \t\t<Vendor>VMware Inc.</Vendor> \n \t\t<Version>1.0.0</Version> \n \t\t<FullVersion>1.0.0-TP2</FullVersion> \n \t</ProductSection> ' $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova.ovf
29 29
 rm -f $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova.mf
30 30
 openssl sha1 *.vmdk photon-ova.ovf > photon-ova.mf
31
-tar cf photon-ova.ova photon-ova.ovf photon-ova.mf photon-ova-disk1.vmdk
32
-
33
-cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova.ova $PHOTON_IMG_OUTPUT_PATH/
31
+tar cf photon-ova-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova.ovf photon-ova.mf photon-ova-disk1.vmdk
32
+cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova $PHOTON_IMG_OUTPUT_PATH/
34 33
 cd $PHOTON_IMG_OUTPUT_PATH
34
+ln -s photon-ova-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova.ova
35 35
 rm -rf photon-custom
36 36
 DISK_DEVICE=`losetup --show -f ${PHOTON_IMG_OUTPUT_PATH}/photon-ova.raw`
37 37
 kpartx -av $DISK_DEVICE
... ...
@@ -70,9 +70,10 @@ sed -i "s/otherGuest/other3xLinux64Guest/g" $PHOTON_IMG_OUTPUT_PATH/temp1/photon
70 70
 sed -i '/\/VirtualSystem>/i \ \t<ProductSection> \n \t\t<Info>Information about the installed software</Info> \n \t\t<Product>Photon</Product> \n \t\t<Vendor>VMware Inc.</Vendor> \n \t\t<Version>1.0.0</Version> \n \t\t<FullVersion>1.0.0-TP2</FullVersion> \n \t</ProductSection> ' $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom.ovf
71 71
 rm -f $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom.mf
72 72
 openssl sha1 *.vmdk photon-custom.ovf > photon-custom.mf
73
-tar cf photon-custom.ova photon-custom.ovf photon-custom.mf photon-custom-disk1.vmdk
74
-cp $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom.ova $PHOTON_IMG_OUTPUT_PATH/
73
+tar cf photon-custom-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-custom.ovf photon-custom.mf photon-custom-disk1.vmdk
74
+cp $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova $PHOTON_IMG_OUTPUT_PATH/
75 75
 cd $PHOTON_IMG_OUTPUT_PATH
76
+ln -s photon-custom-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-custom.ova
76 77
 rm -rf $PHOTON_IMG_OUTPUT_PATH/temp/
77 78
 rm -rf $PHOTON_IMG_OUTPUT_PATH/temp1/
78 79
 rm -f $PHOTON_IMG_OUTPUT_PATH/photon-ova.raw
... ...
@@ -55,9 +55,10 @@ sed -i '/vmw:value="efi"\/>/a \ \t<vmw:ExtraConfig ovf:required="false" vmw:key=
55 55
 sed -i '/\/VirtualSystem>/i \ \t<ProductSection> \n \t\t<Info>Information about the installed software</Info> \n \t\t<Product>Photon</Product> \n \t\t<Vendor>VMware Inc.</Vendor> \n \t\t<Version>1.0.0</Version> \n \t\t<FullVersion>1.0.0-TP2</FullVersion> \n \t</ProductSection> ' $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-uefi.ovf
56 56
 
57 57
 openssl sha1 *.vmdk photon-ova-uefi.ovf > photon-ova-uefi.mf
58
-tar cf photon-ova-uefi.ova photon-ova-uefi.ovf photon-ova-uefi.mf photon-ova-uefi-disk1.vmdk
58
+tar cf photon-ova-uefi-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova-uefi.ovf photon-ova-uefi.mf photon-ova-uefi-disk1.vmdk
59
+cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-uefi-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova $PHOTON_IMG_OUTPUT_PATH/
60
+cd $PHOTON_IMG_OUTPUT_PATH && ln -s photon-ova-uefi-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova-uefi.ova
59 61
 
60
-cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-uefi.ova $PHOTON_IMG_OUTPUT_PATH/
61 62
 rm -rf $PHOTON_IMG_OUTPUT_PATH/temp/
62 63
 
63 64
 rm -f $PHOTON_IMG_OUTPUT_PATH/photon-ova_uefi.raw
... ...
@@ -14,7 +14,7 @@ MAIN_PACKAGE=$1
14 14
 
15 15
 
16 16
 TEMP_CHROOT=$(pwd)/temp_chroot
17
-ROOTFS_TAR_FILENAME=photon-rootfs.tar.bz2
17
+ROOTFS_TAR_FILENAME=photon-rootfs-$PHOTON_RELEASE_VERSION-$PHOTON_BUILD_NUMBER.tar.bz2
18 18
 STAGE_DIR=$(pwd)/stage
19 19
 
20 20
 sudo createrepo $STAGE_DIR/RPMS
... ...
@@ -79,7 +79,9 @@ rm -rf var/log/*
79 79
 tar cpjf ../$ROOTFS_TAR_FILENAME .
80 80
 mkdir -p $STAGE_DIR
81 81
 mv ../$ROOTFS_TAR_FILENAME $STAGE_DIR/
82
-
82
+cd $STAGE_DIR
83
+ln -fs $ROOTFS_TAR_FILENAME photon-rootfs.tar.bz2
84
+cd $TEMP_CHROOT
83 85
 cd ..
84 86
 
85 87
 # cleanup
... ...
@@ -53,3 +53,8 @@ PHOTON_CHROOT_PATH:=$(PHOTON_STAGE)/photonroot
53 53
 PHOTON_FS_ROOT=/usr/src/photon
54 54
 PHOTON_DIST_TAG?=.ph1tp3
55 55
 PHOTON_INPUT_RPMS_DIR?=$(SRCROOT)/inputRPMS
56
+
57
+PHOTON_BUILD_NUMBER=$(shell git rev-parse --short HEAD)
58
+PHOTON_RELEASE_MAJOR_ID=1.0
59
+PHOTON_RELEASE_MINOR_ID=TP3
60
+PHOTON_RELEASE_VERSION=$(PHOTON_RELEASE_MAJOR_ID)-$(PHOTON_RELEASE_MINOR_ID)
... ...
@@ -24,6 +24,8 @@ class PackageUtils(object):
24 24
         
25 25
         self.rpmbuildBinary = "rpmbuild"
26 26
         self.rpmbuildBuildallOption = "-ba --clean"
27
+        self.rpmbuildBuildNum = '--define \\\"photon_build_number %s\\\"' % constants.buildNumber
28
+        self.rpmbuildReleaseVer = '--define \\\"photon_release_version %s\\\"' % constants.releaseVersion
27 29
         self.rpmbuildNocheckOption = "--nocheck"
28 30
         self.rpmbuildDistOption = '--define \\\"dist %s\\\"' % constants.dist
29 31
         self.queryRpmPackageOptions = "-qa"
... ...
@@ -154,10 +156,12 @@ class PackageUtils(object):
154 154
     def buildRPM(self,specFile,logFile,chrootCmd):
155 155
         
156 156
         rpmBuildcmd= self.rpmbuildBinary+" "+self.rpmbuildBuildallOption+" "+self.rpmbuildNocheckOption +" "+self.rpmbuildDistOption
157
+        rpmBuildcmd+=" "+self.rpmbuildBuildNum+" "+self.rpmbuildReleaseVer
157 158
         rpmBuildcmd+=" "+specFile
158 159
         
159 160
         cmdUtils = CommandUtils()
160 161
         self.logger.info("Building rpm....")
162
+        self.logger.info(rpmBuildcmd)
161 163
         returnVal = cmdUtils.runCommandInShell(rpmBuildcmd, logFile, chrootCmd)
162 164
         if not returnVal:
163 165
             self.logger.error("Building rpm is failed "+specFile)
... ...
@@ -46,7 +46,7 @@ class ToolChainUtils(object):
46 46
         rpmFile=pkgUtils.findRPMFileForGivenPackage(package)
47 47
         if rpmFile is None:
48 48
             specFile=constants.specData.getSpecFile(package)
49
-            cmd=self.rpmbuildCommand+" -ba --nocheck --define \'_topdir "+chrootID+constants.topDirPath+"\' --define \'_dbpath "+chrootID+"/var/lib/rpm\' --define \'dist "+constants.dist+"\' "+specFile
49
+            cmd=self.rpmbuildCommand+" -ba --nocheck --define \'_topdir "+chrootID+constants.topDirPath+"\' --define \'_dbpath "+chrootID+"/var/lib/rpm\' --define \'dist "+constants.dist+"\' --define \'photon_build_number "+constants.buildNumber+"\' --define \'photon_release_version "+constants.releaseVersion+"\' "+specFile
50 50
             self.logger.info(cmd)
51 51
             cmdUtils.runCommandInShell(cmd,self.logPath+"/filesystem.log")
52 52
             filesystemrpmFile = cmdUtils.findFile(package+"-*.rpm", chrootID+constants.topDirPath+"/RPMS")
... ...
@@ -31,6 +31,8 @@ def main():
31 31
     parser.add_option("-c",  "--pullsources-config", dest="pullsourcesConfig",  default="pullsources.conf")
32 32
     parser.add_option("-d",  "--dist", dest="dist",  default="")
33 33
     parser.add_option("-k",  "--input-RPMS-path", dest="inputRPMSPath",   default=None)
34
+    parser.add_option("-n",  "--build-number", dest="buildNumber",  default="0000000")
35
+    parser.add_option("-v",  "--release-version", dest="releaseVersion",  default="NNNnNNN")
34 36
 
35 37
     (options,  args) = parser.parse_args()
36 38
     cmdUtils=CommandUtils()
... ...
@@ -6,6 +6,8 @@ class constants(object):
6 6
     rpmPath=""
7 7
     logPath=""
8 8
     dist=""
9
+    buildNumber="0000000"
10
+    releaseVersion="NNNnNNN"
9 11
     topDirPath=""
10 12
     specData=None
11 13
     buildRootPath="/mnt"
... ...
@@ -52,6 +54,8 @@ class constants(object):
52 52
     @staticmethod
53 53
     def initialize(options):
54 54
         constants.dist = options.dist
55
+        constants.buildNumber = options.buildNumber
56
+        constants.releaseVersion = options.releaseVersion
55 57
         constants.specPath = options.specPath
56 58
         constants.sourcePath = options.sourcePath
57 59
         constants.rpmPath = options.rpmPath