1 |
On Mon, Aug 31, 2009 at 12:30:02AM +0100, Mike Auty wrote: |
2 |
> > Checking a configuration option, for non-module use: |
3 |
> > ---------------------------------------------------- |
4 |
> > 0. (optional) give an env var to make all checks non-fatal. |
5 |
> > 1. Use existing logic of .config from /usr/src/linux, KERNEL_DIR et al. |
6 |
> > 2. Fall back to /proc/config.gz if available. |
7 |
> Where 2 also issues a warning, presumably? I've had a think and can't |
8 |
> see any repercussions in changing the default behaviour, but I'm |
9 |
> assuming people would only generally hit 2 with virtual machines and/or |
10 |
> hardened servers. Can you see either of these suffering from defaulting |
11 |
> to the running kernel? Do you know of many circumstances where 2 might |
12 |
> get hit by normal users other than those situations? |
13 |
Yes, a warning with using /proc/config.gz. |
14 |
|
15 |
I missed a bit for the config option. |
16 |
If there is NO source of the config data, what do we do? |
17 |
Error out or more warnings? |
18 |
|
19 |
> Also (and potentially off-topic), if we're using linux-info to detect |
20 |
> kernel sources, whether installed or not, should we also check the tree |
21 |
> for ebuilds that require a package which PROVIDES="sources"? I |
22 |
> personally use a single git checkout, since I think (possibly |
23 |
> mistakenly, I honestly haven't checked) that it will leave different |
24 |
> checkouts of the kernel all over my /usr/src directory, whenever a new |
25 |
> version's emerged. I've had to create a fake-sources package to trick |
26 |
> ebuilds that need *some* sources installed, and I'm wondering if that |
27 |
> should be necessary? |
28 |
This is what I use for my home workstation: |
29 |
/etc/portage/profile/virtuals:virtual/linux-sources sys-kernel/git-sources |
30 |
/etc/portage/profile/virtuals:virtual/alsa sys-kernel/git-sources |
31 |
/etc/portage/profile/package.provided:sys-kernel/git-sources-2.6.30 |
32 |
|
33 |
Saves having any fake package like that. |
34 |
|
35 |
> > It's a one-liner to give an override making all checks non-fatal, with |
36 |
> > the downside that it can't differentiate why the checks are being made. |
37 |
> > So yes, in the case we should simply fix all of the ebuilds (after the |
38 |
> > kernel source check is fixed as well). |
39 |
> I'd definitely try and do things the right way, and a global override |
40 |
> (whilst easy) doesn't sound like it. Fixing all the ebuilds (and the |
41 |
> kernel source check) sounds like the way to go. |
42 |
Want to lend a hand fixing up the ebuilds then? I'll work on the eclass sources |
43 |
check. |
44 |
|
45 |
> > So I propose this as resolutions from the above: |
46 |
> > 1. USE=modules added to the base profile. |
47 |
> > 2. Every package that builds kernel modules must offer USE=modules, |
48 |
> > which can be used to disable building the kernel modules, leaving a |
49 |
> > pure userspace build of that package. |
50 |
> Yep, although if the changes are in linux-mod, then those packages that |
51 |
> *only* provide kernel modules will need a way to not present that use |
52 |
> flag (no point installing a package is USE="-modules" and nothing gets |
53 |
> installed). |
54 |
There IS still a point of having the entirely empty kernel package installed: |
55 |
- Split userspace/kernel packages where the userspace package has a dependency |
56 |
on the module-providing package. |
57 |
- other packages that might have a dependency on the module-providing package. |
58 |
- /etc/modprobe.d/ files. |
59 |
|
60 |
USE=-modules will ONLY block files installed to /lib/modules/. |
61 |
|
62 |
> Also, I'd assume +modules would be added as a default. |
63 |
I'm not sure we can get away with USE-defaults for this change, due to the |
64 |
amount of EAPI=0 stuff that will be changing, so it'll be in |
65 |
profiles/base/make.defaults instead. |
66 |
|
67 |
-- |
68 |
Robin Hugh Johnson |
69 |
Gentoo Linux: Developer, Trustee & Infrastructure Lead |
70 |
E-Mail : robbat2@g.o |
71 |
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 |