[poky] Proper recipe naming and PV definition

Bruce Ashfield bruce.ashfield at gmail.com
Tue Dec 7 07:20:43 PST 2010


On Mon, Dec 6, 2010 at 10:46 PM, Darren Hart <dvhart at linux.intel.com> wrote:
> On 12/06/2010 04:53 PM, Bruce Ashfield wrote:
>>
>> On 10-12-06 6:17 PM, Darren Hart wrote:
>>>
>>> I'm having trouble determining what the best practice is for naming a
>>> linux kernel recipe.
>>>
>>> The meta-linaro layer contains a linux-linaro recipe, and eventually I'd
>>> like it to contain two. One for the stable kernel and one for the
>>> development kernel. These are currently 2.6.35 and 2.6.37 respectively.
>>> I currently have:
>>>
>>> linux-linaro-2.6.35_git.bb
>>> PV=2.6.35
>>>
>>> This results in directory names in the build tree like:
>>> linux-linaro-2.6.36_2.6.35 (or similar, with the version duplicated). As
>>> I understand it, the PV _must_ contain a standard Linux kernel version
>>> along the lines of 2.6.[0-9]+-* (and parsing fails without it).
>>>
>>> In order to both track the version and distinguish between stable and
>>> dev, would something like the following be appropriate? This also
>>> replaces _git with _KERNELVER (as proposed by Marcin).
>>>
>>> linux-linaro-stable_2.6.35.bb
>>> PV=2.6.35+git${SRCREV}
>>>
>>> linux-linaro-dev_2.6.37.bb
>>> PV=2.6.37+git${SRCREV}
>>
>> For me the _git is not negotiable. It is the indication of
>> the source of the package. One of the main points about building
>> from an upstream git source is that we can bump it via the
>> SRCREV and leave the recipe alone.
>>
>> I'm going to continue using this:
>>
>> PV = "${LINUX_VERSION}+git${SRCPV}"
>
> You have SRCPV here - I believe you intended SRCREV - correct?
>

Nope. Have a look at the recipe on your disk .. SRCPV.

> If so, then your PV looks the same as mine above. The place where I replaced
> the _git was in the filename of the recipe. It still isn't clear to me what
> the _VERSION part of recipe-name_VERSION.bb is meant to indicate or how
> exactly it is used. It clearly isn't the exact and complete version of the
> source, that is what PE.PV is for, and PR identifies the recipe version (for
> lack of a better description).
>
> For linux-yocto, _git is not actually very descriptive, while
> linux-yocto_2.6.34 and linux-yocto_2.6.37 are (there are two git trees - so
> "_git" doesn't tell the user much about where the source comes from).
> Whether the backing sourcecode source is a tarball, a git tree, or something
> else entirely is, IMO, an implementation detail which is adequately
> described by the PV we have agreed on above. This is used in the directory
> name of the build and IIRC in the messages printed to the console and logs,
> so the package and it's source should remain clear.

Quite simply, I don't want to have to juggle these constantly. And having
no version in the recipe allows me to easily EOL kernel trees and we can
control the support cost. Hence why for now, I'm not putting versions in
those recipe names.

Cheers,

Bruce

>
> I do appreciate the value of -stable and -dev naming which don't have to
> change just because the underlying version changed - although I can see the
> argument that being forced to change when the version changes makes the
> change obvious to all users - which can be valuable.
>
> A few more iterations on this and I think we'll have something :-)
>
> --
> Darren Hart
> Yocto Linux Kernel
> _______________________________________________
> poky mailing list
> poky at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



More information about the poky mailing list