build_library: Convert python2 scripts to python3

This is just a conversion done by 2to3 with a manual updates of
shebangs to mention python3 explicitly. The fixups for bytearray vs
string issues will follow up.
This commit is contained in:
Krzesimir Nowak 2021-08-13 18:46:17 +02:00
parent df63498a91
commit 336a967941
5 changed files with 54 additions and 54 deletions

View File

@ -1,4 +1,4 @@
#!/usr/bin/python #!/usr/bin/python3
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
@ -66,9 +66,9 @@ def LoadPartitionConfig(options):
raise InvalidLayout('Metadata is missing required entries: %s' % e) raise InvalidLayout('Metadata is missing required entries: %s' % e)
def VerifyLayout(layout_name, layout, base=None): def VerifyLayout(layout_name, layout, base=None):
for part_num, part in layout.iteritems(): for part_num, part in layout.items():
part['num'] = int(part_num) part['num'] = int(part_num)
part_keys = set(part.iterkeys()) part_keys = set(part.keys())
unknown_keys = part_keys - valid_layout_keys unknown_keys = part_keys - valid_layout_keys
if unknown_keys: if unknown_keys:
raise InvalidLayout('Unknown items in partition %s %s: %r' % raise InvalidLayout('Unknown items in partition %s %s: %r' %
@ -79,7 +79,7 @@ def LoadPartitionConfig(options):
if base: if base:
part_base = base.get(part_num, {}) part_base = base.get(part_num, {})
part_keys.update(part_base.iterkeys()) part_keys.update(iter(part_base.keys()))
if part.get('type', None) == 'blank': if part.get('type', None) == 'blank':
continue continue
@ -122,12 +122,12 @@ def LoadPartitionConfig(options):
# Fill in default values from base, # Fill in default values from base,
# dict doesn't have a update()+setdefault() method so this looks tedious # dict doesn't have a update()+setdefault() method so this looks tedious
if base: if base:
for part_num, base_part in base.iteritems(): for part_num, base_part in base.items():
part = layout.setdefault(part_num, {}) part = layout.setdefault(part_num, {})
for base_key, base_value in base_part.iteritems(): for base_key, base_value in base_part.items():
part.setdefault(base_key, base_value) part.setdefault(base_key, base_value)
for part_num, part in sorted(layout.iteritems(), key=lambda t: int(t[0])): for part_num, part in sorted(iter(layout.items()), key=lambda t: int(t[0])):
if part['type'] == 'blank': if part['type'] == 'blank':
continue continue
@ -163,7 +163,7 @@ def LoadPartitionConfig(options):
# Verify 'base' before other layouts because it is inherited by the others # Verify 'base' before other layouts because it is inherited by the others
# Fill in extra/default values in base last so they aren't inherited # Fill in extra/default values in base last so they aren't inherited
VerifyLayout('base', base) VerifyLayout('base', base)
for layout_name, layout in config['layouts'].iteritems(): for layout_name, layout in config['layouts'].items():
if layout_name == 'base': if layout_name == 'base':
continue continue
VerifyLayout(layout_name, layout, base) VerifyLayout(layout_name, layout, base)
@ -225,7 +225,7 @@ def GetPartitionTableFromImage(options, config, partitions):
else: else:
part['image_compat'] = False part['image_compat'] = False
for part in partitions.itervalues(): for part in partitions.values():
if part.get('type', 'blank') == 'blank': if part.get('type', 'blank') == 'blank':
continue continue
if not part.get('image_exists', False): if not part.get('image_exists', False):
@ -240,7 +240,7 @@ def GetPartitionTableFromImage(options, config, partitions):
part['image_fs_type'] = None part['image_fs_type'] = None
# Set compat flags for any partition not in the image # Set compat flags for any partition not in the image
for part in partitions.itervalues(): for part in partitions.values():
part.setdefault('image_exists', False) part.setdefault('image_exists', False)
if part.get('type', 'blank') == 'blank': if part.get('type', 'blank') == 'blank':
part.setdefault('image_compat', True) part.setdefault('image_compat', True)
@ -269,7 +269,7 @@ def WritePartitionTable(options, config=None, partitions=None):
else: else:
# If we are not creating a fresh image all partitions must be compatible. # If we are not creating a fresh image all partitions must be compatible.
GetPartitionTableFromImage(options, config, partitions) GetPartitionTableFromImage(options, config, partitions)
if not all(p['image_compat'] for p in partitions.itervalues()): if not all(p['image_compat'] for p in partitions.values()):
raise InvalidLayout("New disk layout is incompatible existing image") raise InvalidLayout("New disk layout is incompatible existing image")
# Extend the disk image size as needed # Extend the disk image size as needed
@ -279,7 +279,7 @@ def WritePartitionTable(options, config=None, partitions=None):
hybrid = None hybrid = None
prioritize = [] prioritize = []
for partition in partitions.itervalues(): for partition in partitions.values():
if partition['type'] != 'blank': if partition['type'] != 'blank':
Cgpt('add', '-i', partition['num'], Cgpt('add', '-i', partition['num'],
'-b', partition['first_block'], '-b', partition['first_block'],
@ -469,8 +469,8 @@ def PartitionLoop(options, partition):
def FormatPartition(options, part): def FormatPartition(options, part):
print "Formatting partition %s (%s) as %s" % ( print("Formatting partition %s (%s) as %s" % (
part['num'], part['label'], part['fs_type']) part['num'], part['label'], part['fs_type']))
with PartitionLoop(options, part) as loop_dev: with PartitionLoop(options, part) as loop_dev:
if part['fs_type'] in ('ext2', 'ext4'): if part['fs_type'] in ('ext2', 'ext4'):
@ -497,7 +497,7 @@ def Format(options):
config, partitions = LoadPartitionConfig(options) config, partitions = LoadPartitionConfig(options)
WritePartitionTable(options, config, partitions) WritePartitionTable(options, config, partitions)
for part in partitions.itervalues(): for part in partitions.values():
if part['type'] == 'blank' or 'fs_type' not in part: if part['type'] == 'blank' or 'fs_type' not in part:
continue continue
@ -542,13 +542,13 @@ def Update(options):
config, partitions = LoadPartitionConfig(options) config, partitions = LoadPartitionConfig(options)
WritePartitionTable(options, config, partitions) WritePartitionTable(options, config, partitions)
for part in partitions.itervalues(): for part in partitions.values():
if not part.get('fs_type', None): if not part.get('fs_type', None):
continue continue
elif not part['image_fs_type']: elif not part['image_fs_type']:
FormatPartition(options, part) FormatPartition(options, part)
for part in partitions.itervalues(): for part in partitions.values():
resize_func = None resize_func = None
if not part.get('fs_type', None): if not part.get('fs_type', None):
continue continue
@ -561,8 +561,8 @@ def Update(options):
else: else:
continue continue
print "Resizing partition %s (%s) to %s bytes" % ( print("Resizing partition %s (%s) to %s bytes" % (
part['num'], part['label'], part['fs_bytes']) part['num'], part['label'], part['fs_bytes']))
with PartitionLoop(options, part) as loop_dev: with PartitionLoop(options, part) as loop_dev:
resize_func(part, loop_dev) resize_func(part, loop_dev)
@ -582,7 +582,7 @@ def Mount(options):
GetPartitionTableFromImage(options, config, partitions) GetPartitionTableFromImage(options, config, partitions)
mounts = {} mounts = {}
for part_num, part in partitions.iteritems(): for part_num, part in partitions.items():
path = part.get('mount', None) path = part.get('mount', None)
if not path or not path.startswith('/'): if not path or not path.startswith('/'):
continue continue
@ -625,7 +625,7 @@ def Mount(options):
if err is not None: if err is not None:
raise err raise err
for src, dst in mount.get('binds', {}).iteritems(): for src, dst in mount.get('binds', {}).items():
# src may be relative or absolute, os.path.join handles this. # src may be relative or absolute, os.path.join handles this.
full_src = os.path.realpath( full_src = os.path.realpath(
options.mount_dir + os.path.join(mount['mount'], src)) options.mount_dir + os.path.join(mount['mount'], src))
@ -650,11 +650,11 @@ def ReadWriteSubvol(options, partition, disable_rw):
""" """
if disable_rw: if disable_rw:
print "Disabling read-write on default subvolume of partition %s (%s)" % ( print("Disabling read-write on default subvolume of partition %s (%s)" % (
partition['num'], partition['label']) partition['num'], partition['label']))
else: else:
print "Enabling read-write on default subvolume of partition %s (%s)" % ( print("Enabling read-write on default subvolume of partition %s (%s)" % (
partition['num'], partition['label']) partition['num'], partition['label']))
with PartitionLoop(options, partition) as loop_dev: with PartitionLoop(options, partition) as loop_dev:
btrfs_mount = tempfile.mkdtemp() btrfs_mount = tempfile.mkdtemp()
@ -701,11 +701,11 @@ def Tune2fsReadWrite(options, partition, disable_rw):
""" """
if disable_rw: if disable_rw:
print "Disabling read-write mounting of partition %s (%s)" % ( print("Disabling read-write mounting of partition %s (%s)" % (
partition['num'], partition['label']) partition['num'], partition['label']))
else: else:
print "Enabling read-write mounting of partition %s (%s)" % ( print("Enabling read-write mounting of partition %s (%s)" % (
partition['num'], partition['label']) partition['num'], partition['label']))
# offset of ro_compat, highest order byte (le 32 bit field) # offset of ro_compat, highest order byte (le 32 bit field)
flag_offset = 0x464 + 3 flag_offset = 0x464 + 3
@ -767,7 +767,7 @@ def Verity(options):
config, partitions = LoadPartitionConfig(options) config, partitions = LoadPartitionConfig(options)
GetPartitionTableFromImage(options, config, partitions) GetPartitionTableFromImage(options, config, partitions)
for part_num, part in partitions.iteritems(): for part_num, part in partitions.items():
if 'verity' not in part.get('features', []): if 'verity' not in part.get('features', []):
continue continue
@ -848,7 +848,7 @@ def GetPartitionByLabel(partitions, label):
Returns: Returns:
An object for the selected partition An object for the selected partition
""" """
for partition in partitions.itervalues(): for partition in partitions.values():
if partition['type'] == 'blank': if partition['type'] == 'blank':
continue continue
elif partition['label'] == label: elif partition['label'] == label:
@ -882,7 +882,7 @@ def GetBlockSize(options):
""" """
config, partitions = LoadPartitionConfig(options) config, partitions = LoadPartitionConfig(options)
print config['metadata']['block_size'] print(config['metadata']['block_size'])
def GetFilesystemBlockSize(options): def GetFilesystemBlockSize(options):
@ -897,7 +897,7 @@ def GetFilesystemBlockSize(options):
""" """
config, partitions = LoadPartitionConfig(options) config, partitions = LoadPartitionConfig(options)
print config['metadata']['fs_block_size'] print(config['metadata']['fs_block_size'])
def GetPartitionSize(options): def GetPartitionSize(options):
@ -911,7 +911,7 @@ def GetPartitionSize(options):
partitions = GetPartitionTableFromConfig(options) partitions = GetPartitionTableFromConfig(options)
partition = GetPartitionByNumber(partitions, options.partition_num) partition = GetPartitionByNumber(partitions, options.partition_num)
print partition['bytes'] print(partition['bytes'])
def GetFilesystemSize(options): def GetFilesystemSize(options):
@ -927,7 +927,7 @@ def GetFilesystemSize(options):
partitions = GetPartitionTableFromConfig(options) partitions = GetPartitionTableFromConfig(options)
partition = GetPartitionByNumber(partitions, options.partition_num) partition = GetPartitionByNumber(partitions, options.partition_num)
print partition.get('fs_bytes', partition['bytes']) print(partition.get('fs_bytes', partition['bytes']))
def GetLabel(options): def GetLabel(options):
@ -941,7 +941,7 @@ def GetLabel(options):
partitions = GetPartitionTableFromConfig(options) partitions = GetPartitionTableFromConfig(options)
partition = GetPartitionByNumber(partitions, options.partition_num) partition = GetPartitionByNumber(partitions, options.partition_num)
print partition.get('label', 'UNTITLED') print(partition.get('label', 'UNTITLED'))
def GetNum(options): def GetNum(options):
@ -955,7 +955,7 @@ def GetNum(options):
partitions = GetPartitionTableFromConfig(options) partitions = GetPartitionTableFromConfig(options)
partition = GetPartitionByLabel(partitions, options.label) partition = GetPartitionByLabel(partitions, options.label)
print partition.get('num', '-1') print(partition.get('num', '-1'))
def GetUuid(options): def GetUuid(options):
@ -969,7 +969,7 @@ def GetUuid(options):
partitions = GetPartitionTableFromConfig(options) partitions = GetPartitionTableFromConfig(options)
partition = GetPartitionByLabel(partitions, options.label) partition = GetPartitionByLabel(partitions, options.label)
print partition.get('uuid', '') print(partition.get('uuid', ''))
def DoDebugOutput(options): def DoDebugOutput(options):
@ -983,7 +983,7 @@ def DoDebugOutput(options):
""" """
partitions = GetPartitionTableFromConfig(options) partitions = GetPartitionTableFromConfig(options)
for num, partition in sorted(partitions.iteritems()): for num, partition in sorted(partitions.items()):
if partition['type'] != 'blank': if partition['type'] != 'blank':
if partition['bytes'] < 1024 * 1024: if partition['bytes'] < 1024 * 1024:
size = '%d bytes' % partition['bytes'] size = '%d bytes' % partition['bytes']
@ -994,11 +994,11 @@ def DoDebugOutput(options):
fs_size = '%d bytes' % partition['fs_bytes'] fs_size = '%d bytes' % partition['fs_bytes']
else: else:
fs_size = '%d MB' % (partition['fs_bytes'] / 1024 / 1024) fs_size = '%d MB' % (partition['fs_bytes'] / 1024 / 1024)
print '%s: %s - %s/%s' % (num, partition['label'], fs_size, size) print('%s: %s - %s/%s' % (num, partition['label'], fs_size, size))
else: else:
print '%s: %s - %s' % (num, partition['label'], size) print('%s: %s - %s' % (num, partition['label'], size))
else: else:
print '%s: blank' % num print('%s: blank' % num)
def DoParseOnly(options): def DoParseOnly(options):

View File

@ -1,4 +1,4 @@
#!/usr/bin/python #!/usr/bin/python3
'''Scan an existing directory tree and record installed directories. '''Scan an existing directory tree and record installed directories.
During build a number of directories under /var are created in the state During build a number of directories under /var are created in the state
@ -82,7 +82,7 @@ def main():
fd.write('\n'.join(config)+'\n') fd.write('\n'.join(config)+'\n')
fd.close() fd.close()
else: else:
print '\n'.join(config) print('\n'.join(config))
if __name__ == '__main__': if __name__ == '__main__':
main() main()

View File

@ -1,4 +1,4 @@
#!/usr/bin/python #!/usr/bin/python3
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
@ -120,7 +120,7 @@ def DepsToCopy(ldd_files, allow_list):
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, proc = subprocess.Popen(cmd, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
(stdout_data, stderr_data) = proc.communicate(input=None) (stdout_data, stderr_data) = proc.communicate(input=None)
except subprocess.CalledProcessError, e: except subprocess.CalledProcessError as e:
logging.error('Command %s failed', cmd) logging.error('Command %s failed', cmd)
logging.error('error code %s', e.returncode) logging.error('error code %s', e.returncode)
logging.error('ouput %s', e.output) logging.error('ouput %s', e.output)
@ -153,7 +153,7 @@ def CopyRequiredFiles(dest_files_root, allow_list):
sys.exit(1) sys.exit(1)
all_files = DYNAMIC_EXECUTABLES + STATIC_FILES all_files = DYNAMIC_EXECUTABLES + STATIC_FILES
all_files = map(os.path.expanduser, all_files) all_files = list(map(os.path.expanduser, all_files))
for file_name in all_files: for file_name in all_files:
if not os.path.isfile(file_name): if not os.path.isfile(file_name):
@ -181,7 +181,7 @@ def CopyRequiredFiles(dest_files_root, allow_list):
logging.exception("Copying '%s' to %s failed", file_name, lib_dir) logging.exception("Copying '%s' to %s failed", file_name, lib_dir)
sys.exit(1) sys.exit(1)
for source_dir, target_dir in RECURSE_DIRS.iteritems(): for source_dir, target_dir in RECURSE_DIRS.items():
logging.debug('Processing directory %s', source_dir) logging.debug('Processing directory %s', source_dir)
full_path = os.path.expanduser(source_dir) full_path = os.path.expanduser(source_dir)
if not os.path.isdir(full_path): if not os.path.isdir(full_path):
@ -212,7 +212,7 @@ def WrapExecutableFiles(dest_files_root, ld_linux):
local_exec_wrapped = local_exec + ".bin" local_exec_wrapped = local_exec + ".bin"
shutil.move(local_exec, local_exec_wrapped) shutil.move(local_exec, local_exec_wrapped)
fd = os.open(local_exec, os.O_WRONLY | os.O_CREAT, 0733) fd = os.open(local_exec, os.O_WRONLY | os.O_CREAT, 0o733)
with os.fdopen(fd, 'w') as script: with os.fdopen(fd, 'w') as script:
script.write('#!/bin/sh\n') script.write('#!/bin/sh\n')
script.write('# Auto-generated wrapper script\n') script.write('# Auto-generated wrapper script\n')
@ -249,7 +249,7 @@ def GenerateZipFile(base_name, root_dir):
try: try:
subprocess.Popen(['zip', '-r', '-9', base_name, '.'], subprocess.Popen(['zip', '-r', '-9', base_name, '.'],
stdout=subprocess.PIPE).communicate()[0] stdout=subprocess.PIPE).communicate()[0]
except OSError, e: except OSError as e:
logging.error('Execution failed:%s', e.strerror) logging.error('Execution failed:%s', e.strerror)
return False return False
finally: finally:

View File

@ -1,4 +1,4 @@
#!/usr/bin/python #!/usr/bin/python3
import hashlib import hashlib
import json import json
@ -7,7 +7,7 @@ import string
import subprocess import subprocess
import sys import sys
filename = sys.argv[1] filename = sys.argv[1]
grubdir = sys.argv[2] grubdir = sys.argv[2]
outputdir = sys.argv[3] outputdir = sys.argv[3]
version = sys.argv[4] version = sys.argv[4]

View File

@ -1,4 +1,4 @@
#!/usr/bin/python #!/usr/bin/python3
import hashlib import hashlib
import json import json
@ -10,4 +10,4 @@ version=sys.argv[2]
with open(path, "rb") as f: with open(path, "rb") as f:
kernel = f.read() kernel = f.read()
print json.dumps({"9": {"binaryvalues": [{"prefix": "grub_linux", "values": [{"value": hashlib.sha1(kernel).hexdigest(), "description": "flatcar-%s" % version}]}]}}) print(json.dumps({"9": {"binaryvalues": [{"prefix": "grub_linux", "values": [{"value": hashlib.sha1(kernel).hexdigest(), "description": "flatcar-%s" % version}]}]}}))