Fix mkyaffs2image extra flags in the release tools.

Change-Id: I806e3e85ef89941edf04352331e25730c491c470
This commit is contained in:
Ying Wang 2010-08-25 20:39:41 -07:00
parent fb0a347b74
commit d421f57d22
3 changed files with 27 additions and 4 deletions

View File

@ -1001,6 +1001,9 @@ endif
$(hide) echo "system $(call image-size-from-data-size,$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/imagesizes.txt
$(hide) echo "userdata $(call image-size-from-data-size,$(BOARD_USERDATAIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/imagesizes.txt
$(hide) echo "$(tool_extensions)" > $(zip_root)/META/tool-extensions.txt
ifdef mkyaffs2_extra_flags
$(hide) echo "$(mkyaffs2_extra_flags)" > $(zip_root)/META/mkyaffs2-extra-flags.txt
endif
@# Zip everything up, preserving symlinks
$(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .)
@# Run fs_config on all the system files in the zip, and save the output

View File

@ -36,6 +36,7 @@ OPTIONS.verbose = False
OPTIONS.tempfiles = []
OPTIONS.device_specific = None
OPTIONS.extras = {}
OPTIONS.mkyaffs2_extra_flags = None
# Values for "certificate" in apkcerts that mean special things.
@ -69,6 +70,17 @@ def LoadMaxSizes():
pass
def LoadMkyaffs2ExtraFlags():
"""Load mkyaffs2 extra flags."""
try:
fn = os.path.join(OPTIONS.input_tmp, "META", "mkyaffs2-extra-flags.txt");
if os.access(fn, os.F_OK):
OPTIONS.mkyaffs2_extra_flags = open(fn).read().rstrip("\n")
except IOError, e:
if e.errno == errno.ENOENT:
pass
def BuildAndAddBootableImage(sourcedir, targetname, output_zip):
"""Take a kernel, cmdline, and ramdisk directory from the input (in
'sourcedir'), and turn them into a boot image. Put the boot image

View File

@ -76,8 +76,11 @@ def AddUserdata(output_zip):
if "userdata.img" in OPTIONS.max_image_size:
build_command.append(str(OPTIONS.max_image_size["userdata.img"]))
else:
build_command = ["mkyaffs2image", "-f",
user_dir, img.name]
build_command = ["mkyaffs2image", "-f"]
if OPTIONS.mkyaffs2_extra_flags is not None:
build_command.append(OPTIONS.mkyaffs2_extra_flags);
build_command.append(user_dir)
build_command.append(img.name)
p = common.Run(build_command)
p.communicate()
@ -121,8 +124,11 @@ def AddSystem(output_zip):
if "system.img" in OPTIONS.max_image_size:
build_command.append(str(OPTIONS.max_image_size["system.img"]))
else:
build_command = ["mkyaffs2image", "-f",
os.path.join(OPTIONS.input_tmp, "system"), img.name]
build_command = ["mkyaffs2image", "-f"]
if OPTIONS.mkyaffs2_extra_flags is not None:
build_command.append(OPTIONS.mkyaffs2_extra_flags);
build_command.append(os.path.join(OPTIONS.input_tmp, "system"))
build_command.append(img.name)
p = common.Run(build_command)
p.communicate()
@ -172,6 +178,8 @@ def main(argv):
print " image size limits."
print
common.LoadMkyaffs2ExtraFlags()
output_zip = zipfile.ZipFile(args[1], "w", compression=zipfile.ZIP_DEFLATED)
common.AddBoot(output_zip)