changeset 1901:2c1898b9904e

Include Mercurial revisions and distro name in version output. 2010-01-08 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Calculate JDK and HotSpot Mercurial revisions if available and pass to build. Also pass DIST_NAME to build. * acinclude.m4: (IT_GET_LSB_DATA): Moved from configure.ac and extended to also obtain the name of the distribution from either lsb_release -is or $build_os. * configure.ac: Invoke IT_GET_LSB_DATA macro. * patches/icedtea-version.patch: Updated to use distribution name and JDK and HotSpot Mercurial revision IDs.
author Andrew John Hughes <ahughes@redhat.com>
date Sat, 09 Jan 2010 02:04:05 +0000
parents 789ddfe105c0
children 9fa9a9ddc6f8
files ChangeLog Makefile.am acinclude.m4 configure.ac patches/icedtea-version.patch
diffstat 5 files changed, 108 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jan 08 18:31:58 2010 +0000
+++ b/ChangeLog	Sat Jan 09 02:04:05 2010 +0000
@@ -1,3 +1,20 @@
+2010-01-08  Andrew John Hughes  <ahughes@redhat.com>
+
+	* Makefile.am:
+	Calculate JDK and HotSpot Mercurial revisions
+	if available and pass to build.  Also pass
+	DIST_NAME to build.
+	* acinclude.m4:
+	(IT_GET_LSB_DATA): Moved from configure.ac
+	and extended to also obtain the name of
+	the distribution from either lsb_release -is
+	or $build_os.
+	* configure.ac:
+	Invoke IT_GET_LSB_DATA macro.
+	* patches/icedtea-version.patch:
+	Updated to use distribution name and JDK and
+	HotSpot Mercurial revision IDs.
+
 2010-01-08  Andrew John Hughes  <ahughes@redhat.com>
 
 	* patches/icedtea-jdk-docs-target.patch:
--- a/Makefile.am	Fri Jan 08 18:31:58 2010 +0000
+++ b/Makefile.am	Sat Jan 09 02:04:05 2010 +0000
@@ -1016,8 +1016,16 @@
 	  exit 2; \
 	fi
 
-	if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \
-	  revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \
+	if which $(HG) >/dev/null; then \
+	  if [ -e $(abs_top_srcdir)/.hg ] ; then \
+	    revision="+r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \
+	  fi ; \
+	  if [ -e openjdk/jdk/.hg ] ; then \
+	    jdk_rev="r`(cd openjdk/jdk; $(HG) tip --template '{node|short}')`" ; \
+	  fi ; \
+	  if [ -e openjdk/hotspot/.hg ] ; then \
+	    hotspot_rev="r`(cd openjdk/hotspot; $(HG) tip --template '{node|short}')`" ; \
+	  fi ; \
 	fi ; \
 	icedtea_version="$(PACKAGE_VERSION)$${revision}" ; \
 	if ! test "x$(WITH_CACAO)" = "xno"; then \
@@ -1028,8 +1036,10 @@
 	else \
 	  echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \
 	    >>openjdk/jdk/make/common/shared/Defs.gmk ; \
-	fi
-
+	fi ; \
+	echo "JDK_REVID=$${jdk_rev}" >>openjdk/jdk/make/common/shared/Defs.gmk ; \
+	echo "HOTSPOT_REVID=$${hotspot_rev}" >>openjdk/jdk/make/common/shared/Defs.gmk ; \
+	echo "DISTRO_NAME=$(DIST_NAME)" >>openjdk/jdk/make/common/shared/Defs.gmk ; \
 	if [ -n "$(PKGVERSION)" ]; then \
 	  echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \
 	    >>openjdk/jdk/make/common/shared/Defs.gmk ; \
--- a/acinclude.m4	Fri Jan 08 18:31:58 2010 +0000
+++ b/acinclude.m4	Sat Jan 09 02:04:05 2010 +0000
@@ -1161,3 +1161,21 @@
 AM_CONDITIONAL([LACKS_$1], test x"${it_cv_$1}" = "xyes")
 AC_PROVIDE([$0])dnl
 ])
+
+AC_DEFUN([IT_GET_LSB_DATA],
+[
+if test -n "$LSB_RELEASE"; then
+  lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')"
+  if test -n "$PKGVERSION"; then
+    DIST_ID="$lsb_info, package $PKGVERSION"
+  else
+    DIST_ID="Built on $lsb_info ($(date))"
+  fi
+  DIST_NAME="$($LSB_RELEASE -is | sed 's/^"//;s/"$//')"
+else
+  DIST_ID="Custom build ($(date))"
+  DIST_NAME="$build_os"
+fi
+AC_SUBST(DIST_ID)
+AC_SUBST(DIST_NAME)
+])
--- a/configure.ac	Fri Jan 08 18:31:58 2010 +0000
+++ b/configure.ac	Sat Jan 09 02:04:05 2010 +0000
@@ -195,17 +195,7 @@
         [PKGVERSION=])
 AC_SUBST(PKGVERSION)
 
-if test -n "$LSB_RELEASE"; then
-  lsb_info="$($LSB_RELEASE -ds | sed 's/^"//;s/"$//')"
-  if test -n "$PKGVERSION"; then
-    DIST_ID="$lsb_info, package $PKGVERSION"
-  else
-    DIST_ID="Built on $lsb_info"
-  fi
-else
-  DIST_ID="Custom build ($(date))"
-fi
-AC_SUBST(DIST_ID)
+IT_GET_LSB_DATA
 
 SET_ARCH_DIRS
 SET_OS_DIRS
