forked from openkylin/platform_build
Merge "releasetools: Make additional modules Python 3 compatible."
This commit is contained in:
commit
e4f07795e4
|
@ -126,7 +126,7 @@ def GetCareMap(which, imgname):
|
|||
if not image_size:
|
||||
return None
|
||||
|
||||
image_blocks = int(image_size) / 4096 - 1
|
||||
image_blocks = int(image_size) // 4096 - 1
|
||||
assert image_blocks > 0, "blocks for {} must be positive".format(which)
|
||||
|
||||
# For sparse images, we will only check the blocks that are listed in the care
|
||||
|
@ -154,16 +154,16 @@ def AddSystem(output_zip, recovery_img=None, boot_img=None):
|
|||
return img.name
|
||||
|
||||
def output_sink(fn, data):
|
||||
ofile = open(os.path.join(OPTIONS.input_tmp, "SYSTEM", fn), "w")
|
||||
ofile.write(data)
|
||||
ofile.close()
|
||||
output_file = os.path.join(OPTIONS.input_tmp, "SYSTEM", fn)
|
||||
with open(output_file, "wb") as ofile:
|
||||
ofile.write(data)
|
||||
|
||||
if output_zip:
|
||||
arc_name = "SYSTEM/" + fn
|
||||
if arc_name in output_zip.namelist():
|
||||
OPTIONS.replace_updated_files_list.append(arc_name)
|
||||
else:
|
||||
common.ZipWrite(output_zip, ofile.name, arc_name)
|
||||
common.ZipWrite(output_zip, output_file, arc_name)
|
||||
|
||||
if (OPTIONS.rebuild_recovery and recovery_img is not None and
|
||||
boot_img is not None):
|
||||
|
@ -290,7 +290,7 @@ def AddDtbo(output_zip):
|
|||
|
||||
|
||||
def CreateImage(input_dir, info_dict, what, output_file, block_list=None):
|
||||
logger.info("creating " + what + ".img...")
|
||||
logger.info("creating %s.img...", what)
|
||||
|
||||
image_props = build_image.ImagePropFromGlobalDict(info_dict, what)
|
||||
fstab = info_dict["fstab"]
|
||||
|
@ -778,7 +778,7 @@ def AddImagesToTargetFiles(filename):
|
|||
partitions = dict()
|
||||
|
||||
def banner(s):
|
||||
logger.info("\n\n++++ " + s + " ++++\n\n")
|
||||
logger.info("\n\n++++ %s ++++\n\n", s)
|
||||
|
||||
boot_image = None
|
||||
if has_boot:
|
||||
|
@ -901,7 +901,7 @@ def AddImagesToTargetFiles(filename):
|
|||
ab_partitions_txt = os.path.join(OPTIONS.input_tmp, "META",
|
||||
"ab_partitions.txt")
|
||||
if os.path.exists(ab_partitions_txt):
|
||||
with open(ab_partitions_txt, 'r') as f:
|
||||
with open(ab_partitions_txt) as f:
|
||||
ab_partitions = f.readlines()
|
||||
|
||||
# For devices using A/B update, make sure we have all the needed images
|
||||
|
@ -916,7 +916,7 @@ def AddImagesToTargetFiles(filename):
|
|||
pack_radioimages_txt = os.path.join(
|
||||
OPTIONS.input_tmp, "META", "pack_radioimages.txt")
|
||||
if os.path.exists(pack_radioimages_txt):
|
||||
with open(pack_radioimages_txt, 'r') as f:
|
||||
with open(pack_radioimages_txt) as f:
|
||||
AddPackRadioImages(output_zip, f.readlines())
|
||||
|
||||
if output_zip:
|
||||
|
|
|
@ -54,7 +54,9 @@ class Options(object):
|
|||
base_search_path = os.path.join(base_out_path,
|
||||
os.path.basename(os.getcwd()))
|
||||
|
||||
# Python >= 3.3 returns 'linux', whereas Python 2.7 gives 'linux2'.
|
||||
platform_search_path = {
|
||||
"linux": os.path.join(base_search_path, "host/linux-x86"),
|
||||
"linux2": os.path.join(base_search_path, "host/linux-x86"),
|
||||
"darwin": os.path.join(base_search_path, "host/darwin-x86"),
|
||||
}
|
||||
|
|
|
@ -1938,7 +1938,7 @@ def GetTargetFilesZipForRetrofitDynamicPartitions(input_file,
|
|||
target_file = common.MakeTempFile(prefix="targetfiles-", suffix=".zip")
|
||||
shutil.copyfile(input_file, target_file)
|
||||
|
||||
with zipfile.ZipFile(input_file, 'r') as input_zip:
|
||||
with zipfile.ZipFile(input_file) as input_zip:
|
||||
namelist = input_zip.namelist()
|
||||
|
||||
input_tmp = common.UnzipTemp(input_file, RETROFIT_DAP_UNZIP_PATTERN)
|
||||
|
|
|
@ -154,11 +154,11 @@ OPTIONS.avb_extra_args = {}
|
|||
|
||||
def GetApkCerts(certmap):
|
||||
# apply the key remapping to the contents of the file
|
||||
for apk, cert in certmap.iteritems():
|
||||
for apk, cert in certmap.items():
|
||||
certmap[apk] = OPTIONS.key_map.get(cert, cert)
|
||||
|
||||
# apply all the -e options, overriding anything in the file
|
||||
for apk, cert in OPTIONS.extra_apks.iteritems():
|
||||
for apk, cert in OPTIONS.extra_apks.items():
|
||||
if not cert:
|
||||
cert = "PRESIGNED"
|
||||
certmap[apk] = OPTIONS.key_map.get(cert, cert)
|
||||
|
@ -519,14 +519,14 @@ def ProcessTargetFiles(input_tf_zip, output_tf_zip, misc_info,
|
|||
if stat.S_ISLNK(info.external_attr >> 16):
|
||||
new_data = data
|
||||
else:
|
||||
new_data = RewriteProps(data)
|
||||
new_data = RewriteProps(data.decode())
|
||||
common.ZipWriteStr(output_tf_zip, out_info, new_data)
|
||||
|
||||
# Replace the certs in *mac_permissions.xml (there could be multiple, such
|
||||
# as {system,vendor}/etc/selinux/{plat,nonplat}_mac_permissions.xml).
|
||||
elif filename.endswith("mac_permissions.xml"):
|
||||
print("Rewriting %s with new keys." % (filename,))
|
||||
new_data = ReplaceCerts(data)
|
||||
new_data = ReplaceCerts(data.decode())
|
||||
common.ZipWriteStr(output_tf_zip, out_info, new_data)
|
||||
|
||||
# Ask add_img_to_target_files to rebuild the recovery patch if needed.
|
||||
|
@ -630,17 +630,17 @@ def ReplaceCerts(data):
|
|||
Raises:
|
||||
AssertionError: On finding duplicate entries.
|
||||
"""
|
||||
for old, new in OPTIONS.key_map.iteritems():
|
||||
for old, new in OPTIONS.key_map.items():
|
||||
if OPTIONS.verbose:
|
||||
print(" Replacing %s.x509.pem with %s.x509.pem" % (old, new))
|
||||
|
||||
try:
|
||||
with open(old + ".x509.pem") as old_fp:
|
||||
old_cert16 = base64.b16encode(
|
||||
common.ParseCertificate(old_fp.read())).lower()
|
||||
common.ParseCertificate(old_fp.read())).decode().lower()
|
||||
with open(new + ".x509.pem") as new_fp:
|
||||
new_cert16 = base64.b16encode(
|
||||
common.ParseCertificate(new_fp.read())).lower()
|
||||
common.ParseCertificate(new_fp.read())).decode().lower()
|
||||
except IOError as e:
|
||||
if OPTIONS.verbose or e.errno != errno.ENOENT:
|
||||
print(" Error accessing %s: %s.\nSkip replacing %s.x509.pem with "
|
||||
|
@ -858,7 +858,7 @@ def ReplaceVerityKeyId(input_zip, output_zip, key_path):
|
|||
writable.
|
||||
key_path: The path to the PEM encoded X.509 certificate.
|
||||
"""
|
||||
in_cmdline = input_zip.read("BOOT/cmdline")
|
||||
in_cmdline = input_zip.read("BOOT/cmdline").decode()
|
||||
# Copy in_cmdline to output_zip if veritykeyid is not present.
|
||||
if "veritykeyid" not in in_cmdline:
|
||||
common.ZipWriteStr(output_zip, "BOOT/cmdline", in_cmdline)
|
||||
|
@ -891,7 +891,7 @@ def ReplaceMiscInfoTxt(input_zip, output_zip, misc_info):
|
|||
current in-memory dict contains additional items computed at runtime.
|
||||
"""
|
||||
misc_info_old = common.LoadDictionaryFromLines(
|
||||
input_zip.read('META/misc_info.txt').split('\n'))
|
||||
input_zip.read('META/misc_info.txt').decode().split('\n'))
|
||||
items = []
|
||||
for key in sorted(misc_info):
|
||||
if key in misc_info_old:
|
||||
|
@ -957,7 +957,7 @@ def BuildKeyMap(misc_info, key_mapping_options):
|
|||
|
||||
|
||||
def GetApiLevelAndCodename(input_tf_zip):
|
||||
data = input_tf_zip.read("SYSTEM/build.prop")
|
||||
data = input_tf_zip.read("SYSTEM/build.prop").decode()
|
||||
api_level = None
|
||||
codename = None
|
||||
for line in data.split("\n"):
|
||||
|
@ -979,7 +979,7 @@ def GetApiLevelAndCodename(input_tf_zip):
|
|||
|
||||
|
||||
def GetCodenameToApiLevelMap(input_tf_zip):
|
||||
data = input_tf_zip.read("SYSTEM/build.prop")
|
||||
data = input_tf_zip.read("SYSTEM/build.prop").decode()
|
||||
api_level = None
|
||||
codenames = None
|
||||
for line in data.split("\n"):
|
||||
|
@ -997,7 +997,7 @@ def GetCodenameToApiLevelMap(input_tf_zip):
|
|||
if codenames is None:
|
||||
raise ValueError("No ro.build.version.all_codenames in SYSTEM/build.prop")
|
||||
|
||||
result = dict()
|
||||
result = {}
|
||||
for codename in codenames:
|
||||
codename = codename.strip()
|
||||
if codename:
|
||||
|
@ -1021,7 +1021,7 @@ def ReadApexKeysInfo(tf_zip):
|
|||
key.
|
||||
"""
|
||||
keys = {}
|
||||
for line in tf_zip.read("META/apexkeys.txt").split("\n"):
|
||||
for line in tf_zip.read('META/apexkeys.txt').decode().split('\n'):
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
|
|
|
@ -136,7 +136,7 @@ name="apex.apexd_test_different_app.apex" public_key="system/apex/apexd/apexd_te
|
|||
ReplaceVerityKeyId(input_zip, output_zip, cert_file)
|
||||
|
||||
with zipfile.ZipFile(output_file) as output_zip:
|
||||
self.assertEqual(BOOT_CMDLINE1, output_zip.read('BOOT/cmdline'))
|
||||
self.assertEqual(BOOT_CMDLINE1, output_zip.read('BOOT/cmdline').decode())
|
||||
|
||||
# Test with the second certificate.
|
||||
cert_file = os.path.join(self.testdata_dir, 'testkey.x509.pem')
|
||||
|
@ -146,7 +146,7 @@ name="apex.apexd_test_different_app.apex" public_key="system/apex/apexd/apexd_te
|
|||
ReplaceVerityKeyId(input_zip, output_zip, cert_file)
|
||||
|
||||
with zipfile.ZipFile(output_file) as output_zip:
|
||||
self.assertEqual(BOOT_CMDLINE2, output_zip.read('BOOT/cmdline'))
|
||||
self.assertEqual(BOOT_CMDLINE2, output_zip.read('BOOT/cmdline').decode())
|
||||
|
||||
def test_ReplaceVerityKeyId_no_veritykeyid(self):
|
||||
BOOT_CMDLINE = (
|
||||
|
@ -164,7 +164,7 @@ name="apex.apexd_test_different_app.apex" public_key="system/apex/apexd/apexd_te
|
|||
ReplaceVerityKeyId(input_zip, output_zip, None)
|
||||
|
||||
with zipfile.ZipFile(output_file) as output_zip:
|
||||
self.assertEqual(BOOT_CMDLINE, output_zip.read('BOOT/cmdline'))
|
||||
self.assertEqual(BOOT_CMDLINE, output_zip.read('BOOT/cmdline').decode())
|
||||
|
||||
def test_ReplaceCerts(self):
|
||||
cert1_path = os.path.join(self.testdata_dir, 'platform.x509.pem')
|
||||
|
|
|
@ -98,7 +98,7 @@ class ValidateTargetFilesTest(test_utils.ReleaseToolsTestCase):
|
|||
with open(boot_image, 'r+b') as boot_fp:
|
||||
boot_fp.seek(-1, os.SEEK_END)
|
||||
last_byte = boot_fp.read(1)
|
||||
last_byte = chr(255 - ord(last_byte))
|
||||
last_byte = bytes([255 - ord(last_byte)])
|
||||
boot_fp.seek(-1, os.SEEK_END)
|
||||
boot_fp.write(last_byte)
|
||||
|
||||
|
|
Loading…
Reference in New Issue