Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Koen Kooi <k.kooi@student.utwente.nl>
To: openembedded-devel@lists.openembedded.org
Subject: Re: SRCPV migration - How SRCPV works!
Date: Mon, 23 Nov 2009 12:12:03 +0100	[thread overview]
Message-ID: <hedqm4$gon$1@ger.gmane.org> (raw)
In-Reply-To: <20091123085259.GD3349@jama>

On 23-11-09 09:52, Martin Jansa wrote:
> On Mon, Nov 23, 2009 at 09:07:26AM +0100, Koen Kooi wrote:
>> On 22-11-09 20:05, Martin Jansa wrote:
>>
>>> Every git recipe in OE tree should have some sane hash stored in
>>> conf/distro/include/sane-srcrevs.inc
>>
>> The cabal decided that checksums are "part of the metadata" and
>> belongs in the recipes. I don't understand why SRCREVs are so
>> different. For SRCREVs my life would be a lot easier if all SRCREV
>> where put in their respective recipes. Distros can always do
>>
>> SRCREV_pn-foo = "bar"
>> PV_pn-foo = "1.2.3+gitr$SRCPV"
>>
>> in their distro.conf if needed. Due to scoping we do need some
>> include for EFL_SRCREV, since those recipes are tightly tied
>> together.
>
> Sorry, I didn't intend to make all srcrevs in sane-srcrevs.inc.
>
> I should write it a bit longer:
> "should have some hash stored somewhere ie in sane-srcrevs.inc (which is
> included probably in all sane distros) or in recipe itself.
> If the SRCREV is defined ONLY in file like shr-autorev.inc (as we had some),
> then all other distributions won't get defined SRCREV for that recipe
> and fail to parse it."
>
>>> Kernel recipes are even more tricky, I bumped PE with SRCPV there too,
>>> but Koen warned me later (thanks again) that there needs to be
>> consistent PE
>>> even between different recipes, because multiple machines can share same
>>> kernel recipe and machine can pick between multiple recipes with highest
>>> PV? Hmm now I don't understand what you mean with kernel recipes in this:
>>>
>>> <snip>
>>> If something needs a PE bump, make sure you do it properly and bump PE
>>> on the non scm fetched entries as well. For the kernel I wouldn't bump
>>> PE, since too many machines can use different kernel recipes.
>>> </snip>
>>
>> Basically: if you bump PE for one kernel recipe, you need to bump PE
>> for all of them, so I guess it should be done in e.g. kernel.bbclass
>> or linux.inc.
>>
>> Imagine I use a git kernel for 2.6.32rc6 and then add a recipe for
>> 2.6.32, I'm fairly sure I'm going to forget to add PE in 2.6.32 the
>> first time.
>
> Ah ok, now I see, thanks.
>
>>> But be carefull with persistent cache file
>>> something like this:
>>> tmpdir-dev-shr/cache/om-gta02/bb_persist_data.sqlite
>>
>> So if I build pixman_git.bb for om-gta02 weekly, but monthly for
>> beagleboard or om-gta01 I'll also get different numbers, right?
>> I think the count should only be in a machine specific database if
>> the SRC_URI/SRCREV is machine specific.
>
> If you want have consistent buildnumbers across machines, ie to see that
> 0.1+gitr12+hashA on om-gta01 is really newer than 0.1+gitr4+hashB on
> beaglebord, I think you can point PERSISTENT_DIR variable to directory shared
> by all your builds.
>
> But I'm not sure if there is some problem with it.
> Only data I have there now is
> BB_URI_HEADREVS    - latest revisions for autorev packages
> BB_URI_LOCALCOUNT  - last built revision + last buildnumber
>
> But there is also just url like this
> git:gnuradio.org.git.balister.git-gnuradio_rev|bf7ad4d17514aba9fc5209bc916ce37482f77eaa
> git:gnuradio.org.git.balister.git-gnuradio_count|0
>
> I guess we should put at least also branch to key column (not sure how
> to easily migrate those revs already stored without parsing recipes which
> stored original value, but we can still store new revisions with branch
> and look for last ones first with branch and if not found with old key)
>
> Hmm sorry now I see that shared PERSISTENT_DIR can be much worse,
> because if you have
> SRCREV-pn_BLAH_om-gta01 = "hashA"
> SRCREV-pn_BLAH_om-gta02 = "hashB"
> then every rebuild will increment _count every time you build still the
> same revisions hashA and hashB but once on gta01 and once on gta02. But
> I think this is not addressed by bumping ${PR} too, because I will have
> BLAH-0.1-r1-hashA on gta01 and BLAH-0.1-r1-hashB on gta02 right?
>
> It can be still solved by schema
> url, rev, count to get _count for every particular _rev ever built for
> you
>
> and
> last used rev in another table with url_branch_machine key (I guess easy
> to implement) or in machine specific another PERSISTENT_DIR (messy to
> have 2 PERSISTENT_DIRs, harder to implement)
>
> Do we need this now, or can be LOCALCOUNT override used for this too?