--- a/patches/icedtea-version.patch	Fri Jan 08 18:31:58 2010 +0000
+++ b/patches/icedtea-version.patch	Sat Jan 09 02:04:05 2010 +0000
@@ -1,5 +1,6 @@
---- openjdkold/jdk/make/common/shared/Defs.gmk	2008-08-28 04:10:47.000000000 -0400
-+++ openjdk/jdk/make/common/shared/Defs.gmk	2009-02-08 08:30:21.000000000 -0500
+diff -r 134c345baf84 make/common/shared/Defs.gmk
+--- openjdk.orig/jdk/make/common/shared/Defs.gmk	Thu Jun 18 11:12:13 2009 +0800
++++ openjdk/jdk/make/common/shared/Defs.gmk	Sat Jan 09 00:26:19 2010 +0000
 @@ -194,7 +194,7 @@
  
  # Default names
@@ -9,22 +10,48 @@
    PRODUCT_NAME = OpenJDK
    PRODUCT_SUFFIX = Runtime Environment
    JDK_RC_PLATFORM_NAME = Platform
---- openjdk/jdk/src/share/classes/sun/misc/Version-template.java.~1~	2008-11-25 01:04:53.000000000 -0800
-+++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java	2009-02-20 09:03:25.000000000 -0800
-@@ -41,6 +41,12 @@
+diff -r 134c345baf84 make/java/version/Makefile
+--- openjdk.orig/jdk/make/java/version/Makefile	Thu Jun 18 11:12:13 2009 +0800
++++ openjdk/jdk/make/java/version/Makefile	Sat Jan 09 00:26:19 2010 +0000
+@@ -39,7 +39,12 @@
+ 	$(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \
+ 	    -e 's/@@java_version@@/$(RELEASE)/g' \
+ 	    -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \
++	    -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \
++	    -e 's/@@distro_name@@/$(DISTRO_NAME)/g' \
++	    -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \
+ 	    -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \
++	    -e 's/@@jdk_revid@@/$(JDK_REVID)/g' \
++	    -e 's/@@hotspot_revid@@/$(HOTSPOT_REVID)/g' \
+ 	$< > $@.temp
+ 	@$(MV) $@.temp $@
+ 
+diff -r 134c345baf84 src/share/classes/sun/misc/Version-template.java
+--- openjdk.orig/jdk/src/share/classes/sun/misc/Version-template.java	Thu Jun 18 11:12:13 2009 +0800
++++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java	Sat Jan 09 00:26:19 2010 +0000
+@@ -41,6 +41,21 @@
      private static final String java_runtime_version =
          "@@java_runtime_version@@";
  
 +    private static final String jdk_derivative_name =
 +        "@@jdk_derivative_name@@";
 +
++    private static final String distro_name =
++        "@@distro_name@@";
++
 +    private static final String distro_package_version =
 +        "@@distro_package_version@@";
 +
++    private static final String jdk_revid =
++        "@@jdk_revid@@";
++
++    private static final String hotspot_revid =
++        "@@hotspot_revid@@";
++
      static {
          init();
      }
-@@ -81,12 +87,26 @@
+@@ -81,14 +96,36 @@
          /* First line: platform version. */
          ps.println(launcher_name + " version \"" + java_version + "\"");
  
@@ -33,35 +60,34 @@
          /* Second line: runtime version (ie, libraries). */
 -        ps.println(java_runtime_name + " (build " +
 -                           java_runtime_version + ")");
-+	StringBuilder sb = new StringBuilder();
-+	if (java_vm_name.toLowerCase().startsWith("cacao")) {
-+	    sb.append("IcedTea Runtime Environment");
-+	} else {
-+	    sb.append(java_runtime_name);
-+	}
-+	if (jdk_derivative_name.length() > 0) {
-+	    sb.append(" (").append(jdk_derivative_name).append(")");
-+	}
-+	if (distro_package_version.length() > 0) {
-+	    sb.append(" (").append(distro_package_version).append(")");
-+	} else {
-+	    sb.append(" (build ").append(java_runtime_version).append(")");
-+	}
-+	ps.println(sb.toString());
++        StringBuilder sb = new StringBuilder();
++        if (java_vm_name.toLowerCase().startsWith("cacao")) {
++            sb.append("IcedTea Runtime Environment");
++        } else {
++            sb.append(java_runtime_name);
++        }
++        if (jdk_derivative_name.length() > 0) {
++            sb.append(" (").append(jdk_derivative_name).append(")");
++        }
++        if (distro_package_version.length() > 0) {
++            sb.append(" (").append(distro_package_version).append(")");
++        } else {
++            sb.append(" (");
++            if (distro_name.length() > 0)
++                sb.append(distro_name).append(" ");
++            sb.append("build ").append(java_runtime_version);
++            if (jdk_revid.length() > 0)
++                sb.append("+").append(jdk_revid);
++            sb.append(")");
++        }
++        ps.println(sb.toString());
  
          /* Third line: JVM information. */
 -        String java_vm_name    = System.getProperty("java.vm.name");
          String java_vm_version = System.getProperty("java.vm.version");
          String java_vm_info    = System.getProperty("java.vm.info");
++        if (hotspot_revid.length() > 0)
++            java_vm_version += "+" + hotspot_revid;
          ps.println(java_vm_name + " (build " + java_vm_version + ", " +
---- openjdk/jdk/make/java/version/Makefile.~1~	2008-11-25 01:01:15.000000000 -0800
-+++ openjdk/jdk/make/java/version/Makefile	2009-02-20 09:03:56.000000000 -0800
-@@ -39,6 +39,8 @@
- 	$(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \
- 	    -e 's/@@java_version@@/$(RELEASE)/g' \
- 	    -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \
-+	    -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \
-+	    -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \
- 	    -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \
- 	$< > $@.temp
- 	@$(MV) $@.temp $@
+                    java_vm_info + ")");
+     }