1 |
Hi folks, |
2 |
|
3 |
This got sidetracked originally, and I got busy. |
4 |
|
5 |
I've greatly revised this to take into account the various feedback on |
6 |
both the original thread as well as the later 'Irregular Metadata Check' |
7 |
thread by bangert. |
8 |
|
9 |
I sided with bangert's arguments after thinking about the processing. |
10 |
This means in a couple of cases that folks will receive duplicate emails |
11 |
where they don't want them, until they edit the metadata, but no bugs |
12 |
will be lost because the email went to the wrong person. |
13 |
|
14 |
Comments etc welcome. |
15 |
|
16 |
Assignment process, triggering: |
17 |
==================================================== |
18 |
Auto-assignment will be be applied/available in the following cases: |
19 |
1. New bugs created with the guided process, having a Product equal to |
20 |
'Gentoo Linux' and a component not equal to 'Eclasses and Profiles'. |
21 |
2. Open bugs will have a new action available: 'Reassign by metadata', |
22 |
with a text input field. The text field will be auto-filled with a |
23 |
package atom $CAT/$PN by parsing the summary line. Using the action |
24 |
will provide the package atom to the next stage. |
25 |
3. If multiple package atoms are present in a summary line, the first |
26 |
one wins. |
27 |
4. If we have a valid category name, but no valid package atoms, try to |
28 |
figure out which team might want it. Use the category-level |
29 |
metadata.xml file. |
30 |
|
31 |
Assignment process: |
32 |
==================================================== |
33 |
|
34 |
Step 1 - Summary line processing |
35 |
-------------------------------- |
36 |
1. If the summary line contains a package atom for a package that |
37 |
exists, use the metadata.xml for that package. Stop after the first |
38 |
atom. |
39 |
2. If the summary line contains a package atom for a package that does |
40 |
not exist, but a category that does exist, use the metadata.xml for |
41 |
that category. |
42 |
|
43 |
Step 2 - Metadata.xml contains only a herd |
44 |
------------------------------------------ |
45 |
1. Take the herd element, and look up the herd in herds.xml to convert |
46 |
to an email address. This email address must be a valid bugzilla |
47 |
account. |
48 |
2. This email is treated as an implicit maintainer element after this |
49 |
point. "<maintainer><email>${HERD_EMAIL}</email></maintainer>" |
50 |
|
51 |
Step 3 - <maintainer> element |
52 |
----------------------------- |
53 |
1. Add the maintainer element to an ordered list, in the order they are |
54 |
present in the file. |
55 |
2. If an element appears more than once, the later element overrides the |
56 |
earlier element. (This provides a route when the herd is assigned, |
57 |
but does not wish to receive email for a specific package). |
58 |
3. If a maintainer element contains the 'ignoreauto=1' attribute AND a |
59 |
non-empty role element (describing why this maintainer should not be |
60 |
contacted), delete it from the list. |
61 |
|
62 |
Step 4 - Assignment |
63 |
------------------- |
64 |
1. Use the first email in the ordered list as the assignee. |
65 |
2. Place all remaining emails in the CC list. |
66 |
3. Include a comment about the reassignment processing. |
67 |
|
68 |
Notes/Changes from before: |
69 |
==================================================== |
70 |
- The herd element is always used. |
71 |
- The 'contact' attribute is now called 'ignoreauto'. |
72 |
- The 'ignoreauto' is the logical opposite of the original 'contact' |
73 |
attribute. |
74 |
- The 'ignoreauto' attribute defaults to false. |
75 |
- Any usage of the 'ignoreauto' attribute requires the role element to |
76 |
be present. |
77 |
- Herds that do not wish to be contacted for specific bugs should add a |
78 |
maintainer element stating that (and use 'ignoreauto' on the element). |
79 |
- Category level metadata.xml is now used for fallback if this is a bug |
80 |
about a new package in an existing category. |
81 |
- Category level metadata.xml may contain herd and maintainer elements. |
82 |
|
83 |
-- |
84 |
Robin Hugh Johnson |
85 |
Gentoo Linux Developer & Council Member |
86 |
E-Mail : robbat2@g.o |
87 |
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 |