diff --git a/tools/releasetools/ota_from_target_files b/tools/releasetools/ota_from_target_files
index a50f452..8c3b2c2 100755
--- a/tools/releasetools/ota_from_target_files
+++ b/tools/releasetools/ota_from_target_files
@@ -341,12 +341,17 @@
   # change very often.
   script = edify_generator.EdifyGenerator(3)
 
+  metadata = {"post-build": GetBuildProp("ro.build.fingerprint", input_zip),
+              "pre-device": GetBuildProp("ro.product.device", input_zip),
+              }
+
   device_specific = common.DeviceSpecificParams(
       input_zip=input_zip,
       input_version=GetRecoveryAPIVersion(input_zip),
       output_zip=output_zip,
       script=script,
-      input_tmp=OPTIONS.input_tmp)
+      input_tmp=OPTIONS.input_tmp,
+      metadata=metadata)
 
   if not OPTIONS.omit_prereq:
     ts = GetBuildProp("ro.build.date.utc", input_zip)
@@ -392,6 +397,13 @@
 
   script.UnmountAll()
   script.AddToZip(input_zip, output_zip)
+  WriteMetadata(metadata, output_zip)
+
+
+def WriteMetadata(metadata, output_zip):
+  common.ZipWriteStr(output_zip, "META-INF/com/android/metadata",
+                     "".join(["%s=%s\n" % kv
+                              for kv in sorted(metadata.iteritems())]))
 
 
 class File(object):
@@ -567,13 +579,17 @@
            "can't install it.")
   script = edify_generator.EdifyGenerator(source_version)
 
+  metadata = {"pre-device": GetBuildProp("ro.product.device", source_zip),
+              }
+
   device_specific = common.DeviceSpecificParams(
       source_zip=source_zip,
       source_version=source_version,
       target_zip=target_zip,
       target_version=target_version,
       output_zip=output_zip,
-      script=script)
+      script=script,
+      metadata=metadata)
 
   print "Loading target..."
   target_data = LoadSystemFiles(target_zip)
@@ -618,6 +634,8 @@
 
   source_fp = GetBuildProp("ro.build.fingerprint", source_zip)
   target_fp = GetBuildProp("ro.build.fingerprint", target_zip)
+  metadata["pre-build"] = source_fp
+  metadata["post-build"] = target_fp
 
   script.Mount("MTD", "system", "/system")
   script.AssertSomeFingerprint(source_fp, target_fp)
@@ -796,6 +814,7 @@
     scirpt.AppendExtra(OPTIONS.extra_script)
 
   script.AddToZip(target_zip, output_zip)
+  WriteMetadata(metadata, output_zip)
 
 
 def main(argv):
