Gentoo Archives: gentoo-project

From: William Hubbs <williamh@g.o>
To: gentoo-project@l.g.o
Subject: Re: [gentoo-project] Call for agenda items - Council meeting 2016-08-14
Date: Thu, 04 Aug 2016 22:23:04
Message-Id: 20160804222234.GA8357@whubbs1.gaikai.biz
In Reply to: Re: [gentoo-project] Call for agenda items - Council meeting 2016-08-14 by Andrew Savchenko
1 On Thu, Aug 04, 2016 at 11:12:24PM +0300, Andrew Savchenko wrote:
2 > Hi all,
3 >
4 > On Thu, 4 Aug 2016 11:24:43 -0500 William Hubbs wrote:
5 > > I feel that our stable tree is so far behind on all
6 > > architectures that we are doing our stable users a disservice, so I
7 > > would like to open up a discussion here, and maybe some policy changes
8 > > at the next meeting.
9 >
10 > Thank you for caring about this issue. I had similar thoughts
11 > myself, but was too slow on writing e-mail :) IMO stable tree has
12 > three problems:
13 > 1) too old packages
14 > 2) too few packages
15 > 3) stabilization often takes too long, such stable packages are
16 > broken or buggy, while their unstable versions are fixed and work
17 > fine. (It is not possible to fix all bugs without version or
18 > revision bump, thus stabilization is needed to fix many bugs.)
19
20 "too few packages" doesn't really affect things much, I'm more
21 concerned about 1 and 3. If packages are not stable in the first place,
22 that is because the maintainer hasn't requested stabilization, and that
23 is a separate issue.
24
25 > > Ultimately, I think we need some form of automated stabilization, e.g.
26 > > if a package version sits in ~ for 30 days and there are no blockers at
27 > > that point, the new version should go automatically to stable on all
28 > > architectures where there is a previous stable version.
29 >
30 > Automation should be possible only after rigorous testing. If this
31 > will be implemented, than this may be done (as Brian pointed out in
32 > another mail in this thread, there is an ongoing effort on this
33 > matter as GSoC project, which is great). But I'd like to emphasize
34 > that automated stabilization without:
35 > a) build testing;
36 > b) run-time testing;
37 > c) fixing all serious open bugs affecting package being stabilized.
38 >
39 > Automation tests will definitely help here, but I'm not sure that
40 > packages can be fully tested without human intervention:
41 > - how to automatically test GUI app run-time?
42 > - how to determine which open bugs from bugzilla are serious enough
43 > to block stabilization, and which bugs shouldn't block the process?
44 >
45 > IMO automation can help with build tests, maybe limited run-time
46 > testing, but no more.
47
48 This is why there is a period for a package to be in ~ before it goes to
49 stable. All of this rigorous testing you are talking about should be
50 done by people who are running the ~ version of the package and bugs
51 should be reported. Automated stabilization just refers to checking to
52 see if there any bugs against the latest ~ version of a package that
53 should block stabilization, and if there are not, maybe doing a build
54 test then stabilizing.
55
56 >
57 > > The first issue is maintainers not filing stable requests for new
58 > > versions of packages in a timely manor. I'm not sure how to get around
59 > > this, but I feel that once a version of a package is stable, we are
60 > > doing a disservice to our stable users by not keeping stable as current
61 > > as possible. I am as bad as anyone; it is easy to forget to file
62 > > stable requests until someone pings me or files the request
63 > > themselves.
64 >
65 > We have another problem: arch teams often can't keep up with
66 > stabilization requests, they are hanging for months, I even have
67 > several bugs open for more than half a year. Storming arch teams
68 > with stabilization requests will make things even worse.
69
70 I'm not proposing storming the arch teams with stable requests, see
71 below.
72
73 > > I have heard other maintainers say specifically that they do not file
74 > > stable requests unless a user asks them to, but Again, I do not feel
75 > > comfortable with this arrangement if there is an old version of the
76 > > package in stable. Users shouldn't have to ask for newer versions to be
77 > > stabilized; this should be driven by the maintainers.
78 >
79 > I usually stabilize versions when they are too old or I have a user
80 > request. The idea is not to stabilize as often as unstable version
81 > is updated, since arch teams are unable to keep up even with
82 > request rate they have now.
83
84 My proposal is saying that if you have a version of a package in ~,
85 testing is being done, and at the end of the testing period (30 days at
86 most), that new version in ~ should move to stable if there are no
87 blockers. It would be up to you, the maintainer, or any users running
88 the ~ version, to test and file bugs that block stabilization. These
89 bugs could be detected automatically.
90
91 > > The second issue is slow arch teams. Again, by not moving packages from
92 > > ~ to stable, we are doing a disservice to our stable users.
93 >
94 > And here comes my idea. We need an approved policy of how to remove
95 > packages from stable (I'll name this procedure as "dekeywording"
96 > below). Right now we only have a mention in the devmanual, that arch
97 > teams must be informed via a bug [1] on dekeywording. But we have no
98 > determined time frame, nor policy about reverse dependencies.
99
100 We basically do. I don't have a link in front of me, but the council
101 did make a decision allowing the removal of packages from the stable
102 tree. It hasn't played out well though, because stable users expect
103 that once a package is in the stable tree it will stay there until a
104 newer version comes to the stable tree.
105
106 My proposal doesn't apply to all packages that are in ~, only to
107 packages that have a version in stable.
108
109 I'm suggesting that once a package has a version in stable, newer
110 versions need to be stabilized in a timely manor, e.g. 30 days at most
111 after they enter the tree once all of their dependencies are stable.
112
113 Here are the ways I would do this:
114
115 1. First, this assumes that all reverse dependencies of the package in
116 consideration are stable. It also assumes that the package in
117 consideration has an older version in stable.
118
119 2. if the package is all data files, or if it is written in an
120 interpreted language e.g. python, perl, etc., Once the testing period
121 has passed, the maintainer will be allowed to stabilize it on all arches
122 that have a stable version without a stable request.
123
124 2. For other packages , once the testing period is passed, a stable request
125 will be filed for the new version. Once
126 another 30 days has passed without a response from the arch teams, the
127 maintainer would be allowed to stabilize the new version on all arches
128 that have an older stable version.
129
130 This would satisfy the expectation that a package version in the stable
131 tree cannot be removed until there is a newer stable version.
132
133 William

Attachments

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

Replies