From: Jan Kiszka <jan.kiszka@siemens.com>
To: Srinuvasan Arjunan <srinuvasan_a@mentor.com>,
isar-users@googlegroups.com
Subject: Re: [PATCH] meta/conf/bitbake.conf: enable SRCPV support for AUTOREV
Date: Mon, 17 Apr 2023 16:10:03 +0200 [thread overview]
Message-ID: <7c8c6715-0ecd-35ab-4865-9b549f833ccf@siemens.com> (raw)
In-Reply-To: <20230417132734.1023825-1-srinuvasan_a@mentor.com>
Make sure to always version your patches!
On 17.04.23 15:27, Srinuvasan Arjunan wrote:
> From: Srinuvasan A <srinuvasan_a@mentor.com>
>
> One of our downstream project recipe uses `SRCREV = "${AUTOREV}"` to get
> the latest changes always, but this not works after bitbake 2 migration,
> it throws the below error.
>
> do_fetch: Fetcher failure: Recipe uses a floating tag/branch without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE).
>
> Till now we don't have support for SRCPV in ISAR, hence add this support
> as like OE.
>
> Signed-off-by: Srinuvasan A <srinuvasan_a@mentor.com>
> ---
> meta/classes/base.bbclass | 26 ++++++++++++++++++++++++++
> meta/conf/bitbake.conf | 4 ++++
> 2 files changed, 30 insertions(+)
>
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index 53550ae..f631483 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -120,6 +120,32 @@ root_cleandirs() {
> python() {
> import re
>
> + needsrcrev = False
> + srcuri = d.getVar('SRC_URI')
> + for uri_string in srcuri.split():
> + uri = bb.fetch.URI(uri_string)
> + # Svn packages should DEPEND on subversion-native
The comments is not fully accurate for Isar (we are not building such
tools natively). Same below.
> + if uri.scheme == "svn":
> + needsrcrev = True
> +
> + # Git packages should DEPEND on git-native
> + elif uri.scheme in ("git", "gitsm"):
> + needsrcrev = True
> +
> + # Mercurial packages should DEPEND on mercurial-native
> + elif uri.scheme == "hg":
> + needsrcrev = True
> +
> + # Perforce packages support SRCREV = "${AUTOREV}"
> + elif uri.scheme == "p4":
> + needsrcrev = True
> +
> + elif uri.scheme == "repo":
> + needsrcrev = True
> +
> + if needsrcrev:
> + d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
> +
> for e in d.keys():
> flags = d.getVarFlags(e)
> if flags and flags.get('task'):
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index f421050..124bf49 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -36,6 +36,10 @@ PR = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[2] or 'r0'}"
> PROVIDES = ""
> S = "${WORKDIR}/${P}"
> AUTOREV = "${@bb.fetch2.get_autorev(d)}"
> +AUTOREV[vardepvalue] = "${SRCPV}"
> +# Set Dynamically in base.bbclass
> +# SRCPV = "${@bb.fetch2.get_srcrev(d)}"
> +SRCPV[vardepvalue] = "${SRCPV}"
> SRC_URI = ""
> STAMPS_DIR ?= "${TMPDIR}/stamps"
> STAMP = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}"
Except for the comments, this looks good to me now.
Just wondering if we could somehow stress this path in Isar upstream as
well - though that should not block this fix for AUTOREV.
Jan
--
Siemens AG, Technology
Competence Center Embedded Linux
next prev parent reply other threads:[~2023-04-17 14:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-12 10:17 Srinuvasan Arjunan
2023-04-13 7:02 ` Jan Kiszka
2023-04-13 7:09 ` Srinuvasan Arjunan
2023-04-14 8:57 ` Srinuvasan Arjunan
2023-04-14 9:00 ` Jan Kiszka
2023-04-14 9:12 ` Srinuvasan Arjunan
2023-04-14 9:16 ` Jan Kiszka
2023-04-17 13:27 ` Srinuvasan Arjunan
2023-04-17 14:10 ` Jan Kiszka [this message]
2023-04-18 6:25 ` Srinuvasan Arjunan
2023-04-18 7:06 ` Uladzimir Bely
2023-04-19 2:40 ` [PATCH v2] " Srinuvasan Arjunan
2023-04-19 13:43 ` Jan Kiszka
2023-05-08 17:57 ` Anton Mikanovich
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=7c8c6715-0ecd-35ab-4865-9b549f833ccf@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=srinuvasan_a@mentor.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox