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

login
register
mail settings
Submitter Nitin A Kamble
Date Jan. 16, 2013, 7:46 p.m.
Message ID <9ab00cdffdd81cbdcd68ac03aafd925372f25ad7.1358365495.git.nitin.a.kamble@intel.com>
Download mbox | patch
Permalink /patch/42747/
State New
Headers show

Comments

Nitin A Kamble - Jan. 16, 2013, 7:46 p.m.
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(-)
Saul Wold - Jan. 18, 2013, 5:18 p.m.
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=machine,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!



>   LINUX_VERSION ?= "3.4.24"
>
>
Nitin A Kamble - Jan. 18, 2013, 5:23 p.m.
> -----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?

Thanks,
Nitin

> 
> 
> >   LINUX_VERSION ?= "3.4.24"
> >
> >
Saul Wold - Jan. 18, 2013, 5:37 p.m.
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.

Sau!

> Thanks,
> Nitin
>
>>
>>
>>>    LINUX_VERSION ?= "3.4.24"
>>>
>>>
>
>
Nitin A Kamble - Jan. 18, 2013, 5:43 p.m.
> -----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.

Thanks,
Nitin


> 
> Sau!
> 
> > Thanks,
> > Nitin
> >
> >>
> >>
> >>>    LINUX_VERSION ?= "3.4.24"
> >>>
> >>>
> >
> >
Richard Purdie - Jan. 20, 2013, 1:44 p.m.
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
Nitin A Kamble - Jan. 21, 2013, 12:25 a.m.
> 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
> 
Richard,
  I understand your point. And this newer solution should work. If possible I would like to push this class in the oecore layer so that I don't have to maintain it myself. Also can this be done selectively for a BSP by using the bspname override?

Thanks,
Nitin
Bruce Ashfield - Jan. 21, 2013, 1:25 a.m.
On Sun, Jan 20, 2013 at 8:44 AM, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> 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):
>
>
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@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Patch

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=machine,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"
 
 LINUX_VERSION ?= "3.4.24"