On Sun, Oct 2, 2016 at 6:00 PM, konsolebox <konsole...@gmail.com> wrote:
> On Sun, Oct 2, 2016 at 4:58 PM, Kent Fredric <ken...@gentoo.org> wrote:
>> On Sun, 2 Oct 2016 16:03:11 +0800
>> konsolebox <konsole...@gmail.com> wrote:
>>
>>> I actually don't like the idea of enabling or disabling
>>> "installed-readline" based on the `${PV} != *_rc*` condition.  If a
>>> user would want to explicitly enable "installed-readline" globally,
>>> how would he make sure that it only affects the release version of
>>> bash?  I suggest that we just don't entertain the flag (and not make
>>> it available) if the ebuild is not targetting a release version, and
>>> not use the readline installed by the system by default.  No one would
>>> need a non-release version of bash compiled against a system readline
>>> anyway.
>>
>> That's not what that does.  It doesn't enable or disable the mechanic,
>> the code I offered only changes the default for _rc.
>>
>> That is, on _rc the default is "use bundled readline implementation",
>> and on non_rc, the default is "use pre-existing readline
>> implementation".
>>
>> if the user specifies an explicit
>>
>>     USE="system-readline"
>>
>> in make.conf or /etc/portage/package.use, then this "default" gets
>> overridden and the system readline implementation is always used.
>>
>> if the user speciifies an explicit
>>
>>     USE="-system-readline"
>>
>> in make.conf or /etc/portage/package.use, then this "default" gets
>> overriden and the inbuilt readline is awlays used.
>>
>> Explicitly defined configuration always trumps IUSE. The "+" prefix in
>> IUSE only specifies that the USE flag defaults to on, as opposed to
>> defaulting off.
>
> I understand those elementary stuff, but my point was about whether we
> should allow the user to configure 'system-readline' on a non-release
> version of bash (i.e. make the flag available for them to configure).
> Your point is that instead of statically deciding whether we shouldn't
> use `--with-installed-readline` through `${PV} != *_rc*`, we instead
> base it on the flag, which means we allow the users to change the
> behavior of -non-release- versions of bash, which is, compiling
> against the bundled readline, to compiling against the system readline
> instead.
>
> How would a user be able to apply a distinguishing global
> configuration which would apply differently when the installing bash
> version is a release version, and when it's not?  You might say that
> `system-readline` is enabled by default in a release version anyway,
> so specifying `system-readline` explicitly is meaningless and should
> only be done if you want to change the behavior of non-release
> versions of bash.  But that's not the point.  It's about the
> consistency.  When we specify use flags in /etc/portage/make.conf, it
> shouldn't depend on the current default "enability" of a package's use
> flag.
>
> Also, do you think there could be a helpful case that one would
> install a non-release version of bash that compiles against the system
> readline?  Perhaps if you're also brave enough to install an
> pre-release version of readline to the system, there is.
>
> Again, I say that it's better that the 'installed-readline' flag or
> 'system-readline' flag is only made available in the release versions
> of bash.  And we also don't want to make it a dummy where it is just
> ignored and not excluded.

I should also add that a dynamic "default" that varies depending on
the version doesn't sound good to me. For one at least, it confuses
the user.

-- 
konsolebox

Reply via email to