oe-core、Bitbakeを利用してレシピを開発


  • openembedded-core/meta/libには各種openembedded-coreutilがある.
  • フォーミュラからfromoe.utilsimportClass,Method...等を取得する.
  • oe.utils


    method                                argument read_file def read_file(filename) ifelse def read_file(filename) conditional def conditional(variable, checkvalue, truevalue, falsevalue, d) vartrue def vartrue(var, iftrue, iffalse, d) less_or_equal def less_or_equal(variable, checkvalue, truevalue, falsevalue, d) version_less_or_equal def version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d) both_contain def both_contain(variable1, variable2, checkvalue, d) set_intersect def set_intersect(variable1, variable2, d) prune_suffix def prune_suffix(var, suffixes, d) str_filter def str_filter(f, str, d) str_filter_out def str_filter_out(f, str, d) build_depends_string def build_depends_string(depends, task) inherits def inherits(d, *classes) featrues_backfill def features_backfill(var,d) all_distro_features def all_distro_features(d, features, truevalue="1", falsevalue="") any_distro_features def any_distro_features(d, features, truevalue="1", falsevalue="") parallel_make def parallel_make(d, makeinst=False) parallel_make_argument def parallel_make_argument(d, fmt, limit=None, makeinst=False) getstatusoutput def getstatusoutput(cmd): trim_version def trim_version(version, num_parts=2) cpu_count def cpu_count(at_least=1) execute_pre_post_process def execute_pre_post_process(d, cmds) multiprocess_launch squashspace format_pkg_list get_host_compiler_version host_gcc_version get_multilib_datastore class ThreadWorker class ThreadPool write_ld_so_conf class ImageQAFailed sh_quote

    oe.data


    method           argument typed_value def typed_value(key, d) export2json def export2json(d, json_file, expand=True, searchString="",replaceString="")

    bb.utils

  • bitbake/libには各種bbutilがある.
  • フォーミュラからfrombb.utilsimportClass,Method...等を取得する.
  • bb.utils.lockfile

    file_name = 'FILENAME'
    lock = bb.utils.lockfile(file_name + '.lock')
    with open(file_name, mode) as f:
        f.write(...)
    bb.utils.unlockfile(lock)

    bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)


    bb.data


    bb.data.inherits_class('image',d))

  • このレシピが画像レシピであるかどうかを確認
  • import bb
    print( bb.data.inherits_class('image', d) )
    # === 출력 === #
    True

    bb.plain

    bb.plain("string")
  • Recipe印刷用に開発
  • python Task、def PythonFunctionでprint( )は使用できません
  • bb.plain( )イネーブル!
  • d


    __inherit_cache


    cmddescriptiond.getVar('__inherit_cache',True)このレシピが継承するbbclass