Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Reorganizing handling of target specific profiles (Was: Split desktop profile patches & news item for review)
Date: Sun, 14 Mar 2010 05:27:49
Message-Id: 20100314052545.GB17983@hrair
In Reply to: Re: [gentoo-dev] Re: Reorganizing handling of target specific profiles (Was: Split desktop profile patches & news item for review) by Mart Raudsepp
1 On Sun, Mar 14, 2010 at 02:02:46AM +0200, Mart Raudsepp wrote:
2 > On Sat, 2010-03-13 at 13:16 -0800, Brian Harring wrote:
3 > > While I agree in principle within mixins, no one here is discussing
4 > > the QA affect of it- right now we can do visibility scans of
5 > > combinations of gnome + amd64 + 2010 because they're defined.
6 >
7 > What sort of QA affects do you imagine it having?
8
9 Simple enough. Right now, you change a profile, or want to stable a
10 pkg, you can do a scan and identify all new visibility issues from
11 profiles- you can validate up front that for the list of
12 supported/stable profiles, these changes occur.
13
14 If things are shifted over to prefering users mixing/matching profiles
15 on their own (meaning we no longer have a gnome amd64 2010 for
16 example), devs no longer get QA warnings when they break stuff for it.
17
18 Users see it however.
19
20 > Though I'm talking in the context of what I proposed - using it for just
21 > the target profiles that only tweak USE flags and other such defaults,
22 > nothing else.
23
24 Current QA (repoman/pcheck), if a use flag is defaulted on, it's deps
25 in a pkg must be visible. Via repoman/pcheck, they ensure that the
26 default use configuration for a profile, all visible pkgs dependencies
27 are visible (making the pkg fully usable).
28
29 Consider mixing/matching gnome/kde with a profile that has quite a few
30 packages masked- say mips. To be clear, this is a hypothetical case-
31 I know it exists, I'm just choosing two likely targets. Say gnome
32 requires some codecs use flag flipped on triggering a dep on a pkg
33 masked for mips.
34
35 I'm not saying these situations can't be worked around- we already fix
36 them now as they come up. The thing is, whenever you change something
37 now, those profile combinations are validated- with mix/match
38 approach, that validation won't be occuring, the users will be the
39 ones seeing the breakage rather than the dev.
40
41 > I considered QA affects for that case, at least in my own
42 > thoughts. I think QA would be checked anyhow there, as part of all USE
43 > flags enabled assumpting testing or static testing of various USE flag
44 > combinations of a package (e.g, for statically finding circular
45 > dependencies or the like).
46
47 Either you're suggesting that repoman/pcheck would have to scan all
48 arbitrary combinations of gnome/kde/desktop w/ misc arches, or you
49 need to be a fair bit more precise about how QA tools would identify
50 what profile combinations to check.
51
52 If you're proposing that the QA tool arbitrarily combines arches w/
53 various desktop/server mixins, I'll again note that the run time of
54 visibility scans is directly related to # of profiles to check- for
55 example, removal of mips profiles from profiles.desc is if memory
56 serves me a ~33% reduction in visibility runtime for pcheck.
57
58 For repoman (which all devs have to use for commiting), # of profiles
59 is even more of a critical value performance wise.
60
61
62 > Do you foresee bad QA affects for the for the
63 > desktop/developer/gnome/kde/server profiles case too, or just when
64 > mixing in selinux/toolchains/etc?
65
66 Issues will exist regardless of what the combination is. The point
67 I'm making is that with the current model, we catch those issues prior
68 to commit- having users mix/match on their own means users will see
69 those issues rather than devs. Literally, they'll see the breakage.
70
71 ~harring