From: Stuart Herbert <stuart@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] GLEP 26 -- Handling kernels with portage
Date: Mon, 3 May 2004 17:36:33 +0100 [thread overview]
Message-ID: <200405031736.38770.stuart@gentoo.org> (raw)
In-Reply-To: <1083597323.28957.93.camel@aquinas.natemccallum.com>
[-- Attachment #1: Type: text/plain, Size: 9107 bytes --]
On Monday 03 May 2004 16:15, Nathaniel McCallum wrote:
> Most of your questions below have already been answered in previous
> emails. But we'll do it again.
> > If genkernel is broken - why not redo^H^H^Hfix genkernel instead?
>
> Why fix a build system that isn't part of portage when it could be,
> fairly easily integrated with portage.
> As I mentioned before, I left this fairly ambiguous on purpose.
> GentooInstaller will create a solution for this. And if people like it,
> we can use it system-wide.
Until you address this ambiguity, I don't think this GLEP is safe to approve.
> This is no more "risk" than the current genkernel solution.
Yes there is. genkernel isn't the default way of installing a kernel. In
your emails and in your GLEP, you are stating that your proposal will become
default behaviour. That alone increases risk substantially.
> Besides,
> you can either just make your own custom config or just trigger the use
> flag "-buildkernel" and do it the old fashioned way (you can even still
> use genkernel if you want). We are talking about 100% backwards
> compatability. I'm not removing anyone's choice.
It's not the choice I'm looking at. It's the technical merits of your
proposal.
> This will be dealt with in the same fashion as every other package in
> gentoo.
> If you re-install it, it re-builds it and replaces the old
> kernel.
Unless I'm missing something here, isn't that going to leave a machine in an
unbootable condition - seeing as you haven't designed a solution for updating
the bootloader yet?
> emerge -C removes the kernel. Its that simple.
What happens if the kernel being removed is the kernel that is currently
booted?
> Before you
> complain that we should be able to have 2 kernels from the same tree,
> currently, genkernel doesn't support this without manually copying
> files. So this GLEP does not take functionality away that exists with
> genkernel.
I don't care about genkernel ;-) You started off your reply to me by saying
that genkernel is only fit for the scrapheap - and now you're justifying your
design by saying "well, it's just the same as genkernel"?
> If you want 2 kernels from the same tree, trigger the
> "-buildkernel" use flag and just do it the old fashioned way. > Or you
> can also "emerge kernel" then manually move the files, then "emerge
> kernel" again, which would give you the desired results. Either way
> this is the same exact functionality of genkernel.
Any well-configured Linux box has at least two kernels in the grub/lilo boot
menu - and you'll often see advanced users keep a third entry in there.
That's one entry for the new kernel, one entry for the last kernel (in case
the new one didn't work), and one entry for a fallback kernel in case the
first two get hosed up somehow. These scheme was even supported directly by
the kernel's 'make bzlilo' target, which would move kernels from the first
slot to the second for you.
It would seem prudent (and good for our users) for any new default
kernel-building solution to support such a scheme.
You haven't addressed 'emerge -u' at all in your reply.
> I have several revisions for the GLEP already, I'll try to put them all
> in.
> I answered this in another email. All we are tracking is the config
> files themselves. Users benefit by knowing when we make changes to
> kernel config files. That is all I'm saying.
How do users benefit? Seriously - I've no idea. I've got four x86 machines
in the house running Linux right now, and they all have unique kernel configs
to support the differences in hardware. I have trouble visualising how a
'one config fits all' approach is going to work.
> Thats cause this is an initial draft. However, it will be an external
> app. You would call it manually, not as part of an ebuild/eclass. The
> program is only needed if you don't want to use/can't use the supplied
> generic kernel config.
I don't understand how that will work. if 'emerge <kernel-of-your-choice>'
downloads, compiles, and installs your kernel automagically - all from the
one command - where does the user get to run the external app? Is the user
going to run it before the kernel has been downloaded? Is the user going to
run the app after the kernel is installed? There doesn't seem to be the
possibility of the user running the app in between those two.
> > The GLEP says that Stage 2 is not optional - but then goes on to say that
> > this stage can be skipped by USE=-buildkernel. This part of the
> > Specification is broken.
>
> It is not optional. In stage 2 you either have to build the kernel
> ("buildkernel") or install sources ("-buildkernel"). Either way, you
> still have to do stage 2.
I think your specification could be improved to make this clear and precise.
> The Stage 1 config app would provide for this. Also, the Stage 1 app
> *DOES* configure the kernel the traditional way. All it does is make
> sure kernel configs get copied to the right place.
That needs adding to the specification.
> > There's no justification given for creating this kernel tarball. The
> > specification does not state where this tarball will be stored, or how it
> > will be removed from the system when no longer required.
>
> I'm not sure what you mean by "kernel tarball".
That's because your specification is vague on what will go into the tarball it
says will be created in Stage 3.
> If you mean the
> kernel-headers tarball, it gets removed if you do a emerge -C on the
> kernel. It should probably be stored in /usr/src/.
Are you sure that keeping just the kernel headers is sufficient? Have you
performed tests to validate that you don't need any other files from the
kernel in order to compile all of the third-party kernel modules currently in
Portage?
> What happens if there is a security bug in a kernel (as there have been
> about 6 this year)? genkernel can't notify you and portage can only
> upgrade your sources if you even used the sources from portage. However
> in this GLEP system, "emerge --security" (when it gets implimented)
> would see a problem with your kernel, upgrade to the non-buggy kernel,
> build it, install it, and remove the old one (or warn you to remove it,
> whichever you prefer).
That is a good justification - you should add it to your GLEP.
> You mean warpzero and I and the members of the kernel team we spoke
> with. <sarcasm> We all know how the kernel team knows nothing about
> kernels. </sarcasm>
Do I mean you and Warpzero? Yes, because your names are on the document as
authors. But you haven't run this past johnm yet, and when it comes to
kernel stuff him and gregkh are the two I'd put most faith in - and you've
already seen Greg's response to your proposal ;-)
> I agree with this. This was my first GLEP and as such, I missed some of
> the finer points.
I think your aim's a bit further off than that ;-)
> However, its just a Proposal. And if devs get this
> much negative "your idea can't work" criticism from a simple GLEP, how
> do you think a Gentoo user would ever feel comfortable filing a GLEP
> (which is what they were intended for!).
I think any submitted proposal needs to be able to stand up to rigorous
technical scrutiny. If the idea has merit, or a groundswell of support, then
the proposal will be the better for it. If the idea is weak, flawed, or
substantially incomplete - it's important we catch these things now before
it's our users catching the results ;-)
A commonly-taught method of evaluating any proposal is de Bono's hats - where
you look at a proposal from a specific viewpoint. Look it up, and you'll see
where I'm coming from.
> In the same way as not bashing a user for contributing an ebuild
> (remember, they could be a future contributer to Gentoo), we should,
> when faced with a GLEP, stop and think if there is anything posative
> about it, then try to come up with working scenarios. Remember, devs
> are contributers to Gentoo.
Yes they are. And you're right - anyone should be able to put forward a GLEP
without fear.
> Thats also fine with me. I don't want the GLEP approved right away, I
> just wanted it to be a sounding board for discussion to develop a good
> prototype. Isn't that what a GLEP is for?
Maybe it would help if that discussion happened first, and the results were
written up into a GLEP for approval. That's happened in the past, and seems
a successful model to reproduce.
Best regards,
Stu
--
Stuart Herbert stuart@gentoo.org
Gentoo Developer http://www.gentoo.org/
Missed the php|cruise? http://dev.gentoo.org/~stuart/cruise-2004/
GnuPG key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C
--
[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-05-03 16:22 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-03 2:04 [gentoo-dev] GLEP 26 -- Handling kernels with portage Nathaniel McCallum
2004-05-03 2:45 ` [gentoo-dev] Re: [gentoo-core] " Greg KH
2004-05-03 2:54 ` Nathaniel McCallum
2004-05-03 3:06 ` [gentoo-dev] " Greg KH
2004-05-03 3:18 ` [gentoo-dev] Re: [gentoo-core] " Nathaniel McCallum
2004-05-03 3:32 ` [gentoo-dev] " Greg KH
2004-05-03 3:39 ` [gentoo-dev] Re: [gentoo-core] " Nathaniel McCallum
2004-05-03 17:17 ` Greg KH
2004-05-03 17:36 ` Nathaniel McCallum
2004-05-06 11:31 ` Duncan
2004-05-06 12:22 ` John Nilsson
2004-05-03 2:56 ` [gentoo-dev] Re: [gentoo-core] " Nathaniel McCallum
2004-05-03 3:56 ` [gentoo-dev] " Greg KH
2004-05-03 4:29 ` [gentoo-dev] Re: [gentoo-core] " Nathaniel McCallum
2004-05-03 5:40 ` John Nilsson
2004-05-03 6:04 ` Nathaniel McCallum
2004-05-03 10:12 ` Stuart Herbert
2004-05-03 10:18 ` Todd Berman
2004-05-03 11:18 ` Stuart Herbert
2004-05-03 12:12 ` Patrick Börjesson
2004-05-03 14:51 ` Andrew Gaffney
2004-05-03 15:20 ` Nathaniel McCallum
2004-05-03 15:16 ` Nathaniel McCallum
2004-05-03 16:22 ` Greg KH
2004-05-05 16:33 ` John Mylchreest
2004-05-05 16:43 ` Ciaran McCreesh
[not found] ` <20040502222039.45139edd@traam-ii>
2004-05-03 22:02 ` [gentoo-dev] " Greg KH
2004-05-03 8:57 ` [gentoo-dev] " Ciaran McCreesh
2004-05-03 14:46 ` [gentoo-dev] Re: [gentoo-core] " Nathaniel McCallum
2004-05-03 10:09 ` Stuart Herbert
2004-05-03 15:15 ` Nathaniel McCallum
2004-05-03 16:36 ` Stuart Herbert [this message]
2004-05-03 22:48 ` John Nilsson
2004-05-05 1:16 ` N. Owen Gunden
2004-05-05 1:42 ` John Nilsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200405031736.38770.stuart@gentoo.org \
--to=stuart@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox