From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6748410215888060416 X-Received: by 2002:adf:dbcf:: with SMTP id e15mr3103198wrj.134.1571236703910; Wed, 16 Oct 2019 07:38:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:690e:: with SMTP id t14ls2352186wru.2.gmail; Wed, 16 Oct 2019 07:38:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqyJAS80vIneGy80T63B7olqf9kEugu13xQjD/xG+C1ZbDeopJqsk7zt/aB4VxikfkbUUe3y X-Received: by 2002:adf:fc42:: with SMTP id e2mr3242265wrs.100.1571236703459; Wed, 16 Oct 2019 07:38:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571236703; cv=none; d=google.com; s=arc-20160816; b=o+vSMSNGQhj+4LO1FOeH3KmHkim+zEucr7sM1OKZ0o5nqngF/NkADIuHd3/zL5DxAQ aTbmniRXp+kw266HC/9UCqWJC7YjB+SI+yFlISzZAfk0Yoc0xlLy6AStgJbNsZXFnNeL 1ja3vZSrkzCpZ9ny5a24eOb52o0R/nIaXl8gVLuqly7qU2UlzMxxGMrCTofAOxX4Ytiq jIUGCpEczhQSC/oLHsQahAX9cKYb6JxJZq+iqWPKHdhy7bnChXZM9K1wuWrP+mAiuy5K 9ArKpLZ8/zCEbVJ5RMvTkb45Q7yBr4id1NM1nFLqg6vIwTNB3sfBOOgtphT2soCO7a9c 1Dkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=I0tnxmRSdg+Iz3aEIj+lammvypFPtVzQJlW9U7HoPTw=; b=d7Qn2vhC/vQnwGLDSC5xpHsGAXM1nU4kUbmnJ9Ihu/1q5E/eCG+Uy9l7ab/4g0Q+5G JyiAG7fqEC+c5t8mCD1KR0IpqyocuUfHSIpM55UtRdqYi2OMWm7vly/AsBtPoAYKU9Zt LH067u+Xn7mog7GdwRMLn30jaLLoG3F/dhrrKmnfkNPgyFOPoPFeDldlNwUKsRYB/ZzW y34F5WzBGTdC9trfA1x1pgxmqA37p4t/52559DElpv/pZ3M/0D8V7UV62xtkpq1VUfe8 m+QRHQHNR+r46R2ExM/TeSu396EDjuOjxmVy8cDR6oRDanbj5thVccSpzaCZm9jYZeRQ /51w== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XfDJlvaj; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::434 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com. [2a00:1450:4864:20::434]) by gmr-mx.google.com with ESMTPS id q137si393842wme.3.2019.10.16.07.38.23 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 16 Oct 2019 07:38:23 -0700 (PDT) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::434 as permitted sender) client-ip=2a00:1450:4864:20::434; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XfDJlvaj; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::434 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-wr1-x434.google.com with SMTP id o28so5733449wro.7 for ; Wed, 16 Oct 2019 07:38:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=I0tnxmRSdg+Iz3aEIj+lammvypFPtVzQJlW9U7HoPTw=; b=XfDJlvajZW9VkSkcBUgMGJd2gk0J789Gkc7VahTNvlQaJNpG6/ZFJ4dQufOxsfg3B3 QP+4AKFD0gIbh3OrtWoo5kUdaHd+V/8v/3EgTn8PkgfHm9IG8h7jGBiof+CmWGNDYNTY XBNwYHSV3x0Lrtd6OVL4cVmz8HwZ74tdkEZwMmxBJGiN1FWN1hrTGqwD76ng/MwPj7Qi ztsOg/nFo64e9RqyUzpth9aapmkiqE8f+Y1ld4HxL77MUcwhIsg79dJjzNteIQtjZaCA LvrKkj//gdC7dqnJvNaTjw2nBGUaGVE5Q27mXS7JE2SH7vgK0UYj+MmTdkZJwFd6J46t qAKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=I0tnxmRSdg+Iz3aEIj+lammvypFPtVzQJlW9U7HoPTw=; b=fcH590npzZJP5TMy6e4R6p2ceBJZ3yg78zjRm1ei0hWXvqxLwKhTPHj3IL3gK3VtMx 3Y+eW8wHZdbtM6qHqRxeYexY51bH2+ID/cBTxhtz6LKuBKcF6QVMKFDXfLoLM3X7WgCq M59gOqx44qyWscQLC4cloPtuJoS4RAIJZjhXiVN5Z+seTGFXyyhvq++hHVyBHCWgpeaN XWwCf++LjAt8sKnR2lGyeihXnjPkjDpua382HW92gY3MBWhcXU45pT5NBRFAzBx83Box UUVlRMdPwi4rMatgPd0KrOm4NMcrpriJ6ugeqej8IvJSO8sMEJ9xOke4KdOF7+D9HNKk rTMg== X-Gm-Message-State: APjAAAX+DhdPn0AX+B1Qn+CMs+2Ex5XR9kaFFaxA1cE8b+G6djMYoZDs 2vjA8LDxlUs0IwR2xQlNFpuIcCaC7bk= X-Received: by 2002:adf:dbd2:: with SMTP id e18mr3014465wrj.268.1571236702736; Wed, 16 Oct 2019 07:38:22 -0700 (PDT) Return-Path: Received: from lightning.mgc.mentorg.com (nat-sch.mentorg.com. [139.181.36.34]) by smtp.gmail.com with ESMTPSA id l11sm2782016wmh.34.2019.10.16.07.38.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Oct 2019 07:38:22 -0700 (PDT) From: vijaikumar.kanagarajan@gmail.com X-Google-Original-From: Vijaikumar_Kangarajan@mentor.com To: isar-users@googlegroups.com, jan.kiszka@siemens.com Cc: Vijai Kumar K Subject: [PATCH v2 1/2] meta: Add support for FILESEXTRAPATHS Date: Wed, 16 Oct 2019 20:07:44 +0530 Message-Id: <20191016143745.25765-2-Vijaikumar_Kangarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191016143745.25765-1-Vijaikumar_Kangarajan@mentor.com> References: <0191015094118.GA15374@lightning> <20191016143745.25765-1-Vijaikumar_Kangarajan@mentor.com> X-TUID: Oe0dh0QKSvBB From: Vijai Kumar K OE-core provides FILESEXTRAPATHS to extend the search path for files and patches. This is particularly useful when you want to add more files or replace existing files using bbappend. Bring in support for FILESEXTRAPATHS from OE-core. Signed-off-by: Vijai Kumar K --- doc/user_manual.md | 2 ++ meta/classes/base.bbclass | 19 +++++++++++++++++++ meta/conf/bitbake.conf | 3 ++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/doc/user_manual.md b/doc/user_manual.md index c2657da..e096c24 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -321,6 +321,8 @@ Some other variables include: - `HOST_DISTRO_BOOTSTRAP_KEYS` - Analogously to DISTRO_BOOTSTRAP_KEYS: List of gpg key URIs used to verify apt bootstrap repo for the host. - `DISTRO_APT_PREMIRRORS` - The preferred mirror (append it to the default URI in the format `ftp.debian.org my.preferred.mirror`. This variable is optional. - `THIRD_PARTY_APT_KEYS` - List of gpg key URIs used to verify apt repos for apt installation after bootstrapping + - `FILESEXTRAPATHS` - The default directories BitBake uses when it processes recipes are initially defined by the FILESPATH variable. You can extend FILESPATH variable by using FILESEXTRAPATHS. + - `FILESOVERRIDES` - A subset of OVERRIDES used by the build system for creating FILESPATH. The FILESOVERRIDES variable uses overrides to automatically extend the FILESPATH variable. --- diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 8c7b021..0670430 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -19,6 +19,7 @@ # OTHER DEALINGS IN THE SOFTWARE. THISDIR = "${@os.path.dirname(d.getVar('FILE', True))}" +FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${PF}","${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files","${FILE_DIRNAME}"], d)}" def get_deb_host_arch(): import subprocess @@ -222,3 +223,21 @@ python do_cleanall() { except bb.fetch2.BBFetchException as e: bb.fatal(str(e)) } + +# Derived from OpenEmbedded Core: meta/classes/utils.bbclass +def base_set_filespath(path, d): + filespath = [] + extrapaths = (d.getVar("FILESEXTRAPATHS") or "") + # Remove default flag which was used for checking + extrapaths = extrapaths.replace("__default:", "") + # Don't prepend empty strings to the path list + if extrapaths != "": + path = extrapaths.split(":") + path + # The ":" ensures we have an 'empty' override + overrides = (":" + (d.getVar("FILESOVERRIDES") or "")).split(":") + overrides.reverse() + for o in overrides: + for p in path: + if p != "": + filespath.append(os.path.join(p, o)) + return ":".join(filespath) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index bca1114..1f20c98 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -23,8 +23,8 @@ B = "${S}" CVSDIR = "${DL_DIR}/cvs" DEPENDS = "" DEPLOY_DIR = "${TMPDIR}/deploy" -FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}" FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE', False))}" +FILESEXTRAPATHS ?= "__default:" GITDIR = "${DL_DIR}/git" P = "${PN}-${PV}" PF = "${PN}-${PV}-${PR}" @@ -58,6 +58,7 @@ SDKCHROOT_DIR = "${DEPLOY_DIR_SDKCHROOT}/${DISTRO}-${DISTRO_ARCH}" CACHE = "${TMPDIR}/cache" OVERRIDES = "${DISTRO_ARCH}:${MACHINE}:${DISTRO}:forcevariable" +FILESOVERRIDES = "${DISTRO_ARCH}:${MACHINE}" # Setting default QEMU_ARCH variables for different DISTRO_ARCH: QEMU_ARCH_amd64 = "x86_64" -- 2.17.1