diff options
-rwxr-xr-x | linaro-hwpack-convert | 21 | ||||
-rwxr-xr-x | linaro-hwpack-convert.moved | 53 | ||||
-rwxr-xr-x | linaro-hwpack-install | 2 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/hwpack_convert.py | 21 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/hwpack_convert.py.moved | 276 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/hwpack_fields.py | 21 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/hwpack_fields.py.moved | 67 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/tests/test_hwpack_converter.py | 37 | ||||
-rw-r--r-- | linaro_image_tools/hwpack/tests/test_hwpack_converter.py.moved | 109 | ||||
-rw-r--r-- | linaro_image_tools/media_create/android_boards.py | 4 | ||||
-rw-r--r-- | linaro_image_tools/media_create/tests/test_media_create.py | 4 |
11 files changed, 603 insertions, 12 deletions
diff --git a/linaro-hwpack-convert b/linaro-hwpack-convert index 5f085ec..c30c151 100755 --- a/linaro-hwpack-convert +++ b/linaro-hwpack-convert @@ -1,4 +1,25 @@ #!/usr/bin/python +# Copyright (C) 2010, 2011, 2012 Linaro +# +# Author: Milo Casagrande <milo.casagrande@linaro.org> +# +# This file is part of Linaro Image Tools. +# +# Linaro Image Tools is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# Linaro Image Tools is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Linaro Image Tools; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + import argparse import logging diff --git a/linaro-hwpack-convert.moved b/linaro-hwpack-convert.moved new file mode 100755 index 0000000..5f085ec --- /dev/null +++ b/linaro-hwpack-convert.moved @@ -0,0 +1,53 @@ +#!/usr/bin/python + +import argparse +import logging +import sys +import os + +from linaro_image_tools.hwpack.hwpack_convert import ( + HwpackConverter, + HwpackConverterException, + check_and_validate_args, + ) +from linaro_image_tools.hwpack.builder import ConfigFileMissing +from linaro_image_tools.__version__ import __version__ + + +def get_logger(debug=False): + ch = logging.StreamHandler() + logger = logging.getLogger("linaro_hwpack_converter") + + if debug: + ch.setLevel(logging.DEBUG) + formatter = logging.Formatter( + "%(asctime)s - %(name)s - %(levelname)s - %(message)s") + ch.setFormatter(formatter) + logger.setLevel(logging.DEBUG) + else: + ch.setLevel(logging.INFO) + formatter = logging.Formatter("%(message)s") + ch.setFormatter(formatter) + logger.setLevel(logging.INFO) + logger.addHandler(ch) + +if __name__ == '__main__': + parser = argparse.ArgumentParser(version='%(prog)s ' + __version__) + parser.add_argument("CONFIG_FILE", + help="The configuration file to convert.") + parser.add_argument("--out", + help="The output file name to write. If none is " + "given, the input file name (and path) will be " + "used with the '.yaml' suffix.") + parser.add_argument("--debug", action="store_true") + args = parser.parse_args() + logger = get_logger(debug=args.debug) + try: + input_file, output_file = check_and_validate_args(args) + print "Converting '%s' into new YAML format..." % (input_file) + converter = HwpackConverter(input_file, output_file) + except HwpackConverterException, e: + sys.stderr.write(str(e) + "\n") + sys.exit(1) + converter.convert() + print "File '%s' converted in '%s'." % (input_file, output_file) diff --git a/linaro-hwpack-install b/linaro-hwpack-install index 56ffff0..5d1daf4 100755 --- a/linaro-hwpack-install +++ b/linaro-hwpack-install @@ -196,7 +196,7 @@ for filename in $(ls "${HWPACK_DIR}"/sources.list.d/); do while read line; do # Only install files that have at least one line not present in the # existing sources lists. - grep -qF "$line" /etc/apt/sources.list.d/* /etc/apt/sources.list \ + grep -qF "$line" $(find /etc/apt/sources.list.d/ -name '*.list') /etc/apt/sources.list \ || should_install=1 done < $stripped_file diff --git a/linaro_image_tools/hwpack/hwpack_convert.py b/linaro_image_tools/hwpack/hwpack_convert.py index 806e9cd..6da04da 100644 --- a/linaro_image_tools/hwpack/hwpack_convert.py +++ b/linaro_image_tools/hwpack/hwpack_convert.py @@ -1,3 +1,24 @@ +# Copyright (C) 2010, 2011, 2012 Linaro +# +# Author: Milo Casagrande <milo.casagrande@linaro.org> +# +# This file is part of Linaro Image Tools. +# +# Linaro Image Tools is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# Linaro Image Tools is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Linaro Image Tools; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + import ConfigParser import logging import os diff --git a/linaro_image_tools/hwpack/hwpack_convert.py.moved b/linaro_image_tools/hwpack/hwpack_convert.py.moved new file mode 100644 index 0000000..806e9cd --- /dev/null +++ b/linaro_image_tools/hwpack/hwpack_convert.py.moved @@ -0,0 +1,276 @@ +import ConfigParser +import logging +import os +import os.path +import re +import yaml + +from hwpack_fields import ( + ARCHITECTURES_FIELD, + ASSUME_INSTALLED_FIELD, + BOOTLOADERS_FIELD, + EXTRA_BOOT_OPTIONS_FIELD, + EXTRA_SERIAL_OPTIONS_FIELD, + SOURCES_FIELD, + FORMAT_FIELD, + PACKAGES_FIELD, + PACKAGE_FIELD, + FILE_FIELD, + IN_BOOT_PART_FIELD, + DD_FIELD, + ENV_DD_FIELD, + SPL_IN_BOOT_PART_FIELD, + SPL_DD_FIELD, + SPL_PACKAGE_FIELD, + SPL_FILE_FIELD, + WIRED_INTERFACES_FIELD, + WIRELESS_INTERFACES_FIELD, +) + +# This is the main section of an INI-style hwpack config file. +MAIN_SECTION = 'hwpack' +# The suffix for the new file +NEW_FILE_SUFFIX = '.yaml' +# How many spaces should be used for indentation. +INDENT_STEP = 1 +# Regular expression to convert from Yes/No values into Boolean. +YES_REGEX = '[Yy]es' +NO_REGEX = '[Nn]o' +# The default format number. +DEFAULT_FORMAT = '3.0' +# Old INI style u_boot keys name. +UBOOT_PACKAGE_KEY = "u_boot_package" +UBOOT_FILE_KEY = "u_boot_file" +UBOOT_IN_BOOT_PART_KEY = 'u_boot_in_boot_part' +UBOOT_DD_KEY = 'u_boot_dd' +# All the u_boot defined keys in a list. +UBOOT_KEYS = [UBOOT_PACKAGE_KEY, UBOOT_FILE_KEY, UBOOT_IN_BOOT_PART_KEY, + UBOOT_DD_KEY] + +# Old field, the only one with a dash: since the format is new, convert it. +ASSUME_INSTALLED_OLD = 'assume-installed' + +# The default bootloader for the bootloaders section. +DEFAULT_BOOTLOADER = 'u_boot' + +# All the SPL keys +SPL_KEYS = [SPL_IN_BOOT_PART_FIELD, SPL_DD_FIELD, SPL_PACKAGE_FIELD, + SPL_FILE_FIELD, ENV_DD_FIELD] + +logger = logging.getLogger("linaro_hwpack_converter") + + +class HwpackConverterException(Exception): + """General exception class for the converter.""" + + +class HwpackConverter(object): + """Simple and basic class that converts an INI-style format file into the + new YAML format. + + The old format number is maintained. + + :param input_file: the input file to parse, has to be an INI-style file. + :param output_file: where to write the new file, if not given, the name + of the input file will be used adding the 'yaml' + suffix. + """ + def __init__(self, input_file=None, output_file=None): + """Initializie the class.""" + self.input_file = input_file + self.output_file = output_file + + # Where we store the list of sources. + self.sources = {} + # Where we store all the information of the hwpack config file + # In this case we have one board per hwpack config file. + self.hwpack = {} + # List of supported architectures. + self.architectures = [] + # Where we hold bootloaders info + self.bootloaders = {} + # List to store extra boot options. + self.extra_boot_options = [] + # The list of packages. + self.packages = [] + # List of the extra_serial_options. + self.extra_serial_options = [] + # Lists for network interfaces. + self.wired_interfaces = [] + self.wireless_interfaces = [] + # SPL entries + self.spl = {} + + def _parse(self): + """Parses the config file and stores its values.""" + if self.input_file is not None: + parser = ConfigParser.RawConfigParser() + with open(self.input_file, 'r') as fp: + parser.readfp(fp) + + # Iterate through all the file sections. + for section in parser.sections(): + if section == MAIN_SECTION: + for key, value in parser.items(section): + if value is not None: + if re.match("[Yy]es", value): + value = True + elif re.match("[Nn]o", value): + value = False + if key == ARCHITECTURES_FIELD: + self.parse_list_string(self.architectures, + value) + continue + elif key == EXTRA_BOOT_OPTIONS_FIELD: + self.parse_list_string(self.extra_boot_options, + value) + continue + elif key == EXTRA_SERIAL_OPTIONS_FIELD: + self.parse_list_string( + self.extra_serial_options, + value) + continue + elif key == WIRED_INTERFACES_FIELD: + self.parse_list_string(self.wired_interfaces, + value) + continue + elif key == WIRELESS_INTERFACES_FIELD: + self.parse_list_string( + self.wireless_interfaces, + value) + continue + elif key in SPL_KEYS: + self.spl[key] = value + continue + elif key == FORMAT_FIELD: + value = DEFAULT_FORMAT + elif key == PACKAGES_FIELD: + self.parse_list_string(self.packages, value) + continue + elif key in UBOOT_KEYS: + self._set_bootloaders(key, value) + continue + # Convert an old key into the new one. + elif key == ASSUME_INSTALLED_OLD: + key = ASSUME_INSTALLED_FIELD + self.hwpack[key] = value + else: + # Here we have only sources sections. + for _, value in parser.items(section): + if value is not None: + self.sources[section] = value + + def _set_bootloaders(self, key, value): + """Sets the bootloaders dictionary of a new YAML file. Converts from + the old INI keys name into the new ones. + + :param key: The key of the bootloader. + :param value: The key value.""" + if key == UBOOT_PACKAGE_KEY: + self.bootloaders[PACKAGE_FIELD] = value + elif key == UBOOT_FILE_KEY: + self.bootloaders[FILE_FIELD] = value + elif key == UBOOT_IN_BOOT_PART_KEY: + self.bootloaders[IN_BOOT_PART_FIELD] = value + elif key == UBOOT_DD_KEY: + self.bootloaders[DD_FIELD] = value + + def parse_list_string(self, store, string, split=" "): + """Parses a string of listed values, and stores the single splitted + value in the provided list. + + :param store: The list where to store the values. + :param string: The string that should be splitted. + :param split: The separator to use, defaults to empty space. + """ + if not isinstance(store, list): + raise HwpackConverterException("Can use this method only with " + "list.") + store.extend(string.split(" ")) + + def _to_file(self): + """Writes the converted hwpack to file.""" + with open(self.output_file, 'w') as fp: + fp.write(str(self)) + + def convert(self): + """Converts the input file into the output file with the new format. + """ + self._parse() + self._to_file() + + def __str__(self): + """Readable representation of the converted hwpack. + + :return A YAML-string representation of the hwpack configuration. + """ + converted = '' + if self.hwpack: + converted += dump(self.hwpack) + if self.architectures: + archs = {ARCHITECTURES_FIELD: self.architectures} + converted += dump(archs) + if self.extra_serial_options: + serial_options = {EXTRA_SERIAL_OPTIONS_FIELD: + self.extra_serial_options} + converted += dump(serial_options) + if self.packages: + packages = {PACKAGES_FIELD: self.packages} + converted += dump(packages) + if self.wired_interfaces: + wired = {WIRED_INTERFACES_FIELD: self.wired_interfaces} + converted += dump(wired) + if self.wireless_interfaces: + converted += dump(self.wireless_interfaces) + if self.sources: + sources = {SOURCES_FIELD: self.sources} + converted += dump(sources) + if self.bootloaders or self.extra_boot_options or self.spl: + # The bootloaders section in the new YAML file is a dictionary + # containing a dictionary which can contains also other + # dictionaries. In this case we only have list and normal values. + nested_value = {} + if self.bootloaders: + for key, value in self.bootloaders.iteritems(): + nested_value[key] = value + if self.extra_boot_options: + nested_value[EXTRA_BOOT_OPTIONS_FIELD] = \ + self.extra_boot_options + if self.spl: + for key, value in self.spl.iteritems(): + nested_value[key] = value + default_bootloader = {DEFAULT_BOOTLOADER: nested_value} + bootloaders = {BOOTLOADERS_FIELD: default_bootloader} + converted += dump(bootloaders) + return converted + + +def dump(python_object): + """Serialize a Python object in a YAML string format. + + :param python_object: The object to serialize. + """ + return yaml.dump(python_object, default_flow_style=False, indent=True) + + +def check_and_validate_args(args): + """Assures that the args passed are valid. + + :param args: the args as defined in linaro-hwpack-convert. + """ + input_file = args.CONFIG_FILE + output_file = args.out + if not os.path.exists(input_file) or not os.path.isfile(input_file): + raise HwpackConverterException("The configuration file '%s' is not a " + "regular file." % input_file) + if output_file is not None: + if os.path.exists(output_file) or os.path.isdir(output_file): + raise HwpackConverterException("The output file name provided " + "'%s' already exists, or is a " + "directory." % output_file) + elif not os.path.isabs(output_file): + # If we output file is just a name, write it in the current dir. + output_file = os.path.join(os.getcwd(), output_file) + else: + output_file = input_file + NEW_FILE_SUFFIX + return (input_file, output_file) diff --git a/linaro_image_tools/hwpack/hwpack_fields.py b/linaro_image_tools/hwpack/hwpack_fields.py index dd361ee..5136482 100644 --- a/linaro_image_tools/hwpack/hwpack_fields.py +++ b/linaro_image_tools/hwpack/hwpack_fields.py @@ -1,3 +1,24 @@ +# Copyright (C) 2010, 2011, 2012 Linaro +# +# Author: Milo Casagrande <milo.casagrande@linaro.org> +# +# This file is part of Linaro Image Tools. +# +# Linaro Image Tools is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# Linaro Image Tools is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Linaro Image Tools; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + # This file contains all the valid fields for an hwpack v3. # Reference wiki page: https://wiki.linaro.org/HardwarePacksV3 # diff --git a/linaro_image_tools/hwpack/hwpack_fields.py.moved b/linaro_image_tools/hwpack/hwpack_fields.py.moved new file mode 100644 index 0000000..dd361ee --- /dev/null +++ b/linaro_image_tools/hwpack/hwpack_fields.py.moved @@ -0,0 +1,67 @@ +# This file contains all the valid fields for an hwpack v3. +# Reference wiki page: https://wiki.linaro.org/HardwarePacksV3 +# +# Try to keep it alphabetically sorted per section. +# +ARCHITECTURES_FIELD = 'architectures' +ASSUME_INSTALLED_FIELD = 'assume_installed' +BOARDS_FIELD = 'boards' +BOOTLOADERS_FIELD = 'bootloaders' +BOOT_MIN_SIZE_FIELD = 'boot_min_size' +BOOT_SCRIPT_FIELD = 'boot_script' +COPY_FILES_FIELD = 'copy_files' +DTB_ADDR_FIELD = 'dtb_addr' +DTB_FILE_FIELD = 'dtb_file' +DTB_FILES_FIELD = 'dtb_files' +EXTRA_SERIAL_OPTIONS_FIELD = 'extra_serial_options' +FORMAT_FIELD = 'format' +INITRD_ADDR_FIELD = 'initrd_addr' +INITRD_FILE_FIELD = 'initrd_file' +KERNEL_ADDR_FIELD = 'kernel_addr' +KERNEL_FILE_FIELD = 'kernel_file' +LOAD_ADDR_FIELD = 'load_addr' +LOADER_MIN_SIZE_FIELD = 'loader_min_size' +LOADER_START_FIELD = 'loader_start' +MAINTAINER_FIELD = 'maintainer' +MMC_ID_FIELD = 'mmc_id' +NAME_FIELD = 'name' +ORIGIN_FIELD = 'origin' +PACKAGES_FIELD = 'packages' +PARTITION_LAYOUT_FIELD = 'partition_layout' +ROOT_MIN_SIZE_FIELD = 'root_min_size' +SERIAL_TTY_FIELD = 'serial_tty' +SOURCES_FIELD = 'sources' +SUPPORT_FIELD = 'support' +WIRED_INTERFACES_FIELD = 'wired_interfaces' +WIRELESS_INTERFACES_FIELD = 'wireless_interfaces' + +# Bootloaders specific fields +DD_FIELD = 'dd' +ENV_DD_FIELD = 'env_dd' +EXTRA_BOOT_OPTIONS_FIELD = 'extra_boot_options' +FILE_FIELD = 'file' +IN_BOOT_PART_FIELD = 'in_boot_part' +PACKAGE_FIELD = 'package' +SPL_DD_FIELD = 'spl_dd' +SPL_FILE_FIELD = 'spl_file' +SPL_IN_BOOT_PART_FIELD = 'spl_in_boot_part' +SPL_PACKAGE_FIELD = 'spl_package' + +# Samsung fields +SAMSUNG_BL1_LEN_FIELD = 'samsung_bl1_len' +SAMSUNG_BL1_START_FIELD = 'samsung_bl1_start' +SAMSUNG_BL2_LEN_FIELD = 'samsung_bl2_len' +SAMSUNG_ENV_LEN_FIELD = 'samsung_env_len' + +# Snowball fields +SNOWBALL_STARTUP_FILES_CONFIG_FIELD = 'snowball_startup_files_config' + +# Fields that might be necessary for the metadata file +METADATA_ARCH_FIELD = 'architecture' +METADATA_VERSION_FIELD = 'version' + +# The allowed partition layouts. +DEFINED_PARTITION_LAYOUTS = [ + 'bootfs16_rootfs', + 'bootfs_rootfs', + 'reserved_bootfs_rootfs', ] diff --git a/linaro_image_tools/hwpack/tests/test_hwpack_converter.py b/linaro_image_tools/hwpack/tests/test_hwpack_converter.py index 6ea7ff9..7be04da 100644 --- a/linaro_image_tools/hwpack/tests/test_hwpack_converter.py +++ b/linaro_image_tools/hwpack/tests/test_hwpack_converter.py @@ -1,3 +1,24 @@ +# Copyright (C) 2010, 2011, 2012 Linaro +# +# Author: Milo Casagrande <milo.casagrande@linaro.org> +# +# This file is part of Linaro Image Tools. +# +# Linaro Image Tools is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# Linaro Image Tools is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Linaro Image Tools; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + import tempfile from linaro_image_tools.testing import TestCaseWithFixtures from linaro_image_tools.tests.fixtures import ( @@ -28,22 +49,24 @@ class HwpackConverterTests(TestCaseWithFixtures): def test_wrong_input_file(self): """Pass a non-existing file.""" input_file = '/tmp/foobaz' - self.assertRaises(HwpackConverterException, check_and_validate_args, - Args(input_file=input_file)) + self.assertRaises( + HwpackConverterException, check_and_validate_args, + Args(input_file=input_file)) def test_wrong_input_dir(self): """Pass a directory instead of file.""" temp_file = tempfile.NamedTemporaryFile() temp_dir = self.useFixture(CreateTempDirFixture()).get_temp_dir() - self.assertRaises(HwpackConverterException, check_and_validate_args, - Args(input_file=temp_file.name, - output_file=temp_dir)) + self.assertRaises( + HwpackConverterException, check_and_validate_args, + Args(input_file=temp_file.name, output_file=temp_dir)) def test_same_input_output_file(self): """Pass the same existing file path to the two arguments.""" temp_file = self.useFixture(CreateTempFileFixture()).get_file_name() - self.assertRaises(HwpackConverterException, check_and_validate_args, - Args(input_file=temp_file, output_file=temp_file)) + self.assertRaises( + HwpackConverterException, check_and_validate_args, + Args(input_file=temp_file, output_file=temp_file)) def test_basic_parse(self): ini_format = '[hwpack]\nformat=2.0\nsupport=supported' diff --git a/linaro_image_tools/hwpack/tests/test_hwpack_converter.py.moved b/linaro_image_tools/hwpack/tests/test_hwpack_converter.py.moved new file mode 100644 index 0000000..6ea7ff9 --- /dev/null +++ b/linaro_image_tools/hwpack/tests/test_hwpack_converter.py.moved @@ -0,0 +1,109 @@ +import tempfile +from linaro_image_tools.testing import TestCaseWithFixtures +from linaro_image_tools.tests.fixtures import ( + CreateTempDirFixture, + CreateTempFileFixture, + ) + +from linaro_image_tools.hwpack.hwpack_convert import ( + HwpackConverter, + HwpackConverterException, + check_and_validate_args, + ) + + +class Args(): + """Defines the args for the command line options.""" + def __init__(self, input_file, output_file=None): + self.CONFIG_FILE = input_file + self.out = output_file + + +class HwpackConverterTests(TestCaseWithFixtures): + """Test class for the hwpack converter.""" + + def setUp(self): + super(HwpackConverterTests, self).setUp() + + def test_wrong_input_file(self): + """Pass a non-existing file.""" + input_file = '/tmp/foobaz' + self.assertRaises(HwpackConverterException, check_and_validate_args, + Args(input_file=input_file)) + + def test_wrong_input_dir(self): + """Pass a directory instead of file.""" + temp_file = tempfile.NamedTemporaryFile() + temp_dir = self.useFixture(CreateTempDirFixture()).get_temp_dir() + self.assertRaises(HwpackConverterException, check_and_validate_args, + Args(input_file=temp_file.name, + output_file=temp_dir)) + + def test_same_input_output_file(self): + """Pass the same existing file path to the two arguments.""" + temp_file = self.useFixture(CreateTempFileFixture()).get_file_name() + self.assertRaises(HwpackConverterException, check_and_validate_args, + Args(input_file=temp_file, output_file=temp_file)) + + def test_basic_parse(self): + ini_format = '[hwpack]\nformat=2.0\nsupport=supported' + output_format = "format: '3.0'\nsupport: supported\n" + input_file = self.useFixture(CreateTempFileFixture(ini_format)).\ + get_file_name() + output_file = self.useFixture(CreateTempFileFixture()).get_file_name() + converter = HwpackConverter(input_file, output_file) + converter._parse() + self.assertEqual(output_format, str(converter)) + + def test_architectures_section_creation(self): + """Tests that we create the correct architectures list in the + converted file. + """ + ini_format = '[hwpack]\nformat=2.0\narchitectures=armhf armel' + output_format = "format: '3.0'\narchitectures:\n- armhf\n- armel\n" + input_file = self.useFixture(CreateTempFileFixture(ini_format)).\ + get_file_name() + output_file = self.useFixture(CreateTempFileFixture()).get_file_name() + converter = HwpackConverter(input_file, output_file) + converter._parse() + self.assertEqual(output_format, str(converter)) + + def test_bootloaders(self): + """Tests the correct creation of the bootloaders part.""" + ini_format = ("[hwpack]\nformat=2.0\nu_boot_package=a_package\n" + "u_boot_file=a_file\nu_boot_in_boot_part=Yes\n" + "u_boot_dd=33") + out_format = ("format: '3.0'\nbootloaders:\n u_boot:\n dd: '33'" + "\n file: a_file\n in_boot_part: true\n" + " package: a_package\n") + input_file = self.useFixture(CreateTempFileFixture(ini_format)).\ + get_file_name() + output_file = self.useFixture(CreateTempFileFixture()).get_file_name() + converter = HwpackConverter(input_file, output_file) + converter._parse() + self.assertEqual(out_format, str(converter)) + + def test_extra_boot_options(self): + """Tests the correct creation of the extra_boot_options part.""" + ini_format = ("[hwpack]\nformat=2.0\nu_boot_package=a_package\n" + "extra_boot_options=opt1 opt2") + out_format = ("format: '3.0'\nbootloaders:\n u_boot:\n " + " extra_boot_options:\n - opt1\n " + "- opt2\n package: a_package\n") + input_file = self.useFixture(CreateTempFileFixture(ini_format)).\ + get_file_name() + output_file = self.useFixture(CreateTempFileFixture()).get_file_name() + converter = HwpackConverter(input_file, output_file) + converter._parse() + self.assertEqual(out_format, str(converter)) + + def test_extra_serial_options(self): + """Tests the correct creation of the extra_serial_options part.""" + ini_format = ("[hwpack]\nformat=2.0\nextra_serial_options=opt1 opt2") + out_format = ("format: '3.0'\nextra_serial_options:\n- opt1\n- opt2\n") + input_file = self.useFixture(CreateTempFileFixture(ini_format)).\ + get_file_name() + output_file = self.useFixture(CreateTempFileFixture()).get_file_name() + converter = HwpackConverter(input_file, output_file) + converter._parse() + self.assertEqual(out_format, str(converter)) diff --git a/linaro_image_tools/media_create/android_boards.py b/linaro_image_tools/media_create/android_boards.py index 5526ec1..e7efe4c 100644 --- a/linaro_image_tools/media_create/android_boards.py +++ b/linaro_image_tools/media_create/android_boards.py @@ -204,7 +204,7 @@ class AndroidSnowballSdConfig(AndroidBoardConfig, SnowballSdConfig): initrd_addr = '0x05000000' extra_boot_args_options = ( 'earlyprintk mem=128M@0 mali.mali_mem=64M@128M hwmem=168M@192M ' - 'mem=22M@360M mem_issw=1M@383M mem=640M@384M vmalloc=300M') + 'mem=22M@360M mem_issw=1M@383M mem=640M@384M vmalloc=500M') _extra_serial_opts = 'console=ttyAMA2,115200n8' android_specific_args = 'init=/init androidboot.console=ttyAMA2' dtb_name = None @@ -215,7 +215,7 @@ class AndroidSnowballEmmcConfig(AndroidBoardConfig, SnowballEmmcConfig): initrd_addr = '0x05000000' extra_boot_args_options = ( 'earlyprintk mem=128M@0 mali.mali_mem=64M@128M hwmem=168M@192M ' - 'mem=22M@360M mem_issw=1M@383M mem=640M@384M vmalloc=300M') + 'mem=22M@360M mem_issw=1M@383M mem=640M@384M vmalloc=500M') _extra_serial_opts = 'console=ttyAMA2,115200n8' android_specific_args = 'init=/init androidboot.console=ttyAMA2' mmc_option = '0:2' diff --git a/linaro_image_tools/media_create/tests/test_media_create.py b/linaro_image_tools/media_create/tests/test_media_create.py index c2e0d78..dc9ac4e 100644 --- a/linaro_image_tools/media_create/tests/test_media_create.py +++ b/linaro_image_tools/media_create/tests/test_media_create.py @@ -1805,7 +1805,7 @@ class TestGetBootCmdAndroid(TestCase): 'rootwait ro earlyprintk ' 'mem=128M@0 mali.mali_mem=64M@128M hwmem=168M@192M ' 'mem=22M@360M mem_issw=1M@383M mem=640M@384M ' - 'vmalloc=300M init=/init androidboot.console=ttyAMA2', + 'vmalloc=500M init=/init androidboot.console=ttyAMA2', 'bootcmd': 'fatload mmc 1:1 0x00100000 uImage; ' 'fatload mmc 1:1 0x05000000 uInitrd; ' 'bootm 0x00100000 0x05000000'} @@ -1818,7 +1818,7 @@ class TestGetBootCmdAndroid(TestCase): 'rootwait ro earlyprintk ' 'mem=128M@0 mali.mali_mem=64M@128M hwmem=168M@192M ' 'mem=22M@360M mem_issw=1M@383M mem=640M@384M ' - 'vmalloc=300M init=/init androidboot.console=ttyAMA2', + 'vmalloc=500M init=/init androidboot.console=ttyAMA2', 'bootcmd': 'fatload mmc 0:2 0x00100000 uImage; ' 'fatload mmc 0:2 0x05000000 uInitrd; ' 'bootm 0x00100000 0x05000000'} |