public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Uladzimir Bely <ubely@ilbers.de>
To: Srinuvasan Arjunan <srinuvasan_a@mentor.com>,
	isar-users@googlegroups.com
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Subject: Re: [PATCH] meta/conf/bitbake.conf: enable SRCPV support for AUTOREV
Date: Tue, 18 Apr 2023 10:06:32 +0300	[thread overview]
Message-ID: <12187664.O9o76ZdvQC@home> (raw)
In-Reply-To: <7c8c6715-0ecd-35ab-4865-9b549f833ccf@siemens.com>

In the email from Monday, 17 April 2023 17:10:03 +03 user 'Jan Kiszka' via isar-users wrote:
> 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 comments below are to be removed, it would be probably better to collapse all the stuff to

if uri.scheme in ("svn", "git", "gitsm", "hg", "p4", "repo"):
    needsrcrev = True


> > +        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
> 
> 





  parent reply	other threads:[~2023-04-18  7:06 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
2023-04-18  6:25                 ` Srinuvasan Arjunan
2023-04-18  7:06                 ` Uladzimir Bely [this message]
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=12187664.O9o76ZdvQC@home \
    --to=ubely@ilbers.de \
    --cc=isar-users@googlegroups.com \
    --cc=jan.kiszka@siemens.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