= 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:
+= is parsed before ?=, the latter will be omitted._append to unconditionally appends a value (but add space before value).:append =“ foo” - append literally so space is needed:prepend = “foo ” - prepend literally so space is needed:remove = “bar foo” - no need to use space. List of string. Each string is treated as separate element to remove.
The overrides are applied in this order, :append, :prepend, :remove. This implies it is not possible to re-append previously removed strings
When multiple .bbappends 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