Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Atom matching behavior
Date: Tue, 01 Aug 2006 02:37:14
Message-Id: 20060801023626.GF16589@seldon
In Reply to: Re: [gentoo-portage-dev] Atom matching behavior by Mike Frysinger
1 On Mon, Jul 31, 2006 at 10:11:06PM -0400, Mike Frysinger wrote:
2 > On Monday 31 July 2006 21:30, Brian Harring wrote:
3 > > On Mon, Jul 31, 2006 at 09:11:35PM -0400, Mike Frysinger wrote:
4 > > > On Monday 31 July 2006 18:48, Brian Harring wrote:
5 > > > > Should be discussed on -dev, not here imo;
6 > > >
7 > > > why ? short term we're gaining functionality:
8 > > > simply add .*
9 > >
10 > > 1) portage isn't the only package manager
11 >
12 > invalid reason
13
14 > until a spec exists. portage's behavior is the spec
15 >
16 > > 2) it's not a backwards compatible change
17 >
18 > so ? same way any new feature gets merged: support it now, dont use it till
19 > later
20
21 And EAPI exists to version those changes so they can be rolled out
22 _now_, not cross your finger for six months and hope nobody uses it
23 before then inadvertantly triggering some massive mess like bug 114798
24 (the infamous "sync ate itself due to virtual/*").
25
26 Brutal truth here is that once it's available, people *will* use it
27 sooner then when they're supposed to. Further, the realistic estimate
28 of deploying it, and sitting on it for 6 months *still* will lead to
29 people hitting it- this isn't some minor idiot cache change, this
30 is a change in dependency parsing- rooting out why a users portage
31 installation is selecting some later dep in a ||() block might be easy
32 for devs once they've seen it, but it ain't going to make sense to
33 users (gurantee even if a dev knows of the change, it's going to take
34 a bit for it to click also).
35
36 So... two potentials here.
37
38 1) Deploy it, and pretend that it'll be unused for 6 months. Users
39 hit weirdness that is fun to track down.
40
41 2) EAPI bump it. Portage tells you it can't play with that node, and
42 that you need to upgrade. Can use it _immediately_.
43
44 EAPI was added to specifically stop the practice of "eh... just shove
45 it in, we'll let it cook for a bit and hope people have upgraded by
46 when it gets used"- benefit is you get immediate access to the new
47 functionality, only con is that you have to flip one var in the
48 ebuild.
49 ~harring