Gentoo Archives: gentoo-dev

From: Georgi Georgiev <chutz@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] linux-info.eclass and $CONFIG_CHECK
Date: Wed, 21 Sep 2005 07:45:11
1 The linux-info.eclass is used by a few packages to check for appropriate
2 kernel configuration options.
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.
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.
22 And last, if all packages that inherit linux-info are going to die with
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
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.
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). )
41 I can only think of a couple of solution:
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.
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.
51 What do you people think the proper solution is?
53 --
54 ( Georgi Georgiev ( MSDOS is not dead, it just smells that way. (
55 ) chutz@×××.net ) -- Henry Spencer )
56 ( +81(90)2877-8845 ( (