Re: [patch] 2.6.0-test5: serio config broken?

From: Norman Diamond (ndiamond_at_wta.att.ne.jp)
Date: 09/13/03

  • Next message: dada1: "Re: "busy" load counters"
    To: <linux-kernel@vger.kernel.org>
    Date:	Sat, 13 Sep 2003 17:22:16 +0900
    
    

    Although I can't keep up with the mailing list, I saw this from Adrian Bunk:
    > On Thu, Sep 11, 2003 at 04:04:48PM -0700, Tom Rini wrote:
    > >
    > > Okay. The following Kconfig illustrates what I claim to be a bug.
    > > config A
    > > bool "This is A"
    > > select B
    > > config B
    > > bool "This is B"
    > > # Or, depends C=y
    > > depends C
    > > config C
    > > bool "This is C"
    > >
    > > Running oldconfig will give:
    > > This is A (A) [N/y] (NEW) y
    > > This is C (C) [N/y] (NEW) n
    > > And in .config:
    > > CONFIG_A=y
    > > CONFIG_B=y
    > > # CONFIG_C is not set

    This is a problem. Proposed solution follows later.

    > > I claim that this should in fact be:
    > > CONFIG_A=y
    > > CONFIG_B=y
    > > CONFIG_C=y

    Even for this simple case, there are other possibilities. When we add human
    logic to the specified sequence of events then we can say that your
    interpretation is most likely what the user wanted, but in ordinary logic
    there are other possibilities such as n, n, n. Proposed solution follows.

    > The problem is that select ignores dependencies.
    > Unfortunately, your proposal wouldn't work easily, consider e.g.
    > config A
    > bool "This is A"
    > select B
    > config B
    > bool
    > depends C || D
    > config C
    > bool "This is C"
    > depends D=n
    > config D
    > bool "This is D"
    > Do you want C or D to be selected?

    If neither is selected, then the problem is essentially the same as the one
    which Mr. Rini pointed out. And again there are other possible
    possibilities such as n, n, n, n.

    Solution: Surely plain "make" could start by checking dependencies. Or
    maybe "make dep" could be reincarnated. If there is any inconsistency, then
    the Makefile could issue an error and refuse to start compiling.

    This has the added benefit that if the human has some reason to edit the
    .config file by hand instead of using a make [...]config command, plain
    "make" will have a chance of catching editing errors.

    This doesn't automate a solution as thoroughly as either of you were hoping
    for; it honestly admits that it can't read the human's mind :-)

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: dada1: "Re: "busy" load counters"

    Relevant Pages

    • Re: [patch] 2.6.0-test5: serio config broken?
      ... Proposed solution follows later. ... >> config B ... > the Makefile could issue an error and refuse to start compiling. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 version of ioport.h)
      ... NVIDIA: AGP 4X successfully initialized ... IIRC, but possibly not the case in the 2.6 .config yet, is that any ... Copyright 2003 by Maurice Eugene Heskett, ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • [PATCH 2/2] ide: remove obsolete CONFIG_BLK_DEV_ADMA - cleanup arch
      ... Cleans up default config for various archs, removing ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.6.12 Performance problems
      ... > The kernel is the standard kernel.org dowload ... > config with SMP turned off and the intel ethernet ... > card drivers as modules without any other ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [PATCH] make miniconfig (take 2)
      ... script intercept signals and restore .config on the way out, ... fully reliable because kconfig overwrites .config and ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)

    Loading