From: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: yocto@yoctoproject.org
Subject: Re: [meta-mono] [PATCH 1/1] gtk-sharp: Updated to GTK# 2.12.21
Date: Thu, 27 Feb 2014 22:17:20 +0000 [thread overview]
Message-ID: <530FB970.6000307@dynamicdevices.co.uk> (raw)
In-Reply-To: <3197986.BDeEZ9PLMT@peggleto-mobl5.ger.corp.intel.com>
On 27/02/2014 22:04, Paul Eggleton wrote:
> On Thursday 27 February 2014 19:15:38 Alex J Lennon wrote:
>> On 27/02/2014 18:48, Paul Eggleton wrote:
>>> On Thursday 27 February 2014 18:29:59 Alex J Lennon wrote:
>>>> On 27/02/2014 18:18, Paul Eggleton wrote:
>>>>> PR values needn't match up between different distros. The point is they
>>>>> should get increased when a material change to the recipe's output
>>>>> happens; and this can happen for example when:
>>>>>
>>>>> * A class that the recipe inherits is changed
>>>>>
>>>>> * A dependency of the recipe that influences how the recipe is built
>>>>> gets
>>>>> changed
>>>>>
>>>>> * Some global configuration changed that affects how the recipe is built
>>>>> e.g. DISTRO_FEATURES
>>>>>
>>>>> * A bbappend is added or removed
>>>>>
>>>>> In all of these cases the recipe itself does not get changed at all -
>>>>> prior to the PR server we had to remember to manually bump PR in the
>>>>> affected recipes, or (more often) we'd forget to handle it properly
>>>>> altogether. With the PR server, PR bumps happen automatically in
>>>>> response
>>>>> to signatures changing, which is about as accurate an indicator as we
>>>>> can
>>>>> get as far as determining whether the output has changed, and certainly
>>>>> much less prone to mistakes.
>>>> OK so I can't download the source code to a distribution and built
>>>> identical, identically versioned packages to theirs? With something like
>>>> RPM wouldn't I expect to be able to download an RPM source package
>>>> and build an identical, versioned RPM from it?
>>> They'll always be "identical" as far as the material content goes, that's
>>> not in question here - we're just talking about the PR values. For the PR
>>> values it depends - which distro are we talking about? IIRC for example,
>>> SHR and Angstrom both make their PR servers available so that people's PR
>>> values will match up if they build it from source themselves.
>>>
>>> However, I think we're starting to head into territory where you have to
>>> ask who is maintaining this distro you are referring to. If you're making
>>> changes to how things get built, arguably it's now a derivative distro
>>> and you ought to be maintaining it yourself; at which point you shouldn't
>>> expect the PR values to match up. How else would you signify that you'd
>>> made the configuration change (or added your own patch, or ...) if it's
>>> someone else's distro that doesn't contain that change "upstream"?
>>>
>>>> Taking a slightly different tack, if I upgrade a recipe PV from 1.0.0 to
>>>> 2.0.0 to correspond to the upstream source versioning, and at that
>>>> time I remove PR and build some packages.
>>>>
>>>> Then a month later I realise I need something extra added to the
>>>> configuration options, which gives me a different output, what do I
>>>> change to make sure the new package is versioned differently from
>>>> the old package? (i.e. presumably if the network service is
>>>> running it will handle it for me, but if it's not running then new
>>>> package will be versioned identically to my old package?)
>>> Yes. If you care about PR values (i.e. you're using packaging on the
>>> target) then you need to enable and use the PR server. If you do that,
>>> you don't need to make any additional change other than the
>>> configure option change you've already made - EXTRA_OECONF
>>> would presumably have been changed -> do_configure signature
>>> changes -> dependent task signatures change -> the PR value
>>> changes automatically.
>>>
>>>>>> I suppose the other question is, if I release a package of revision X,
>>>>>> then another which is up-rev'd' to Y as I made a change to the recipe
>>>>>> and so the NBPRS up-revs, then somebody comes back to me and tells me
>>>>>> they are having a problem with Xm then how do I link that rev X to the
>>>>>> specific commit that went to build it so I can audit ?
>>>>> The PR server doesn't track this - however, all of this information does
>>>>> go into buildhistory if you enable that.
>>>> Must look at that, yes.
>>> For reference:
>>>
>>> http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#mainta
>>> ining-build-output-quality
>>>
>>> Cheers,
>>> Paul
>> I've just noticed this which seems to usefully address some of my
>> questions; include for others who may come across the thread,
>>
>> https://bugzilla.yoctoproject.org/show_bug.cgi?id=1556
>>
>> Excellent. So I can export my current set of AUTOPR values to a file,
>> give that to another development team in the handover, or test, or
>> whomever,
>> who can then import and build packages with the same version/name
>> (assuming that they're on another site or otherwise don't have access to
>> my PR
>> network service ). I can see that will obviate the need for an
>> inordinate number of conversations with the test team.
> Ah yes, I completely forgot about that.
>
> The thought springs to mind that if we're not covering this area sufficiently in
> the manual at the moment, we should probably try to figure out what we need to
> do to do so.
Well it could of course be me being backward or lazy :) It seems pretty
imorptant though, to a newbie
like myself, as in my work I generally rely on a versioned file name
being a unique descriptor for a certain
snapshot of a binary codebase, whether .exe, archive or whatever.
I get a bit antsie when I can't relate a shipped binary of a given
versioning scheme to a source snapshot that
I can use to rebuild that shipped binary, as this type of thing always
comes back to bite me months or years
later.
I try hard to have a single versioned name that the whole supply chain
can use to relate to a certain
software module. It worries me (perhaps unduly I admit) that there's
additional complexity in this process,
when I'm undoubtedly going to have to explain at length why certain
parts of a file name/archive matter, and certain
other ones don't.
That aside, as I understand it this is a solution to another wider
problem which is the maintenance of those
PRs in the recipes so perhaps it is the lesser evil. Who am I to say?
If it's necessary to have the daemon active to handle bumping PRs, and
if the direction is to remove hardcoded PRs
then perhaps it merits the daemon being automatically launched via a
default local.conf as per #1126 and something
in the newbie guide about why this is?
Cheers, Alex
prev parent reply other threads:[~2014-02-27 22:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-27 14:16 [meta-mono] [PATCH 0/1] gtk-sharp: Updated to 2.12.21 Alex J Lennon
2014-02-27 14:16 ` [meta-mono] [PATCH 1/1] gtk-sharp: Updated to GTK# 2.12.21 Alex J Lennon
2014-02-27 15:50 ` Khem Raj
2014-02-27 15:59 ` Alex J Lennon
2014-02-27 16:30 ` Khem Raj
2014-02-27 16:33 ` Alex J Lennon
2014-02-27 17:04 ` Khem Raj
2014-02-27 17:06 ` Alex J Lennon
2014-02-27 17:09 ` Paul Eggleton
2014-02-27 17:12 ` Khem Raj
2014-02-27 17:32 ` Alex J Lennon
2014-02-27 18:18 ` Paul Eggleton
2014-02-27 18:24 ` Paul Eggleton
2014-02-27 18:29 ` Alex J Lennon
2014-02-27 18:48 ` Paul Eggleton
2014-02-27 18:52 ` Alex J Lennon
2014-02-27 19:15 ` Alex J Lennon
2014-02-27 22:04 ` Paul Eggleton
2014-02-27 22:17 ` Alex J Lennon [this message]
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=530FB970.6000307@dynamicdevices.co.uk \
--to=ajlennon@dynamicdevices.co.uk \
--cc=paul.eggleton@linux.intel.com \
--cc=yocto@yoctoproject.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 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.