make/common/Release.gmk

Print this page

        

@@ -24,10 +24,13 @@
 #
 
 include $(JDK_TOPDIR)/make/docs/CORE_PKGS.gmk
 include $(JDK_TOPDIR)/make/docs/NON_CORE_PKGS.gmk
 
+# What jdk version are we building
+THIS_JDK_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
+
 #
 # Perform release engineering tasks.
 #
 # images    An image is what the product looks like when it is
 #           installed.

@@ -70,13 +73,10 @@
   endif
 endif
 
 JTG_DOCS            = $(JDK_TOPDIR)/src/solaris/doc
 
-#We use this for man page header
-jdkversion := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
-
 # Text documents on windows use this suffix
 ifeq ($(PLATFORM), windows)
   TEXT_SUFFIX = .txt
 endif
 

@@ -212,11 +212,11 @@
           ja_dir="ja_JP.$${ja_encoding}"; \
         fi; \
         $(MKDIR) -p $1/man/$${ja_dir}/man1; \
         $(CAT) $${manbase}/ja/$${manpage} \
           | $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \
-          | $(SED) 's/@@VERSION@@/$(jdkversion)/g' \
+          | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \
           | $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \
             > $1/man/$${ja_dir}/man1/$${manpage}; \
       done; \
     fi; \
   done; \

@@ -242,10 +242,11 @@
 
 images images-clobber \
 initial-image-jre initial-image-jdk \
 initial-image-jre-sol64 initial-image-jdk-sol64 \
 trim-image-jre trim-image-jdk \
+identify-image-jre identify-image-jdk \
 process-image-jre process-image-jdk \
 compare-image \
 sec-files sec-files-win jgss-files ::
         @$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
 

@@ -261,15 +262,17 @@
 # Order is important here, trim jre after jdk image is created
 images:: sanity-images post-sanity-images  \
          $(EXPORT_BINARY_PLUGS) \
          $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
          trim-image-jre trim-image-jdk \
-         process-image-jre process-image-jdk sec-files sec-files-win jgss-files
+         identify-image-jre identify-image-jdk \
+         process-image-jre process-image-jdk \
+         sec-files sec-files-win jgss-files
 
 # Don't use these
-image-jre:: initial-image-jre trim-image-jre process-image-jre
-image-jdk:: initial-image-jdk trim-image-jdk process-image-jdk
+image-jre:: initial-image-jre trim-image-jre identify-image-jre process-image-jre
+image-jdk:: initial-image-jdk trim-image-jdk identify-image-jdk process-image-jdk
 
 #
 # Sources we ship in the SDK.
 #
 SOURCES = \

@@ -1134,10 +1137,49 @@
         done
 endif
         $(RM) $(JDK_ELF_LIST)
 
 ###################################################################
+# What did we build
+###################################################################
+
+# The jdk text info file that lives at the root of the install image.
+
+JDK_INFO_FILE = $(JDK_IMAGE_DIR)/release
+JRE_INFO_FILE = $(JRE_IMAGE_DIR)/release
+
+# Common way to emit a line into the release or info file
+define info-file-item # name value
+$(PRINTF) "%s=\"%s\"\n" $1 $2 >> $@
+endef
+
+# Values to emit
+MINIMUM_OS_NAME    := $(REQUIRED_OS_NAME)
+MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION)
+MINIMUM_OS_ARCH    := $(ARCH)
+
+$(JDK_INFO_FILE): FRC
+        $(prep-target)
+        $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
+        $(call info-file-item, "OS_NAME",      "$(MINIMUM_OS_NAME)")
+        $(call info-file-item, "OS_VERSION",   "$(MINIMUM_OS_VERSION)")
+        $(call info-file-item, "OS_ARCH",      "$(MINIMUM_OS_ARCH)")
+
+# Create release file to identify this image
+identify-image-jdk:: $(JDK_INFO_FILE)
+
+$(JRE_INFO_FILE): FRC
+        $(prep-target)
+        $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
+        $(call info-file-item, "OS_NAME",      "$(MINIMUM_OS_NAME)")
+        $(call info-file-item, "OS_VERSION",   "$(MINIMUM_OS_VERSION)")
+        $(call info-file-item, "OS_ARCH",      "$(MINIMUM_OS_ARCH)")
+
+# Create release file to identify this image
+identify-image-jre:: $(JRE_INFO_FILE)
+
+###################################################################
 # What do we compare against
 ###################################################################
 
 # The temporary files and areas created
 TEMP_PREV_JRE_BASE_DIR=$(TEMPDIR)/previous_jre

@@ -1286,10 +1328,11 @@
         initial-image-jdk-db \
         initial-image-jdk64-bindemos \
         initial-image-jre-setup \
         trim-image-jre trim-image-jdk \
         process-image-jre process-image-jdk \
+        identify-image-jre identify-image-jdk \
         install-previous-jre install-previous-jdk \
         compare-image-jre compare-image-jdk \
         compare-image compare-image-clobber \
         images-clobber