1 |
Il 22/01/2013 04:38, Robin H. Johnson ha scritto: |
2 |
> I'm raising this patch because of the recent spate of bugs with the |
3 |
> latest udev that now fails to boot your system if CONFIG_DEVTMPFS is |
4 |
> not available in your kernel. |
5 |
> |
6 |
> Bugs: 408947, 409393, 437320, 453074 |
7 |
> |
8 |
> CONFIG_CHECK has not been fatal for some years now, because there turned |
9 |
> out to be some cases where it cannot detect what the system really has |
10 |
> [1], or what is returned is wrong [2]. |
11 |
> |
12 |
> However, while this is has been superb in helping those corner-cases, |
13 |
> the fallout is that users frequently ignore the non-fatal warnings that |
14 |
> a configuration option is needed to run a binary later, and end up with |
15 |
> weird breakage. |
16 |
> |
17 |
> This patch introduces a new option, CONFIG_CHECK_FATAL, defaulting to |
18 |
> enabled, that explicitly causes a die if: |
19 |
> - CONFIG_CHECK cannot be performed successfully. |
20 |
> - Any CONFIG_CHECK options fail. |
21 |
> |
22 |
> For the aforementioned corner cases, those environments are used to |
23 |
> customizing their make.conf heavily, and they should add: |
24 |
> CONFIG_CHECK_FATAL=0 |
25 |
> |
26 |
> This patch does NOT change the handling of ~/tilde in CONFIG_CHECK |
27 |
> - options that are required at compile-time MUST NOT use ~/tilde. |
28 |
> - options that are only required at run-time MUST include the ~/tilde. |
29 |
> |
30 |
> Footnotes: |
31 |
> 1. If you are using a VM environment, where the kernel is provided |
32 |
> outside of your VM, and you don't have kernel sources, or |
33 |
> /proc/config.gz, you CANNOT detect what options the kernel is |
34 |
> configured with. |
35 |
> 2. Building stages for example. You may have /proc bind-mounted from the |
36 |
> host system, but it does not reflect the environment you are building |
37 |
> for. |
38 |
> |
39 |
IMHO the number of cases where CONFIG_CHECK is reliable is so small that |
40 |
making it fatal will only bloat make.conf and env with a new var for |
41 |
most users. |
42 |
|
43 |
However this move could make sense if (and only if) CONFIG_CHECK could |
44 |
reliabily know where it's used. |
45 |
It could be made fatal for example if all the following conditions are met: |
46 |
- buildpkg is disabled |
47 |
- /proc/config.gz (decompressed) is the same as |
48 |
${KERNEL_BUILD_DIR}/.config and both exists |
49 |
- /boot is mounted and the bootloader will load the currently running kernel |
50 |
|
51 |
AIMHO it's very difficult (would say impossible) to implement this in a |
52 |
cross package manager and reliable way. |
53 |
|
54 |
So please don't |