Gentoo Archives: gentoo-dev

From: Tom Wijsman <TomWij@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Deprecating and killing herds in metadata.xml
Date: Wed, 01 Oct 2014 18:27:12
Message-Id: 20141001202700.00007f46@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: Deprecating and killing herds in metadata.xml by Jeroen Roovers
1 On Tue, 30 Sep 2014 00:40:50 +0200
2 Jeroen Roovers <jer@g.o> wrote:
3
4 > On Mon, 29 Sep 2014 23:16:32 +0200
5 > Tom Wijsman <TomWij@g.o> wrote:
6 >
7 > > On Mon, 29 Sep 2014 18:42:40 +0200
8 > > Jeroen Roovers <jer@g.o> wrote:
9 > >
10 > > > On IRC we seem to have found some consensus about metadata.xml:
11 > >
12 > > IRC is huge; where did you manage to find consensus in there with
13 > > whom?
14 >
15 > I have no idea how to respond to that. It doesn't matter whether you
16 > were there or not: this was the outcome we agreed on and here is a
17 > proposal that should make working with the bug tracker a lot easier.
18
19 The outcome of what? Who agreed on it? If these questions have no
20 answers, the statements made have no meaning; they hide away the true
21 goal, which now becomes clear in "proposal to make bug tracker easier".
22
23 Then we arrive at the next question: What is so hard about bug tracking?
24
25 > > > 1 ) We should
26 > > > 1a) deprecate the <herd> tag in metadata.xml (that's 17,856 files
27 > > > or so?) in favour of
28 > > > 1b) a conversion to their respective <maintainer> tags
29 > > > 1c) where the <email> tag serves the same purpose as <herd> but
30 > > > bypasses herds.xml completely by just using the intended alias
31 > > > and not the name of the herd (which some developers might want to
32 > > > keep in the <name> tag for whatever purpose).
33 > >
34 > > This loses information that denotes it to be a herd, not a
35 > > maintainer.
36 >
37 > <maintainer>
38 > <email>[address of the herd]</email>
39 > <name>[name of the herd]</name> <!-- if you like -->
40 > </maintainer>
41 >
42 > Please provide some examples of when and how that piece of
43 > information, "herd", is important.
44
45 Knowing whether to contact one or more persons; eg., "/nick cjk" on
46 IRC can confuse this easily, where "!herd cjk" was as obvious as can be.
47
48 Note that the proposal involves trade-offs and consequences.
49
50 > > > 2 ) Important to note is that this makes the order in which tags
51 > > > in metadata.xml are used in assigning bugs is made more explicit
52 > > > and simple. Previously the first <maintainer> or in its absence
53 > > > the first <herd> would be the Assignee, and the rest would be
54 > > > CC'd. This changes now to a much simpler scheme where
55 > > > 2a) the first <maintainer> is always the Assignee, and the rest is
56 > > > CC'd, so that
57 > > > 2b) instances where metadata.xml lists a <maintainer> tag after a
58 > > > <herd> tag would need to have the order fixed: the <herd> tags
59 > > > that are converted to <maintainer> tags should be moved to a place
60 > > > in the file after the original first <maintainer> tag.
61 > >
62 > > This loses the lack of ordering, requiring unnecessary attention to
63 > > it.
64 >
65 > There has never been a lack of ordering. The way bugs are assigned
66 > since 2008 is as described in 2a. It requires not reordering the XML
67 > tags. 2b says the order of appearance denotes the Assignee.
68
69 A comparison reveals that ordering gets introduced by this proposal:
70
71 Before: <maintainer> always goes _before_ <herd>
72 After: <maintainer> goes _before or after_ the new herd <maintainer>
73
74 Therefore there was a lack of ordering; whereas the maintainer vs herd
75 order was implicit before, the proposal makes the order explicit.
76
77 > > > 3 ) We end up with metadata.xml files that have no <herd> tags and
78 > > > only <maintainer> tags.
79 > > > 3a) herds.xml is now unimportant in assigning bugs.
80 > > > 3b) Tools that use herds.xml no longer need a copy of herds.xml to
81 > > > look up who is responsible for a package.
82 > > > 3c) herds.xml can be safely kept up to date and used elsewhere and
83 > > > can be safely phases out in time.
84 > >
85 > > This is nice to have, as automatic assignments reveal; but this
86 > > makes it harder for a herd to change its e-mail address, which
87 > > happens sometimes.
88 >
89 > Go back in history and tell us how often herds change their e-mail
90 > address. And how many metadata.xml files would have been affected. And
91 > how that reflects on the future. And then compare that with the
92 > everday chore of doing the extra lookup in herds.xml that shouldn't
93 > be needed at all if the only thing you need is an e-mail address.
94 >
95 > > > 4 ) We might achieve the <herd> => <maintainer> conversion by
96 > > > 4a) setting up repoman to deny commits that keep <herd> or
97 > > > 4b) setting up repoman to automatically convert the entire thing
98 > > > 4c) both of which might end up taking a good while to complete, or
99 > > > 4d) do an automated mass conversion of the entire gentoo-x86 tree.
100 > >
101 > > We might not need a conversion; it also changes/requires another
102 > > tool.
103 >
104 > The proposal says we convert <herd> to <maintainer> in metadata.xml.
105 >
106 > 4d explains how you wouldn't need changes to repoman.
107
108 The proposal is unaware of the amount of metadata.xml files; the extra
109 mapped lookup in herds.xml is free, changing metadata.xml files is not.
110
111 > > > 5a) All ontological discussion of the meaning of herds and
112 > > > projects is entirely unrelated - we're just looking to make it
113 > > > much easier to look
114 > > > up metadata about packages using as few resources as possible.
115 > > > 5b) All ontological discussion of the meaning of herds and
116 > > > projects is instantly rendered a lot less important. We have less
117 > > > need to bring this up every year or so.
118 > >
119 > > That important ontological discussion is related as it is the
120 > > origin, the proposal changes a fundamental file of the Gentoo Herds
121 > > Project[1]; by doing so, you make changes in the meaning of a herd
122 > > and its context.
123 >
124 > No, that's about changing herds.xml. This is about changing
125 > metadata.xml. You can keep the herd information in herds.xml and make
126 > metadata.xml a lot more easy to handle at the same time.
127
128 No, that[1]'s also about metadata.xml; furthermore, the proposal ignores
129 how the metadata.xml change will affect the meaning of a herd. Its
130 meaning is determined by its usage, which is affected by the proposal.
131
132 If you start using aliases instead, then what is there in a herd's name?
133
134 [1]: http://www.gentoo.org/proj/en/metastructure/herds/#doc_chap4
135
136 > > Reading further, we interestingly see that per the project page[1]
137 >
138 > Maybe that should be fixed, then (including outdated information and
139 > factual errors). I don't see how it would stop progress. It just needs
140 > some minor rethinking.
141
142 Does it? Progress isn't stopped, we've been doing fine for ages; YAGNI.