13 Sep, 2013

1 commit


16 Aug, 2013

1 commit

  • Script `config' relies on extensions of `GNU sed', and is thus not
    working on all Unixes:
    - in-place edition of files (-i), which can be replaced with
    a temporary file;
    - extended-regexps (-r), which can be split into basic regexps;
    - single-line calls to `a' command, while some implementations
    require a leading newline before the parameter.

    Rewrite calls to `sed' to comply with POSIX interface, and move them
    to helper functions.

    Signed-off-by: Clement Chauplannaz
    Tested-by: "Yann E. MORIN"
    Reviewed-by: "Yann E. MORIN"
    Signed-off-by: Yann E. MORIN

    Clement Chauplannaz
     

11 Jul, 2013

1 commit

  • Pull kconfig updates from Michal Marek:
    - dependency solver fix for make defconfig
    - randconfig fixes, one of which had to be reverted again
    - more user-friendly sorting of search results
    - hex and range keywords support longs
    - fix for [mn]conf not to rely on particular behavior of the LINES and
    COLS variables
    - cleanup of magic constants in kconfig/lxdialog
    - [mn]conf formatting fixes
    - fix for scripts/config's help text in out-of-tree usage (under a
    different name)

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kconfig: allow "hex" and "range" to support longs
    Revert "kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG"
    kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG
    kconfig: loop as long as we changed some symbols in randconfig
    kconfig/[mn]conf: make it explicit in the search box that a regexp is possible
    kconfig: sort found symbols by relevance
    kconfig/conf: print the seed used to initialise the RNG for randconfig
    kconfig/conf: accept a base-16 seed for randconfig
    kconfig/conf: fix randconfig setting multiple symbols in a choice
    scripts/config: replace hard-coded script name by a dynamic value
    mconf/nconf: mark empty menus/menuconfigs different from non-empty ones
    nconf: use function calls instead of ncurses' variables LINES and COLS
    mconf: use function calls instead of ncurses' variables LINES and COLS
    kconfig/lxdialog: handle newline characters in print_autowrap()
    kconfig/lxdialog: Use new mininimum resize definitions in conf_choice()
    kconfig/lxdialog: Add definitions for mininimum (re)size values
    kconfig: Fix defconfig when one choice menu selects options that another choice menu depends on

    Linus Torvalds
     

19 Jun, 2013

1 commit


20 May, 2013

