All of lore.kernel.org
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: Koen Kooi <koen@dominion.thruhere.net>
Cc: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Purdie, Richard" <richard.purdie@intel.com>,
	"poky@yoctoproject.org" <poky@yoctoproject.org>
Subject: Re: Proper recipe naming and PV definition
Date: Mon, 06 Dec 2010 15:59:25 -0800	[thread overview]
Message-ID: <4CFD78DD.9040102@linux.intel.com> (raw)
In-Reply-To: <9CD5F035-CD09-492D-9066-7C1C770E6105@dominion.thruhere.net>

On 12/06/2010 03:24 PM, Koen Kooi wrote:
>
> Op 7 dec 2010, om 00:17 heeft Darren Hart het volgende geschreven:
>
>> 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}
>
> using that will break upgrade paths since git revisions aren't monotonically increasing. I use something like this:
>
> PV = "2.6.36+2.6.37-rc4"
> PR = "r3"
> PR_append = "+gitr${SRCREV}"
> SRCREV = "a04fd22204b13ce34a3f8a8157f83c44d64f8da9"
>
> And increase PR manually everytime SRCREV changes.
>

Hrm, this mostly just raises more questions for me !

There are 5 ways to specify versions that I can see here:

recipe-name_VERSION.bb
PV
PR
PR_append

I have been looking at these as follows:

recipe-name_VERSION.bb
This is a high level version that aids users in identifying this package 
over another one with a similar name but of a different version.

PV
Package version
I think of this as a specific source version. For instance, the package 
VERSION might be 2.6.33 in the bb filename, but the PV might be 2.6.33.7.

PR
Package revision
I think of PR as specific to the recipe. If I change the do_install(){}
function for instance, I would bump this revision. It would also change 
if the PV (and thus the SRC_URI) changed (back to r0). But it primarily 
indicates a change in the recipe itself, and triggers a rebuild even if 
the underlying sources didn't change.

http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html#usingpoky-changes-prbump

PR_append
I haven't used this, but from my point of view, this looks like it 
belongs in bbappend files. A way to simply append a tag to identify a 
recipe as an extension of another recipe. Perhpas a -dev for example 
which would include a bunch of developer centric kernel config settings 
that aren't necessarily appropriate in the main recipe.
linux_2.6.33-dev.bb for example might have lots of the more intrusive 
tracing settings enabled.

PE
Package epoch
This is rarely used and is a sort of super major number apparently - 
something like the 2 in the linux kernel revisions these days. A package 
version can be explicitly described from most to least significant bits as:
PN_PE.PV.PR

INC_PR
Used for "nested packages". In the dev example above the PR might be set 
to "${INC_PR}-dev I guess. I haven't used this myself.


I get most of the above from the poky-ref-manual:
http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html

But in practice there seems to be a fair amount of interpretation left 
to the author.

Thoughts?

-- 
Darren Hart
Yocto Linux Kernel


  reply	other threads:[~2010-12-06 23:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-06 23:17 Proper recipe naming and PV definition Darren Hart
2010-12-06 23:24 ` Koen Kooi
2010-12-06 23:59   ` Darren Hart [this message]
2010-12-07  0:53 ` Bruce Ashfield
2010-12-07  3:46   ` Darren Hart
2010-12-07  4:02     ` Chris Larson
2010-12-07 15:23       ` Bruce Ashfield
2010-12-07 15:20     ` 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=4CFD78DD.9040102@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=koen@dominion.thruhere.net \
    --cc=marcin.juszkiewicz@linaro.org \
    --cc=poky@yoctoproject.org \
    --cc=richard.purdie@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.