Gentoo Archives: gentoo-dev

From: "Paweł Hajdan
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: stabilizing libraries without testing reverse deps
Date: Mon, 30 Sep 2013 15:40:46
Message-Id: 52499B73.7070408@gentoo.org
In Reply to: [gentoo-dev] Re: stabilizing libraries without testing reverse deps by Agostino Sarubbo
1 On 9/29/13 11:14 PM, Agostino Sarubbo wrote:
2 > If you look at the policy, it says to test few rdeps.
3
4 And I think this is right. If you'd like things to be done in a
5 different way, discussing them is OK, but "unilaterally" just skipping
6 that is not OK.
7
8 > The arch tester is in charge to test the packages on his architecture.
9 > These type of failures are _not_ architecture dependant.
10
11 It depends. It certainly can be package-version-dependent, and this can
12 vary by arch, even between x86 and amd64.
13
14 > So, instead of have 10 ATs that are testing the same rdeps, seems logic
15 > that the maintainer could do it one time.
16 >
17 > What do you think?
18
19 It's not always the maintainer who files the stabilization bug. It can
20 be a user, or it can be me using automated scripts (which for the first
21 bug submission ask for maintainer's OK).
22
23 One possible option is for arch teams to refuse to do stabilization bugs
24 not explicitly approved by maintainers. If everybody agrees that such
25 approval also means testing reverse dependencies, it may be a move in
26 direction you're saying.
27
28 Now you've used an argument of scale: 10 ATs doing the "same thing"
29 (which btw I rarely see so many AT reports in one bug) vs. just 1
30 maintainer doing that.
31
32 I think that's a too local view. When you take the whole stabilization
33 queue into account (at least 80-120 bugs, below that it's not worth it
34 to me) you can save a lot of time through batching. Here's how:
35
36 1. On a fully stable system (even before testing packages to be
37 stabilized) emerge the reverse dependencies to make sure they currently
38 work (sometimes they're already broken in the stable tree, and some
39 packages to be stabilized actually fix these breakages). This can easily
40 take an overnight emerge, so it's good to put as many packages there as
41 possible to use that time effectively (and emerge's --keep-going option
42 is very helpful).
43
44 2. Emerge the packages to be tested. Usually another overnight emerge.
45
46 3. revdep-rebuild and all usual actions after updating the system.
47
48 4. Explicitly re-emerge the reverse dependencies again and compare the
49 results with run from (1). This would usually also take a long time on
50 my machine, so it's good to batch as many packages as possible. File
51 bugs for any regressions and do not stabilize packages introducing the
52 breakages.
53
54 As you see, the arch team member can do the all ~100 packages in about
55 3-4 days, and most of the process doesn't require human input. Most of
56 the time is spent reviewing the bugs (I have a script for that called
57 bugzilla-viewer.py which also displays related bugs and repoman output)
58 and reviewing the error messages for packages to be tested and reverse
59 dependencies. This is more effective the more packages you have, so arch
60 team member has a great advantage here being able to batch ~100 packages
61 instead of asking several maintainers to do their tests.
62
63 Of course it's good when maintainers also do their own testing in
64 stable, but I wouldn't block stabilization on that. IMHO instead of
65 trying to put the blame/duty on either maintainers or arch teams, the
66 right question to ask is what's the best process to do stabilizations well.
67
68 Paweł

Attachments

File name MIME type
signature.asc application/pgp-signature