import os import commons from jsonwrapper import JsonWrapper install_phase = commons.PRE_INSTALL enabled = True def get_packages_to_install(options, config_type): package_list = [] install_option = options[config_type] for include_type in install_option["include"]: package_list = package_list + get_packages_to_install(options, include_type) json_wrapper_package_list = JsonWrapper(install_option["file"]) package_list_json = json_wrapper_package_list.read() package_list = package_list + package_list_json["packages"] return package_list def execute(name, ks_config, config, root): if ks_config: options = JsonWrapper("build_install_options_all.json").read() packages = get_packages_to_install(options, ks_config['type']) if 'additional_packages' in ks_config: packages.extend(ks_config['additional_packages']) config['type'] = ks_config['type'] config["packages"] = packages