From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6743574894420688896 X-Received: by 2002:a5d:4ecf:: with SMTP id s15mr9974936wrv.234.1570174219589; Fri, 04 Oct 2019 00:30:19 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:e304:: with SMTP id b4ls2469067wrj.14.gmail; Fri, 04 Oct 2019 00:30:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqzY8mlqLhn+VG6mQLH2DDffdK+iTVvp9jgg4scdldUON6IP1OBQvCBj5aAsFx0+g+6GOxn8 X-Received: by 2002:a5d:42cf:: with SMTP id t15mr10756778wrr.64.1570174219082; Fri, 04 Oct 2019 00:30:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570174219; cv=none; d=google.com; s=arc-20160816; b=cRdzJj/dFabhJhQnTuN1od+rnSFPPEyiq7FT7wpOY5rubGbilG23EDNnfQBldYRxkw ssY/8Oe4fYE4GwfNWkNcXvi0c/JxQM+3lfcJzu47nqw8iaYMxyioTgPtBSiWblQQpNRc B/roPI3JbPrbNyOde+uSCsOfI1YBSvwirIyDvZFJYGXLH+eLsyk1bXHmxCkr+L1Qu3jb swOtOZycZ6JJqk1sbQl1ucVCi8QMg1iUcc7x3o2IJrORbwBPC97ZqXymZqJ1PxlWVer+ WeNT88SjbABOzfeOqymmZKjkkX1B3FjhOi9302ovGDk5ELhcSJm/TtdIWLruSXYaso+3 i4/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject; bh=pHjQWvLJDa3xJlF+AQTVW8BdVLuCruIvgdzz4qDXh9I=; b=rADi+zJpOePhPjqLH1P90022gA4cTdzhGZ/tH/AdIkWj3iHsHqp3kB6a8la1KO0RGv XSoJlQhJNTDeDFn9SDfk1D3kcB/1TeULC54DkE5qGPNDuOwdK5mE352Wly/xvZcP/D95 gfMZxQoMJOnVLb28FYlWrE9cEoKidvX/78sli7/pzV5bMj9uGx1VrT49lQmZL80cZwZu Z9u4dyeV6D7qNEATd8Mmei1YdU3EKaZmxjBh/cGyHWB8gVMXbYCO1ww7EYpRUHyfa01U cjw6aKOFxmuSuU6DjF42fSaZmJ2TttFX/jdBPJidKivDl45HYv9VGNG3QeM1fH+166/4 2jWA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id s194si545857wme.2.2019.10.04.00.30.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 Oct 2019 00:30:19 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id x947UIXw003511 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 4 Oct 2019 09:30:18 +0200 Received: from [139.22.119.224] (md1y04tc.ad001.siemens.net [139.22.119.224] (may be forged)) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x947UHZU021005; Fri, 4 Oct 2019 09:30:17 +0200 Subject: Re: [PATCH] meta: Add support for FILESEXTRAPATHS To: vijaikumar.kanagarajan@gmail.com, isar-users@googlegroups.com Cc: henning.schild@siemens.com, ibr@radix50.net, claudius.heine.ext@siemens.com, Vijai Kumar K References: <20191003135431.26829-1-Vijaikumar_Kangarajan@mentor.com> From: Jan Kiszka Message-ID: Date: Fri, 4 Oct 2019 09:30:17 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20191003135431.26829-1-Vijaikumar_Kangarajan@mentor.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: VzCvmTCoq0WR On 03.10.19 15:54, vijaikumar.kanagarajan@gmail.com wrote: > 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. Technically, this is not needed, prepending FILESPATH directly also works. It might still be a good idea to add this for conformance with OE. But as this is no a bitbake interface, it should be documented. Also FILESOVERRIDES. Jan > > Signed-off-by: Vijai Kumar K > --- > bitbake/conf/bitbake.conf | 3 ++- > meta/classes/base.bbclass | 19 +++++++++++++++++++ > 2 files changed, 21 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/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) > -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux