#!/usr/bin/env python -tt # # Copyright (c) 2010, 2011 Intel Inc. # # This program 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; version 2 of the License # # This program 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 this program; if not, write to the Free Software Foundation, Inc., 59 # Temple Place - Suite 330, Boston, MA 02111-1307, USA. import os import time import wic.engine def find_canned(scripts_path, file_name): """ Find a file either by its path or by name in the canned files dir. Return None if not found """ if os.path.exists(file_name): return file_name layers_canned_wks_dir = wic.engine.build_canned_image_list(scripts_path) for canned_wks_dir in layers_canned_wks_dir: for root, dirs, files in os.walk(canned_wks_dir): for fname in files: if fname == file_name: fullpath = os.path.join(canned_wks_dir, fname) return fullpath def get_custom_config(boot_file): """ Get the custom configuration to be used for the bootloader. Return None if the file can't be found. """ scripts_path = os.path.abspath(os.path.dirname(__file__)) # Get the scripts path of poky for x in range(0, 3): scripts_path = os.path.dirname(scripts_path) cfg_file = find_canned(scripts_path, boot_file) if cfg_file: with open(cfg_file, "r") as f: config = f.read() return config return None