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 |