From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: "Kamble, Nitin A" <nitin.a.kamble@intel.com>
Cc: "Openembedded-core@lists.openembedded.org"
<Openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] linux-yocto_3.4: use ${KSRC_linux_yocto_3_4_repo} based SRC_URI
Date: Sun, 20 Jan 2013 13:44:44 +0000 [thread overview]
Message-ID: <1358689484.14265.40.camel@ted> (raw)
In-Reply-To: <ADD6A3980E8C39419A432FF422031B4C3F0BCFC9@ORSMSX106.amr.corp.intel.com>
On Fri, 2013-01-18 at 17:43 +0000, Kamble, Nitin A wrote:
>
> > -----Original Message-----
> > From: Saul Wold [mailto:sgw@linux.intel.com]
> > Sent: Friday, January 18, 2013 9:37 AM
> > To: Kamble, Nitin A
> > Cc: Openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH 1/1] linux-yocto_3.4: use
> > ${KSRC_linux_yocto_3_4_repo} based SRC_URI
> >
> > On 01/18/2013 09:23 AM, Kamble, Nitin A wrote:
> > >
> > >
> > >> -----Original Message-----
> > >> From: Saul Wold [mailto:sgw@linux.intel.com]
> > >> Sent: Friday, January 18, 2013 9:19 AM
> > >> To: Kamble, Nitin A
> > >> Cc: Openembedded-core@lists.openembedded.org
> > >> Subject: Re: [OE-core] [PATCH 1/1] linux-yocto_3.4: use
> > >> ${KSRC_linux_yocto_3_4_repo} based SRC_URI
> > >>
> > >> On 01/16/2013 11:46 AM, nitin.a.kamble@intel.com wrote:
> > >>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
> > >>>
> > >>> This makes replacing kernel git repository easy.
> > >>> For example you can add the following line in your local.conf to use
> > >>> your own local kernel repository:
> > >>>
> > >>> KSRC_linux_yocto_3_4_repo = "/home/nitin/linux-yocto-
> > >> 3.4.git/;protocol=file"
> > >>>
> > >>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> > >>> ---
> > >>> meta/recipes-kernel/linux/linux-yocto_3.4.bb | 3 ++-
> > >>> 1 files changed, 2 insertions(+), 1 deletions(-)
> > >>>
> > >>> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> > >>> b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> > >>> index 70ed967..92129b6 100644
> > >>> --- a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> > >>> +++ b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> > >>> @@ -11,7 +11,8 @@ SRCREV_machine_qemux86-64 ?=
> > >> "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
> > >>> SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
> > >>> SRCREV_meta ?= "7e0cd2990798aae80565baa17d3b6c771874f284"
> > >>>
> > >>> -SRC_URI = "git://git.yoctoproject.org/linux-yocto-
> > >>
> > 3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA};name=ma
> > >> chine,meta"
> > >>> +KSRC_linux_yocto_3_4_repo ?= "git.yoctoproject.org/linux-yocto-
> > >> 3.4.git;protocol=git"
> > >>> +SRC_URI =
> > >>
> > "git://${KSRC_linux_yocto_3_4_repo};nocheckout=1;branch=${KBRANCH},${
> > >> KMETA};name=machine,meta"
> > >>>
> > >>
> > >> Nitin,
> > >>
> > >> Can't the same be accomplished by setting SRC_URI-yocto-linux in your
> > >> local.conf file:
> > >>
> > >>> SRC_URI_linux-yocto =
> > >>> "/home/nitin/linux-yocto-3.4.git/;protocol=file
> > >> ;nocheckout=1;branch=${KBRANCH},${KMETA};name=machine,meta"
> > >>
> > >> Yes, it might require a little cut paste of the nocheck... part.
> > >>
> > >> Sau!
> > >>
> > >
> > >
> > > Saul,
> > > This way same settings can be used for any BSP. And shouldn't we make
> > life of YP developer easy?
> > >
> > This just seems like an extra variable that then needs to be documented
> > when the SRC_URI already exists for this purpose.
>
> And this new variable is going to make kernel developer's life easy to just replace the kernel repository
> while keeping all the kernel repo branch names same.
>
> As a kernel/BSP developer it definitely makes my life easier.
I'm not taking things like this which solve a given specialist use case
but would need to result in every recipe changing where someone wanted
to do this. To be blunt, your choice of variable name also sucks.
Embrace the power of the scripting we have, there are much more
interesting ways to solve this problem generically. For example, I wrote
this piece of code in a few minutes (admittedly untested):
urlremapper.bbclass:
python () {
mod = False
newsrcuri = []
srcuri = (d.getVar("SRC_URI", True) or "").split()
maps = d.getVarFlags("URLREMAP")
for uri in srcuri:
for u in maps:
if uri.startswith(u):
uri.replace(u, maps[u])
mod = True
newsrcuri.append(uri)
if mod:
d.setVar("SRC_URI", " ".join(newsrcuri))
}
URLREMAP[git://git.yoctoproject.org/linux-yocto-3.4.git] = "git:///home/nitin/linux-yocto-3.4.git/;protocol=file"
which should do what you want but in a generic way which doesn't require
us to hack each recipe. You can do it completely locally if you create a
classes directory alongside your conf directory and place the .bbclass
there, then add INHERIT += "urlremapper" in local.conf.
Cheers,
Richard
next prev parent reply other threads:[~2013-01-20 14:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-16 19:46 [PATCH 0/1] one commit to make kernel repo change easy nitin.a.kamble
2013-01-16 19:46 ` [PATCH 1/1] linux-yocto_3.4: use ${KSRC_linux_yocto_3_4_repo} based SRC_URI nitin.a.kamble
2013-01-18 17:18 ` Saul Wold
2013-01-18 17:23 ` Kamble, Nitin A
2013-01-18 17:37 ` Saul Wold
2013-01-18 17:43 ` Kamble, Nitin A
2013-01-20 13:44 ` Richard Purdie [this message]
2013-01-21 0:25 ` Kamble, Nitin A
2013-01-21 1:25 ` Bruce Ashfield
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=1358689484.14265.40.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=Openembedded-core@lists.openembedded.org \
--cc=nitin.a.kamble@intel.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