Gentoo Archives: gentoo-dev

From: Michael Mol <mikemol@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: Why lastrite when it works? (Was: Re: [gentoo-dev] Packages up for grabs due to retirement)
Date: Fri, 06 Jan 2017 14:13:39
Message-Id: 1582748.5xYcdHSzCg@mal
In Reply to: Re: Why lastrite when it works? (Was: Re: [gentoo-dev] Packages up for grabs due to retirement) by Kent Fredric
1 On Friday, January 6, 2017 5:27:24 PM EST Kent Fredric wrote:
2 > On Tue, 3 Jan 2017 10:23:02 -0500
3 >
4 > Rich Freeman <rich0@g.o> wrote:
5 > > I tend to be firmly in the camp that a package shouldn't be removed
6 > > unless there is evidence of a serious bug (and that includes things
7 > > blocking other Gentoo packages).
8 >
9 > I would probably go further and extend that argument to older versions
10 > of packages, for similar reasons, at least in regards to older versions
11 > with specific and exclusive APIs.
12 >
13 > Our duty as maintainers is to protect our users from the mistakes
14 > upstream make as much as possible, not to protect ourselves as
15 > maintainers from having difficult challenges.
16 >
17 > But our duty here doesn't extend to protecting users from problems the
18 > user knows don't affect them.
19 >
20 > If for example, a media playback suite has a memory corruption bug when
21 > playing media of a certain type, making it unusable when playing that
22 > media, it does seem reasonable for us at first to kill that suite.
23 >
24 > However, if the user in question knows they're never going to play
25 > that certain type of media, and only uses that media suite for a narrow
26 > and specific kind of problem, then we're not serving them much utility,
27 > or much freedom of choice by ripping this tool out of their hands for a
28 > problem they'll never have.
29 >
30 > Maybe we need an intermediate option, where the sensible default when
31 > we discover this kind of error is to remove it, but provide a way to
32 > easily restore that package if the users are ok with it.
33 >
34 > Like, this is not my proposal, just an idea so you can see where I'm
35 > headed with thoughts:
36 >
37 > If packages had a field called "BUGS=" it could contain an array of
38 > bugs a package is known to contain, but can be conditionally avoided if
39 > you're careful.
40 >
41 > Packages with non-empty BUGS= fields would be treated as hard-masked
42 > for the purpose of repoman checks, and so packages that depend on
43 > specific version ranges of packages with BUGS= fields are invalid,
44 > and need their own BUGS= fields.
45 >
46 > Users get portage by default telling them "X package has to go away,
47 > because it has bug #145 , #1286234, and #123756"
48 >
49 > And if this is not satisfactory, they can override portage with
50 >
51 > ACCEPT_BUGS="145 1286234 123756"
52 >
53 > You could even have
54 >
55 > BUGS=" x86? ( 112345 )"
56 >
57 > This to me sounds like a more user-empowering approach.
58
59 I really like where this is going.
60
61 >
62 > The only questions to me are:
63 >
64 > - Do we have the resources to support this kind of strategy?
65
66 How much of the work can be automated? I.e. can bugs on bgo be tagged such
67 that a maintainer's script can scoop up the bugs and apply them, at least
68 naively? Being able to express something like "x86? (!mmx)" clearly in a bgo
69 ticket's metadata could well be useful, and would lend itself to something
70 like this.
71
72 The bigger resource drain, I suspect, will come from maintaining new ebuilds
73 of old packages; as eclass development and maintenance seeks to eliminate old
74 and buggy code, old ebuilds will need to be dragged along for the ride.
75
76 > - How much additional complexity and confusion will this introduce for
77 > users?
78
79 I think you'd want autounmask to not support applying changes for
80 automatically unmasking bugs. Apart from that, it shouldn't result in any
81 additional complexity or confusion for users who aren't deliberately holding
82 on to package versions that have known bugs. Most of the users I've seen who
83 would be faced with this functionality are the users who will run a gymnastics
84 course just to use a browser version that has an old, familiar interface.
85
86 > - Is that additional complexity and confusion something users want to
87 > indulge, or is our current feature set already too complex.
88
89 So long as it stays out of a user's way until the user needs it, I wouldn't
90 say it adds needless complexity from a user's perspective.
91
92 >
93 > That last one is pretty much the one that weighs most on my mind
94 > lately, with users frequently stumped by handling subslot upgrades
95 > and required-use conflicts.
96
97 Choosing to engage with this functionality sounds like very much an opt-in
98 experience for the user; the path of least resistance is to go ahead and
99 update (and that will generally provide the best-tested global configuration),
100 but if they wish to hold on to difficult configurations, they can at least do
101 that.
102
103 There is one other advantage to a system like this; it permits for a larger,
104 deeper tree, with old versions more frequently available. That'll significantly
105 assist the upgrade efforts of people who go ridiculous amounts of time between
106 @world updates, people who are dusting off stowed systems, etc.
107
108 >
109 > Granted, this is just yet-another alternative flavour of hard-masking
110 > things, so I'd rather we stick with careful use of hardmasks to inform
111 > users of problems they might face, allowing them to contravene the hard
112 > masks if they're feeling like they want to be adults.

Attachments

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

Replies

Subject Author
Re: Why lastrite when it works? (Was: Re: [gentoo-dev] Packages up for grabs due to retirement) "William L. Thomson Jr." <wlt-ml@××××××.com>