am 8317e664: am 96a57e73: make info_dict and GetTypeAndDevice available to device extensions

Merge commit '8317e66433903badaec8ebd2b9ec2b8153f3d612'

* commit '8317e66433903badaec8ebd2b9ec2b8153f3d612':
  make info_dict and GetTypeAndDevice available to device extensions
This commit is contained in:
Doug Zongker 2010-09-26 15:17:44 -07:00 committed by Android Git Automerger
commit e1c292a06b
3 changed files with 27 additions and 29 deletions

View File

@ -765,3 +765,20 @@ def ComputeDifferences(diffs):
th.start()
while threads:
threads.pop().join()
# map recovery.fstab's fs_types to mount/format "partition types"
PARTITION_TYPES = { "yaffs2": "MTD", "mtd": "MTD",
"ext4": "EMMC", "emmc": "EMMC" }
def GetTypeAndDevice(mount_point, info):
fstab = info["fstab"]
if fstab:
return PARTITION_TYPES[fstab[mount_point].fs_type], fstab[mount_point].device
else:
devices = {"/boot": "boot",
"/recovery": "recovery",
"/radio": "radio",
"/data": "userdata",
"/cache": "cache"}
return info["partition_type"], info.get("partition_path", "") + devices[mount_point]

View File

@ -21,10 +21,6 @@ class EdifyGenerator(object):
"""Class to generate scripts in the 'edify' recovery script language
used from donut onwards."""
# map recovery.fstab's fs_types to mount/format "partition types"
PARTITION_TYPES = { "yaffs2": "MTD", "mtd": "MTD",
"ext4": "EMMC", "emmc": "EMMC" }
def __init__(self, version, info):
self.script = []
self.mounts = set()
@ -141,7 +137,7 @@ class EdifyGenerator(object):
if fstab:
p = fstab[mount_point]
self.script.append('mount("%s", "%s", "%s", "%s");' %
(p.fs_type, self.PARTITION_TYPES[p.fs_type],
(p.fs_type, common.PARTITION_TYPES[p.fs_type],
p.device, p.mount_point))
self.mounts.add(p.mount_point)
else:
@ -176,7 +172,7 @@ class EdifyGenerator(object):
if fstab:
p = fstab[partition]
self.script.append('format("%s", "%s", "%s");' %
(p.fs_type, self.PARTITION_TYPES[p.fs_type], p.device))
(p.fs_type, common.PARTITION_TYPES[p.fs_type], p.device))
else:
# older target-files without per-partition types
partition = self.info.get("partition_path", "") + partition
@ -223,7 +219,7 @@ class EdifyGenerator(object):
fstab = self.info["fstab"]
if fstab:
p = fstab[mount_point]
partition_type = self.PARTITION_TYPES[p.fs_type]
partition_type = common.PARTITION_TYPES[p.fs_type]
args = {'device': p.device, 'fn': fn}
if partition_type == "MTD":
self.script.append(

View File

@ -79,10 +79,6 @@ OPTIONS.extra_script = None
OPTIONS.aslr_mode = True
OPTIONS.worker_threads = 3
# TODO: this is duplicated from edify_generator.py; fix.
PARTITION_TYPES = { "yaffs2": "MTD", "mtd": "MTD",
"ext4": "EMMC", "emmc": "EMMC" }
def MostPopularKey(d, default):
"""Given a dict, return the key corresponding to the largest
value. Returns 'default' if the dict is empty."""
@ -102,19 +98,6 @@ def IsRegular(info):
symlink."""
return (info.external_attr >> 28) == 010
def GetTypeAndDevice(mount_point, info):
fstab = info["fstab"]
if fstab:
return PARTITION_TYPES[fstab[mount_point].fs_type], fstab[mount_point].device
else:
devices = {"/boot": "boot",
"/recovery": "recovery",
"/radio": "radio",
"/data": "userdata",
"/cache": "cache"}
return info["partition_type"], info.get("partition_path", "") + devices[mount_point]
class Item:
"""Items represent the metadata (user, group, mode) of files and
directories in the system image."""
@ -341,8 +324,8 @@ def MakeRecoveryPatch(output_zip, recovery_img, boot_img):
common.ZipWriteStr(output_zip, "recovery/recovery-from-boot.p", patch)
Item.Get("system/recovery-from-boot.p", dir=False)
boot_type, boot_device = GetTypeAndDevice("/boot", OPTIONS.info_dict)
recovery_type, recovery_device = GetTypeAndDevice("/recovery", OPTIONS.info_dict)
boot_type, boot_device = common.GetTypeAndDevice("/boot", OPTIONS.info_dict)
recovery_type, recovery_device = common.GetTypeAndDevice("/recovery", OPTIONS.info_dict)
# Images with different content will have a different first page, so
# we check to see if this recovery has already been installed by
@ -388,7 +371,8 @@ def WriteFullOTAPackage(input_zip, output_zip):
output_zip=output_zip,
script=script,
input_tmp=OPTIONS.input_tmp,
metadata=metadata)
metadata=metadata,
info_dict=OPTIONS.info_dict)
if not OPTIONS.omit_prereq:
ts = GetBuildProp("ro.build.date.utc", input_zip)
@ -498,7 +482,8 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip):
target_version=target_version,
output_zip=output_zip,
script=script,
metadata=metadata)
metadata=metadata,
info_dict=OPTIONS.info_dict)
print "Loading target..."
(target_data, target_retouch_files) = LoadSystemFiles(target_zip)
@ -595,7 +580,7 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip):
common.ZipWriteStr(output_zip, "patch/boot.img.p", d)
boot_type, boot_device = GetTypeAndDevice("/boot", OPTIONS.info_dict)
boot_type, boot_device = common.GetTypeAndDevice("/boot", OPTIONS.info_dict)
script.PatchCheck("%s:%s:%d:%s:%d:%s" %
(boot_type, boot_device,