====== Operators ======
* ''='' late evaluation (expand variable when used)
* '':='' immediately expand
* ''+='' append (with space)
* ''=+'' prepend (with space)
* ''.='' append (without space)
* ''=.'' prepend (without space)
* ''?='' assign if no other value was assigned
* ''??='' assign if no other value was assigned (lower priority than mentioned above)
Rethink usage of ''+='' and similar in local.conf. Example:
* If ''+='' is parsed before ''?='', the latter will be omitted.
* **Solution**: use ''_append'' to unconditionally appends a value (but add space before value).
====== SRC_URI_append ======
When multiple ''.bbappend''s adds patches, order of patching is wrong.
poky/meta/classes/patch.bbclass
def src_patches(d, all=False, expand=True):
import oe.patch
return oe.patch.src_patches(d, all, expand)
poky/meta/lib/oe/patch.py
def src_patches(d, all=False, expand=True):
fetch = bb.fetch2.Fetch([], d)
patches = []
sources = []
for url in fetch.urls:
local = patch_path(url, fetch, workdir, expand)
if not local:
if all:
local = fetch.localpath(url)
sources.append(local)
continue
...
localurl = bb.fetch.encodeurl(('file', '', local, '', '', patchparm))
patches.append(localurl)
if all:
return sources
return patches