Browse Source

merge c1229029 from branch-1, HADOOP-7960 Port HADOOP-5203 to BRANCH-1, build version comparison is too restrictive.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0@1238127 13f79535-47bb-0310-9956-ffa450edef68
Matthew Foley 13 years ago
parent
commit
f11f2982db

+ 5 - 2
CHANGES.txt

@@ -1,6 +1,6 @@
 Hadoop Change Log
 
-Release 1.0.1 - unreleased
+Release 1.0.1 - 2012.01.30
 
   NEW FEATURES
 
@@ -15,10 +15,13 @@ Release 1.0.1 - unreleased
 
   BUG FIXES
 
+    HADOOP-7960. Port HADOOP-5203 to branch-1, build version comparison is too 
+    restrictive. (mattf)
+
     HADOOP-7964. Deadlock in NetUtils and SecurityUtil class initialization.
     (Daryn Sharp via suresh)
 
-Release 1.0.0 - 2011.11.27
+Release 1.0.0 - 2011.12.15
 
   NEW FEATURES
 

+ 7 - 0
src/core/org/apache/hadoop/HadoopVersionAnnotation.java

@@ -53,4 +53,11 @@ public @interface HadoopVersionAnnotation {
    * @return the revision number as a string (eg. "451451")
    */
   String revision();
+
+  /**
+   * Get a checksum of the source files from which
+   * Hadoop was compiled.
+   * @return a string that uniquely identifies the source
+   **/
+  String srcChecksum();
 }

+ 11 - 1
src/core/org/apache/hadoop/util/VersionInfo.java

@@ -79,6 +79,14 @@ public class VersionInfo {
   public static String getUrl() {
     return version != null ? version.url() : "Unknown";
   }
+
+  /**
+   * Get the checksum of the source files from which Hadoop was
+   * built.
+   **/
+  public static String getSrcChecksum() {
+    return version != null ? version.srcChecksum() : "Unknown";
+  }
   
   /**
    * Returns the buildVersion which includes version, 
@@ -88,12 +96,14 @@ public class VersionInfo {
     return VersionInfo.getVersion() + 
     " from " + VersionInfo.getRevision() +
     " by " + VersionInfo.getUser() + 
-    " on " + VersionInfo.getDate();
+    " source checksum " + VersionInfo.getSrcChecksum();
   }
   
   public static void main(String[] args) {
     System.out.println("Hadoop " + getVersion());
     System.out.println("Subversion " + getUrl() + " -r " + getRevision());
     System.out.println("Compiled by " + getUser() + " on " + getDate());
+    System.out.println("From source with checksum " + getSrcChecksum());
+
   }
 }

+ 5 - 2
src/saveVersion.sh

@@ -33,15 +33,18 @@ else
   revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
   url=`svn info | sed -n -e 's/URL: \(.*\)/\1/p'`
 fi
+srcChecksum=`find src -name '*.java' | LC_ALL=C sort | xargs md5sum | md5sum | cut -d ' ' -f 1`
+
 mkdir -p $build_dir/src/org/apache/hadoop
 cat << EOF | \
   sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \
-      -e "s|URL|$url|" -e "s/REV/$revision/" \
+      -e "s|URL|$url|" -e "s/REV/$revision/" -e "s/SRCCHECKSUM/$srcChecksum/" \
       > $build_dir/src/org/apache/hadoop/package-info.java
 /*
  * Generated by src/saveVersion.sh
  */
 @HadoopVersionAnnotation(version="VERSION", revision="REV", 
-                         user="USER", date="DATE", url="URL")
+                         user="USER", date="DATE", url="URL",
+                         srcChecksum="SRCCHECKSUM")
 package org.apache.hadoop;
 EOF