Gentoo Archives: gentoo-dev

From: konsolebox <konsolebox@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] bash-4.4 - call for testers
Date: Sun, 02 Oct 2016 10:01:33
Message-Id: CAJnmqwb_vZ2Ug5VL2UDZkv7DYFQpWQv8evLu75mDSpVmQHxMcA@mail.gmail.com
In Reply to: Re: [gentoo-dev] bash-4.4 - call for testers by Kent Fredric
1 On Sun, Oct 2, 2016 at 4:58 PM, Kent Fredric <kentnl@g.o> wrote:
2 > On Sun, 2 Oct 2016 16:03:11 +0800
3 > konsolebox <konsolebox@×××××.com> wrote:
4 >
5 >> I actually don't like the idea of enabling or disabling
6 >> "installed-readline" based on the `${PV} != *_rc*` condition. If a
7 >> user would want to explicitly enable "installed-readline" globally,
8 >> how would he make sure that it only affects the release version of
9 >> bash? I suggest that we just don't entertain the flag (and not make
10 >> it available) if the ebuild is not targetting a release version, and
11 >> not use the readline installed by the system by default. No one would
12 >> need a non-release version of bash compiled against a system readline
13 >> anyway.
14 >
15 > That's not what that does. It doesn't enable or disable the mechanic,
16 > the code I offered only changes the default for _rc.
17 >
18 > That is, on _rc the default is "use bundled readline implementation",
19 > and on non_rc, the default is "use pre-existing readline
20 > implementation".
21 >
22 > if the user specifies an explicit
23 >
24 > USE="system-readline"
25 >
26 > in make.conf or /etc/portage/package.use, then this "default" gets
27 > overridden and the system readline implementation is always used.
28 >
29 > if the user speciifies an explicit
30 >
31 > USE="-system-readline"
32 >
33 > in make.conf or /etc/portage/package.use, then this "default" gets
34 > overriden and the inbuilt readline is awlays used.
35 >
36 > Explicitly defined configuration always trumps IUSE. The "+" prefix in
37 > IUSE only specifies that the USE flag defaults to on, as opposed to
38 > defaulting off.
39
40 I understand those elementary stuff, but my point was about whether we
41 should allow the user to configure 'system-readline' on a non-release
42 version of bash (i.e. make the flag available for them to configure).
43 Your point is that instead of statically deciding whether we shouldn't
44 use `--with-installed-readline` through `${PV} != *_rc*`, we instead
45 base it on the flag, which means we allow the users to change the
46 behavior of -non-release- versions of bash, which is, compiling
47 against the bundled readline, to compiling against the system readline
48 instead.
49
50 How would a user be able to apply a distinguishing global
51 configuration which would apply differently when the installing bash
52 version is a release version, and when it's not? You might say that
53 `system-readline` is enabled by default in a release version anyway,
54 so specifying `system-readline` explicitly is meaningless and should
55 only be done if you want to change the behavior of non-release
56 versions of bash. But that's not the point. It's about the
57 consistency. When we specify use flags in /etc/portage/make.conf, it
58 shouldn't depend on the current default "enability" of a package's use
59 flag.
60
61 Also, do you think there could be a helpful case that one would
62 install a non-release version of bash that compiles against the system
63 readline? Perhaps if you're also brave enough to install an
64 pre-release version of readline to the system, there is.
65
66 Again, I say that it's better that the 'installed-readline' flag or
67 'system-readline' flag is only made available in the release versions
68 of bash. And we also don't want to make it a dummy where it is just
69 ignored and not excluded.
70
71 >> I also thought using 'system-' prefix is confusing. Does that mean
72 >> the system of the machine, or the system of the application? In
73 >> firefox, I once thought that system-* means packages bundled within
74 >> it. Perhaps I misread, or perhaps it was changed. At that time,
75 >> descriptions of use flags were not widely provided yet so I could only
76 >> guess it based on how I built the packages.
77 >
78 > The system of the machine. As in, "Operating System". Always.
79 > "system-foo" usually means "foo is bundled, and toggling this flag
80 > toggles between using the bundled foo, or the system foo.
81
82 Yes, but I'm not talking about how it is now. But nevermind.
83
84 >> But I don't really mind which one is used. I also just thought
85 >> 'installed-readline' is better since it configures
86 >> `--with-installed-readline`, so one can simply have `$(use_enable
87 >> installed-readline)` if applicable.
88 >
89 > 'use_enable' takes a USE flag and a configure token anyway.
90 >
91 > So:
92 >
93 > $(use_enable system-readline installed-readline)
94 >
95 > is equivalent to:
96 >
97 > use system-readline && myconf+=" --enable-installed-readline"
98
99 I know, but like I said, "simply". `installed-readline` is just more
100 relative. But I don't really care whatever gets used.
101
102 --
103 konsolebox

Replies

Subject Author
Re: [gentoo-dev] bash-4.4 - call for testers konsolebox <konsolebox@×××××.com>