diff --git a/Dockerfile b/Dockerfile index 865a557dbd..9632887d14 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ FROM scratch MAINTAINER tliaqat@vmware.com -ADD stage/photon-rootfs.tar.bz2 / +ADD stage/photon-rootfs-$PHOTON_RELEASE_VERSION-$PHOTON_BUILD_NUMBER.tar.bz2 / VOLUME /var/lib/docker diff --git a/Makefile b/Makefile index bf4ad48aa0..f545ddd108 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,8 @@ Makefile: ; include $(MAKEROOT)/makedefs.mk export PATH := $(SRCROOT)/tools/bin:$(PATH) +export PHOTON_BUILD_NUM=$(PHOTON_BUILD_NUMBER) +export PHOTON_RELEASE_VER=$(PHOTON_RELEASE_VERSION) ifdef PHOTON_CACHE_PATH PHOTON_PACKAGES_MICRO := packages-cached @@ -56,14 +58,16 @@ micro: micro-iso micro-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MICRO) @echo "Building Photon Micro ISO..." @cd $(PHOTON_INSTALLER_DIR) && \ - $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-micro.iso \ + $(PHOTON_INSTALLER) \ + -i $(PHOTON_STAGE)/photon-micro-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ -w $(PHOTON_STAGE)/photon_iso \ -l $(PHOTON_STAGE)/LOGS \ -r $(PHOTON_STAGE)/RPMS \ -p $(PHOTON_GENERATED_DATA_DIR)/$(MICRO_PACKAGE_LIST_FILE) \ -o $(PHOTON_STAGE)/common/data \ -f > \ - $(PHOTON_LOGS_DIR)/installer.log 2>&1 + $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \ + cd $(PHOTON_STAGE) && ln -fs photon-micro-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-micro.iso packages-micro: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) generate-dep-lists @echo "Building all Micro RPMS..." @@ -76,8 +80,10 @@ packages-micro: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) g -l $(PHOTON_LOGS_DIR) \ -p $(PHOTON_PUBLISH_RPMS_DIR) \ -j $(PHOTON_GENERATED_DATA_DIR)/$(MICRO_PACKAGE_LIST_FILE) \ - -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -c $(PHOTON_BINTRAY_CONFIG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -t ${THREADS} minimal: minimal-iso @@ -86,38 +92,44 @@ minimal: minimal-iso minimal-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MINIMAL) @echo "Building Photon Minimal ISO..." @cd $(PHOTON_INSTALLER_DIR) && \ - $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-minimal.iso \ + $(PHOTON_INSTALLER) \ + -i $(PHOTON_STAGE)/photon-minimal-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ -w $(PHOTON_STAGE)/photon_iso \ -l $(PHOTON_STAGE)/LOGS \ -r $(PHOTON_STAGE)/RPMS \ -p $(PHOTON_GENERATED_DATA_DIR)/$(MINIMAL_PACKAGE_LIST_FILE) \ -o $(PHOTON_STAGE)/common/data \ -f > \ - $(PHOTON_LOGS_DIR)/installer.log 2>&1 + $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \ + cd $(PHOTON_STAGE) && ln -fs photon-minimal-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-minimal.iso ostree-host-iso: check $(PHOTON_STAGE) ostree-repo @echo "Building Photon OSTree Host ISO..." @cd $(PHOTON_INSTALLER_DIR) && \ - $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-ostree-host.iso \ + $(PHOTON_INSTALLER) \ + -i $(PHOTON_STAGE)/photon-ostree-host-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ -w $(PHOTON_STAGE)/photon_iso \ -l $(PHOTON_STAGE)/LOGS \ -r $(PHOTON_STAGE)/RPMS \ -p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_ostreehost.json \ -o $(PHOTON_STAGE)/common/data \ -f > \ - $(PHOTON_LOGS_DIR)/installer.log 2>&1 + $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \ + cd $(PHOTON_STAGE) && ln -fs photon-ostree-host-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-ostree-host.iso live-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MINIMAL) minimal-iso @echo "Building Photon Minimal LIVE ISO..." @cd $(PHOTON_INSTALLER_DIR) && \ - $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon-live-iso.iso \ + $(PHOTON_INSTALLER) \ + -i $(PHOTON_STAGE)/photon-live-iso-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ -w $(PHOTON_STAGE)/photon_iso \ -l $(PHOTON_STAGE)/LOGS \ -r $(PHOTON_STAGE)/RPMS \ -p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_livecd.json \ -o $(PHOTON_STAGE)/common/data \ -f > \ - $(PHOTON_LOGS_DIR)/installer.log 2>&1 + $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \ + cd $(PHOTON_STAGE) && ln -fs photon-live-iso-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon-live-iso.iso packages-minimal: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) generate-dep-lists @echo "Building all RPMS..." @@ -130,21 +142,25 @@ packages-minimal: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) -l $(PHOTON_LOGS_DIR) \ -p $(PHOTON_PUBLISH_RPMS_DIR) \ -j $(PHOTON_GENERATED_DATA_DIR)/$(MINIMAL_PACKAGE_LIST_FILE) \ - -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -c $(PHOTON_BINTRAY_CONFIG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -t ${THREADS} iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES) ostree-repo @echo "Building Photon Full ISO..." @cd $(PHOTON_INSTALLER_DIR) && \ - sudo $(PHOTON_INSTALLER) -i $(PHOTON_STAGE)/photon.iso \ + sudo $(PHOTON_INSTALLER) \ + -i $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ -w $(PHOTON_STAGE)/photon_iso \ -l $(PHOTON_STAGE)/LOGS \ -r $(PHOTON_STAGE)/RPMS \ -p $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \ - -o $(PHOTON_STAGE)/common/data \ + -o $(PHOTON_STAGE)/common/data \ -f > \ - $(PHOTON_LOGS_DIR)/installer.log 2>&1 + $(PHOTON_LOGS_DIR)/installer.log 2>&1 && \ + cd $(PHOTON_STAGE) && ln -fs photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso photon.iso pkgtree: @cd $(PHOTON_SPECDEPS_DIR) && \ @@ -169,8 +185,10 @@ packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTA -l $(PHOTON_LOGS_DIR) \ -p $(PHOTON_PUBLISH_RPMS_DIR) \ -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \ - -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -c $(PHOTON_BINTRAY_CONFIG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -t ${THREADS} 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) -l $(PHOTON_LOGS_DIR) \ -p $(PHOTON_PUBLISH_RPMS_DIR) \ -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \ - -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -c $(PHOTON_BINTRAY_CONFIG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -k $(PHOTON_INPUT_RPMS_DIR) \ -t ${THREADS} @@ -201,8 +221,10 @@ tool-chain-stage1: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES -p $(PHOTON_PUBLISH_RPMS_DIR) \ -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \ -t ${THREADS} \ - -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -c $(PHOTON_BINTRAY_CONFIG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -m stage1 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 -p $(PHOTON_PUBLISH_RPMS_DIR) \ -j $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \ -t ${THREADS} \ - -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -c $(PHOTON_BINTRAY_CONFIG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -m stage2 @@ -285,6 +309,8 @@ docker-image: --rm \ --privileged \ --net=host \ + -e PHOTON_BUILD_NUMBER=$(PHOTON_BUILD_NUMBER) \ + -e PHOTON_RELEASE_VERSION=$(PHOTON_RELEASE_VERSION) \ -v `pwd`:/workspace \ vmware/build-photon \ ./support/dockerfiles/photon/make-docker-image.sh tdnf @@ -302,7 +328,7 @@ ostree-repo: $(PHOTON_PACKAGES) clean: clean-install clean-chroot @echo "Deleting Photon ISO..." - @$(RM) -f $(PHOTON_STAGE)/photon.iso + @$(RM) -f $(PHOTON_STAGE)/photon-*.iso @echo "Deleting stage dir..." @$(RMDIR) $(PHOTON_STAGE) @echo "Deleting chroot path..." @@ -344,15 +370,15 @@ endif photon-vagrant-local: check-packer check-vagrant @echo "Building a Photon Vagrant box with Packer..." - @if [ -e $(PHOTON_STAGE)/photon.iso ]; then \ + @if [ -e $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ]; then \ cd $(PHOTON_PACKER_TEMPLATES) && \ - $(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"$$($(SHASUM) ../../stage/photon.iso | cut -f 1 -d ' ')\",#" photon.json && \ + $(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 && \ $(PACKER) build $(PACKER_ARGS) photon.json && \ $(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"\",#" photon.json; \ echo "Moving boxes to $(PHOTON_STAGE)..." && \ $(MV) *.box $(PHOTON_STAGE); \ else \ - echo "Unable to find $(PHOTON_STAGE)/photon.iso ... aborting build"; \ + echo "Unable to find $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ... aborting build"; \ fi cloud-image: $(PHOTON_STAGE) iso @@ -412,14 +438,16 @@ check-packer-ovf-plugin: $(eval PKG_NAME = $@) @echo "Building package $(PKG_NAME) ..." @cd $(PHOTON_PKG_BUILDER_DIR) && \ - $(PHOTON_PACKAGE_BUILDER) -i $(PKG_NAME)\ + $(PHOTON_PACKAGE_BUILDER) -i $(PKG_NAME)\ -b $(PHOTON_CHROOT_PATH) \ -s $(PHOTON_SPECS_DIR) \ -r $(PHOTON_RPMS_DIR) \ -x $(PHOTON_SRCS_DIR) \ -p $(PHOTON_PUBLISH_RPMS_DIR) \ -c $(PHOTON_BINTRAY_CONFIG) \ - -d $(PHOTON_DIST_TAG) \ + -d $(PHOTON_DIST_TAG) \ + -n $(PHOTON_BUILD_NUMBER) \ + -v $(PHOTON_RELEASE_VERSION) \ -l $(PHOTON_LOGS_DIR) $(TOOLS_BIN): diff --git a/SPECS/filesystem/filesystem.spec b/SPECS/filesystem/filesystem.spec index 8ee22f11e6..e22e1c0f79 100644 --- a/SPECS/filesystem/filesystem.spec +++ b/SPECS/filesystem/filesystem.spec @@ -1,12 +1,13 @@ Summary: Default file system Name: filesystem Version: 7.5 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv3 Group: System Environment/Base Vendor: VMware, Inc. URL: http://www.linuxfromscratch.org Distribution: Photon + %description The filesystem package is one of the basic packages that is installed on a Linux system. Filesystem contains the basic directory @@ -319,19 +320,22 @@ EOF # # chapter 9.1. The End # -echo "VMware Photon Linux 1.0 TP2" > %{buildroot}/etc/photon-release + +echo "VMware Photon Linux %{photon_release_version}" > %{buildroot}/etc/photon-release +echo "PHOTON_BUILD_NUMBER=%{photon_build_number}" >> %{buildroot}/etc/photon-release + cat > %{buildroot}/etc/lsb-release <<- "EOF" DISTRIB_ID="VMware Photon" -DISTRIB_RELEASE="1.0 TP2" +DISTRIB_RELEASE="%{photon_release_version}" DISTRIB_CODENAME=Photon -DISTRIB_DESCRIPTION="VMware Photon 1.0 TP2" +DISTRIB_DESCRIPTION="VMware Photon %{photon_release_version}" EOF cat > %{buildroot}/usr/lib/os-release <<- "EOF" NAME="VMware Photon" -VERSION="1.0 TP2" +VERSION="%{photon_release_version}" ID=photon -VERSION_ID=1.0 +VERSION_ID=%{photon_release_version} | cut -d- -f1 PRETTY_NAME="VMware Photon/Linux" ANSI_COLOR="1;34" HOME_URL="https://vmware.github.io/photon/" @@ -466,6 +470,8 @@ ln -sv ../usr/lib/os-release %{buildroot}/etc/os-release /usr/local/lib64 %endif %changelog +* Fri Oct 02 2015 Vinay Kulkarni 7.5-9 +- Dump build-number and release version from macros. * Fri Aug 14 2015 Sharath George 7.5-8 - upgrading release to TP2 * Tue Jun 30 2015 Alexey Makhalov 7.5-7 diff --git a/support/cloud-image-builder/ami/mk-ami-image.sh b/support/cloud-image-builder/ami/mk-ami-image.sh index 8ccd823537..5b9596b708 100755 --- a/support/cloud-image-builder/ami/mk-ami-image.sh +++ b/support/cloud-image-builder/ami/mk-ami-image.sh @@ -1,6 +1,10 @@ #!/bin/bash PHOTON_IMG_OUTPUT_PATH=$1 -tar -Szcf $PHOTON_IMG_OUTPUT_PATH/photon-ami.tar.gz $PHOTON_IMG_OUTPUT_PATH/photon-ami.raw -rm -f $PHOTON_IMG_OUTPUT_PATH/photon-ami.raw +cd $PHOTON_IMG_OUTPUT_PATH +mv photon-ami.raw photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.raw +tar -Szcf photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.tar.gz photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.raw +ln -s photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.tar.gz photon-ami.tar.gz + +rm -f photon-ami-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.raw diff --git a/support/cloud-image-builder/azure/mk-azure-image.sh b/support/cloud-image-builder/azure/mk-azure-image.sh index b785f83d44..a92e7304a2 100755 --- a/support/cloud-image-builder/azure/mk-azure-image.sh +++ b/support/cloud-image-builder/azure/mk-azure-image.sh @@ -6,7 +6,8 @@ cd $SRC_ROOT/tools/src/imgconverter mkdir -p $SRC_ROOT/tools/bin make clean make -$SRC_ROOT/tools/bin/imgconverter -i $PHOTON_IMG_OUTPUT_PATH/photon-azure.raw -v vhd -o $PHOTON_IMG_OUTPUT_PATH/photon-azure.vhd +$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 +cd $PHOTON_IMG_OUTPUT_PATH && ln -s photon-azure-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.vhd photon-azure.vhd rm -f $PHOTON_IMG_OUTPUT_PATH/photon-azure.raw diff --git a/support/cloud-image-builder/gce/mk-gce-image.sh b/support/cloud-image-builder/gce/mk-gce-image.sh index 85b0ed5f6d..b11b709fa7 100755 --- a/support/cloud-image-builder/gce/mk-gce-image.sh +++ b/support/cloud-image-builder/gce/mk-gce-image.sh @@ -2,11 +2,12 @@ PHOTON_IMG_OUTPUT_PATH=$1 RAWFILE="photon-gce.raw" -TARFILE="photon-gce.tar.gz" +TARFILE="photon-gce-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.tar.gz" echo "Creating ${TARFILE} file from ${RAWFILE}." cd $PHOTON_IMG_OUTPUT_PATH mv ${RAWFILE} disk.raw tar -Szcf $PHOTON_IMG_OUTPUT_PATH/${TARFILE} disk.raw +cd $PHOTON_IMG_OUTPUT_PATH && ln -s ${TARFILE} photon-gce.tar.gz rm -f disk.raw diff --git a/support/cloud-image-builder/ova/mk-ova-image.sh b/support/cloud-image-builder/ova/mk-ova-image.sh index 817e848605..990f877de0 100755 --- a/support/cloud-image-builder/ova/mk-ova-image.sh +++ b/support/cloud-image-builder/ova/mk-ova-image.sh @@ -28,10 +28,10 @@ sed -i "s/otherGuest/other3xLinux64Guest/g" $PHOTON_IMG_OUTPUT_PATH/temp/photon- sed -i '/\/VirtualSystem>/i \ \t \n \t\tInformation about the installed software \n \t\tPhoton \n \t\tVMware Inc. \n \t\t1.0.0 \n \t\t1.0.0-TP2 \n \t ' $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova.ovf rm -f $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova.mf openssl sha1 *.vmdk photon-ova.ovf > photon-ova.mf -tar cf photon-ova.ova photon-ova.ovf photon-ova.mf photon-ova-disk1.vmdk - -cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova.ova $PHOTON_IMG_OUTPUT_PATH/ +tar cf photon-ova-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova.ovf photon-ova.mf photon-ova-disk1.vmdk +cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova $PHOTON_IMG_OUTPUT_PATH/ cd $PHOTON_IMG_OUTPUT_PATH +ln -s photon-ova-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova.ova rm -rf photon-custom DISK_DEVICE=`losetup --show -f ${PHOTON_IMG_OUTPUT_PATH}/photon-ova.raw` kpartx -av $DISK_DEVICE @@ -70,9 +70,10 @@ sed -i "s/otherGuest/other3xLinux64Guest/g" $PHOTON_IMG_OUTPUT_PATH/temp1/photon sed -i '/\/VirtualSystem>/i \ \t \n \t\tInformation about the installed software \n \t\tPhoton \n \t\tVMware Inc. \n \t\t1.0.0 \n \t\t1.0.0-TP2 \n \t ' $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom.ovf rm -f $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom.mf openssl sha1 *.vmdk photon-custom.ovf > photon-custom.mf -tar cf photon-custom.ova photon-custom.ovf photon-custom.mf photon-custom-disk1.vmdk -cp $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom.ova $PHOTON_IMG_OUTPUT_PATH/ +tar cf photon-custom-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-custom.ovf photon-custom.mf photon-custom-disk1.vmdk +cp $PHOTON_IMG_OUTPUT_PATH/temp1/photon-custom-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova $PHOTON_IMG_OUTPUT_PATH/ cd $PHOTON_IMG_OUTPUT_PATH +ln -s photon-custom-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-custom.ova rm -rf $PHOTON_IMG_OUTPUT_PATH/temp/ rm -rf $PHOTON_IMG_OUTPUT_PATH/temp1/ rm -f $PHOTON_IMG_OUTPUT_PATH/photon-ova.raw diff --git a/support/cloud-image-builder/ova_uefi/mk-ova_uefi-image.sh b/support/cloud-image-builder/ova_uefi/mk-ova_uefi-image.sh index face710da5..12962b9fe1 100755 --- a/support/cloud-image-builder/ova_uefi/mk-ova_uefi-image.sh +++ b/support/cloud-image-builder/ova_uefi/mk-ova_uefi-image.sh @@ -55,9 +55,10 @@ sed -i '/vmw:value="efi"\/>/a \ \t/i \ \t \n \t\tInformation about the installed software \n \t\tPhoton \n \t\tVMware Inc. \n \t\t1.0.0 \n \t\t1.0.0-TP2 \n \t ' $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-uefi.ovf openssl sha1 *.vmdk photon-ova-uefi.ovf > photon-ova-uefi.mf -tar cf photon-ova-uefi.ova photon-ova-uefi.ovf photon-ova-uefi.mf photon-ova-uefi-disk1.vmdk +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 +cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-uefi-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova $PHOTON_IMG_OUTPUT_PATH/ +cd $PHOTON_IMG_OUTPUT_PATH && ln -s photon-ova-uefi-$PHOTON_RELEASE_VER-$PHOTON_BUILD_NUM.ova photon-ova-uefi.ova -cp $PHOTON_IMG_OUTPUT_PATH/temp/photon-ova-uefi.ova $PHOTON_IMG_OUTPUT_PATH/ rm -rf $PHOTON_IMG_OUTPUT_PATH/temp/ rm -f $PHOTON_IMG_OUTPUT_PATH/photon-ova_uefi.raw diff --git a/support/dockerfiles/photon/make-docker-image.sh b/support/dockerfiles/photon/make-docker-image.sh index 597f0485b8..008947242e 100755 --- a/support/dockerfiles/photon/make-docker-image.sh +++ b/support/dockerfiles/photon/make-docker-image.sh @@ -14,7 +14,7 @@ MAIN_PACKAGE=$1 TEMP_CHROOT=$(pwd)/temp_chroot -ROOTFS_TAR_FILENAME=photon-rootfs.tar.bz2 +ROOTFS_TAR_FILENAME=photon-rootfs-$PHOTON_RELEASE_VERSION-$PHOTON_BUILD_NUMBER.tar.bz2 STAGE_DIR=$(pwd)/stage sudo createrepo $STAGE_DIR/RPMS @@ -79,7 +79,9 @@ rm -rf var/log/* tar cpjf ../$ROOTFS_TAR_FILENAME . mkdir -p $STAGE_DIR mv ../$ROOTFS_TAR_FILENAME $STAGE_DIR/ - +cd $STAGE_DIR +ln -fs $ROOTFS_TAR_FILENAME photon-rootfs.tar.bz2 +cd $TEMP_CHROOT cd .. # cleanup diff --git a/support/make/makedefs.mk b/support/make/makedefs.mk index 266d72f685..d1a0567b1f 100644 --- a/support/make/makedefs.mk +++ b/support/make/makedefs.mk @@ -53,3 +53,8 @@ PHOTON_CHROOT_PATH:=$(PHOTON_STAGE)/photonroot PHOTON_FS_ROOT=/usr/src/photon PHOTON_DIST_TAG?=.ph1tp3 PHOTON_INPUT_RPMS_DIR?=$(SRCROOT)/inputRPMS + +PHOTON_BUILD_NUMBER=$(shell git rev-parse --short HEAD) +PHOTON_RELEASE_MAJOR_ID=1.0 +PHOTON_RELEASE_MINOR_ID=TP3 +PHOTON_RELEASE_VERSION=$(PHOTON_RELEASE_MAJOR_ID)-$(PHOTON_RELEASE_MINOR_ID) diff --git a/support/package-builder/PackageUtils.py b/support/package-builder/PackageUtils.py index 674d967ee7..01b5a797e1 100644 --- a/support/package-builder/PackageUtils.py +++ b/support/package-builder/PackageUtils.py @@ -24,6 +24,8 @@ def __init__(self,logName=None,logPath=None): self.rpmbuildBinary = "rpmbuild" self.rpmbuildBuildallOption = "-ba --clean" + self.rpmbuildBuildNum = '--define \\\"photon_build_number %s\\\"' % constants.buildNumber + self.rpmbuildReleaseVer = '--define \\\"photon_release_version %s\\\"' % constants.releaseVersion self.rpmbuildNocheckOption = "--nocheck" self.rpmbuildDistOption = '--define \\\"dist %s\\\"' % constants.dist self.queryRpmPackageOptions = "-qa" @@ -154,10 +156,12 @@ def buildRPMSForGivenPackage(self,package, chrootID,destLogPath=None): def buildRPM(self,specFile,logFile,chrootCmd): rpmBuildcmd= self.rpmbuildBinary+" "+self.rpmbuildBuildallOption+" "+self.rpmbuildNocheckOption +" "+self.rpmbuildDistOption + rpmBuildcmd+=" "+self.rpmbuildBuildNum+" "+self.rpmbuildReleaseVer rpmBuildcmd+=" "+specFile cmdUtils = CommandUtils() self.logger.info("Building rpm....") + self.logger.info(rpmBuildcmd) returnVal = cmdUtils.runCommandInShell(rpmBuildcmd, logFile, chrootCmd) if not returnVal: self.logger.error("Building rpm is failed "+specFile) diff --git a/support/package-builder/ToolChainUtils.py b/support/package-builder/ToolChainUtils.py index 35f910a1bd..a4ab1643a8 100644 --- a/support/package-builder/ToolChainUtils.py +++ b/support/package-builder/ToolChainUtils.py @@ -46,7 +46,7 @@ def prepareBuildRoot(self,chrootID): rpmFile=pkgUtils.findRPMFileForGivenPackage(package) if rpmFile is None: specFile=constants.specData.getSpecFile(package) - cmd=self.rpmbuildCommand+" -ba --nocheck --define \'_topdir "+chrootID+constants.topDirPath+"\' --define \'_dbpath "+chrootID+"/var/lib/rpm\' --define \'dist "+constants.dist+"\' "+specFile + 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 self.logger.info(cmd) cmdUtils.runCommandInShell(cmd,self.logPath+"/filesystem.log") filesystemrpmFile = cmdUtils.findFile(package+"-*.rpm", chrootID+constants.topDirPath+"/RPMS") diff --git a/support/package-builder/builder.py b/support/package-builder/builder.py index 4290a3cc0c..9b56379fbe 100755 --- a/support/package-builder/builder.py +++ b/support/package-builder/builder.py @@ -31,6 +31,8 @@ def main(): parser.add_option("-c", "--pullsources-config", dest="pullsourcesConfig", default="pullsources.conf") parser.add_option("-d", "--dist", dest="dist", default="") parser.add_option("-k", "--input-RPMS-path", dest="inputRPMSPath", default=None) + parser.add_option("-n", "--build-number", dest="buildNumber", default="0000000") + parser.add_option("-v", "--release-version", dest="releaseVersion", default="NNNnNNN") (options, args) = parser.parse_args() cmdUtils=CommandUtils() diff --git a/support/package-builder/constants.py b/support/package-builder/constants.py index dc15f7f1b5..979e2a27ff 100644 --- a/support/package-builder/constants.py +++ b/support/package-builder/constants.py @@ -6,6 +6,8 @@ class constants(object): rpmPath="" logPath="" dist="" + buildNumber="0000000" + releaseVersion="NNNnNNN" topDirPath="" specData=None buildRootPath="/mnt" @@ -52,6 +54,8 @@ class constants(object): @staticmethod def initialize(options): constants.dist = options.dist + constants.buildNumber = options.buildNumber + constants.releaseVersion = options.releaseVersion constants.specPath = options.specPath constants.sourcePath = options.sourcePath constants.rpmPath = options.rpmPath