I'd like to have SRCPV working well before importing it into .dev.

regards,

Koen




  reply	other threads:[~2009-11-23 11:14 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-15 16:36 SRCPV migration Martin Jansa
2009-11-15 21:22 ` Martin Jansa
2009-11-16  8:38 ` Koen Kooi
2009-11-16  9:39   ` Richard Purdie
2009-11-16 10:37     ` Koen Kooi
2009-11-16 10:49       ` Richard Purdie
2009-11-16 10:59         ` Koen Kooi
2009-11-16 11:39           ` Richard Purdie
2009-11-16 12:10             ` Koen Kooi
2009-11-16 12:37               ` Richard Purdie
2009-11-16 13:15                 ` Koen Kooi
2009-11-16 13:43                 ` Martin Jansa
2009-11-16 13:55                   ` Richard Purdie
2009-11-17  8:55                     ` Martin Jansa
2009-11-17  9:08                       ` Phil Blundell
2009-11-17 10:01                       ` Richard Purdie
2009-11-17 10:57                         ` Martin Jansa
2009-11-20 10:20                         ` Martin Jansa
2009-11-17 10:18                       ` mok
2009-11-17 15:12                         ` Martin Jansa
2009-11-17 16:23                           ` Martin Jansa
2009-11-17 16:53                             ` Martin Jansa
2009-11-17 15:49                         ` Henning Heinold
2009-11-17  9:42                 ` Martin Jansa
2009-11-19 16:02                 ` Koen Kooi
2009-11-19 16:11                   ` Martin Jansa
2009-11-19 16:34                   ` Martin Jansa
2009-11-19 17:34                     ` Koen Kooi
2009-11-16 11:51           ` Martin Jansa
2009-11-16 12:19             ` Koen Kooi
2009-11-16 12:39               ` Martin Jansa
2009-11-16 10:42     ` Holger Hans Peter Freyther
2009-11-22 19:05     ` SRCPV migration - How SRCPV works! Martin Jansa
2009-11-23  8:07       ` Koen Kooi
2009-11-23  8:52         ` Martin Jansa
2009-11-23 11:12           ` Koen Kooi [this message]
2009-11-23 11:42             ` Martin Jansa
2009-11-23 12:00               ` Richard Purdie
2009-11-23 12:15         ` Richard Purdie
2009-11-23 12:29           ` Philip Balister
2009-11-23 13:24             ` Koen Kooi
2009-11-23 13:31           ` Koen Kooi
2009-11-23 13:52             ` Otavio Salvador
2009-11-23 14:58               ` Koen Kooi
2009-11-23 15:09                 ` Martin Jansa
2009-11-23 14:29             ` Richard Purdie
2009-11-23 15:00               ` Koen Kooi
2009-11-23 15:12                 ` Martin Jansa
2009-11-23 15:52                   ` Koen Kooi
2009-11-23 16:07                     ` Martin Jansa
2009-11-23 15:05               ` Philip Balister
2009-11-23 15:47       ` Chris Conroy

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='hedqm4$gon$1@ger.gmane.org' \
    --to=k.kooi@student.utwente.nl \
    --cc=openembedded-devel@lists.openembedded.org \
    /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