misc
blog
2019-4-1 12:42 JST
■ 変数
PN: パッケージ名称
PV: パッケージのバージョン
DEPENDS: (作成時に)依存するパッケージ
RDEPENDS: 実行(RUN)時に依存するパッケージ
EXTRA_OECONF: configure実行時の引数
EXTRA_OEMAKE: make実行時の引数
■ include 命令を使っての機能の共通化
include misc.inc
■ inherit 命令を使っての機能の継承
inherit autotools pkg-config
■ PREFERED_VERSION

PREFERED_VERSION の設定には妙な % が最後に付くことがある。例えば、machine-xilinx-default.inc には次の記述がある。

PREFERRED_VERSION_linux-xlnx ?= "3.14%"
PREFERRED_VERSION_linux-yocto ?= "3.14%"

これの意味は推し量れないこともない。要は、それ以降を無視するようなワイルドカード的ないみがあるのだろう。しかし、本当かわからない。そこで調べてみることにする。

poky/bitbake/lib/bb/providers.py に次の記述をみつけた。

Check if the version pe,pv,pr is the preferred one.If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'

def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
    """
    Check if the version pe,pv,pr is the preferred one.
    If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
    """
    if (pr == preferred_r or preferred_r == None):
        if (pe == preferred_e or preferred_e == None):
            if preferred_v == pv:
                return True
            if preferred_v != None and preferred_v.endswith('%') and pv.startswith(preferred_v[:len(preferred_v)-1]):
                return True
    return False