Re: [PATCH 2/2] Enable 'make CONFIG_FOO=y oldconfig'

From: Arnaud Lacombe
Date: Sun Jul 31 2011 - 01:21:36 EST


Hi,

On Sat, Jul 30, 2011 at 10:09 PM, Arnaud Lacombe <lacombar@xxxxxxxxx> wrote:
> Hi,
>
> On Sat, Jul 30, 2011 at 9:28 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
>> On 07/30/2011 06:06 PM, Arnaud Lacombe wrote:
>>>>
>>> The principle of least surprise is broken anyway as the proposed patch
>>> has absolutely no dependency checking and verification. You can `make
>>> CONFIG_SATA_MV=y allnoconfig', you will _not_ get it set.
>>>
>> This gives you exactly the same way as a .config file or a ALLCONFIG
>> file with the same options, which is what one realistically should expect.
>>
> no, I would expect it to have the same effect as a `select
> CONFIG_SATA_MV', have it forcibly set to the given value, and be
> warned if there was any problem.
>
> Btw, `make CONFIG_GENERIC_BUG=n oldconfig' or `make CONFIG_64BIT=n
> oldconfig'[0] does not even work, and I'm getting no error. So either
> you make it work for all possible uses, or you warn the user he tried
> something illegal, but you don't just fail silently.
>
ok, the issue is that you will only be allowed to change visible
symbols. CONFIG_64BIT is conditionally visible (when ARCH=x86), so
right now, you can not do on x86-64:

% make ARCH=i386 defconfig
% make CONFIG_64BIT=n oldconfig # [0]

and expect it to work.

Instead of allowing explicitly a symbol to be overridden, the behavior
is to implicitly, silently and un-deterministicaly[1] deny an
override. Strange ...

- Arnaud

[0]: this match David's use-case described in
<1311986969.20983.52.camel@xxxxxxxxxxxxxxxx>

[1]: ie. it depends on the state of the tree when ran
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/