All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [PATCH] bitbake.conf: Add one recipe identifying OVERRIDE based on recipe type
Date: Fri, 22 Oct 2010 14:39:27 -0700	[thread overview]
Message-ID: <1287783567-32647-1-git-send-email-raj.khem@gmail.com> (raw)

It adds an override based on type of recipe
e.g. recipes ending with usual suffixes like -native -cross, -sdk
add the same to overrides with out leading '-'
It also add the same override for BBCLASSEXTEND
For normal recipes we add 'target' to overrides

This will give up better control over defining and combining
recipes into using BBCLASSEXTEND and still have finer control
if needed. We wont require to have virtclass-xxx overrides
anymore

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 classes/utils.bbclass |    3 +++
 conf/bitbake.conf     |    2 ++
 lib/oe/utils.py       |    8 ++++++++
 3 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/classes/utils.bbclass b/classes/utils.bbclass
index 10d49ce..7c96509 100644
--- a/classes/utils.bbclass
+++ b/classes/utils.bbclass
@@ -36,6 +36,9 @@ def base_both_contain(variable1, variable2, checkvalue, d):
 def base_prune_suffix(var, suffixes, d):
     return oe.utils.prune_suffix(var, suffixes, d)
 
+def base_get_suffix(var, suffixes, d):
+    return oe.utils.get_suffix(var, suffixes, d)
+
 def oe_filter(f, str, d):
     return oe.utils.str_filter(f, str, d)
 
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 539ab3d..2f3dd6b 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -195,6 +195,8 @@ MACHINE_KERNEL_PR = ""
 # otherwise it is the same as PN and P
 SPECIAL_PKGSUFFIX = "-native -cross -initial -intermediate -nativesdk -crosssdk -cross-canadian -sdk"
 BPN = "${@base_prune_suffix('${PN}', '${SPECIAL_PKGSUFFIX}'.split(), d)}"
+# Add a _target override so we can do target specific overrides when using BBCLASSEXTEND
+OVERRIDES_prepend = "${@base_get_suffix('${PN}', '${SPECIAL_PKGSUFFIX}'.split(), d)}:"
 BP = "${BPN}-${PV}"
 
 # Package info.
diff --git a/lib/oe/utils.py b/lib/oe/utils.py
index 2169ed2..4822864 100644
--- a/lib/oe/utils.py
+++ b/lib/oe/utils.py
@@ -67,6 +67,14 @@ def prune_suffix(var, suffixes, d):
             return var.replace(suffix, "")
     return var
 
+def get_suffix(var, suffixes, d):
+    # See if var ends with any of the suffixes listed and
+    # if found return it otherwise return "target'
+    for suffix in suffixes:
+        if var.endswith(suffix):
+	    return suffix[1:]
+    return "target"
+
 def str_filter(f, str, d):
     from re import match
     return " ".join(filter(lambda x: match(f, x, 0), str.split()))
-- 
1.7.1




             reply	other threads:[~2010-10-22 21:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-22 21:39 Khem Raj [this message]
2010-10-22 22:50 ` [PATCH] bitbake.conf: Add one recipe identifying OVERRIDE based on recipe type Denys Dmytriyenko
2010-10-22 22:52 ` Chris Larson
2010-10-23  7:18 ` Frans Meulenbroeks

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1287783567-32647-1-git-send-email-raj.khem@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.