Gentoo Archives: gentoo-dev

From: "vivo75@×××××.com" <vivo75@×××××.com>
To: gentoo-dev@l.g.o
Cc: "Robin H. Johnson" <robbat2@g.o>
Subject: Re: [gentoo-dev] RFC: CONFIG_CHECK_FATAL, making CONFIG_CHECKS fatal by default
Date: Tue, 22 Jan 2013 11:12:11
Message-Id: 50FE73F1.6090102@gmail.com
In Reply to: [gentoo-dev] RFC: CONFIG_CHECK_FATAL, making CONFIG_CHECKS fatal by default by "Robin H. Johnson"
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

Replies