Gentoo Archives: gentoo-dev

From: Nathaniel McCallum <npmccallum@g.o>
To: stuart@g.o
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] GLEP 26 -- Handling kernels with portage
Date: Mon, 03 May 2004 15:17:22
Message-Id: 1083597323.28957.93.camel@aquinas.natemccallum.com
In Reply to: Re: [gentoo-dev] GLEP 26 -- Handling kernels with portage by Stuart Herbert
1 On Mon, 2004-05-03 at 11:09 +0100, Stuart Herbert wrote:
2 > On Monday 03 May 2004 03:04, Nathaniel McCallum wrote:
3 > > The new glep is here: http://www.gentoo.org/proj/en/glep/glep-0026.html
4 > >
5 > > Nathaniel
6 >
7 > Hi Nathaniel,
8 >
9 > I'm trying to understand the problem that this GLEP is trying to solve. To be
10 > honest, the current wording comes across more like a solution looking for a
11 > problem.
12
13 Most of your questions below have already been answered in previous
14 emails. But we'll do it again.
15
16 >
17 > If genkernel is broken - why not redo^H^H^Hfix genkernel instead?
18
19 Why fix a build system that isn't part of portage when it could be,
20 fairly easily integrated with portage.
21
22 > Your GLEP totally fails to address how your binary kernel image is going to
23 > end up in the lilo/grub boot menu. It also fails to address dealing
24 > with /boot filesystems.
25
26 As I mentioned before, I left this fairly ambiguous on purpose.
27 GentooInstaller will create a solution for this. And if people like it,
28 we can use it system-wide.
29
30 >
31 > It doesn't address how you're going to manage any risks that this process will
32 > introduce. For example, there must be a significant risk that your 'generic'
33 > kernel config will build a kernel that renders the user's machine unbootable.
34
35 This is no more "risk" than the current genkernel solution. Besides,
36 you can either just make your own custom config or just trigger the use
37 flag "-buildkernel" and do it the old fashioned way (you can even still
38 use genkernel if you want). We are talking about 100% backwards
39 compatability. I'm not removing anyone's choice.
40
41 > One of the justifications for doing this work is "2. More consistent with the
42 > rest of portage". However, your GLEP doesn't fully define how the initial
43 > install will work - and it completely fails to address how emerge -u and
44 > emerge -C will be delt with. It also doesn't address how re-installing the
45 > same version of the kernel will be handled.
46
47 This will be dealt with in the same fashion as every other package in
48 gentoo. If you re-install it, it re-builds it and replaces the old
49 kernel. emerge -C removes the kernel. Its that simple. Before you
50 complain that we should be able to have 2 kernels from the same tree,
51 currently, genkernel doesn't support this without manually copying
52 files. So this GLEP does not take functionality away that exists with
53 genkernel. If you want 2 kernels from the same tree, trigger the
54 "-buildkernel" use flag and just do it the old fashioned way. Or you
55 can also "emerge kernel" then manually move the files, then "emerge
56 kernel" again, which would give you the desired results. Either way
57 this is the same exact functionality of genkernel.
58
59
60 > I've just been through this with
61 > GLEP 11, and based on my experience I'd recommend that your GLEP is not
62 > approved until you've credibly addressed these areas. That's nothing against
63 > your proposal in particular - I think it should be a standard point in the
64 > GLEP reviewing process.
65
66 I have several revisions for the GLEP already, I'll try to put them all
67 in.
68
69 >
70 > I completely fail to understand your Rationale 7. What does a generic kernel
71 > config file allow you to version track better? What are you version
72 > tracking? The config itself? Who will benefit from that, and how?
73
74 I answered this in another email. All we are tracking is the config
75 files themselves. Users benefit by knowing when we make changes to
76 kernel config files. That is all I'm saying.
77
78 > Your GLEP doesn't specify how the utility described in stage 1 will be
79 > executed. Will it be called from the eclass? If so, what USE flag will be
80 > used to make it optional? There's no description of how this utility would
81 > work.
82
83 Thats cause this is an initial draft. However, it will be an external
84 app. You would call it manually, not as part of an ebuild/eclass. The
85 program is only needed if you don't want to use/can't use the supplied
86 generic kernel config.
87
88 >
89 > The GLEP says that Stage 2 is not optional - but then goes on to say that this
90 > stage can be skipped by USE=-buildkernel. This part of the Specification is
91 > broken.
92
93 It is not optional. In stage 2 you either have to build the kernel
94 ("buildkernel") or install sources ("-buildkernel"). Either way, you
95 still have to do stage 2.
96
97 >
98 > There's no provision in the GLEP for your Stage 2 to pick up existing custom
99 > settings created outside of the utility mentioned in Stage 1 (ie, a kernel
100 > configured the traditional way).
101
102 The Stage 1 config app would provide for this. Also, the Stage 1 app
103 *DOES* configure the kernel the traditional way. All it does is make
104 sure kernel configs get copied to the right place.
105
106 > There's no justification given for creating this kernel tarball. The
107 > specification does not state where this tarball will be stored, or how it
108 > will be removed from the system when no longer required.
109
110 I'm not sure what you mean by "kernel tarball". If you mean the
111 kernel-headers tarball, it gets removed if you do a emerge -C on the
112 kernel. It should probably be stored in /usr/src/.
113
114 > I don't think your main case for GLEP 26 is well-argued. Actually, I don't
115 > think you've put up any argument at all. For a start, there are *three*
116 > build systems - not two. You forgot the kernel's own build system. Are you
117 > planning on replacing that too? You haven't made the case for why Portage
118 > and genkernel are competing. You haven't made the case for why any
119 > competition in this area is necessarily bad.
120
121 What happens if there is a security bug in a kernel (as there have been
122 about 6 this year)? genkernel can't notify you and portage can only
123 upgrade your sources if you even used the sources from portage. However
124 in this GLEP system, "emerge --security" (when it gets implimented)
125 would see a problem with your kernel, upgrade to the non-buggy kernel,
126 build it, install it, and remove the old one (or warn you to remove it,
127 whichever you prefer).
128
129 According to your definition of "build system" every package in portage
130 has a build system. Perhaps I should qualify a "meta-build" system.
131
132 > Why would it be good for backwards-compatibility to have your stage 1 utility
133 > called genkernel? Surely the functionality of the two is so different that
134 > it would mislead and confuse the very users this process is trying to help?
135
136 I've already rethought this point.
137
138 > I think the authors of this GLEP, and those they have taken advice from, have
139 > seriously underestimated the complexity that this proposal requires, and at
140 > this stage have a proposal that is either badly thought out, badly documented
141 > - or both.
142
143 You mean warpzero and I and the members of the kernel team we spoke
144 with. <sarcasm> We all know how the kernel team knows nothing about
145 kernels. </sarcasm>
146
147 > I think this GLEP needs significant revision before it's worth serious
148 > consideration.
149
150 I agree with this. This was my first GLEP and as such, I missed some of
151 the finer points. However, its just a Proposal. And if devs get this
152 much negative "your idea can't work" criticism from a simple GLEP, how
153 do you think a Gentoo user would ever feel comfortable filing a GLEP
154 (which is what they were intended for!).
155
156 In the same way as not bashing a user for contributing an ebuild
157 (remember, they could be a future contributer to Gentoo), we should,
158 when faced with a GLEP, stop and think if there is anything posative
159 about it, then try to come up with working scenarios. Remember, devs
160 are contributers to Gentoo.
161
162 > Also, because of the unique nature of the kernel, I think we
163 > should insist on a working prototype that demonstrates how the process will
164 > work before the GLEP is approved.
165
166 Thats also fine with me. I don't want the GLEP approved right away, I
167 just wanted it to be a sounding board for discussion to develop a good
168 prototype. Isn't that what a GLEP is for?
169
170 Nathaniel
171
172
173 --
174 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] GLEP 26 -- Handling kernels with portage Stuart Herbert <stuart@g.o>