From aec7969f491b79f02c7c318830ddcf79ecb9ea1b Mon Sep 17 00:00:00 2001 From: André Draszik Date: Mon, 26 Jun 2017 11:08:45 +0100 Subject: base.bbclass: extend PACKAGECONFIG to also allow RRECOMMENDS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It can be useful to add RRECOMMENDS to packages created, based on certain PACKAGECONFIGs. In particular where a package depends on certain linux kernel infrastructure (kernel modules) which might or might not be built as a module, being able to RRECOMMENDS instead of RDEPENDS on the relevant packages avoids build failures in case those modules are built statically into the kernel, i.e. in case no package is being created for them. Add another field to the PACKAGECONFIG syntax to achieve just that. (From OE-Core rev: ec96c985ce1c888c3ce3c4d964d7a106c3c88a5c) Signed-off-by: André Draszik Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 78926656d7..3762c8addc 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -384,7 +384,7 @@ python () { # These take the form: # # PACKAGECONFIG ??= "" - # PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends" + # PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends,foo_runtime_recommends" pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {} if pkgconfigflags: pkgconfig = (d.getVar('PACKAGECONFIG') or "").split() @@ -426,12 +426,13 @@ python () { extradeps = [] extrardeps = [] + extrarrecs = [] extraconf = [] for flag, flagval in sorted(pkgconfigflags.items()): items = flagval.split(",") num = len(items) - if num > 4: - bb.error("%s: PACKAGECONFIG[%s] Only enable,disable,depend,rdepend can be specified!" + if num > 5: + bb.error("%s: PACKAGECONFIG[%s] Only enable,disable,depend,rdepend,rrecommend can be specified!" % (d.getVar('PN'), flag)) if flag in pkgconfig: @@ -439,12 +440,15 @@ python () { extradeps.append(items[2]) if num >= 4 and items[3]: extrardeps.append(items[3]) + if num >= 5 and items[4]: + extrarrecs.append(items[4]) if num >= 1 and items[0]: extraconf.append(items[0]) elif num >= 2 and items[1]: extraconf.append(items[1]) appendVar('DEPENDS', extradeps) appendVar('RDEPENDS_${PN}', extrardeps) + appendVar('RRECOMMENDS_${PN}', extrarrecs) appendVar('PACKAGECONFIG_CONFARGS', extraconf) pn = d.getVar('PN') -- cgit v1.2.3-54-g00ecf