[OE-core] [PATCH 1/1] linux-yocto_3.4: use ${KSRC_linux_yocto_3_4_repo} based SRC_URI

Bruce Ashfield bruce.ashfield at gmail.com
Mon Jan 21 01:25:58 UTC 2013


On Sun, Jan 20, 2013 at 8:44 AM, Richard Purdie <
richard.purdie at linuxfoundation.org> wrote:

> On Fri, 2013-01-18 at 17:43 +0000, Kamble, Nitin A wrote:
> >
> > > -----Original Message-----
> > > From: Saul Wold [mailto:sgw at linux.intel.com]
> > > Sent: Friday, January 18, 2013 9:37 AM
> > > To: Kamble, Nitin A
> > > Cc: Openembedded-core at 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 at linux.intel.com]
> > > >> Sent: Friday, January 18, 2013 9:19 AM
> > > >> To: Kamble, Nitin A
> > > >> Cc: Openembedded-core at 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 at intel.com wrote:
> > > >>> From: Nitin A Kamble <nitin.a.kamble at 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 at 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):
>
>
Agreed! I'm not even sure how I missed that this was to the *oe-core*
linux-yocto
recipes (Nitin: you need to cc' me, or let me stage and merge changes to
these
recipes as a general rule), but I wouldn't have let this in either.

I admit to having such things in local/hack layers, but they definitely are
not something
I'd ever have wanted to see in main recipes.

Cheers,

Bruce


>
> 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
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20130120/ef45f992/attachment-0002.html>


More information about the Openembedded-core mailing list