diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 87099c21f..cffb4bdc1 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -908,7 +908,7 @@ def ZipWriteStr(zip_file, zinfo_or_arcname, data, perms=None, zinfo = zipfile.ZipInfo(filename=zinfo_or_arcname) zinfo.compress_type = zip_file.compression if perms is None: - perms = 0o644 + perms = 0o100644 else: zinfo = zinfo_or_arcname @@ -918,6 +918,9 @@ def ZipWriteStr(zip_file, zinfo_or_arcname, data, perms=None, # If perms is given, it has a priority. if perms is not None: + # If perms doesn't set the file type, mark it as a regular file. + if perms & 0o770000 == 0: + perms |= 0o100000 zinfo.external_attr = perms << 16 # Use a fixed timestamp so the output is repeatable.