From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6743574894420688896 X-Received: by 2002:a17:906:b804:: with SMTP id dv4mr11216253ejb.243.1570178730735; Fri, 04 Oct 2019 01:45:30 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a50:a585:: with SMTP id a5ls2220605edc.11.gmail; Fri, 04 Oct 2019 01:45:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqyyqmihnqwQXsL5zrzCDmWdpF40Gohp6qPKraznkuhaRksy4V2pkgm3v3uR+BD61WQVv5GB X-Received: by 2002:a50:8d5e:: with SMTP id t30mr14125039edt.112.1570178730154; Fri, 04 Oct 2019 01:45:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570178730; cv=none; d=google.com; s=arc-20160816; b=rLJztGKjvGOgjF+mfPEhLmyAugVpWwFj0IOCU8CdcPBKQ121FUdQchAKrtd1jss4kV qnBqlUeNJ+NEJNE7imWA1T7liOKEFrMRMH05jY/WO0Y+r0GpJamTfDmZ2JRPnXJOmK29 Y1pbvS2gt5EAw8tf2uUn1ZYn+GPSudWLhO7RtBtFcVXT5G5oRhzXAdz92YRZYIqSx8Q0 I99NxOiZVl5UOXJSLcmTulJ49UbtOKn/16aBSGJtApb05DhZhcG1b3emT9D++JVCcYc9 pRFhEg37fPFDkwYY+4b5aUIPeEux+nGhqQuBptHxXVIH1f++CeYgLlWZY6kmHte/Rrm1 e9nA== 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=9TjmNgMRfSbETi82bh+U4RpmQeTnRJ7wdp3v3y+qnhM=; b=NKie0dJRnNswA9R69WElCxcBl3HQTY5XME1uRbUZsCtnTm8MpzMQaj5PMG0eoTWDGG 01m7LPfXUTxpR1Gs2lIZqCA/0RqO71ZNu2e1V4tihQ6Gt+Da86ioXxxDtIu49xlPEyK5 UZihSqbqwVIeyonph9Zt/uZycvIC+/C8yv4oRmevPsHSN3lFEWb6POvFQsDX4qmVLUVK llyV5sr4jethmwLqfI0sKirEQ3PC226n+jSaS66Wd6MyHRyCH4odTZLsfOx5q+uXjt5c IQy5xKEEvVaR/QFkJV/8kXySGUV7bvF5dmqqFT+npV2/pTBSyqSqqOW8Byw8lX/Kb8FR Z/bA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=PbcL++nP; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::435 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-x435.google.com (mail-wr1-x435.google.com. [2a00:1450:4864:20::435]) by gmr-mx.google.com with ESMTPS id c31si376931edb.0.2019.10.04.01.45.30 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Oct 2019 01:45:30 -0700 (PDT) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::435 as permitted sender) client-ip=2a00:1450:4864:20::435; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=PbcL++nP; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::435 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-x435.google.com with SMTP id r5so6026459wrm.12 for ; Fri, 04 Oct 2019 01:45:30 -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=9TjmNgMRfSbETi82bh+U4RpmQeTnRJ7wdp3v3y+qnhM=; b=PbcL++nP3MnLdhoyFb2sDp/PDihUs35QbBbL+O3cUfcqLSgxreiuMb8q4CkDE+1Rf+ jb8j04JE9GrEsFLV/lfM/MV9xo4XfYilgkqt4Njb/nj2a/M69s3XIHe5RYZggS/I32wC qMJU3Cjq7GVRsAYz2WYhbp7bHY7u1lSvXmfsulRi5dAKeZEqZCG0QyCJGolB6MVoj676 YRDpYgSAyl7JOVoaLWAQNrSV3Ygtu9lPt0U0iD3JtpxfSA/xlY21efKDzy95LuJr6hSr elVOmAnmRw34DZhmEZPWbTyFmBjl3e4aqAilGJ0yvcL2Rn09DUHzMss9FS75RELQ2zRL lZNw== 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=9TjmNgMRfSbETi82bh+U4RpmQeTnRJ7wdp3v3y+qnhM=; b=kpO+Ux874eT5bZ6XDqqJ9+RbqXWmuomwHGgIFYPgE6S3IEeTyi1aZfw1a6ew3RlkF/ mMR8PLmEt+rKROn5ndl+u/xhxgHXMiviXz5LY4jVqUcMGm9rgoz7s1TcCPMZJ2N+n43U 1i+9Sp4pmEiCCExtGz1jGyfKUZ03hnG/3FMfF+jtPB3nPt+qtBCftaTc8xulWGfr6/s2 1TqKYUydgogAaeSJ5Qgx0Mbdg0NjeumLKsTaWdB9qUHC4n0lrvetVI94HF9j1jIIXXWI c9LYweXZPnmE2txY+9eAyoCY17RPabl4/oNXuRoZdfk2OjHwPA2c1QwrNoTiEznbcmJu yxmg== X-Gm-Message-State: APjAAAVH2eYQmpNVfdYq+eXUN/Qm498HpL7FfwJqqjc22fX5EyWTPbTu u0sgBROS9ctMtfKwNLRik0cjS4g6dDs= X-Received: by 2002:adf:97cb:: with SMTP id t11mr4051764wrb.312.1570178729422; Fri, 04 Oct 2019 01:45:29 -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 t18sm5069286wmi.44.2019.10.04.01.45.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Oct 2019 01:45:28 -0700 (PDT) From: vijaikumar.kanagarajan@gmail.com X-Google-Original-From: Vijaikumar_Kangarajan@mentor.com To: isar-users@googlegroups.com Cc: henning.schild@siemens.com, ibr@radix50.net, claudius.heine.ext@siemens.com, jan.kiszka@siemens.com, Vijai Kumar K Subject: [PATCH v2] meta: Add support for FILESEXTRAPATHS Date: Fri, 4 Oct 2019 14:15:06 +0530 Message-Id: <20191004084506.18292-1-Vijaikumar_Kangarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: X-TUID: uvlthLgY+8hi 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 --- Changes in v2: - Captured documentation for FILESEXTRAPATHS & FILESOVERRIDES. bitbake/conf/bitbake.conf | 3 ++- doc/user_manual.md | 2 ++ meta/classes/base.bbclass | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/bitbake/conf/bitbake.conf b/bitbake/conf/bitbake.conf index a460df4..9894ed3 100644 --- a/bitbake/conf/bitbake.conf +++ b/bitbake/conf/bitbake.conf @@ -24,12 +24,13 @@ DEPENDS = "" DEPLOY_DIR = "${TMPDIR}/deploy" DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images" DL_DIR = "${TMPDIR}/downloads" -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" IMAGE_CMD = "_NO_DEFINED_IMAGE_TYPES_" IMAGE_ROOTFS = "${TMPDIR}/rootfs" OVERRIDES = "local:${MACHINE}:${TARGET_OS}:${TARGET_ARCH}" +FILESOVERRIDES = "local:${MACHINE}:${TARGET_OS}:${TARGET_ARCH}" P = "${PN}-${PV}" PERSISTENT_DIR = "${TMPDIR}/cache" PF = "${PN}-${PV}-${PR}" 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) -- 2.17.1