1 |
On Sun, Oct 2, 2016 at 6:00 PM, konsolebox <konsolebox@×××××.com> wrote: |
2 |
> On Sun, Oct 2, 2016 at 4:58 PM, Kent Fredric <kentnl@g.o> wrote: |
3 |
>> On Sun, 2 Oct 2016 16:03:11 +0800 |
4 |
>> konsolebox <konsolebox@×××××.com> wrote: |
5 |
>> |
6 |
>>> I actually don't like the idea of enabling or disabling |
7 |
>>> "installed-readline" based on the `${PV} != *_rc*` condition. If a |
8 |
>>> user would want to explicitly enable "installed-readline" globally, |
9 |
>>> how would he make sure that it only affects the release version of |
10 |
>>> bash? I suggest that we just don't entertain the flag (and not make |
11 |
>>> it available) if the ebuild is not targetting a release version, and |
12 |
>>> not use the readline installed by the system by default. No one would |
13 |
>>> need a non-release version of bash compiled against a system readline |
14 |
>>> anyway. |
15 |
>> |
16 |
>> That's not what that does. It doesn't enable or disable the mechanic, |
17 |
>> the code I offered only changes the default for _rc. |
18 |
>> |
19 |
>> That is, on _rc the default is "use bundled readline implementation", |
20 |
>> and on non_rc, the default is "use pre-existing readline |
21 |
>> implementation". |
22 |
>> |
23 |
>> if the user specifies an explicit |
24 |
>> |
25 |
>> USE="system-readline" |
26 |
>> |
27 |
>> in make.conf or /etc/portage/package.use, then this "default" gets |
28 |
>> overridden and the system readline implementation is always used. |
29 |
>> |
30 |
>> if the user speciifies an explicit |
31 |
>> |
32 |
>> USE="-system-readline" |
33 |
>> |
34 |
>> in make.conf or /etc/portage/package.use, then this "default" gets |
35 |
>> overriden and the inbuilt readline is awlays used. |
36 |
>> |
37 |
>> Explicitly defined configuration always trumps IUSE. The "+" prefix in |
38 |
>> IUSE only specifies that the USE flag defaults to on, as opposed to |
39 |
>> defaulting off. |
40 |
> |
41 |
> I understand those elementary stuff, but my point was about whether we |
42 |
> should allow the user to configure 'system-readline' on a non-release |
43 |
> version of bash (i.e. make the flag available for them to configure). |
44 |
> Your point is that instead of statically deciding whether we shouldn't |
45 |
> use `--with-installed-readline` through `${PV} != *_rc*`, we instead |
46 |
> base it on the flag, which means we allow the users to change the |
47 |
> behavior of -non-release- versions of bash, which is, compiling |
48 |
> against the bundled readline, to compiling against the system readline |
49 |
> instead. |
50 |
> |
51 |
> How would a user be able to apply a distinguishing global |
52 |
> configuration which would apply differently when the installing bash |
53 |
> version is a release version, and when it's not? You might say that |
54 |
> `system-readline` is enabled by default in a release version anyway, |
55 |
> so specifying `system-readline` explicitly is meaningless and should |
56 |
> only be done if you want to change the behavior of non-release |
57 |
> versions of bash. But that's not the point. It's about the |
58 |
> consistency. When we specify use flags in /etc/portage/make.conf, it |
59 |
> shouldn't depend on the current default "enability" of a package's use |
60 |
> flag. |
61 |
> |
62 |
> Also, do you think there could be a helpful case that one would |
63 |
> install a non-release version of bash that compiles against the system |
64 |
> readline? Perhaps if you're also brave enough to install an |
65 |
> pre-release version of readline to the system, there is. |
66 |
> |
67 |
> Again, I say that it's better that the 'installed-readline' flag or |
68 |
> 'system-readline' flag is only made available in the release versions |
69 |
> of bash. And we also don't want to make it a dummy where it is just |
70 |
> ignored and not excluded. |
71 |
|
72 |
I should also add that a dynamic "default" that varies depending on |
73 |
the version doesn't sound good to me. For one at least, it confuses |
74 |
the user. |
75 |
|
76 |
-- |
77 |
konsolebox |