Gentoo Archives: gentoo-dev

From: R0b0t1 <r030t1@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH] introduce Prefix 17.0 profiles.
Date: Tue, 16 Jan 2018 05:23:09
Message-Id: CAAD4mYjg-21Z9GEC7r-+KW+r06yFfT_d6rZHrCRRbrDgztsg0A@mail.gmail.com
In Reply to: Re: [gentoo-dev] [PATCH] introduce Prefix 17.0 profiles. by Benda Xu
1 Hello, and my apologies for missing your message.
2
3 On Fri, Jan 12, 2018 at 1:59 AM, Benda Xu <heroxbd@g.o> wrote:
4 > Hi R0b0t1,
5 >
6 > R0b0t1 <r030t1@×××××.com> writes:
7 >
8 >> I don't want to just comment on naming, but:
9 >>
10 >> It might be more natural to go the other way. Split profiles off based
11 >> on version when breakage occurs, and otherwise do not reference a
12 >> specific version.
13 >>
14 >> Then, the name indicates the most recent kernel supported by the
15 >> profile. So remove the plus and (I think) shift all of the names
16 >> "forward."
17 >
18 >> So 2.6.16 becomes 2.6.32, and 2.6.32 becomes the next profile's name.
19 >>
20 >> This seems more natural but does change the semantics of the
21 >> name. Would that be a problem?
22 >
23 > Let's call this 'breakage-indicating scheme'. I have considered it, but
24 > finally I chose the original proposal:
25 >
26 > Consider one running kernel 3.8 with the newest profile, called
27 > 'prefix/kernel-3.2+' in the original proposal and 'prefix' in the
28 > breakage-indicating scheme. When glibc decides to break <kernel-3.10,
29 > in the breakage-indicating scheme, you will have to change the profile
30 > to 'prefix/kernel-3.10-older'.
31 >
32 > Consider otherwise one running kernel 4.9, you will not not need to
33 > switch profile 'prefix/kernel-3.2+' in the original proposal, although
34 > 'prefix/kernel-3.10+' will be a better profile.
35 >
36 > In either case, the original proposal does not force a profile switch
37 > when glibc breaks old kernel. Therefore I prefer it.
38 >
39
40 This makes sense. While I agree that minimizing breakage is a good
41 idea, I am not sure it should be favored over all alternatives.
42
43 >> Is it expected people would want to use the profiles with
44 >> compatibility features on newer kernels?
45 >
46 > One use case is that: I want to bootstrap on my new and powerful server
47 > a 'prefix/kernel-2.6.16+' on kernel 4.9, and then transfer the resulting
48 > Prefix to an aging RHEL 5. Bootstrapping a 'prefix/kernel-2.6.32-older'
49 > on kernel 4.9 feels awkward.
50 >
51 > But it is not about use cases, it is about logical consistancy: if we
52 > are not forbidden to run an old glibc on a new kernel, we should not
53 > indicate so in profile names.
54 >
55
56 I have seen similar choices made before, but this is the first time I
57 have seen a good case for the choice you selected. E.g.:
58
59 (Current.)
60 *============================>
61 *=====================>
62 *==============>
63 *=======>
64
65 vs.
66
67 (Usually seen.)
68 *======*
69 *======*
70 *======*
71 *=======>
72
73 vs.
74
75 (What it would actually mean for prefix.)
76 *======*--------------------->
77 *======*-------------->
78 *======*------->
79 *=======>
80
81 >> This setup would prevent having to verify that old code works on new
82 >> systems, which is implied to be supported.by the + naming (again, not
83 >> sure if it matters).
84 >
85 > It is always supported to run an old glibc version on a new kernel, the
86 > linux kernel is ABI-backwords compatible. There is no need to verify
87 > that. Besides, by always using the most recent
88 > sys-kernel/linux-headers, we are guaranteed with the newest kernel API.
89 >
90
91 It might be for the foreseeable future, but that might change. The
92 comment was more about the features exposed to glibc and the programs
93 installed via portage. It seems to me as the kernel and userland
94 progress, the older profile. Perhaps I am not explaining it well, my
95 apologies.
96
97 Cheers,
98 R0b0t1

Replies