1 commit

  • When --*-after options are used, two parameters are parsed from the
    command-line before the adequate function is called:
    - the `before' option, after which the new option will be inserted,
    - the name of the option to enable/disable/modularise.

    With the short version of --*-after options (namely -E, -D, -M), the
    parsing step is not performed which leads to processing unset variables.

    Add options -E, -D, -M to the test that triggers assignment of parameters
    for --*-after options.

    Signed-off-by: Clement Chauplannaz
    Acked-by: Andi Kleen
    Signed-off-by: Yann E. MORIN

    Clement Chauplannaz
     

14 Dec, 2012

1 commit

  • Remove wrong "shift" for --keep-case. There is always "shift" at
    beginning of while-loop. No need "shift" at --keep-case just before
    "continue" to process next argument.

    Now the following works as expected:

    ./scripts/config -e aAa -k -e bBb -e cCc && tail -3 .config
    CONFIG_AAA=y
    CONFIG_bBb=y
    CONFIG_cCc=y

    Signed-off-by: Hiroshi Doyu
    Signed-off-by: Michal Marek

    Hiroshi Doyu
     

31 Jul, 2012

1 commit

  • Pull misc kbuild changes from Michal Marek:
    "This is the non-critical part of kbuild for v3.6-rc1:

    - Two new coccinelle semantic patches
    - New scripts/tags.sh regexp
    - scripts/config improvements that I mistakenly applied here instead
    of in the kconfig branch (but there are no conflicts)
    - Debian packaging fixes"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/tags.sh: Teach [ce]tags about libtraceeevent error codes
    scripts/coccinelle: list iterator variable semantic patch
    scripts/coccinelle: Find threaded IRQs requests which are missing IRQF_ONESHOT
    deb-pkg: Add all Makefiles to header package
    deb-pkg: Install linux-firmware-image in versioned dir
    scripts/config: add option to undef a symbol
    scripts/config: allow alternate prefix to config option symbol
    scripts/config: add option to not upper-case symbols

    Linus Torvalds
     

26 Jul, 2012

1 commit


28 Jun, 2012

3 commits

  • It is currently possible to enable, disable or modularise
    a symbol. Also, an undefined symbol is reported as such.

    Add a new command to undefine a symbol, by removing the
    corresponding line from the .config file.

    Signed-off-by: "Yann E. MORIN"
    Signed-off-by: Michal Marek

    Yann E. MORIN
     
  • While the Linux kernel uses 'CONFIG_' as a prefix to the config options
    symbols, many projects that use kconfig may use different prefixes, or
    even none at all.

    If the CONFIG_ environment variable is set, use it as the prefix (empty
    is a valid prefix). Otherwise, use the default prefix 'CONFIG_'.

    This matches the support for alternate prefixes in scripts/kconfig/lkc.h,
    which uses the same logic (albeit with a C define instead of an environment
    variable).

    Signed-off-by: "Yann E. MORIN"
    Signed-off-by: Michal Marek

    Yann E. MORIN
     
  • Currently, scripts/config mangles the config option symbols to always
    be upper-case.

    While the Linux kernel almost exclusively uses upper-case symbols, there
    are still a few symbols with lower-case which this script can not handle:

    $ grep -r -E '^[[:space:]]*config[[:space:]]+[^[:space:]]*[[:lower:]][^[:space:]=.]*$' . |wc -l
    173
    (that's roughly 1.3% of the symbols in 3.5-rc1)

    Eg.:
    ./arch/arm/Kconfig:config VFPv3
    ./arch/powerpc/platforms/Kconfig.cputype:config 40x
    ./arch/x86/Kconfig:config SCx200HR_TIMER
    ./drivers/video/console/Kconfig:config FONT_8x8
    ./drivers/video/Kconfig:config NTSC_640x480

    Also, other projects that use kconfig may allow for lower- or mixed-case
    symbols, and may find easier to reuse this script than implement each
    their own (potentially flawed) logic. For such a use-case, see:
    http://marc.info/?l=linux-kbuild&m=133409932115848&w=2

    This patch adds a new option to keep the given case, and keep the current
    default to upper-case the symbols.

    Signed-off-by: "Yann E. MORIN"
    Signed-off-by: Michal Marek

    Yann E. MORIN
     

16 May, 2012

1 commit

  • Currently, scripts/config removes the leading double-quote from
    string options, but leaves the trailing double-quote.

    Also, double-quotes in a string are escaped, but scripts/config
    does not unescape those when printing

    Finally, scripts/config does not escape double-quotes when setting
    string options.

    Eg. the current behavior:
    $ grep -E '^CONFIG_FOO=' .config
    CONFIG_FOO="Bar \"Buz\" Meh"
    $ ./scripts/config -s FOO
    Bar \"Buz\" Meh"
    $ ./scripts/config --set-str FOO 'Alpha "Bravo" Charlie'
    $ grep -E '^CONFIG_FOO=' .config
    CONFIG_FOO="Alpha "Bravo" Charlie"

    Fix those three, giving this new behavior:
    $ grep -E '^CONFIG_FOO=' .config
    CONFIG_FOO="Bar \"Buz\" Meh"
    $ ./scripts/config -s FOO
    Bar "Buz" Meh
    $ ./scripts/config --set-str FOO 'Alpha "Bravo" Charlie'
    $ grep -E '^CONFIG_FOO=' .config
    CONFIG_FOO="Alpha \"Bravo\" Charlie"

    Signed-off-by: "Yann E. MORIN"
    Acked-by: Andi Kleen
    Signed-off-by: Michal Marek

    Yann E. MORIN
     

15 Dec, 2010

1 commit


25 Nov, 2010

1 commit


15 Jun, 2009

3 commits


15 Jan, 2009

1 commit


08 Jan, 2009

1 commit

  • I often change single options in .config files. Instead of using
    an editor or one of the frontends it's convenient to do this from
    the command line. It's also useful to do from automated build scripts
    when building different variants from a base config file.

    I extracted most of the CONFIG manipulation code from one of my
    build scripts into a new shell script scripts/config

    The script is not integrated with the normal Kconfig machinery
    and doesn't do any checking against Kconfig files, but just manipulates
    that text format. This is always done at make time anyways.

    I believe this script would be a useful standard addition for scripts/*

    Sample usage:

    ./scripts/config --disable smp
    Disable SMP in .config file

    ./scripts/config --file otherdir/.config --module e1000e
    Enable E1000E as module in otherdir/.config

    ./scripts/config --state smp
    y
    Check state of config option CONFIG_SMP

    After merging into git please make scripts/config executable

    Signed-off-by: Andi Kleen
    Signed-off-by: Sam Ravnborg

    Andi Kleen