1 |
The linux-info.eclass is used by a few packages to check for appropriate |
2 |
kernel configuration options. |
3 |
|
4 |
Now, packages that install kernel modules, i.e. packages that inherit |
5 |
linux-mod.eclass are right to check for those options in pkg_setup and |
6 |
abort unless these are available. After all, these packages are most |
7 |
often unable to even compile properly without them and they merge |
8 |
against a particular kernel version. They also require a remerge when |
9 |
the kernel is changed -- all reasonable. |
10 |
|
11 |
However, I have a problem with these checks in packages that inherit |
12 |
linux-info.eclass. With net-dialup/ppp in particular, though there are |
13 |
others -- cpufreqd for example. So, "emerge ppp" checks if I have |
14 |
CONFIG_PPP and dies unless this is the case (fact is, the eclass dies |
15 |
after being unable to find the kernel sources). Naturally the quesiton |
16 |
WHY comes. ppp does not require recompilation when the kernel changes. |
17 |
And in my particular case, where I am building binary packages in a |
18 |
chroot on a completely different machine this check is absolutely |
19 |
unnecessary. In fact, I have nothing in "world" in that chroot that has |
20 |
a dependency on the kernel sources. |
21 |
|
22 |
And last, if all packages that inherit linux-info are going to die with |
23 |
|
24 |
* Determining the location of the kernel source code |
25 |
* Unable to find kernel sources at /usr/src/linux |
26 |
* This package requires Linux sources. |
27 |
* Please make sure that /usr/src/linux points at your running kernel, |
28 |
* (or the kernel you wish to build against). |
29 |
* Alternatively, set the KERNEL_DIR environment variable to the kernel sources location |
30 |
|
31 |
then the least they can do is depend on virutal/linux-sources so I can |
32 |
see it coming ahead of time. Of course, I'd then bitch about packages |
33 |
having an unnecessary dependency on the sources, as they do in fact |
34 |
compile and merge just fine. |
35 |
|
36 |
( Shouldn't the BSD teams also care about this? As it is, portage cannot |
37 |
merge ppp on a *BSD, even though it appears to be supported by the |
38 |
package itself (well, it needs to patch the BSD kernel, so I guess |
39 |
nobody would ever try to do it... not a good argument). ) |
40 |
|
41 |
I can only think of a couple of solution: |
42 |
|
43 |
- Remove these unnecessary checks completely: Follow the example of all |
44 |
other distributions and do not depend on anything kernel-ish for such |
45 |
packages. A recompilation of the kernel with different options can |
46 |
easily cause what the checks are trying to avoid anyway. |
47 |
|
48 |
- Make the checks in linux-info non-fatal. I.e., don't die but issue |
49 |
warnings instead. That's the *least* that I'd be happy with. |
50 |
|
51 |
What do you people think the proper solution is? |
52 |
|
53 |
-- |
54 |
( Georgi Georgiev ( MSDOS is not dead, it just smells that way. ( |
55 |
) chutz@×××.net ) -- Henry Spencer ) |
56 |
( +81(90)2877-8845 ( ( |