Re: Linux source tree size difference issue

2013-05-17 Thread Roland Eggner
On 2013-05-17 Friday at 10:20 +1000 Chris Jones wrote:
> I have cloned the Linux kernel source tree locally. It comes in at
> approx. ~500MB. I have then created another git repository to push the
> source to for my own work. I rsynced the tree locally to another
> directory and now I am currently pushing it in to the new repository and
> it's at 58% and is already at 525MB.
> 
> I can not understand the stark difference in source and directory size.
> Running diff tells me both local source tree directories are exactly the
> same.
> 
> Can anyone explain this in layman's terms?

$  LC_ALL=C du --help  | grep -E -e 'apparent|sparse|fragmentation'
---
  --apparent-size   print apparent sizes, rather than disk usage; although
  the apparent size is usually smaller, it may be
  larger due to holes in ('sparse') files, internal
  fragmentation, indirect blocks, and the like
  -b, --bytes   equivalent to '--apparent-size --block-size=1'

-- 
Regards
Roland Eggner


pgpusNUa6j_Do.pgp
Description: PGP signature


Re: Linux source tree size difference issue

2013-05-17 Thread Roland Eggner
On 2013-05-17 Friday at 10:20 +1000 Chris Jones wrote:
 I have cloned the Linux kernel source tree locally. It comes in at
 approx. ~500MB. I have then created another git repository to push the
 source to for my own work. I rsynced the tree locally to another
 directory and now I am currently pushing it in to the new repository and
 it's at 58% and is already at 525MB.
 
 I can not understand the stark difference in source and directory size.
 Running diff tells me both local source tree directories are exactly the
 same.
 
 Can anyone explain this in layman's terms?

$  LC_ALL=C du --help  | grep -E -e 'apparent|sparse|fragmentation'
---
  --apparent-size   print apparent sizes, rather than disk usage; although
  the apparent size is usually smaller, it may be
  larger due to holes in ('sparse') files, internal
  fragmentation, indirect blocks, and the like
  -b, --bytes   equivalent to '--apparent-size --block-size=1'

-- 
Regards
Roland Eggner


pgpusNUa6j_Do.pgp
Description: PGP signature


Re: [git pull] single_open() leak fixes

2013-05-05 Thread Roland Eggner
On 2013-05-05 Sunday at 06:54 +0100 Al Viro wrote:
>   A bunch of fixes for a moderately common class of bugs: file with
> single_open() done by its ->open() and seq_release as its ->release().
> That leaks; fortunately, it's not _too_ common (either people manage to
> RTFM that says "When using single_open(), the programmer should use
> single_release() instead of seq_release() in the file_operations structure
> to avoid a memory leak", or they just copy a correct instance), but grepping
> through the tree has caught quite a pile.  All of that is, AFAICS, -stable
> fodder, for as far as the patches apply.  … …

Some 40 memory leaks plugged at once … quite elegant :)

Additionally maybe your cunning grep commands are checkpatch.pl fodder?
At patch level risk of false warnings probably would be lower than at C code 
level.

-- 
Regards
Roland Eggner


pgp6USFRL3U8o.pgp
Description: PGP signature


Re: [git pull] single_open() leak fixes

2013-05-05 Thread Roland Eggner
On 2013-05-05 Sunday at 06:54 +0100 Al Viro wrote:
   A bunch of fixes for a moderately common class of bugs: file with
 single_open() done by its -open() and seq_release as its -release().
 That leaks; fortunately, it's not _too_ common (either people manage to
 RTFM that says When using single_open(), the programmer should use
 single_release() instead of seq_release() in the file_operations structure
 to avoid a memory leak, or they just copy a correct instance), but grepping
 through the tree has caught quite a pile.  All of that is, AFAICS, -stable
 fodder, for as far as the patches apply.  … …

Some 40 memory leaks plugged at once … quite elegant :)

Additionally maybe your cunning grep commands are checkpatch.pl fodder?
At patch level risk of false warnings probably would be lower than at C code 
level.

-- 
Regards
Roland Eggner


pgp6USFRL3U8o.pgp
Description: PGP signature


Re: [PATCH resend v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-02-09 Thread Roland Eggner
On 2013-02-09 Saturday at 12:36 +0100 Yann E. MORIN wrote:
> Rolland, All,
> 
> On Saturday 09 February 2013 Roland Eggner wrote:
> > Regarding the / conflict:  My vision is to eliminate the need for 
> > help 
> > keybindings   at all by displaying the related help text beside the 
> > menu permanently, similar to some graphical backends.  For terminals with 
> > COLUMNS>=160 this should be rather easy to implement.  nouveaufb gives me 
> > by 
> > default terminal with 274 columns, “retina” displays are entering the 
> > market 
> > … the frequency of COLUMNS>=160 terminals probably will continue to grow.  
> > While staying compatible with COLUMNS=80, it seems reasonable to use the 
> > capabilities of wider terminals, or what would you say?
> 
> How do you navigate up/down in the help text (when the terminal is not
> high enought to display the entire help) if it is displayed at the same
> time the menu entries are, yet without breaking the UI behavior people
> expect?

Good question.  My vision is a UI similar to mc with directory listing in one 
panel, file content in the other panel, “quick view” and “lynx-like navigation” 
switched on.  Help keybindings   will become superfluous, and keybindings 
  to switch focus between menu and help “panel” will be added.  
Implementation will require some ncurses exercise and more time, than I have 
available in near future.  Thus I keep saying “no promise …”

-- 
Regards
Roland Eggner


pgpA9xTlRVTLL.pgp
Description: PGP signature


Re: [PATCH resend v3 1/3] kconfig: nconf: rewrite help texts

2013-02-09 Thread Roland Eggner
On 2013-02-09 Saturday at 12:23 +0100 Yann E. MORIN wrote:
> Rolland, All,
> 
> On Saturday 09 February 2013 Roland Eggner wrote:
> > On 2013-02-09 Saturday at 01:30 +0100 Yann E. MORIN wrote:
> [--SNIP--]
> > > > +"Text Box (Help Window)\n"
> > > > +"--\n"
> > > > +"Use movement keys   as 
> > > > listed in\n"
> > > > +"table above.\n"
> > > 
> > > ... keys [elided] as listed ...
> > 
> > Ok, because you are dropping patch 3/3.
> 
> If that was related to patch 3/3, that should have been in that patch,
> not this one.

My “Ok, because …” referred to your “keys [elided] as listed …” in that 
particular hunk, whereas my “You performed a nice polish …” several hunks later 
referred to the whole patch.  Just to avoid misunderstanding.

> 
> [--SNIP--]
> > > Any reason for the re-indent with one more space?
> > 
> > Intention is optimization for fast reading, as usual in professional text 
> > processing:  seperate words by single space;  separate sentences, 
> > half-sentences 
> > and listing symbols by two spaces.
> 
> OK, I kept it.

Thank you.
-- 
Regards
Roland Eggner


pgpFm1MoAh3Zj.pgp
Description: PGP signature


Re: [PATCH resend v3 1/3] kconfig: nconf: rewrite help texts

2013-02-09 Thread Roland Eggner
On 2013-02-09 Saturday at 12:23 +0100 Yann E. MORIN wrote:
 Rolland, All,
 
 On Saturday 09 February 2013 Roland Eggner wrote:
  On 2013-02-09 Saturday at 01:30 +0100 Yann E. MORIN wrote:
 [--SNIP--]
+Text Box (Help Window)\n
+--\n
+Use movement keys Down Up PageDown PageUp End Home as 
listed in\n
+table above.\n
   
   ... keys [elided] as listed ...
  
  Ok, because you are dropping patch 3/3.
 
 If that was related to patch 3/3, that should have been in that patch,
 not this one.

My “Ok, because …” referred to your “keys [elided] as listed …” in that 
particular hunk, whereas my “You performed a nice polish …” several hunks later 
referred to the whole patch.  Just to avoid misunderstanding.

 
 [--SNIP--]
   Any reason for the re-indent with one more space?
  
  Intention is optimization for fast reading, as usual in professional text 
  processing:  seperate words by single space;  separate sentences, 
  half-sentences 
  and listing symbols by two spaces.
 
 OK, I kept it.

Thank you.
-- 
Regards
Roland Eggner


pgpFm1MoAh3Zj.pgp
Description: PGP signature


Re: [PATCH resend v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-02-09 Thread Roland Eggner
On 2013-02-09 Saturday at 12:36 +0100 Yann E. MORIN wrote:
 Rolland, All,
 
 On Saturday 09 February 2013 Roland Eggner wrote:
  Regarding the h/H conflict:  My vision is to eliminate the need for 
  help 
  keybindings h ? at all by displaying the related help text beside the 
  menu permanently, similar to some graphical backends.  For terminals with 
  COLUMNS=160 this should be rather easy to implement.  nouveaufb gives me 
  by 
  default terminal with 274 columns, “retina” displays are entering the 
  market 
  … the frequency of COLUMNS=160 terminals probably will continue to grow.  
  While staying compatible with COLUMNS=80, it seems reasonable to use the 
  capabilities of wider terminals, or what would you say?
 
 How do you navigate up/down in the help text (when the terminal is not
 high enought to display the entire help) if it is displayed at the same
 time the menu entries are, yet without breaking the UI behavior people
 expect?

Good question.  My vision is a UI similar to mc with directory listing in one 
panel, file content in the other panel, “quick view” and “lynx-like navigation” 
switched on.  Help keybindings h ? will become superfluous, and keybindings 
Tab Ctrl-i to switch focus between menu and help “panel” will be added.  
Implementation will require some ncurses exercise and more time, than I have 
available in near future.  Thus I keep saying “no promise …”

-- 
Regards
Roland Eggner


pgpA9xTlRVTLL.pgp
Description: PGP signature


Re: [PATCH resend v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-02-08 Thread Roland Eggner
On 2013-02-09 Saturday at 02:03 +0100 Yann E. MORIN wrote:
> On Friday 01 February 2013 Roland Eggner wrote:
> > Add vi-style navigation keys, based on initial work by Dmitry Voytik.
> 
> As much I am a unconditional vim user, I doubt this is a sane idea to
> include this, as it conflicts with the established UI that people expect,
> especially since  is remapped and people already rely on  to provide
> help, not do any other weird thing (like exiting the current submenu).

Having the most frequently used keys in the middle of the keyboard is 
a professional computer usage pattern, not an anachronistic one.

Regarding the / conflict:  My vision is to eliminate the need for help 
keybindings   at all by displaying the related help text beside the menu 
permanently, similar to some graphical backends.  For terminals with 
COLUMNS>=160 this should be rather easy to implement.  nouveaufb gives me by 
default terminal with 274 columns, “retina” displays are entering the market 
… the frequency of COLUMNS>=160 terminals probably will continue to grow.  
While 
staying compatible with COLUMNS=80, it seems reasonable to use the capabilities 
of wider terminals, or what would you say?

Cannot promise when I will find the time to prepare a patch.

-- 
Regards
Roland Eggner


pgpwbWgID_z_5.pgp
Description: PGP signature


Re: [PATCH resend v3 1/3] kconfig: nconf: rewrite help texts

2013-02-08 Thread Roland Eggner
On 2013-02-09 Saturday at 01:30 +0100 Yann E. MORIN wrote:
> Roland, All,
> 
> I've taken that in my branch now.
> I will push later with a few fixes (see below).
> 
> On Friday 01 February 2013 Roland Eggner wrote:
> [--SNIP--]
> > diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
> > --- a/scripts/kconfig/nconf.c
> > +++ b/scripts/kconfig/nconf.c
> [--SNIP--]
> > +"o  Global help:  Unless in a data entry window, key  will give you\n"
> 
> ... pressing  ...
> 
> > +"o  A short version of the global help is available by key .\n"
> 
> ... by pressing 
> 
> > +"o  Local help:  To get help related to the current menu entry, use any\n"
> > +"   of   keys, or if in a data entry window then use  key.\n"
> 
> s/ keys//;  s/use  key/press /;
> 
> > +" to remove it.  You may press the  key to cycle through the\n"
> 
> ... press  to cycle ...
> 
> > +"Unless in a data entry window, key <1> may be used instead of ,\n"
> 
> s/key //;
> 
> > +"Enter the requested information and press .  Hexadecimal values\n"
> > +"may be entered without \"0x\" prefix.\n"
> 
> ... without the \"0x\" prefix ...
> 
> > +"Text Box (Help Window)\n"
> > +"--\n"
> > +"Use movement keys   as listed 
> > in\n"
> > +"table above.\n"
> 
> ... keys [elided] as listed ...

Ok, because you are dropping patch 3/3.

> > +"Alternate configuration files\n"
> > +"-\n"
> > +"nconfig supports switching between different configurations.\n"
> > +"Use  to save your current configuration.  Use  and enter a\n"
> 
> Press  ...
> Press  ...
> 
> >  menu_no_f_instructions[] = N_(
> [--SNIP--]
> > +"Legend:  [*] built-in  [ ] excluded   module  < > module capable.\n"
> > +"Submenus are designated by a trailing \"--->\".\n"
> > +"\n"
> > +"Use the following keys to navigate the menus:\n"
> > +"Move up or down by any of   keys.\n"
> 
> ... with  or .
> 
> > +"To enter a submenu use any of   keys.\n"
> > +"To go back to the parent menu use any of   keys.\n"
> 
> Enter a submenu with  or .
> Exit a submenu to its parent menu with  or .
> 
> > +"Pressing  includes,  excludes,  modularizes features.\n"
> > +"Pressing  cycles through the available options.\n"
> > +"To search for menu entries use key .\n"
> 
> ... press .
> 
> > +" always leaves the current window.\n"
> > +"\n"
> > +"You do not have function keys support.\n"
> > +"Use key <1> instead of , <2> instead of , etc.\n"
> > +"For verbose global help use key <1>.\n"
> 
> ... press <1>.
> 
> > +"For help related to the current menu entry use any of   keys.\n"),
> 
> ... press  or .
> 
> And so on in the following...

You performed a nice “polish“ … thank you!

> … …
> > @@ -229,26 +222,26 @@ search_help[] = N_(
> >  "Selects: LIBCRC32\n"
> >  "Selected by: BAR\n"
> >  "-\n"
> > -"o The line 'Prompt:' shows the text used in the menu structure for\n"
> > -"  this symbol\n"
> > -"o The 'Defined at' line tell at what file / line number the symbol\n"
> > -"  is defined\n"
> > -"o The 'Depends on:' line tell what symbols needs to be defined for\n"
> > -"  this symbol to be visible in the menu (selectable)\n"
> > -"o The 'Location:' lines tell where in the menu structure this symbol\n"
> > -"  is located\n"
> > -"A location followed by a [ = y] indicate that this is a selectable\n"
> > -"menu item - and current value is displayed inside brackets.\n"
> > -"o The 'Selects:' line tell what symbol will be automatically\n"
> > -"  selected if this symbol is selected (y or m)\n"
> > -"o The 'Selected by' line tell what symbol has selected this symbol\n"
> > +"o  The line 'Prompt:' shows the menu text displayed for this symbol in\n"
> 
> ... shows the [elided] text ...
> 
> Any reason for the re-indent with one more space?

Intention is optimization for fast reading, as usual in professional text 
processing:  seperate words by single space;  separate sentences, 
half-sentences 
and listing symbols by two spaces.

> > +"   the menu hierarchy.\n"
> > +"o  The 'Defined at' line tells at what file / line number the symbol is\n"
> 
> ... file & line ...
> 
> > +"o  The 'Depends on:' line tells, what symbols need to be defined for\n"
> 
> ... line lists symbols that need ...
> 
> I will push soon to my branch.

Thank you!

-- 
Regards
Roland Eggner


pgpAS4zLdbqKk.pgp
Description: PGP signature


Re: Linux 3.2.38

2013-02-08 Thread Roland Eggner
On 2013-02-08 Friday at 01:11 + Ben Hutchings wrote:
> On Thu, 2013-02-07 at 12:36 -0500, tmhik...@gmail.com wrote:
> > Hmm. I'm not sure what's going on here but ever since I upgraded to
> > this kernel my CPU use has always been at 100% - various apps (top, pidstat,
> > conky) give different reasons for this, conky claims things like
> > X/the most active X application are cpu hogging, while top seems to think
> > the majority of cpu use is being done by 'sys' - the interesting thing
> > though is that my loadaverage is staying very close to zero.
> > 
> > I know that this is far from a useful bug report, but to be honest I
> > don't even know where to begin checking, so I'll start a git bisect of
> > 3.2.37 vs 3.2.38 tonight and see what happens.
> 
> There weren't any scheduler changes in 3.2.38 so I can't make any better
> suggestion than to do that bisection.
> 
> Ben.
> 

Just an almost blind guess:

Colin Ian King (1):
  PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported


-- 
Roland Eggner


pgpCl9Dk4jY9L.pgp
Description: PGP signature


Re: Linux 3.2.38

2013-02-08 Thread Roland Eggner
On 2013-02-08 Friday at 01:11 + Ben Hutchings wrote:
 On Thu, 2013-02-07 at 12:36 -0500, tmhik...@gmail.com wrote:
  Hmm. I'm not sure what's going on here but ever since I upgraded to
  this kernel my CPU use has always been at 100% - various apps (top, pidstat,
  conky) give different reasons for this, conkypidstat claims things like
  X/the most active X application are cpu hogging, while top seems to think
  the majority of cpu use is being done by 'sys' - the interesting thing
  though is that my loadaverage is staying very close to zero.
  
  I know that this is far from a useful bug report, but to be honest I
  don't even know where to begin checking, so I'll start a git bisect of
  3.2.37 vs 3.2.38 tonight and see what happens.
 
 There weren't any scheduler changes in 3.2.38 so I can't make any better
 suggestion than to do that bisection.
 
 Ben.
 

Just an almost blind guess:

Colin Ian King (1):
  PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported


-- 
Roland Eggner


pgpCl9Dk4jY9L.pgp
Description: PGP signature


Re: [PATCH resend v3 1/3] kconfig: nconf: rewrite help texts

2013-02-08 Thread Roland Eggner
On 2013-02-09 Saturday at 01:30 +0100 Yann E. MORIN wrote:
 Roland, All,
 
 I've taken that in my branch now.
 I will push later with a few fixes (see below).
 
 On Friday 01 February 2013 Roland Eggner wrote:
 [--SNIP--]
  diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
  --- a/scripts/kconfig/nconf.c
  +++ b/scripts/kconfig/nconf.c
 [--SNIP--]
  +o  Global help:  Unless in a data entry window, key F1 will give you\n
 
 ... pressing F1 ...
 
  +o  A short version of the global help is available by key F3.\n
 
 ... by pressing F3
 
  +o  Local help:  To get help related to the current menu entry, use any\n
  +   of ? h keys, or if in a data entry window then use F1 key.\n
 
 s/ keys//;  s/use F1 key/press F1/;
 
  +n to remove it.  You may press the Space key to cycle through the\n
 
 ... press Space to cycle ...
 
  +Unless in a data entry window, key 1 may be used instead of F1,\n
 
 s/key //;
 
  +Enter the requested information and press Enter.  Hexadecimal values\n
  +may be entered without \0x\ prefix.\n
 
 ... without the \0x\ prefix ...
 
  +Text Box (Help Window)\n
  +--\n
  +Use movement keys Down Up PageDown PageUp End Home as listed 
  in\n
  +table above.\n
 
 ... keys [elided] as listed ...

Ok, because you are dropping patch 3/3.

  +Alternate configuration files\n
  +-\n
  +nconfig supports switching between different configurations.\n
  +Use F6 to save your current configuration.  Use F7 and enter a\n
 
 Press F6 ...
 Press F7 ...
 
   menu_no_f_instructions[] = N_(
 [--SNIP--]
  +Legend:  [*] built-in  [ ] excluded  M modulemodule capable.\n
  +Submenus are designated by a trailing \---\.\n
  +\n
  +Use the following keys to navigate the menus:\n
  +Move up or down by any of Up Down keys.\n
 
 ... with Up or Down.
 
  +To enter a submenu use any of Enter Right keys.\n
  +To go back to the parent menu use any of Esc Left keys.\n
 
 Enter a submenu with Enter or Right.
 Exit a submenu to its parent menu with Esc or Left.
 
  +Pressing y includes, n excludes, m modularizes features.\n
  +Pressing Space cycles through the available options.\n
  +To search for menu entries use key /.\n
 
 ... press /.
 
  +Esc always leaves the current window.\n
  +\n
  +You do not have function keys support.\n
  +Use key 1 instead of F1, 2 instead of F2, etc.\n
  +For verbose global help use key 1.\n
 
 ... press 1.
 
  +For help related to the current menu entry use any of ? h keys.\n),
 
 ... press ? or h.
 
 And so on in the following...

You performed a nice “polish“ … thank you!

 … …
  @@ -229,26 +222,26 @@ search_help[] = N_(
   Selects: LIBCRC32\n
   Selected by: BAR\n
   -\n
  -o The line 'Prompt:' shows the text used in the menu structure for\n
  -  this symbol\n
  -o The 'Defined at' line tell at what file / line number the symbol\n
  -  is defined\n
  -o The 'Depends on:' line tell what symbols needs to be defined for\n
  -  this symbol to be visible in the menu (selectable)\n
  -o The 'Location:' lines tell where in the menu structure this symbol\n
  -  is located\n
  -A location followed by a [ = y] indicate that this is a selectable\n
  -menu item - and current value is displayed inside brackets.\n
  -o The 'Selects:' line tell what symbol will be automatically\n
  -  selected if this symbol is selected (y or m)\n
  -o The 'Selected by' line tell what symbol has selected this symbol\n
  +o  The line 'Prompt:' shows the menu text displayed for this symbol in\n
 
 ... shows the [elided] text ...
 
 Any reason for the re-indent with one more space?

Intention is optimization for fast reading, as usual in professional text 
processing:  seperate words by single space;  separate sentences, 
half-sentences 
and listing symbols by two spaces.

  +   the menu hierarchy.\n
  +o  The 'Defined at' line tells at what file / line number the symbol is\n
 
 ... file  line ...
 
  +o  The 'Depends on:' line tells, what symbols need to be defined for\n
 
 ... line lists symbols that need ...
 
 I will push soon to my branch.

Thank you!

-- 
Regards
Roland Eggner


pgpAS4zLdbqKk.pgp
Description: PGP signature


Re: [PATCH resend v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-02-08 Thread Roland Eggner
On 2013-02-09 Saturday at 02:03 +0100 Yann E. MORIN wrote:
 On Friday 01 February 2013 Roland Eggner wrote:
  Add vi-style navigation keys, based on initial work by Dmitry Voytik.
 
 As much I am a unconditional vim user, I doubt this is a sane idea to
 include this, as it conflicts with the established UI that people expect,
 especially since h is remapped and people already rely on h to provide
 help, not do any other weird thing (like exiting the current submenu).

Having the most frequently used keys in the middle of the keyboard is 
a professional computer usage pattern, not an anachronistic one.

Regarding the h/H conflict:  My vision is to eliminate the need for help 
keybindings h ? at all by displaying the related help text beside the menu 
permanently, similar to some graphical backends.  For terminals with 
COLUMNS=160 this should be rather easy to implement.  nouveaufb gives me by 
default terminal with 274 columns, “retina” displays are entering the market 
… the frequency of COLUMNS=160 terminals probably will continue to grow.  
While 
staying compatible with COLUMNS=80, it seems reasonable to use the capabilities 
of wider terminals, or what would you say?

Cannot promise when I will find the time to prepare a patch.

-- 
Regards
Roland Eggner


pgpwbWgID_z_5.pgp
Description: PGP signature


Re: [PATCH resend v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-02-01 Thread Roland Eggner
>From: Roland Eggner 

Add vi-style navigation keys, based on initial work by Dmitry Voytik.  Users of 
netbooks, notebooks and other devices with keyboards lacking a dedicated number 
keypad will enjoy.  And advanced users of vim, less, mutt, … having navigation 
by keys hjkl “hardwired” in their fingers will “fly” :)
In global help window called by key  provide a table with all current and 
added keybindings:

| Menu navigation keysplain style vi-style   |
| -- |
| Linewise up |
| Linewise down |
| Pagewise up   |
| Pagewise down   |
| First entry   |
| Last entry |
| Enter a submenu   |
| Go back to parent menu   |
| Close a help window|
| Close entry window, apply   |
| Close entry window, forget|
| Start incremental, case-insensitive search for STRING in menu entries, |
| no regex support, STRING is displayed in upper left corner |
| STRING  |
| Remove last character   |
| Jump to next hit |
| Jump to previous hit   |
| Exit menu search mode  |
| Search for configuration variables with or without leading CONFIG_ |
| RegExpr |
| Verbose search help|
| -- |

Intention is an easy to memorize set of keybindings resembling user interfaces 
of other frequently used software, not a strict clone of the historic vi user 
interface.  In contrast to historic vi,   is used for 
characterwise right and left movement by libreadline (bash, xfsprogs, bc, gdb, 
python, ruby, hunspell, mysql, sqlite, gnupg, xine-ui, parted …).  Thus 
pagewise 
movement by   would be weird for my fingers, so I have added 
 , resembling e.g. thread-wise navigation in mutt message lists.

To call help related to the current menu entry, currently any of the keys  
 may be used.  To solve the conflict with new navigation key , this is 
changed to keys  .  Lesser experienced users will not note, they use . 
 
And advanced users will consider, how much faster they can work, when all 
frequently used keys are in the middle of the keyboard.

Signed-off-by: Dmitry Voytik 
Signed-off-by: Roland Eggner 
---
scripts/kconfig/nconf.c |  81 ++--
1 files changed, 51 insertions(+), 30 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,6 +12,8 @@
 #include "nconf.h"
 #include 
 
+#define KEY_CONTROL(k) ((k) & 0x1f)
+
 static const char nconf_global_help[] = N_(
 "Help windows\n"
 "\n"
@@ -21,7 +23,7 @@ static const char nconf_global_help[] = 
 "o  A short version of the global help is available by key .\n"
 "\n"
 "o  Local help:  To get help related to the current menu entry, use any\n"
-"   of   keys, or if in a data entry window then use  key.\n"
+"   of   keys, or if in a data entry window then use  key.\n"
 "\n"
 "\n"
 "Menu entries\n"
@@ -47,16 +49,16 @@ static const char nconf_global_help[] = 
 "A trailing \"--->\" designates a submenu.\n"
 "\n"
 "\n"
-"Menu navigation keys\n"
+"Menu navigation keysplain style vi-style\n"
 "--\n"
-"Linewise up \n"
-"Linewise down   \n"
-"Pagewise up \n"
-"Pagewise down   \n"
-"First entry \n"
-"Last entry  \n"
-"Enter a submenu   \n"
-"Go back to parent menu   \n"
+"Linewise up \n"
+"Linewise down \n"
+"Pagewise up  \n"
+"Pagewise down  \n"
+"First entry   \n"
+"Last entry \n"
+"Enter a submenu

Re: [PATCH resend v3 2/3] kconfig: nconf: rewrite labels of function keys line

2013-02-01 Thread Roland Eggner
>From: Roland Eggner 

More reasonable labels of function keys line.  Rename labels and keep menu 
width, as required for fitting on COLUMNS=80 terminals:
•  s/Insts/Help 2/
•  s/Config/ShowAll/

Signed-off-by: Roland Eggner 
---
scripts/kconfig/nconf.c |  8 
1 files changed, 4 insertions(+), 4 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -312,19 +312,19 @@ struct function_keys function_keys[] = {
},
{
.key_str = "F2",
-   .func = "Sym Info",
+   .func = "SymInfo",
.key = F_SYMBOL,
.handler = handle_f2,
},
{
.key_str = "F3",
-   .func = "Insts",
+   .func = "Help 2",
.key = F_INSTS,
.handler = handle_f3,
},
{
.key_str = "F4",
-   .func = "Config",
+   .func = "ShowAll",
.key = F_CONF,
.handler = handle_f4,
},
@@ -348,7 +348,7 @@ struct function_keys function_keys[] = {
},
{
.key_str = "F8",
-   .func = "Sym Search",
+   .func = "SymSearch",
.key = F_SEARCH,
.handler = handle_f8,
},

-- 
Roland Eggner


pgp4ivrA7_mni.pgp
Description: PGP signature


Re: [PATCH resend v3 1/3] kconfig: nconf: rewrite help texts

2013-02-01 Thread Roland Eggner
>From: Roland Eggner 

Rewrite all help texts.  During several years lazy (incomplete) updates have 
left behind a rather thick layer of dust.  Intentions:
(1)  Global help called by  should document all  _currently_  implemented
 keybindings.
(2)  Different help texts called by  resp.  should be consistent
 with (1) and with implementation:
 •  on plain menu entry
 •  in radiolist window
 •  in input windows for text, decimal or hexadecimal values
 •  in filename selection windows  
 •  SymSearch specific help called by  followed by 
(3)  More reasonable window titles:
 Rename window titles/README/Global help/
 Rename variables/nconf_readme/nconf_global_help/
 Rename window title   s/Instructions/Short help/
(4)  Consider which hints are most useful for first-time-users.

Signed-off-by: Roland Eggner 
---
scripts/kconfig/nconf.c |  341 +++
1 files changed, 167 insertions(+), 174 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,210 +12,203 @@
 #include "nconf.h"
 #include 
 
-static const char nconf_readme[] = N_(
-"Overview\n"
-"\n"
-"This interface let you select features and parameters for the build.\n"
-"Features can either be built-in, modularized, or ignored. Parameters\n"
-"must be entered in as decimal or hexadecimal numbers or text.\n"
+static const char nconf_global_help[] = N_(
+"Help windows\n"
+"\n"
+"o  Global help:  Unless in a data entry window, key  will give you\n"
+"   the global help window, which you are just reading.\n"
 "\n"
-"Menu items beginning with following braces represent features that\n"
-"  [ ] can be built in or removed\n"
-"  < > can be built in, modularized or removed\n"
-"  { } can be built in or modularized (selected by other feature)\n"
-"  - - are selected by other feature,\n"
-"  XXX cannot be selected. Use Symbol Info to find out why,\n"
-"while *, M or whitespace inside braces means to build in, build as\n"
-"a module or to exclude the feature respectively.\n"
+"o  A short version of the global help is available by key .\n"
 "\n"
-"To change any of these features, highlight it with the cursor\n"
-"keys and press  to build it in,  to make it a module or\n"
-" to removed it.  You may also press the  to cycle\n"
-"through the available options (ie. Y->N->M->Y).\n"
+"o  Local help:  To get help related to the current menu entry, use any\n"
+"   of   keys, or if in a data entry window then use  key.\n"
 "\n"
-"Some additional keyboard hints:\n"
 "\n"
-"Menus\n"
+"Menu entries\n"
+"\n"
+"This interface lets you select features and parameters for the kernel\n"
+"build.  Kernel features can either be built-in, modularized, or removed.\n"
+"Parameters must be entered as text or decimal or hexadecimal numbers.\n"
+"\n"
+"Menu entries beginning with following braces represent features that\n"
+"  [ ]  can be built in or removed\n"
+"  < >  can be built in, modularized or removed\n"
+"  { }  can be built in or modularized, are selected by another feature\n"
+"  - -  are selected by another feature\n"
+"  XXX  cannot be selected.  Symbol Info  tells you why.\n"
+"*, M or whitespace inside braces means to build in, build as a module\n"
+"or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the movement keys\n"
+"listed below and press  to build it in,  to make it a module or\n"
+" to remove it.  You may press the  key to cycle through the\n"
+"available options.\n"
+"\n"
+"A trailing \"--->\" designates a submenu.\n"
+"\n"
+"\n"
+"Menu navigation keys\n"
+"--\n"
+"Linewise up \n"
+"Linewise down   \n"
+"Pagewise up \n"
+"Pagewise down   \n"
+"First entry \n"
+"Last entry  \n"
+"Enter a submenu   \n"
+"Go back to parent menu   \n"
+"Close a help window \n"
+"Close entry window, apply   \n"
+"Close entry window, forget\n"
+"Start incremental, case-insensitive search for STRING in men

[PATCH resend v3 0/3] kconfig: nconf: rewrite help texts, add vi-style navigation keys

2013-02-01 Thread Roland Eggner
Yann, Michal,

thanks for advice and comments to v2, I tried to address all and posted v3 
a week ago.  Got no reply and resent now.  I would like to see this in 3.9.
How to proceed?

-- 
Regards
Roland Eggner


pgp7u2C7gD_zG.pgp
Description: PGP signature


[PATCH resend v3 0/3] kconfig: nconf: rewrite help texts, add vi-style navigation keys

2013-02-01 Thread Roland Eggner
Yann, Michal,

thanks for advice and comments to v2, I tried to address all and posted v3 
a week ago.  Got no reply and resent now.  I would like to see this in 3.9.
How to proceed?

-- 
Regards
Roland Eggner


pgp7u2C7gD_zG.pgp
Description: PGP signature


Re: [PATCH resend v3 1/3] kconfig: nconf: rewrite help texts

2013-02-01 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

Rewrite all help texts.  During several years lazy (incomplete) updates have 
left behind a rather thick layer of dust.  Intentions:
(1)  Global help called by F1 should document all  _currently_  implemented
 keybindings.
(2)  Different help texts called by F3 resp. F8F1 should be consistent
 with (1) and with implementation:
 •  on plain menu entry
 •  in radiolist window
 •  in input windows for text, decimal or hexadecimal values
 •  in filename selection windows F6 F7
 •  SymSearch specific help called by F8 followed by F1
(3)  More reasonable window titles:
 Rename window titles/README/Global help/
 Rename variables/nconf_readme/nconf_global_help/
 Rename window title   s/Instructions/Short help/
(4)  Consider which hints are most useful for first-time-users.

Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
scripts/kconfig/nconf.c |  341 +++
1 files changed, 167 insertions(+), 174 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,210 +12,203 @@
 #include nconf.h
 #include ctype.h
 
-static const char nconf_readme[] = N_(
-Overview\n
-\n
-This interface let you select features and parameters for the build.\n
-Features can either be built-in, modularized, or ignored. Parameters\n
-must be entered in as decimal or hexadecimal numbers or text.\n
+static const char nconf_global_help[] = N_(
+Help windows\n
+\n
+o  Global help:  Unless in a data entry window, key F1 will give you\n
+   the global help window, which you are just reading.\n
 \n
-Menu items beginning with following braces represent features that\n
-  [ ] can be built in or removed\n
-can be built in, modularized or removed\n
-  { } can be built in or modularized (selected by other feature)\n
-  - - are selected by other feature,\n
-  XXX cannot be selected. Use Symbol Info to find out why,\n
-while *, M or whitespace inside braces means to build in, build as\n
-a module or to exclude the feature respectively.\n
+o  A short version of the global help is available by key F3.\n
 \n
-To change any of these features, highlight it with the cursor\n
-keys and press Y to build it in, M to make it a module or\n
-N to removed it.  You may also press the Space Bar to cycle\n
-through the available options (ie. Y-N-M-Y).\n
+o  Local help:  To get help related to the current menu entry, use any\n
+   of ? h keys, or if in a data entry window then use F1 key.\n
 \n
-Some additional keyboard hints:\n
 \n
-Menus\n
+Menu entries\n
+\n
+This interface lets you select features and parameters for the kernel\n
+build.  Kernel features can either be built-in, modularized, or removed.\n
+Parameters must be entered as text or decimal or hexadecimal numbers.\n
+\n
+Menu entries beginning with following braces represent features that\n
+  [ ]  can be built in or removed\n
+ can be built in, modularized or removed\n
+  { }  can be built in or modularized, are selected by another feature\n
+  - -  are selected by another feature\n
+  XXX  cannot be selected.  Symbol Info F2 tells you why.\n
+*, M or whitespace inside braces means to build in, build as a module\n
+or to exclude the feature respectively.\n
+\n
+To change any of these features, highlight it with the movement keys\n
+listed below and press y to build it in, m to make it a module or\n
+n to remove it.  You may press the Space key to cycle through the\n
+available options.\n
+\n
+A trailing \---\ designates a submenu.\n
+\n
+\n
+Menu navigation keys\n
+--\n
+Linewise up Up\n
+Linewise down   Down\n
+Pagewise up Page Up\n
+Pagewise down   Page Down\n
+First entry Home\n
+Last entry  End\n
+Enter a submenu Right  Enter\n
+Go back to parent menu  Left   Esc  F5\n
+Close a help window Enter  Esc  F5\n
+Close entry window, apply   Enter\n
+Close entry window, forget  Esc  F5\n
+Start incremental, case-insensitive search for STRING in menu entries,\n
+no regex support, STRING is displayed in upper left corner\n
+/STRING\n
+Remove last character   Backspace\n
+Jump to next hitDown\n
+Jump to previous hitUp\n
+Exit menu search mode   /  Esc\n
+Search for configuration variables with or without leading CONFIG_\n
+F8RegExprEnter\n
+Verbose search help F8F1\n
+--\n
+\n
+Unless in a data entry window, key 1 may be used instead of F1,\n
+2 instead of F2, etc.\n
+\n
+\n
+Radiolist (Choice list)\n
+---\n
+Use the movement keys listed above

Re: [PATCH resend v3 2/3] kconfig: nconf: rewrite labels of function keys line

2013-02-01 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

More reasonable labels of function keys line.  Rename labels and keep menu 
width, as required for fitting on COLUMNS=80 terminals:
•  s/Insts/Help 2/
•  s/Config/ShowAll/

Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
scripts/kconfig/nconf.c |  8 
1 files changed, 4 insertions(+), 4 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -312,19 +312,19 @@ struct function_keys function_keys[] = {
},
{
.key_str = F2,
-   .func = Sym Info,
+   .func = SymInfo,
.key = F_SYMBOL,
.handler = handle_f2,
},
{
.key_str = F3,
-   .func = Insts,
+   .func = Help 2,
.key = F_INSTS,
.handler = handle_f3,
},
{
.key_str = F4,
-   .func = Config,
+   .func = ShowAll,
.key = F_CONF,
.handler = handle_f4,
},
@@ -348,7 +348,7 @@ struct function_keys function_keys[] = {
},
{
.key_str = F8,
-   .func = Sym Search,
+   .func = SymSearch,
.key = F_SEARCH,
.handler = handle_f8,
},

-- 
Roland Eggner


pgp4ivrA7_mni.pgp
Description: PGP signature


Re: [PATCH resend v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-02-01 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

Add vi-style navigation keys, based on initial work by Dmitry Voytik.  Users of 
netbooks, notebooks and other devices with keyboards lacking a dedicated number 
keypad will enjoy.  And advanced users of vim, less, mutt, … having navigation 
by keys hjkl “hardwired” in their fingers will “fly” :)
In global help window called by key F1 provide a table with all current and 
added keybindings:

| Menu navigation keysplain style vi-style   |
| -- |
| Linewise up Upk|
| Linewise down   Down  j|
| Pagewise up Page Up   Ctrl-b  Ctrl-p |
| Pagewise down   Page Down Ctrl-f  Ctrl-n |
| First entry Home  g|
| Last entry  End   G|
| Enter a submenu Right  Enterl|
| Go back to parent menu  Left   Esc  F5h|
| Close a help window Enter  Esc  F5   |
| Close entry window, apply   Enter|
| Close entry window, forget  Esc  F5|
| Start incremental, case-insensitive search for STRING in menu entries, |
| no regex support, STRING is displayed in upper left corner |
| /STRING  |
| Remove last character   Backspace|
| Jump to next hitDown |
| Jump to previous hitUp   |
| Exit menu search mode   /  Esc |
| Search for configuration variables with or without leading CONFIG_ |
| F8RegExprEnter |
| Verbose search help F8F1   |
| -- |

Intention is an easy to memorize set of keybindings resembling user interfaces 
of other frequently used software, not a strict clone of the historic vi user 
interface.  In contrast to historic vi, Ctrl-f Ctrl-b is used for 
characterwise right and left movement by libreadline (bash, xfsprogs, bc, gdb, 
python, ruby, hunspell, mysql, sqlite, gnupg, xine-ui, parted …).  Thus 
pagewise 
movement by Ctrl-f Ctrl-b would be weird for my fingers, so I have added 
Ctrl-n Ctrl-p, resembling e.g. thread-wise navigation in mutt message lists.

To call help related to the current menu entry, currently any of the keys ? 
h may be used.  To solve the conflict with new navigation key h, this is 
changed to keys ? H.  Lesser experienced users will not note, they use ?. 
 
And advanced users will consider, how much faster they can work, when all 
frequently used keys are in the middle of the keyboard.

Signed-off-by: Dmitry Voytik dvv.ker...@gmail.com
Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
scripts/kconfig/nconf.c |  81 ++--
1 files changed, 51 insertions(+), 30 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,6 +12,8 @@
 #include nconf.h
 #include ctype.h
 
+#define KEY_CONTROL(k) ((k)  0x1f)
+
 static const char nconf_global_help[] = N_(
 Help windows\n
 \n
@@ -21,7 +23,7 @@ static const char nconf_global_help[] = 
 o  A short version of the global help is available by key F3.\n
 \n
 o  Local help:  To get help related to the current menu entry, use any\n
-   of ? h keys, or if in a data entry window then use F1 key.\n
+   of ? H keys, or if in a data entry window then use F1 key.\n
 \n
 \n
 Menu entries\n
@@ -47,16 +49,16 @@ static const char nconf_global_help[] = 
 A trailing \---\ designates a submenu.\n
 \n
 \n
-Menu navigation keys\n
+Menu navigation keysplain style vi-style\n
 --\n
-Linewise up Up\n
-Linewise down   Down\n
-Pagewise up Page Up\n
-Pagewise down   Page Down\n
-First entry Home\n
-Last entry  End\n
-Enter a submenu Right  Enter\n
-Go back to parent menu  Left   Esc  F5\n
+Linewise up Upk\n
+Linewise down   Down  j\n
+Pagewise up Page Up   Ctrl-b  Ctrl-p\n
+Pagewise down   Page Down Ctrl-f  Ctrl-n\n
+First entry Home  g\n
+Last entry  End   G\n
+Enter a submenu Right  Enterl\n
+Go back

[PATCH v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-01-26 Thread Roland Eggner
>From: Roland Eggner 

Add vi-style navigation keys, based on initial work by Dmitry Voytik.  Users of 
netbooks, notebooks and other devices with keyboards lacking a dedicated number 
keypad will enjoy.  And advanced users of vim, less, mutt, … having navigation 
by keys hjkl “hardwired” in their fingers will “fly” :)
In global help window called by key  provide a table with all current and 
added keybindings:

| Menu navigation keysplain style vi-style   |
| -- |
| Linewise up |
| Linewise down |
| Pagewise up   |
| Pagewise down   |
| First entry   |
| Last entry |
| Enter a submenu   |
| Go back to parent menu   |
| Close a help window|
| Close entry window, apply   |
| Close entry window, forget|
| Start incremental, case-insensitive search for STRING in menu entries, |
| no regex support, STRING is displayed in upper left corner |
| STRING  |
| Remove last character   |
| Jump to next hit |
| Jump to previous hit   |
| Exit menu search mode  |
| Search for configuration variables with or without leading CONFIG_ |
| RegExpr |
| Verbose search help|
| -- |

Intention is an easy to memorize set of keybindings resembling user interfaces 
of other frequently used software, not a strict clone of the historic vi user 
interface.  In contrast to historic vi,   is used for 
characterwise right and left movement by libreadline (bash, xfsprogs, bc, gdb, 
python, ruby, hunspell, mysql, sqlite, gnupg, xine-ui, parted …).  Thus 
pagewise 
movement by   would be weird for my fingers, so I have added 
 , resembling e.g. thread-wise navigation in mutt message lists.

To call help related to the current menu entry, currently any of the keys  
 may be used.  To solve the conflict with new navigation key , this is 
changed to keys  .  Lesser experienced users will not note, they use . 
 
And advanced users will consider, how much faster they can work, when all 
frequently used keys are in the middle of the keyboard.

Signed-off-by: Dmitry Voytik 
Signed-off-by: Roland Eggner 
---
scripts/kconfig/nconf.c |  81 ++--
1 files changed, 51 insertions(+), 30 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,6 +12,8 @@
 #include "nconf.h"
 #include 
 
+#define KEY_CONTROL(k) ((k) & 0x1f)
+
 static const char nconf_global_help[] = N_(
 "Help windows\n"
 "\n"
@@ -21,7 +23,7 @@ static const char nconf_global_help[] = 
 "o  A short version of the global help is available by key .\n"
 "\n"
 "o  Local help:  To get help related to the current menu entry, use any\n"
-"   of   keys, or if in a data entry window then use  key.\n"
+"   of   keys, or if in a data entry window then use  key.\n"
 "\n"
 "\n"
 "Menu entries\n"
@@ -47,16 +49,16 @@ static const char nconf_global_help[] = 
 "A trailing \"--->\" designates a submenu.\n"
 "\n"
 "\n"
-"Menu navigation keys\n"
+"Menu navigation keysplain style vi-style\n"
 "--\n"
-"Linewise up \n"
-"Linewise down   \n"
-"Pagewise up \n"
-"Pagewise down   \n"
-"First entry \n"
-"Last entry  \n"
-"Enter a submenu   \n"
-"Go back to parent menu   \n"
+"Linewise up \n"
+"Linewise down \n"
+"Pagewise up  \n"
+"Pagewise down  \n"
+"First entry   \n"
+"Last entry \n"
+"Enter a submenu

[PATCH v3 2/3] kconfig: nconf: rewrite labels of function keys line

2013-01-26 Thread Roland Eggner
>From: Roland Eggner 

More reasonable labels of function keys line.  Rename labels and keep menu 
width, as required for fitting on COLUMNS=80 terminals:
•  s/Insts/Help 2/
•  s/Config/ShowAll/

Signed-off-by: Roland Eggner 
---
scripts/kconfig/nconf.c |  8 
1 files changed, 4 insertions(+), 4 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -312,19 +312,19 @@ struct function_keys function_keys[] = {
},
{
.key_str = "F2",
-   .func = "Sym Info",
+   .func = "SymInfo",
.key = F_SYMBOL,
.handler = handle_f2,
},
{
.key_str = "F3",
-   .func = "Insts",
+   .func = "Help 2",
.key = F_INSTS,
.handler = handle_f3,
},
{
.key_str = "F4",
-   .func = "Config",
+   .func = "ShowAll",
.key = F_CONF,
.handler = handle_f4,
},
@@ -348,7 +348,7 @@ struct function_keys function_keys[] = {
},
{
.key_str = "F8",
-   .func = "Sym Search",
+   .func = "SymSearch",
.key = F_SEARCH,
.handler = handle_f8,
},

-- 
Roland Eggner


pgplnmimj_hCu.pgp
Description: PGP signature


[PATCH v3 1/3] kconfig: nconf: rewrite help texts

2013-01-26 Thread Roland Eggner
>From: Roland Eggner 

Rewrite all help texts.  During several years lazy (incomplete) updates have 
left behind a rather thick layer of dust.  Intentions:
(1)  Global help called by  should document all  _currently_  implemented
 keybindings.
(2)  Different help texts called by  resp.  should be consistent
 with (1) and with implementation:
 •  on plain menu entry
 •  in radiolist window
 •  in input windows for text, decimal or hexadecimal values
 •  in filename selection windows  
 •  SymSearch specific help called by  followed by 
(3)  More reasonable window titles:
 Rename window titles/README/Global help/
 Rename variables/nconf_readme/nconf_global_help/
 Rename window title   s/Instructions/Short help/
(4)  Consider which hints are most useful for first-time-users.

Signed-off-by: Roland Eggner 
---
scripts/kconfig/nconf.c |  341 +++
1 files changed, 167 insertions(+), 174 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,210 +12,203 @@
 #include "nconf.h"
 #include 
 
-static const char nconf_readme[] = N_(
-"Overview\n"
-"\n"
-"This interface let you select features and parameters for the build.\n"
-"Features can either be built-in, modularized, or ignored. Parameters\n"
-"must be entered in as decimal or hexadecimal numbers or text.\n"
+static const char nconf_global_help[] = N_(
+"Help windows\n"
+"\n"
+"o  Global help:  Unless in a data entry window, key  will give you\n"
+"   the global help window, which you are just reading.\n"
 "\n"
-"Menu items beginning with following braces represent features that\n"
-"  [ ] can be built in or removed\n"
-"  < > can be built in, modularized or removed\n"
-"  { } can be built in or modularized (selected by other feature)\n"
-"  - - are selected by other feature,\n"
-"  XXX cannot be selected. Use Symbol Info to find out why,\n"
-"while *, M or whitespace inside braces means to build in, build as\n"
-"a module or to exclude the feature respectively.\n"
+"o  A short version of the global help is available by key .\n"
 "\n"
-"To change any of these features, highlight it with the cursor\n"
-"keys and press  to build it in,  to make it a module or\n"
-" to removed it.  You may also press the  to cycle\n"
-"through the available options (ie. Y->N->M->Y).\n"
+"o  Local help:  To get help related to the current menu entry, use any\n"
+"   of   keys, or if in a data entry window then use  key.\n"
 "\n"
-"Some additional keyboard hints:\n"
 "\n"
-"Menus\n"
+"Menu entries\n"
+"\n"
+"This interface lets you select features and parameters for the kernel\n"
+"build.  Kernel features can either be built-in, modularized, or removed.\n"
+"Parameters must be entered as text or decimal or hexadecimal numbers.\n"
+"\n"
+"Menu entries beginning with following braces represent features that\n"
+"  [ ]  can be built in or removed\n"
+"  < >  can be built in, modularized or removed\n"
+"  { }  can be built in or modularized, are selected by another feature\n"
+"  - -  are selected by another feature\n"
+"  XXX  cannot be selected.  Symbol Info  tells you why.\n"
+"*, M or whitespace inside braces means to build in, build as a module\n"
+"or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the movement keys\n"
+"listed below and press  to build it in,  to make it a module or\n"
+" to remove it.  You may press the  key to cycle through the\n"
+"available options.\n"
+"\n"
+"A trailing \"--->\" designates a submenu.\n"
+"\n"
+"\n"
+"Menu navigation keys\n"
+"--\n"
+"Linewise up \n"
+"Linewise down   \n"
+"Pagewise up \n"
+"Pagewise down   \n"
+"First entry \n"
+"Last entry  \n"
+"Enter a submenu   \n"
+"Go back to parent menu   \n"
+"Close a help window \n"
+"Close entry window, apply   \n"
+"Close entry window, forget\n"
+"Start incremental, case-insensitive search for STRING in men

[PATCH v3 1/3] kconfig: nconf: rewrite help texts

2013-01-26 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

Rewrite all help texts.  During several years lazy (incomplete) updates have 
left behind a rather thick layer of dust.  Intentions:
(1)  Global help called by F1 should document all  _currently_  implemented
 keybindings.
(2)  Different help texts called by F3 resp. F8F1 should be consistent
 with (1) and with implementation:
 •  on plain menu entry
 •  in radiolist window
 •  in input windows for text, decimal or hexadecimal values
 •  in filename selection windows F6 F7
 •  SymSearch specific help called by F8 followed by F1
(3)  More reasonable window titles:
 Rename window titles/README/Global help/
 Rename variables/nconf_readme/nconf_global_help/
 Rename window title   s/Instructions/Short help/
(4)  Consider which hints are most useful for first-time-users.

Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
scripts/kconfig/nconf.c |  341 +++
1 files changed, 167 insertions(+), 174 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,210 +12,203 @@
 #include nconf.h
 #include ctype.h
 
-static const char nconf_readme[] = N_(
-Overview\n
-\n
-This interface let you select features and parameters for the build.\n
-Features can either be built-in, modularized, or ignored. Parameters\n
-must be entered in as decimal or hexadecimal numbers or text.\n
+static const char nconf_global_help[] = N_(
+Help windows\n
+\n
+o  Global help:  Unless in a data entry window, key F1 will give you\n
+   the global help window, which you are just reading.\n
 \n
-Menu items beginning with following braces represent features that\n
-  [ ] can be built in or removed\n
-can be built in, modularized or removed\n
-  { } can be built in or modularized (selected by other feature)\n
-  - - are selected by other feature,\n
-  XXX cannot be selected. Use Symbol Info to find out why,\n
-while *, M or whitespace inside braces means to build in, build as\n
-a module or to exclude the feature respectively.\n
+o  A short version of the global help is available by key F3.\n
 \n
-To change any of these features, highlight it with the cursor\n
-keys and press Y to build it in, M to make it a module or\n
-N to removed it.  You may also press the Space Bar to cycle\n
-through the available options (ie. Y-N-M-Y).\n
+o  Local help:  To get help related to the current menu entry, use any\n
+   of ? h keys, or if in a data entry window then use F1 key.\n
 \n
-Some additional keyboard hints:\n
 \n
-Menus\n
+Menu entries\n
+\n
+This interface lets you select features and parameters for the kernel\n
+build.  Kernel features can either be built-in, modularized, or removed.\n
+Parameters must be entered as text or decimal or hexadecimal numbers.\n
+\n
+Menu entries beginning with following braces represent features that\n
+  [ ]  can be built in or removed\n
+ can be built in, modularized or removed\n
+  { }  can be built in or modularized, are selected by another feature\n
+  - -  are selected by another feature\n
+  XXX  cannot be selected.  Symbol Info F2 tells you why.\n
+*, M or whitespace inside braces means to build in, build as a module\n
+or to exclude the feature respectively.\n
+\n
+To change any of these features, highlight it with the movement keys\n
+listed below and press y to build it in, m to make it a module or\n
+n to remove it.  You may press the Space key to cycle through the\n
+available options.\n
+\n
+A trailing \---\ designates a submenu.\n
+\n
+\n
+Menu navigation keys\n
+--\n
+Linewise up Up\n
+Linewise down   Down\n
+Pagewise up Page Up\n
+Pagewise down   Page Down\n
+First entry Home\n
+Last entry  End\n
+Enter a submenu Right  Enter\n
+Go back to parent menu  Left   Esc  F5\n
+Close a help window Enter  Esc  F5\n
+Close entry window, apply   Enter\n
+Close entry window, forget  Esc  F5\n
+Start incremental, case-insensitive search for STRING in menu entries,\n
+no regex support, STRING is displayed in upper left corner\n
+/STRING\n
+Remove last character   Backspace\n
+Jump to next hitDown\n
+Jump to previous hitUp\n
+Exit menu search mode   /  Esc\n
+Search for configuration variables with or without leading CONFIG_\n
+F8RegExprEnter\n
+Verbose search help F8F1\n
+--\n
+\n
+Unless in a data entry window, key 1 may be used instead of F1,\n
+2 instead of F2, etc.\n
+\n
+\n
+Radiolist (Choice list)\n
+---\n
+Use the movement keys listed above

[PATCH v3 2/3] kconfig: nconf: rewrite labels of function keys line

2013-01-26 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

More reasonable labels of function keys line.  Rename labels and keep menu 
width, as required for fitting on COLUMNS=80 terminals:
•  s/Insts/Help 2/
•  s/Config/ShowAll/

Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
scripts/kconfig/nconf.c |  8 
1 files changed, 4 insertions(+), 4 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -312,19 +312,19 @@ struct function_keys function_keys[] = {
},
{
.key_str = F2,
-   .func = Sym Info,
+   .func = SymInfo,
.key = F_SYMBOL,
.handler = handle_f2,
},
{
.key_str = F3,
-   .func = Insts,
+   .func = Help 2,
.key = F_INSTS,
.handler = handle_f3,
},
{
.key_str = F4,
-   .func = Config,
+   .func = ShowAll,
.key = F_CONF,
.handler = handle_f4,
},
@@ -348,7 +348,7 @@ struct function_keys function_keys[] = {
},
{
.key_str = F8,
-   .func = Sym Search,
+   .func = SymSearch,
.key = F_SEARCH,
.handler = handle_f8,
},

-- 
Roland Eggner


pgplnmimj_hCu.pgp
Description: PGP signature


[PATCH v3 3/3] kconfig: nconf: add vi-style navigation keys

2013-01-26 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

Add vi-style navigation keys, based on initial work by Dmitry Voytik.  Users of 
netbooks, notebooks and other devices with keyboards lacking a dedicated number 
keypad will enjoy.  And advanced users of vim, less, mutt, … having navigation 
by keys hjkl “hardwired” in their fingers will “fly” :)
In global help window called by key F1 provide a table with all current and 
added keybindings:

| Menu navigation keysplain style vi-style   |
| -- |
| Linewise up Upk|
| Linewise down   Down  j|
| Pagewise up Page Up   Ctrl-b  Ctrl-p |
| Pagewise down   Page Down Ctrl-f  Ctrl-n |
| First entry Home  g|
| Last entry  End   G|
| Enter a submenu Right  Enterl|
| Go back to parent menu  Left   Esc  F5h|
| Close a help window Enter  Esc  F5   |
| Close entry window, apply   Enter|
| Close entry window, forget  Esc  F5|
| Start incremental, case-insensitive search for STRING in menu entries, |
| no regex support, STRING is displayed in upper left corner |
| /STRING  |
| Remove last character   Backspace|
| Jump to next hitDown |
| Jump to previous hitUp   |
| Exit menu search mode   /  Esc |
| Search for configuration variables with or without leading CONFIG_ |
| F8RegExprEnter |
| Verbose search help F8F1   |
| -- |

Intention is an easy to memorize set of keybindings resembling user interfaces 
of other frequently used software, not a strict clone of the historic vi user 
interface.  In contrast to historic vi, Ctrl-f Ctrl-b is used for 
characterwise right and left movement by libreadline (bash, xfsprogs, bc, gdb, 
python, ruby, hunspell, mysql, sqlite, gnupg, xine-ui, parted …).  Thus 
pagewise 
movement by Ctrl-f Ctrl-b would be weird for my fingers, so I have added 
Ctrl-n Ctrl-p, resembling e.g. thread-wise navigation in mutt message lists.

To call help related to the current menu entry, currently any of the keys ? 
h may be used.  To solve the conflict with new navigation key h, this is 
changed to keys ? H.  Lesser experienced users will not note, they use ?. 
 
And advanced users will consider, how much faster they can work, when all 
frequently used keys are in the middle of the keyboard.

Signed-off-by: Dmitry Voytik dvv.ker...@gmail.com
Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
scripts/kconfig/nconf.c |  81 ++--
1 files changed, 51 insertions(+), 30 deletions(-)

To be applied on vanilla 3.8-rc3

diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -12,6 +12,8 @@
 #include nconf.h
 #include ctype.h
 
+#define KEY_CONTROL(k) ((k)  0x1f)
+
 static const char nconf_global_help[] = N_(
 Help windows\n
 \n
@@ -21,7 +23,7 @@ static const char nconf_global_help[] = 
 o  A short version of the global help is available by key F3.\n
 \n
 o  Local help:  To get help related to the current menu entry, use any\n
-   of ? h keys, or if in a data entry window then use F1 key.\n
+   of ? H keys, or if in a data entry window then use F1 key.\n
 \n
 \n
 Menu entries\n
@@ -47,16 +49,16 @@ static const char nconf_global_help[] = 
 A trailing \---\ designates a submenu.\n
 \n
 \n
-Menu navigation keys\n
+Menu navigation keysplain style vi-style\n
 --\n
-Linewise up Up\n
-Linewise down   Down\n
-Pagewise up Page Up\n
-Pagewise down   Page Down\n
-First entry Home\n
-Last entry  End\n
-Enter a submenu Right  Enter\n
-Go back to parent menu  Left   Esc  F5\n
+Linewise up Upk\n
+Linewise down   Down  j\n
+Pagewise up Page Up   Ctrl-b  Ctrl-p\n
+Pagewise down   Page Down Ctrl-f  Ctrl-n\n
+First entry Home  g\n
+Last entry  End   G\n
+Enter a submenu Right  Enterl\n
+Go back

Re: [PATCH v2 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-16 Thread Roland Eggner
On 2013-01-15 Tuesday at 23:27 +0100 Yann E. MORIN wrote:
> Roland, All,
> 
> On Tuesday 15 January 2013 Roland Eggner wrote:
> > >From: Roland Eggner 
> 
> OK, now I've had time to test it. Works OK.
> 
> However, this patch mixes different things: feature changes, help-texts
> rewrite...
> 
> Could you split it into multiple patches, each do a single, well-defined
> change? See below.
> … …

Will do, but has to wait until weekend.

-- 
Roland Eggner


pgpWmrS6m9p_I.pgp
Description: PGP signature


Re: [PATCH v2 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-16 Thread Roland Eggner
On 2013-01-15 Tuesday at 23:27 +0100 Yann E. MORIN wrote:
 Roland, All,
 
 On Tuesday 15 January 2013 Roland Eggner wrote:
  From: Roland Eggner ed...@systemanalysen.net
 
 OK, now I've had time to test it. Works OK.
 
 However, this patch mixes different things: feature changes, help-texts
 rewrite...
 
 Could you split it into multiple patches, each do a single, well-defined
 change? See below.
 … …

Will do, but has to wait until weekend.

-- 
Roland Eggner


pgpWmrS6m9p_I.pgp
Description: PGP signature


Re: [PATCH] nconf: add vi-style command keys for the menu navigation

2013-01-15 Thread Roland Eggner
On 2013-01-15 Tuesday at 18:38 +0100 Yann E. MORIN wrote:
> Roland, All,
> 
> On Tuesday 15 January 2013 Roland Eggner wrote:
> > On 2013-01-14 Monday at 23:10 +0100 Yann E. MORIN wrote:
> > > The / keys are not documented in the help text.
> > > / are not, either.
> > 
> > Already documented in previous version and in v2 posted half hour ago:
> 
> Ah, so your patch includes Dmitry's changes, right?

Yes.

-- 
Roland Eggner


pgpyiRUki3jTW.pgp
Description: PGP signature


Re: [PATCH] nconf: add vi-style command keys for the menu navigation

2013-01-15 Thread Roland Eggner
On 2013-01-14 Monday at 23:10 +0100 Yann E. MORIN wrote:
> Dmitry, All,
> 
> On Friday 28 December 2012 Dmitry Voytik wrote:
> > Add alternative vi-style keys for the menu navigation:
> > / for down/up navigation, / for
> > page down/up, / for first/last menu item selection
> > and  for entering to a submenu.
> 
> The / keys are not documented in the help text.
> / are not, either.

Already documented in previous version and in v2 posted half hour ago:

User interface:
 “Global help“, table starting near line 36.

Source code:
grep -E -n '(First|Last) entry' scripts/kconfig/nconf.c


> Care to add those and resend, please?

v2 based on 3.8-rc3 posted.


Thanks for review.
-- 
Roland Eggner



pgp26lkApFVtH.pgp
Description: PGP signature


Re: [PATCH v2stable 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-15 Thread Roland Eggner
>From: Roland Eggner 

•  Implemented vi-style navigation, based on initial work by
   Dmitry Voytik.  Using   instead of   for help related to current
   menu entry avoids conflict.

•  Added keybindings   additionally to   for moving pagewise
   down and up.is used for characterwise right and left movement
   by libreadline (bash, xfsprogs, bc, gdb, python, ruby, hunspell, mysql,
   sqlite, gnupg, xine-ui, parted …).  Thus pagewise movement by   is
   less confusing than by   for my fingers.

•  Rewrote all help texts.  During several years lazy (incomplete) updates had
   left behind a rather thick layer of dust.  Intentions:
   (1)  Global help called by  should document all  _currently_  implemented
keybindings.
   (2)  Different help texts called by  resp.  should be consistent
with (1) and with implementation:
•  on plain menu entry
•  in radiolist window
•  in input windows for text, decimal or hexadecimal values
•  in filename selection windows  
•  SymSearch specific help called by  followed by 

•  Function keys line:  “Help 2” instead of “Insts” and “ShowAll” instead of
   “Config” should be more intuitiv.

Signed-off-by: Dmitry Voytik 
Signed-off-by: Roland Eggner 
---
For stable users: to be applied on vanilla 3.2.37

--- linux-3.2.37.orig/scripts/kconfig/nconf.c   2013-01-15 14:21:59.613437055 
+0100
+++ linux-3.2.37/scripts/kconfig/nconf.c2013-01-15 14:47:03.207334239 
+0100
@@ -12,210 +12,204 @@
 #include "nconf.h"
 #include 
 
-static const char nconf_readme[] = N_(
-"Overview\n"
-"\n"
-"This interface let you select features and parameters for the build.\n"
-"Features can either be built-in, modularized, or ignored. Parameters\n"
-"must be entered in as decimal or hexadecimal numbers or text.\n"
-"\n"
-"Menu items beginning with following braces represent features that\n"
-"  [ ] can be built in or removed\n"
-"  < > can be built in, modularized or removed\n"
-"  { } can be built in or modularized (selected by other feature)\n"
-"  - - are selected by other feature,\n"
-"  XXX cannot be selected. Use Symbol Info to find out why,\n"
-"while *, M or whitespace inside braces means to build in, build as\n"
-"a module or to exclude the feature respectively.\n"
-"\n"
-"To change any of these features, highlight it with the cursor\n"
-"keys and press  to build it in,  to make it a module or\n"
-" to removed it.  You may also press the  to cycle\n"
-"through the available options (ie. Y->N->M->Y).\n"
+#define KEY_CONTROL(k) ((k) & 0x1f)
+
+static const char nconf_global_help[] = N_(
+"Help windows\n"
+"\n"
+"o  Global help:  Unless in a data entry window, key  will give you\n"
+"   the global help window, which you are just reading.\n"
+"\n"
+"o  A short version of the global help is available by key .\n"
+"\n"
+"o  Local help:  To get help related to the current menu entry, use any\n"
+"   of   keys, or if in a data entry window then use  key.\n"
+"\n"
+"\n"
+"Menu entries\n"
+"\n"
+"This interface lets you select features and parameters for the kernel\n"
+"build.  Kernel features can either be built-in, modularized, or removed.\n"
+"Parameters must be entered as decimal or hexadecimal numbers or text.\n"
+"\n"
+"Menu entries beginning with following braces represent features that\n"
+"  [ ]  can be built in or removed\n"
+"  < >  can be built in, modularized or removed\n"
+"  { }  can be built in or modularized, are selected by another feature\n"
+"  - -  are selected by another feature\n"
+"  XXX  cannot be selected.  Symbol Info  tells you why.\n"
+"*, M or whitespace inside braces means to build in, build as a module\n"
+"or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the movement keys\n"
+"listed below and press  to build it in,  to make it a module or\n"
+" to remove it.  You may press the  key to cycle through the\n"
+"available options.\n"
+"\n"
+"A trailing \"--->\" designates a submenu.\n"
+"\n"
+"\n"
+"Menu navigation keysplain style vi-style\n"
+"--\n"
+"Linewise up \n"
+"Linewise down \n"
+"Pagewise up  \n"
+"Pag

Re: [PATCH v2 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-15 Thread Roland Eggner
>From: Roland Eggner 

•  Implemented vi-style navigation, based on initial work by
   Dmitry Voytik.  Using   instead of   for help related to current
   menu entry avoids conflict.

•  Added keybindings   additionally to   for moving pagewise
   down and up.is used for characterwise right and left movement
   by libreadline (bash, xfsprogs, bc, gdb, python, ruby, hunspell, mysql,
   sqlite, gnupg, xine-ui, parted …).  Thus pagewise movement by   is
   less confusing than by   for my fingers.

•  Rewrote all help texts.  During several years lazy (incomplete) updates had
   left behind a rather thick layer of dust.  Intentions:
   (1)  Global help called by  should document all  _currently_  implemented
keybindings.
   (2)  Different help texts called by  resp.  should be consistent
with (1) and with implementation:
•  on plain menu entry
•  in radiolist window
•  in input windows for text, decimal or hexadecimal values
•  in filename selection windows  
•  SymSearch specific help called by  followed by 

•  Function keys line:  “Help 2” instead of “Insts” and “ShowAll” instead of
   “Config” should be more intuitiv.

Signed-off-by: Dmitry Voytik 
Signed-off-by: Roland Eggner 
---
To be applied on vanilla 3.8-rc3

--- linux-3.8-rc3.orig/scripts/kconfig/nconf.c  2013-01-15 13:49:24.0 
+0100
+++ linux-3.8-rc3/scripts/kconfig/nconf.c   2013-01-15 14:47:03.510334219 
+0100
@@ -12,210 +12,204 @@
 #include "nconf.h"
 #include 
 
-static const char nconf_readme[] = N_(
-"Overview\n"
-"\n"
-"This interface let you select features and parameters for the build.\n"
-"Features can either be built-in, modularized, or ignored. Parameters\n"
-"must be entered in as decimal or hexadecimal numbers or text.\n"
-"\n"
-"Menu items beginning with following braces represent features that\n"
-"  [ ] can be built in or removed\n"
-"  < > can be built in, modularized or removed\n"
-"  { } can be built in or modularized (selected by other feature)\n"
-"  - - are selected by other feature,\n"
-"  XXX cannot be selected. Use Symbol Info to find out why,\n"
-"while *, M or whitespace inside braces means to build in, build as\n"
-"a module or to exclude the feature respectively.\n"
-"\n"
-"To change any of these features, highlight it with the cursor\n"
-"keys and press  to build it in,  to make it a module or\n"
-" to removed it.  You may also press the  to cycle\n"
-"through the available options (ie. Y->N->M->Y).\n"
+#define KEY_CONTROL(k) ((k) & 0x1f)
+
+static const char nconf_global_help[] = N_(
+"Help windows\n"
+"\n"
+"o  Global help:  Unless in a data entry window, key  will give you\n"
+"   the global help window, which you are just reading.\n"
+"\n"
+"o  A short version of the global help is available by key .\n"
+"\n"
+"o  Local help:  To get help related to the current menu entry, use any\n"
+"   of   keys, or if in a data entry window then use  key.\n"
+"\n"
+"\n"
+"Menu entries\n"
+"\n"
+"This interface lets you select features and parameters for the kernel\n"
+"build.  Kernel features can either be built-in, modularized, or removed.\n"
+"Parameters must be entered as decimal or hexadecimal numbers or text.\n"
+"\n"
+"Menu entries beginning with following braces represent features that\n"
+"  [ ]  can be built in or removed\n"
+"  < >  can be built in, modularized or removed\n"
+"  { }  can be built in or modularized, are selected by another feature\n"
+"  - -  are selected by another feature\n"
+"  XXX  cannot be selected.  Symbol Info  tells you why.\n"
+"*, M or whitespace inside braces means to build in, build as a module\n"
+"or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the movement keys\n"
+"listed below and press  to build it in,  to make it a module or\n"
+" to remove it.  You may press the  key to cycle through the\n"
+"available options.\n"
+"\n"
+"A trailing \"--->\" designates a submenu.\n"
+"\n"
+"\n"
+"Menu navigation keysplain style vi-style\n"
+"--\n"
+"Linewise up \n"
+"Linewise down \n"
+"Pagewise up  \n"
+"Pagewise down   

Re: [PATCH 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-15 Thread Roland Eggner
On 2013-01-14 Monday at 19:24 +0100 Yann E. MORIN wrote:
> Roland, All,
> 
> On Saturday 29 December 2012 Roland Eggner wrote:
> > On 2012-12-28 Friday at 23:40 +0400 Dmitry Voytik wrote:
> > > Add alternative vi-style keys for the menu navigation:
> > > / for down/up navigation, / for
> > > page down/up, / for first/last menu item selection
> > > and  for entering to a submenu.
> > 
> > Good starting point, thanks for your initial work.
> > Here is completion of the work:
> 
> I'm sorry, but this patch does not apply cleanly, neither on-top of
> Dmitry's patch, nor on-top of Michal's for-next branch:

Sorry.  Recreated patch versions will follow in replies to this message, the
1st to be applied on vanilla 3.8-rc3, the 2nd to be applied on vanilla 3.2.35.
Unfortunately the patch submitting rules do not allow me to mention this in
subject lines.

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


Re: [PATCH 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-15 Thread Roland Eggner
On 2013-01-14 Monday at 19:24 +0100 Yann E. MORIN wrote:
 Roland, All,
 
 On Saturday 29 December 2012 Roland Eggner wrote:
  On 2012-12-28 Friday at 23:40 +0400 Dmitry Voytik wrote:
   Add alternative vi-style keys for the menu navigation:
   j/k for down/up navigation, C-f/C-b for
   page down/up, g/G for first/last menu item selection
   and l for entering to a submenu.
  
  Good starting point, thanks for your initial work.
  Here is completion of the work:
 
 I'm sorry, but this patch does not apply cleanly, neither on-top of
 Dmitry's patch, nor on-top of Michal's for-next branch:

Sorry.  Recreated patch versions will follow in replies to this message, the
1st to be applied on vanilla 3.8-rc3, the 2nd to be applied on vanilla 3.2.35.
Unfortunately the patch submitting rules do not allow me to mention this in
subject lines.

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


Re: [PATCH v2 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-15 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

•  Implemented vi-style navigation k j l h, based on initial work by
   Dmitry Voytik.  Using ? H instead of ? h for help related to current
   menu entry avoids conflict.

•  Added keybindings C-n C-p additionally to C-f C-b for moving pagewise
   down and up.  C-f C-b is used for characterwise right and left movement
   by libreadline (bash, xfsprogs, bc, gdb, python, ruby, hunspell, mysql,
   sqlite, gnupg, xine-ui, parted …).  Thus pagewise movement by C-n C-p is
   less confusing than by C-f C-b for my fingers.

•  Rewrote all help texts.  During several years lazy (incomplete) updates had
   left behind a rather thick layer of dust.  Intentions:
   (1)  Global help called by F1 should document all  _currently_  implemented
keybindings.
   (2)  Different help texts called by F3 resp. F8F1 should be consistent
with (1) and with implementation:
•  on plain menu entry
•  in radiolist window
•  in input windows for text, decimal or hexadecimal values
•  in filename selection windows F6 F7
•  SymSearch specific help called by F8 followed by F1

•  Function keys line:  “Help 2” instead of “Insts” and “ShowAll” instead of
   “Config” should be more intuitiv.

Signed-off-by: Dmitry Voytik dvv.ker...@gmail.com
Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
To be applied on vanilla 3.8-rc3

--- linux-3.8-rc3.orig/scripts/kconfig/nconf.c  2013-01-15 13:49:24.0 
+0100
+++ linux-3.8-rc3/scripts/kconfig/nconf.c   2013-01-15 14:47:03.510334219 
+0100
@@ -12,210 +12,204 @@
 #include nconf.h
 #include ctype.h
 
-static const char nconf_readme[] = N_(
-Overview\n
-\n
-This interface let you select features and parameters for the build.\n
-Features can either be built-in, modularized, or ignored. Parameters\n
-must be entered in as decimal or hexadecimal numbers or text.\n
-\n
-Menu items beginning with following braces represent features that\n
-  [ ] can be built in or removed\n
-can be built in, modularized or removed\n
-  { } can be built in or modularized (selected by other feature)\n
-  - - are selected by other feature,\n
-  XXX cannot be selected. Use Symbol Info to find out why,\n
-while *, M or whitespace inside braces means to build in, build as\n
-a module or to exclude the feature respectively.\n
-\n
-To change any of these features, highlight it with the cursor\n
-keys and press Y to build it in, M to make it a module or\n
-N to removed it.  You may also press the Space Bar to cycle\n
-through the available options (ie. Y-N-M-Y).\n
+#define KEY_CONTROL(k) ((k)  0x1f)
+
+static const char nconf_global_help[] = N_(
+Help windows\n
+\n
+o  Global help:  Unless in a data entry window, key F1 will give you\n
+   the global help window, which you are just reading.\n
+\n
+o  A short version of the global help is available by key F3.\n
+\n
+o  Local help:  To get help related to the current menu entry, use any\n
+   of ? H keys, or if in a data entry window then use F1 key.\n
+\n
+\n
+Menu entries\n
+\n
+This interface lets you select features and parameters for the kernel\n
+build.  Kernel features can either be built-in, modularized, or removed.\n
+Parameters must be entered as decimal or hexadecimal numbers or text.\n
+\n
+Menu entries beginning with following braces represent features that\n
+  [ ]  can be built in or removed\n
+ can be built in, modularized or removed\n
+  { }  can be built in or modularized, are selected by another feature\n
+  - -  are selected by another feature\n
+  XXX  cannot be selected.  Symbol Info F2 tells you why.\n
+*, M or whitespace inside braces means to build in, build as a module\n
+or to exclude the feature respectively.\n
+\n
+To change any of these features, highlight it with the movement keys\n
+listed below and press y to build it in, m to make it a module or\n
+n to remove it.  You may press the Space key to cycle through the\n
+available options.\n
+\n
+A trailing \---\ designates a submenu.\n
+\n
+\n
+Menu navigation keysplain style vi-style\n
+--\n
+Linewise up Upk\n
+Linewise down   Down  j\n
+Pagewise up Page Up   Ctrl-b  Ctrl-p\n
+Pagewise down   Page Down Ctrl-f  Ctrl-n\n
+First entry Home  g\n
+Last entry  End   G\n
+Enter a submenu Right  Enterl\n
+Go back to parent menu  Left   Esc  F5h\n
+Close a help window Enter  Esc  F5\n
+Close entry window, apply   Enter\n
+Close entry window, forget  Esc  F5\n
+Start incremental, case-insensitive search for STRING in menu entries,\n
+no regex support, STRING is displayed in upper left corner\n
+/STRING\n
+Remove last

Re: [PATCH v2stable 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2013-01-15 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

•  Implemented vi-style navigation k j l h, based on initial work by
   Dmitry Voytik.  Using ? H instead of ? h for help related to current
   menu entry avoids conflict.

•  Added keybindings C-n C-p additionally to C-f C-b for moving pagewise
   down and up.  C-f C-b is used for characterwise right and left movement
   by libreadline (bash, xfsprogs, bc, gdb, python, ruby, hunspell, mysql,
   sqlite, gnupg, xine-ui, parted …).  Thus pagewise movement by C-n C-p is
   less confusing than by C-f C-b for my fingers.

•  Rewrote all help texts.  During several years lazy (incomplete) updates had
   left behind a rather thick layer of dust.  Intentions:
   (1)  Global help called by F1 should document all  _currently_  implemented
keybindings.
   (2)  Different help texts called by F3 resp. F8F1 should be consistent
with (1) and with implementation:
•  on plain menu entry
•  in radiolist window
•  in input windows for text, decimal or hexadecimal values
•  in filename selection windows F6 F7
•  SymSearch specific help called by F8 followed by F1

•  Function keys line:  “Help 2” instead of “Insts” and “ShowAll” instead of
   “Config” should be more intuitiv.

Signed-off-by: Dmitry Voytik dvv.ker...@gmail.com
Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
For stable users: to be applied on vanilla 3.2.37

--- linux-3.2.37.orig/scripts/kconfig/nconf.c   2013-01-15 14:21:59.613437055 
+0100
+++ linux-3.2.37/scripts/kconfig/nconf.c2013-01-15 14:47:03.207334239 
+0100
@@ -12,210 +12,204 @@
 #include nconf.h
 #include ctype.h
 
-static const char nconf_readme[] = N_(
-Overview\n
-\n
-This interface let you select features and parameters for the build.\n
-Features can either be built-in, modularized, or ignored. Parameters\n
-must be entered in as decimal or hexadecimal numbers or text.\n
-\n
-Menu items beginning with following braces represent features that\n
-  [ ] can be built in or removed\n
-can be built in, modularized or removed\n
-  { } can be built in or modularized (selected by other feature)\n
-  - - are selected by other feature,\n
-  XXX cannot be selected. Use Symbol Info to find out why,\n
-while *, M or whitespace inside braces means to build in, build as\n
-a module or to exclude the feature respectively.\n
-\n
-To change any of these features, highlight it with the cursor\n
-keys and press Y to build it in, M to make it a module or\n
-N to removed it.  You may also press the Space Bar to cycle\n
-through the available options (ie. Y-N-M-Y).\n
+#define KEY_CONTROL(k) ((k)  0x1f)
+
+static const char nconf_global_help[] = N_(
+Help windows\n
+\n
+o  Global help:  Unless in a data entry window, key F1 will give you\n
+   the global help window, which you are just reading.\n
+\n
+o  A short version of the global help is available by key F3.\n
+\n
+o  Local help:  To get help related to the current menu entry, use any\n
+   of ? H keys, or if in a data entry window then use F1 key.\n
+\n
+\n
+Menu entries\n
+\n
+This interface lets you select features and parameters for the kernel\n
+build.  Kernel features can either be built-in, modularized, or removed.\n
+Parameters must be entered as decimal or hexadecimal numbers or text.\n
+\n
+Menu entries beginning with following braces represent features that\n
+  [ ]  can be built in or removed\n
+ can be built in, modularized or removed\n
+  { }  can be built in or modularized, are selected by another feature\n
+  - -  are selected by another feature\n
+  XXX  cannot be selected.  Symbol Info F2 tells you why.\n
+*, M or whitespace inside braces means to build in, build as a module\n
+or to exclude the feature respectively.\n
+\n
+To change any of these features, highlight it with the movement keys\n
+listed below and press y to build it in, m to make it a module or\n
+n to remove it.  You may press the Space key to cycle through the\n
+available options.\n
+\n
+A trailing \---\ designates a submenu.\n
+\n
+\n
+Menu navigation keysplain style vi-style\n
+--\n
+Linewise up Upk\n
+Linewise down   Down  j\n
+Pagewise up Page Up   Ctrl-b  Ctrl-p\n
+Pagewise down   Page Down Ctrl-f  Ctrl-n\n
+First entry Home  g\n
+Last entry  End   G\n
+Enter a submenu Right  Enterl\n
+Go back to parent menu  Left   Esc  F5h\n
+Close a help window Enter  Esc  F5\n
+Close entry window, apply   Enter\n
+Close entry window, forget  Esc  F5\n
+Start incremental, case-insensitive search for STRING in menu entries,\n
+no regex support, STRING is displayed in upper left corner\n
+/STRING\n

Re: [PATCH] nconf: add vi-style command keys for the menu navigation

2013-01-15 Thread Roland Eggner
On 2013-01-14 Monday at 23:10 +0100 Yann E. MORIN wrote:
 Dmitry, All,
 
 On Friday 28 December 2012 Dmitry Voytik wrote:
  Add alternative vi-style keys for the menu navigation:
  j/k for down/up navigation, C-f/C-b for
  page down/up, g/G for first/last menu item selection
  and l for entering to a submenu.
 
 The g/G keys are not documented in the help text.
 HOME/END are not, either.

Already documented in previous version and in v2 posted half hour ago:

User interface:
F1 “Global help“, table starting near line 36.

Source code:
grep -E -n '(First|Last) entry' scripts/kconfig/nconf.c


 Care to add those and resend, please?

v2 based on 3.8-rc3 posted.


Thanks for review.
-- 
Roland Eggner



pgp26lkApFVtH.pgp
Description: PGP signature


Re: [PATCH] nconf: add vi-style command keys for the menu navigation

2013-01-15 Thread Roland Eggner
On 2013-01-15 Tuesday at 18:38 +0100 Yann E. MORIN wrote:
 Roland, All,
 
 On Tuesday 15 January 2013 Roland Eggner wrote:
  On 2013-01-14 Monday at 23:10 +0100 Yann E. MORIN wrote:
   The g/G keys are not documented in the help text.
   HOME/END are not, either.
  
  Already documented in previous version and in v2 posted half hour ago:
 
 Ah, so your patch includes Dmitry's changes, right?

Yes.

-- 
Roland Eggner


pgpyiRUki3jTW.pgp
Description: PGP signature


Re: Supporting SYSRQ on broken laptops like the thinkpad T530

2013-01-08 Thread Roland Eggner
On 2013-01-08 Tuesday at 15:09 -0800 Marc MERLIN wrote:
> In its infinite wisdom, lenovo has removed the sysrq key on the latest
> thinkpads, and replaced it with a stupid ALT+FN+S key combination, which
> doesn't really work for doing sysrq from the console (nor do I know how the
> genius who did that intended for SYSRQ-S to work).
> http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T430-s-T530-Where-are-the-shortcut-function-keys-break-Pause-etc/ta-p/781749
> 
> I realize that one solution is to throw my laptop window at a suitable high
> floorand replace it with one from a vendor that doesn't randomly remove keys
> from the keyboard.
> That said, I was wondering if there were other solutions, especially
> considering that thinkpads used to be the better linux laptops.

My Dell “Precision M4500” notebook suffers similar (same?) problem.  So far 
I could not find a solution better than this:  e.g. Alt-Fn-SysRq-s

press and hold Alt
press and hold Fn
press and leave F10|SysRq
leave Fn
press and leave s
leave Alt

Several months ago a LKML user claimed, his cat had managed to press 
Alt-Fn-SysRq-c on his Dell Latitude notebook with similar keyboard, and 
provided 
photos showing the kernel crash message ;)

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


Re: Supporting SYSRQ on broken laptops like the thinkpad T530

2013-01-08 Thread Roland Eggner
On 2013-01-08 Tuesday at 15:09 -0800 Marc MERLIN wrote:
 In its infinite wisdom, lenovo has removed the sysrq key on the latest
 thinkpads, and replaced it with a stupid ALT+FN+S key combination, which
 doesn't really work for doing sysrq from the console (nor do I know how the
 genius who did that intended for SYSRQ-S to work).
 http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T430-s-T530-Where-are-the-shortcut-function-keys-break-Pause-etc/ta-p/781749
 
 I realize that one solution is to throw my laptop window at a suitable high
 floorand replace it with one from a vendor that doesn't randomly remove keys
 from the keyboard.
 That said, I was wondering if there were other solutions, especially
 considering that thinkpads used to be the better linux laptops.

My Dell “Precision M4500” notebook suffers similar (same?) problem.  So far 
I could not find a solution better than this:  e.g. Alt-Fn-SysRq-s

press and hold Alt
press and hold Fn
press and leave F10|SysRq
leave Fn
press and leave s
leave Alt

Several months ago a LKML user claimed, his cat had managed to press 
Alt-Fn-SysRq-c on his Dell Latitude notebook with similar keyboard, and 
provided 
photos showing the kernel crash message ;)

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


[PATCH 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2012-12-29 Thread Roland Eggner
On 2012-12-28 Friday at 23:40 +0400 Dmitry Voytik wrote:
> Add alternative vi-style keys for the menu navigation:
> / for down/up navigation, / for
> page down/up, / for first/last menu item selection
> and  for entering to a submenu.

Good starting point, thanks for your initial work.
Here is completion of the work:


>From: Roland Eggner 

•  Completed vi-style navigation.  Using   instead of
 for help related to current menu entry avoids conflict.

•  Added keybindings   additionally to   for moving pagewise
   down and up.is used for characterwise right and left movement
   by libreadline (bash, xfsprogs, bc, gdb, python, ruby, hunspell, mysql,
   sqlite, gnupg, xine-ui, parted …).  Thus pagewise movement by   is
   less confusing than by   for my fingers.

•  Rewrote all help texts.  During several years lazy (incomplete) updates had
   left behind a rather thick layer of dust.  Intentions:
   (1)  Global help called by  should document  _all_  implemented
keybindings.
   (2)  Different help texts called by  resp.  should be consistent
with (1) and with implementation:
•  on plain menu entry
•  in radiolist window
•  in input windows for text, decimal or hexadecimal values
•  in filename selection windows  
•  SymSearch specific help called by  followed by 

•  Function keys line:  “Help 2” instead of “Insts” and “ShowAll” instead of
   “Config” should be more intuitiv.

Signed-off-by: Dmitry Voytik 
Signed-off-by: Roland Eggner 
---
--- a/scripts/kconfig/nconf.c   2012-08-19 19:15:38.0 +0200
+++ b/scripts/kconfig/nconf.c   2012-12-29 21:21:11.109733174 +0100
@@ -12,210 +12,196 @@
 #include "nconf.h"
 #include 
 
-static const char nconf_readme[] = N_(
-"Overview\n"
-"\n"
-"This interface let you select features and parameters for the build.\n"
-"Features can either be built-in, modularized, or ignored. Parameters\n"
-"must be entered in as decimal or hexadecimal numbers or text.\n"
-"\n"
-"Menu items beginning with following braces represent features that\n"
-"  [ ] can be built in or removed\n"
-"  < > can be built in, modularized or removed\n"
-"  { } can be built in or modularized (selected by other feature)\n"
-"  - - are selected by other feature,\n"
-"  XXX cannot be selected. Use Symbol Info to find out why,\n"
-"while *, M or whitespace inside braces means to build in, build as\n"
-"a module or to exclude the feature respectively.\n"
-"\n"
-"To change any of these features, highlight it with the cursor\n"
-"keys and press  to build it in,  to make it a module or\n"
-" to removed it.  You may also press the  to cycle\n"
-"through the available options (ie. Y->N->M->Y).\n"
-"\n"
-"Some additional keyboard hints:\n"
-"\n"
-"Menus\n"
-"--\n"
-"o  Use the Up/Down arrow keys (cursor keys) to highlight the item\n"
-"   you wish to change use  or . Goto submenu by \n"
-"   pressing  of . Use  or  to go back.\n"
-"   Submenus are designated by \"--->\".\n"
-"\n"
-"   Searching: pressing '/' triggers interactive search mode.\n"
-"  nconfig performs a case insensitive search for the string\n"
-"  in the menu prompts (no regex support).\n"
-"  Pressing the up/down keys highlights the previous/next\n"
-"  matching item. Backspace removes one character from the\n"
-"  match string. Pressing either '/' again or ESC exits\n"
-"  search mode. All other keys behave normally.\n"
-"\n"
-"   You may also use the  and  keys to scroll\n"
-"   unseen options into view.\n"
-"\n"
-"o  To exit a menu use the just pressor .\n"
+#define KEY_CONTROL(k) ((k) & 0x1f)
+
+static const char nconf_global_help[] = N_(
+"Help windows\n"
+"\n"
+"o  Global help:  Unless in a data entry window, key  will give you\n"
+"   the global help window, which you are just reading.\n"
+"\n"
+"o  A short version of the global help is available by key .\n"
+"\n"
+"o  Local help:  To get help related to the current menu entry, use any\n"
+"   of   keys, or if in a data entry window then use  key.\n"
+"\n"
+"\n"
+"Menu entries\n"
+"\n"
+"This interface lets you select features and parameters for the kernel\n"
+"build.  Kernel features can either be built-in, modularized, or removed.\n"
+"Parameters must be entered as decimal or hexadecimal 

[PATCH 2/2] nconf: function keys line, change background color for better readability

2012-12-29 Thread Roland Eggner
>From: Roland Eggner 

•  In function keys line descriptions black on darkblue are almost impossible
   to read.  Change colors to black on brown.

Signed-off-by: Roland Eggner 
---
--- a/scripts/kconfig/nconf.gui.c   2012-11-16 17:47:22.0 +0100
+++ b/scripts/kconfig/nconf.gui.c   2012-12-23 23:51:40.929833170 +0100
@@ -48,7 +48,7 @@ static void set_normal_colors(void)
init_pair(INPUT_FIELD, -1, -1);
 
init_pair(FUNCTION_HIGHLIGHT, -1, -1);
-   init_pair(FUNCTION_TEXT, COLOR_BLUE, -1);
+   init_pair(FUNCTION_TEXT, COLOR_YELLOW, -1);
 }
 
 /* available attributes:

-- 
Roland Eggner


pgpSWr3JBp827.pgp
Description: PGP signature


[PATCH 2/2] nconf: function keys line, change background color for better readability

2012-12-29 Thread Roland Eggner
From: Roland Eggner ed...@systemanalysen.net

•  In function keys line descriptions black on darkblue are almost impossible
   to read.  Change colors to black on brown.

Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
--- a/scripts/kconfig/nconf.gui.c   2012-11-16 17:47:22.0 +0100
+++ b/scripts/kconfig/nconf.gui.c   2012-12-23 23:51:40.929833170 +0100
@@ -48,7 +48,7 @@ static void set_normal_colors(void)
init_pair(INPUT_FIELD, -1, -1);
 
init_pair(FUNCTION_HIGHLIGHT, -1, -1);
-   init_pair(FUNCTION_TEXT, COLOR_BLUE, -1);
+   init_pair(FUNCTION_TEXT, COLOR_YELLOW, -1);
 }
 
 /* available attributes:

-- 
Roland Eggner


pgpSWr3JBp827.pgp
Description: PGP signature


[PATCH 1/2] nconf: add keybindings for vi-style menu navigation, rewrite help texts

2012-12-29 Thread Roland Eggner
On 2012-12-28 Friday at 23:40 +0400 Dmitry Voytik wrote:
 Add alternative vi-style keys for the menu navigation:
 j/k for down/up navigation, C-f/C-b for
 page down/up, g/G for first/last menu item selection
 and l for entering to a submenu.

Good starting point, thanks for your initial work.
Here is completion of the work:


From: Roland Eggner ed...@systemanalysen.net

•  Completed vi-style navigation k j l h.  Using ? H instead of
   ? h for help related to current menu entry avoids conflict.

•  Added keybindings C-n C-p additionally to C-f C-b for moving pagewise
   down and up.  C-f C-b is used for characterwise right and left movement
   by libreadline (bash, xfsprogs, bc, gdb, python, ruby, hunspell, mysql,
   sqlite, gnupg, xine-ui, parted …).  Thus pagewise movement by C-n C-p is
   less confusing than by C-f C-b for my fingers.

•  Rewrote all help texts.  During several years lazy (incomplete) updates had
   left behind a rather thick layer of dust.  Intentions:
   (1)  Global help called by F1 should document  _all_  implemented
keybindings.
   (2)  Different help texts called by F3 resp. F8F1 should be consistent
with (1) and with implementation:
•  on plain menu entry
•  in radiolist window
•  in input windows for text, decimal or hexadecimal values
•  in filename selection windows F6 F7
•  SymSearch specific help called by F8 followed by F1

•  Function keys line:  “Help 2” instead of “Insts” and “ShowAll” instead of
   “Config” should be more intuitiv.

Signed-off-by: Dmitry Voytik dvv.ker...@gmail.com
Signed-off-by: Roland Eggner ed...@systemanalysen.net
---
--- a/scripts/kconfig/nconf.c   2012-08-19 19:15:38.0 +0200
+++ b/scripts/kconfig/nconf.c   2012-12-29 21:21:11.109733174 +0100
@@ -12,210 +12,196 @@
 #include nconf.h
 #include ctype.h
 
-static const char nconf_readme[] = N_(
-Overview\n
-\n
-This interface let you select features and parameters for the build.\n
-Features can either be built-in, modularized, or ignored. Parameters\n
-must be entered in as decimal or hexadecimal numbers or text.\n
-\n
-Menu items beginning with following braces represent features that\n
-  [ ] can be built in or removed\n
-can be built in, modularized or removed\n
-  { } can be built in or modularized (selected by other feature)\n
-  - - are selected by other feature,\n
-  XXX cannot be selected. Use Symbol Info to find out why,\n
-while *, M or whitespace inside braces means to build in, build as\n
-a module or to exclude the feature respectively.\n
-\n
-To change any of these features, highlight it with the cursor\n
-keys and press Y to build it in, M to make it a module or\n
-N to removed it.  You may also press the Space Bar to cycle\n
-through the available options (ie. Y-N-M-Y).\n
-\n
-Some additional keyboard hints:\n
-\n
-Menus\n
---\n
-o  Use the Up/Down arrow keys (cursor keys) to highlight the item\n
-   you wish to change use Enter or Space. Goto submenu by \n
-   pressing Enter of right-arrow. Use Esc or left-arrow to go back.\n
-   Submenus are designated by \---\.\n
-\n
-   Searching: pressing '/' triggers interactive search mode.\n
-  nconfig performs a case insensitive search for the string\n
-  in the menu prompts (no regex support).\n
-  Pressing the up/down keys highlights the previous/next\n
-  matching item. Backspace removes one character from the\n
-  match string. Pressing either '/' again or ESC exits\n
-  search mode. All other keys behave normally.\n
-\n
-   You may also use the PAGE UP and PAGE DOWN keys to scroll\n
-   unseen options into view.\n
-\n
-o  To exit a menu use the just press ESC F5 F8 or left-arrow.\n
+#define KEY_CONTROL(k) ((k)  0x1f)
+
+static const char nconf_global_help[] = N_(
+Help windows\n
+\n
+o  Global help:  Unless in a data entry window, key F1 will give you\n
+   the global help window, which you are just reading.\n
+\n
+o  A short version of the global help is available by key F3.\n
+\n
+o  Local help:  To get help related to the current menu entry, use any\n
+   of ? H keys, or if in a data entry window then use F1 key.\n
+\n
+\n
+Menu entries\n
+\n
+This interface lets you select features and parameters for the kernel\n
+build.  Kernel features can either be built-in, modularized, or removed.\n
+Parameters must be entered as decimal or hexadecimal numbers or text.\n
+\n
+Menu entries beginning with following braces represent features that\n
+  [ ]  can be built in or removed\n
+ can be built in, modularized or removed\n
+  { }  can be built in or modularized, are selected by another feature\n
+  - -  are selected by another feature\n
+  XXX  cannot be selected.  Symbol Info F2 tells you why.\n
+*, M or whitespace inside braces means to build in, build as a module\n
+or to exclude the feature respectively.\n
+\n
+To change any of these features, highlight

Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-12-03 Thread Roland Eggner
On 2012-12-03 Monday at 01:56 +0200 Dimitrios Apostolou wrote:
> Dear Ronald,
Excuse me, my name is Roland.

> sorry for not replying at your first message but I didn't consider changing 
> kernel as a resolution to my problem.
>
> … …
> > … …
> > One advantage of Linux compared to other OS is much more support for old
> > hardware, if a  _proper_  kernel version is selected.  Many years ago I used
> > a notebook with 40 M total RAM, with a 2.4 kernel, Blackbox window manager 
> > and
> > Opera web browser … it worked flawlessly … just rather slowly due to 
> > swapping.
> > Your notebook has much more RAM than 40 M, thus there is surely a Linux 
> > solution
> > for you.  Try a 2.6.27.62 kernel, it supports ext4 (“ext4dev”), probably it
> > supports all devices of your notebook, and with a slim window manager e.g.
> > WindowMaker or OpenBox your notebook will probably “fly”.
> 
> I appreciate your advice. I remember when we were running 2.4 much less 
> memory was needed, but still I consider the kernel /fairly/ lean 
> considering the time passed and the bloat in userspace applications. I 
> choose to run latest kernels on old hardware, hopefully this will continue 
> to be the case, and if things deteriorate much then let's hope we'll have 
> enough time to help and fix them! :-)

Ok, this is another story:  You are not looking for a least-effort solution 
just 
for your notebook.  Instead you want to contribute to the LMKL community 
solutions how to run current kernel versions under extremly tight memory 
limitations like with your notebook, right?  If so:  This is highly appreciated,
thank you!  I will interestingly read your findings :)

-- 
Roland


pgpK238heovKa.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-12-03 Thread Roland Eggner
On 2012-12-03 Monday at 01:56 +0200 Dimitrios Apostolou wrote:
 Dear Ronald,
Excuse me, my name is Roland.

 sorry for not replying at your first message but I didn't consider changing 
 kernel as a resolution to my problem.

 … …
  … …
  One advantage of Linux compared to other OS is much more support for old
  hardware, if a  _proper_  kernel version is selected.  Many years ago I used
  a notebook with 40 M total RAM, with a 2.4 kernel, Blackbox window manager 
  and
  Opera web browser … it worked flawlessly … just rather slowly due to 
  swapping.
  Your notebook has much more RAM than 40 M, thus there is surely a Linux 
  solution
  for you.  Try a 2.6.27.62 kernel, it supports ext4 (“ext4dev”), probably it
  supports all devices of your notebook, and with a slim window manager e.g.
  WindowMaker or OpenBox your notebook will probably “fly”.
 
 I appreciate your advice. I remember when we were running 2.4 much less 
 memory was needed, but still I consider the kernel /fairly/ lean 
 considering the time passed and the bloat in userspace applications. I 
 choose to run latest kernels on old hardware, hopefully this will continue 
 to be the case, and if things deteriorate much then let's hope we'll have 
 enough time to help and fix them! :-)

Ok, this is another story:  You are not looking for a least-effort solution 
just 
for your notebook.  Instead you want to contribute to the LMKL community 
solutions how to run current kernel versions under extremly tight memory 
limitations like with your notebook, right?  If so:  This is highly appreciated,
thank you!  I will interestingly read your findings :)

-- 
Roland


pgpK238heovKa.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-12-02 Thread Roland Eggner
On 2012-11-25 Sun 23:59:55 +0100 Roland Eggner wrote:
>On 2012-11-25 Sunday at 21:30 +0200 Dimitrios Apostolou wrote:
> > On Sun, 2012-11-25 at 15:55 +0200, Dimitrios Apostolou wrote:
> > > on an old PIII-500MHz laptop, 128MB RAM, kernel 3.6.6, I started a
> > > backup process (tar|xz -4, nice'd and ionice'd -c3) from ext4 on local
> > > ATA disk to ext3 on external USB disk (USB-2.0 port on PCMCIA card).
> > > Even though earlier system load was minimal, free memory was plenty, the
> > > system now is unresponsive and is thrashing the disk, but the swapfile
> > > is rarely touched.
> >
> > I'm now having the same experience even though I replaced xz (which
> > needed ~50MB RAM) with gzip. Even though I feel the realtime root shell
> > is a bit more responsive than before, the OOM killer is out killing
> > small processes like syslog-ng and systemd-logind... The
> > ext4_inode_cache slab is taking almost all my memory (117MB). Please
> > advise!
> 
> Hello Dimitrios,
> 
> I would try a 2.6.27.* kernel, for following reasons:
> 
> (1)  Kernel development since 2.6.27 achieved significant performance
> improvements at the cost of exploding memory consumption by the kernel for
> _internal_  data structures.  I am currently using a 3.2.34 kernel on a 
> Notebook
> with 4 G RAM.  0,5 … 1 G RAM is usually occupied just by kernel slab [1];  
> this
> memory cannot be swapped, it cannot be released by other means than rebooting,
> and there seems to be  _no_  adjustment to memory pressure.  I am surprised,
> that you have managed to boot a 3.6.* kernel at all with only 128 M RAM.
> 
> (2)  At the time, when I used a PIII-Notebook, kernels 2.6.27 to 2.6.29 where
> current.  Thus chances are good, that a 2.6.27.* kernel will support chipset,
> PCI bus and devices of your notebook.  2.6.27 got longterm maintainance, the
> latest release in the linux-stable git repository is 2.6.27.62.
> So Q @ LKML community:
> Does anybody know a x86 distribution or live-CD using a 2.6.27.* kernel?
> 
> 
> [1]  Picture described in my LKML message
> Date:  Fri, 20 Jan 2012 01:08:00 +0100
> Subject:  Re: [kmemleak report 1/2] kernel 3.1.6, x86_64: mm, xfs ?, vfs ?
> remained the same with  _every_  3.1.* and 3.2.* kernel tried so far.


On 2012-12-02 Sunday at 14:44 +0200 Dimitrios Apostolou wrote:
> Hi, the problem in the quoted message still happens, shouldn't all of
> ext4_inode_cache slab be emptied after "echo 3
> > /proc/sys/vm/drop_caches"? In my case slab uses too much memory even
> after all processes finish and system is in bad shape due to lack of
> physical RAM. CC'ing tytso and Catalin Marinas since I've not been able
> to track any leak with kmemleak.
> 
> Kernel is booted with slub_debug=,ext4_inode_cache, as this is the only
> way to avoid for some time the following message. Nevertheless it has
> not been able to show any leak.
> 
> kmemleak: Cannot allocate a kmemleak_object structure
> kmemleak: Automatic memory scanning thread ended
> kmemleak: Kernel memory leak detector disabled
> 
> Please have a look at the log (archived at [1]).
> 
> [1] http://lkml.indiana.edu/hypermail/linux/kernel/1211.3/00183.html


Hello Dimitrios!


Which part of …

“0,5 … 1 G RAM is usually occupied just by kernel slab [1];  this
memory cannot be swapped, it cannot be released by other means than rebooting,
and there seems to be  _no_  adjustment to memory pressure.” 

… should I explain?


When tar or gzip writes to ext4 filesystem on your external disk, the kernel 
keeps all inode data in slab memory  _by design_ , not by memory leaks.
Several 100 M slab data cannot be stored within 128 M total RAM.
This cannot by solved by usage of /proc/sys/vm/drop_caches.
This cannot by solved by oom-killer-actions.
This cannot be solved by zram tricks.
Unmounting the external disk would release part of slab memory, but then you
cannot backup.
Reformatting the ext4 filesystem on your external disk with 128 byte inode 
size, 
largest possible blocksize and with extents enabled might mitigate the memory 
pressure slightly … probably not sufficient to get a working system with 3.6 
kernel.


One advantage of Linux compared to other OS is much more support for old 
hardware, if a  _proper_  kernel version is selected.  Many years ago I used
a notebook with 40 M total RAM, with a 2.4 kernel, Blackbox window manager and
Opera web browser … it worked flawlessly … just rather slowly due to swapping.  
Your notebook has much more RAM than 40 M, thus there is surely a Linux 
solution 
for you.  Try a 2.6.27.62 kernel, it supports ext4 (“ext4dev”), probably it 
supports all devices of your notebook, and with a slim window manager e.g.  
WindowMaker or OpenBox your notebook will probably “fly”.


PS:  Please type your reply below the text you are replying to.

-- 
Roland


pgpJQMisXQYaB.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-12-02 Thread Roland Eggner
On 2012-11-25 Sun 23:59:55 +0100 Roland Eggner wrote:
On 2012-11-25 Sunday at 21:30 +0200 Dimitrios Apostolou wrote:
  On Sun, 2012-11-25 at 15:55 +0200, Dimitrios Apostolou wrote:
   on an old PIII-500MHz laptop, 128MB RAM, kernel 3.6.6, I started a
   backup process (tar|xz -4, nice'd and ionice'd -c3) from ext4 on local
   ATA disk to ext3 on external USB disk (USB-2.0 port on PCMCIA card).
   Even though earlier system load was minimal, free memory was plenty, the
   system now is unresponsive and is thrashing the disk, but the swapfile
   is rarely touched.
 
  I'm now having the same experience even though I replaced xz (which
  needed ~50MB RAM) with gzip. Even though I feel the realtime root shell
  is a bit more responsive than before, the OOM killer is out killing
  small processes like syslog-ng and systemd-logind... The
  ext4_inode_cache slab is taking almost all my memory (117MB). Please
  advise!
 
 Hello Dimitrios,
 
 I would try a 2.6.27.* kernel, for following reasons:
 
 (1)  Kernel development since 2.6.27 achieved significant performance
 improvements at the cost of exploding memory consumption by the kernel for
 _internal_  data structures.  I am currently using a 3.2.34 kernel on a 
 Notebook
 with 4 G RAM.  0,5 … 1 G RAM is usually occupied just by kernel slab [1];  
 this
 memory cannot be swapped, it cannot be released by other means than rebooting,
 and there seems to be  _no_  adjustment to memory pressure.  I am surprised,
 that you have managed to boot a 3.6.* kernel at all with only 128 M RAM.
 
 (2)  At the time, when I used a PIII-Notebook, kernels 2.6.27 to 2.6.29 where
 current.  Thus chances are good, that a 2.6.27.* kernel will support chipset,
 PCI bus and devices of your notebook.  2.6.27 got longterm maintainance, the
 latest release in the linux-stable git repository is 2.6.27.62.
 So Q @ LKML community:
 Does anybody know a x86 distribution or live-CD using a 2.6.27.* kernel?
 
 
 [1]  Picture described in my LKML message
 Date:  Fri, 20 Jan 2012 01:08:00 +0100
 Subject:  Re: [kmemleak report 1/2] kernel 3.1.6, x86_64: mm, xfs ?, vfs ?
 remained the same with  _every_  3.1.* and 3.2.* kernel tried so far.


On 2012-12-02 Sunday at 14:44 +0200 Dimitrios Apostolou wrote:
 Hi, the problem in the quoted message still happens, shouldn't all of
 ext4_inode_cache slab be emptied after echo 3
  /proc/sys/vm/drop_caches? In my case slab uses too much memory even
 after all processes finish and system is in bad shape due to lack of
 physical RAM. CC'ing tytso and Catalin Marinas since I've not been able
 to track any leak with kmemleak.
 
 Kernel is booted with slub_debug=,ext4_inode_cache, as this is the only
 way to avoid for some time the following message. Nevertheless it has
 not been able to show any leak.
 
 kmemleak: Cannot allocate a kmemleak_object structure
 kmemleak: Automatic memory scanning thread ended
 kmemleak: Kernel memory leak detector disabled
 
 Please have a look at the log (archived at [1]).
 
 [1] http://lkml.indiana.edu/hypermail/linux/kernel/1211.3/00183.html


Hello Dimitrios!


Which part of …

“0,5 … 1 G RAM is usually occupied just by kernel slab [1];  this
memory cannot be swapped, it cannot be released by other means than rebooting,
and there seems to be  _no_  adjustment to memory pressure.” 

… should I explain?


When tar or gzip writes to ext4 filesystem on your external disk, the kernel 
keeps all inode data in slab memory  _by design_ , not by memory leaks.
Several 100 M slab data cannot be stored within 128 M total RAM.
This cannot by solved by usage of /proc/sys/vm/drop_caches.
This cannot by solved by oom-killer-actions.
This cannot be solved by zram tricks.
Unmounting the external disk would release part of slab memory, but then you
cannot backup.
Reformatting the ext4 filesystem on your external disk with 128 byte inode 
size, 
largest possible blocksize and with extents enabled might mitigate the memory 
pressure slightly … probably not sufficient to get a working system with 3.6 
kernel.


One advantage of Linux compared to other OS is much more support for old 
hardware, if a  _proper_  kernel version is selected.  Many years ago I used
a notebook with 40 M total RAM, with a 2.4 kernel, Blackbox window manager and
Opera web browser … it worked flawlessly … just rather slowly due to swapping.  
Your notebook has much more RAM than 40 M, thus there is surely a Linux 
solution 
for you.  Try a 2.6.27.62 kernel, it supports ext4 (“ext4dev”), probably it 
supports all devices of your notebook, and with a slim window manager e.g.  
WindowMaker or OpenBox your notebook will probably “fly”.


PS:  Please type your reply below the text you are replying to.

-- 
Roland


pgpJQMisXQYaB.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-11-25 Thread Roland Eggner
On 2012-11-25 Sunday at 23:56 + Alan Cox wrote:
> > Does anybody know a x86 distribution or live-CD using a 2.6.27.* kernel?
> 
> Probably not a good idea, there are known exploitable holes in 2.6.27 era
> kernels and nobody maintains anything that old.

“old” is relative …

cd git/linux-stable  && git log -1 --date=iso v2.6.27.62

commit bc4e1a77b06519a01e7aed1125695598e27ddeb2
Author: Willy Tarreau 
Date:   2012-03-17 14:03:53 +0100

Linux 2.6.27.62

Signed-off-by: Willy Tarreau 


… and surely less exploitable than a system suffering oom-killer actions.

Google "linux-2.6.27 download" gives some Ubuntu hits …


> I guess RHEL/Centos might work for you.
>
> I've not had any problems with leaks in 3.6 but there have been a few
> reports and its clear that some obscure configurations trigger something
> bad.
> 
> Gnome 3 on the other hand leaks like a sieve.

For a system with 128 M total RAM, Gnome is obviously off topic.


-- 
Roland


pgpnZO4leV4z4.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-11-25 Thread Roland Eggner
On 2012-11-25 Sunday at 21:30 +0200 Dimitrios Apostolou wrote:
> On Sun, 2012-11-25 at 15:55 +0200, Dimitrios Apostolou wrote:
> > on an old PIII-500MHz laptop, 128MB RAM, kernel 3.6.6, I started a
> > backup process (tar|xz -4, nice'd and ionice'd -c3) from ext4 on local
> > ATA disk to ext3 on external USB disk (USB-2.0 port on PCMCIA card).
> > Even though earlier system load was minimal, free memory was plenty, the
> > system now is unresponsive and is thrashing the disk, but the swapfile
> > is rarely touched.
> 
> I'm now having the same experience even though I replaced xz (which
> needed ~50MB RAM) with gzip. Even though I feel the realtime root shell
> is a bit more responsive than before, the OOM killer is out killing 
> small processes like syslog-ng and systemd-logind... The
> ext4_inode_cache slab is taking almost all my memory (117MB). Please
> advise!

Hello Dimitrios,

I would try a 2.6.27.* kernel, for following reasons:

(1)  Kernel development since 2.6.27 achieved significant performance 
improvements at the cost of exploding memory consumption by the kernel for 
_internal_  data structures.  I am currently using a 3.2.34 kernel on a 
Notebook 
with 4 G RAM.  0,5 … 1 G RAM is usually occupied just by kernel slab [1];  this 
memory cannot be swapped, it cannot be released by other means than rebooting, 
and there seems to be  _no_  adjustment to memory pressure.  I am surprised, 
that you have managed to boot a 3.6.* kernel at all with only 128 M RAM.

(2)  At the time, when I used a PIII-Notebook, kernels 2.6.27 to 2.6.29 where 
current.  Thus chances are good, that a 2.6.27.* kernel will support chipset, 
PCI bus and devices of your notebook.  2.6.27 got longterm maintainance, the 
latest release in the linux-stable git repository is 2.6.27.62.
So Q @ LKML community:
Does anybody know a x86 distribution or live-CD using a 2.6.27.* kernel?


[1]  Picture described in my LKML message
Date:  Fri, 20 Jan 2012 01:08:00 +0100
Subject:  Re: [kmemleak report 1/2] kernel 3.1.6, x86_64: mm, xfs ?, vfs ?
remained the same with  _every_  3.1.* and 3.2.* kernel tried so far.


-- 
Roland


pgpjg53scPW5v.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-11-25 Thread Roland Eggner
On 2012-11-25 Sunday at 21:30 +0200 Dimitrios Apostolou wrote:
 On Sun, 2012-11-25 at 15:55 +0200, Dimitrios Apostolou wrote:
  on an old PIII-500MHz laptop, 128MB RAM, kernel 3.6.6, I started a
  backup process (tar|xz -4, nice'd and ionice'd -c3) from ext4 on local
  ATA disk to ext3 on external USB disk (USB-2.0 port on PCMCIA card).
  Even though earlier system load was minimal, free memory was plenty, the
  system now is unresponsive and is thrashing the disk, but the swapfile
  is rarely touched.
 
 I'm now having the same experience even though I replaced xz (which
 needed ~50MB RAM) with gzip. Even though I feel the realtime root shell
 is a bit more responsive than before, the OOM killer is out killing 
 small processes like syslog-ng and systemd-logind... The
 ext4_inode_cache slab is taking almost all my memory (117MB). Please
 advise!

Hello Dimitrios,

I would try a 2.6.27.* kernel, for following reasons:

(1)  Kernel development since 2.6.27 achieved significant performance 
improvements at the cost of exploding memory consumption by the kernel for 
_internal_  data structures.  I am currently using a 3.2.34 kernel on a 
Notebook 
with 4 G RAM.  0,5 … 1 G RAM is usually occupied just by kernel slab [1];  this 
memory cannot be swapped, it cannot be released by other means than rebooting, 
and there seems to be  _no_  adjustment to memory pressure.  I am surprised, 
that you have managed to boot a 3.6.* kernel at all with only 128 M RAM.

(2)  At the time, when I used a PIII-Notebook, kernels 2.6.27 to 2.6.29 where 
current.  Thus chances are good, that a 2.6.27.* kernel will support chipset, 
PCI bus and devices of your notebook.  2.6.27 got longterm maintainance, the 
latest release in the linux-stable git repository is 2.6.27.62.
So Q @ LKML community:
Does anybody know a x86 distribution or live-CD using a 2.6.27.* kernel?


[1]  Picture described in my LKML message
Date:  Fri, 20 Jan 2012 01:08:00 +0100
Subject:  Re: [kmemleak report 1/2] kernel 3.1.6, x86_64: mm, xfs ?, vfs ?
remained the same with  _every_  3.1.* and 3.2.* kernel tried so far.


-- 
Roland


pgpjg53scPW5v.pgp
Description: PGP signature


Re: backing up ext4 fs, system unresponsive, thrashing like crazy even though swap is unused

2012-11-25 Thread Roland Eggner
On 2012-11-25 Sunday at 23:56 + Alan Cox wrote:
  Does anybody know a x86 distribution or live-CD using a 2.6.27.* kernel?
 
 Probably not a good idea, there are known exploitable holes in 2.6.27 era
 kernels and nobody maintains anything that old.

“old” is relative …

cd git/linux-stable   git log -1 --date=iso v2.6.27.62

commit bc4e1a77b06519a01e7aed1125695598e27ddeb2
Author: Willy Tarreau w...@1wt.eu
Date:   2012-03-17 14:03:53 +0100

Linux 2.6.27.62

Signed-off-by: Willy Tarreau w...@1wt.eu


… and surely less exploitable than a system suffering oom-killer actions.

Google linux-2.6.27 download gives some Ubuntu hits …


 I guess RHEL/Centos might work for you.

 I've not had any problems with leaks in 3.6 but there have been a few
 reports and its clear that some obscure configurations trigger something
 bad.
 
 Gnome 3 on the other hand leaks like a sieve.

For a system with 128 M total RAM, Gnome is obviously off topic.


-- 
Roland


pgpnZO4leV4z4.pgp
Description: PGP signature


Re: [PATCH v3] devtmpfs: mount with noexec and nosuid

2012-11-20 Thread Roland Eggner
On 2012-11-20 Tuesday at 13:50 -0800 Kees Cook wrote:
> Since devtmpfs is writable, make the default noexec,nosuid as well. This
> protects from the case of a privileged process having an arbitrary file
> write flaw and an argumentless arbitrary execution (i.e. it would lack
> the ability to run "mount -o remount,exec,suid /dev").
> 
> Rather than relying on userspace "mount -o remount,noexec,nosuid /dev",
> accomplish this from the kernel. This means no additional exec during
> (potentially time-sensitive) boot is needed. The kernel is responsible
> for this mount, so the mount flags should be configurable.
> 
> Cc: ellyjo...@chromium.org
> Cc: Kay Sievers 
> Cc: Roland Eggner 
> Signed-off-by: Kees Cook 
> 
> ---
> v3:
> - use a single define for the mount flags, suggested by Greg K.H.
> v2:
> - use CONFIG_DEVTMPFS_SAFE to wrap the logic.
> ---
>  drivers/base/Kconfig|   12 
>  drivers/base/devtmpfs.c |   11 +--
>  2 files changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
> index b34b5cd..a37fcf2 100644
> --- a/drivers/base/Kconfig
> +++ b/drivers/base/Kconfig
> @@ -56,6 +56,18 @@ config DEVTMPFS_MOUNT
> rescue mode with init=/bin/sh, even when the /dev directory
> on the rootfs is completely empty.
>  
> +config DEVTMPFS_SAFE

Can we afford 2 additional characters and name it “DEVTMPFS_NOEXEC”?

> + bool "Use nosuid,noexec mount options on devtmpfs"
> + depends on DEVTMPFS
> + help
> +   This instructs the kernel to include the MS_NOEXEC and
> +   MS_NOSUID mount flags when mounting devtmpfs. This prevents
> +   certain kinds of code-execution attacks on embedded platforms.
> +
> +   Notice: If enabled, things like /dev/mem cannot be mmapped
> +   with the PROT_EXEC flag. This can break, for example, non-KMS
> +   video drivers.
Proposal:
help
  This instructs the kernel to include the MS_NOEXEC and MS_NOSUID mount
  flags when mounting devtmpfs.
  In-kernel separation of executable and non-executable code combined
  with a proper executability policy is a basic technique to protect
  against exploits by buggy or malicious code or hardware errors.  In
  terms of overhead it is a low-cost-high-effect technique especially on
  platforms with dedicated hardware support, e.g. x86_64 (look for "NX"
  feature in BIOS settings).  Mounting devtmpfs with MS_NOEXEC flag is
  an essential building-block for this security technique.

  Notice:  If enabled, software which depends on execution of
  runtime-generated code can only be used with restricted feature set or
  not at all, e.g. proprietary video drivers, JIT-compilers, most modern
  web browsers.  The grsecurity-patchset provides exception mechanisms 
to
  solve this problem for e.g. desktop systems.

      For server and embedded systems with HA-requirements consider Y.
  For desktop systems say N unless you know what you do.

Apart from that …
Acked-by: Roland Eggner

> +
>  config STANDALONE
>   bool "Select only drivers that don't need compile-time external 
> firmware" if EXPERIMENTAL
>   default y
> diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
> index 147d1a4..e44ca1d 100644
> --- a/drivers/base/devtmpfs.c
> +++ b/drivers/base/devtmpfs.c
> @@ -25,6 +25,12 @@
>  #include 
>  #include 
>  
> +#ifdef CONFIG_DEVTMPFS_SAFE
> +# define DEVTMPFS_MFLAGS (MS_SILENT | MS_NOEXEC | MS_NOSUID)
> +#else
> +# define DEVTMPFS_MFLAGS MS_SILENT
> +#endif
> +
>  static struct task_struct *thread;
>  
>  #if defined CONFIG_DEVTMPFS_MOUNT
> @@ -347,7 +353,8 @@ int devtmpfs_mount(const char *mntdir)
>   if (!thread)
>   return 0;
>  
> - err = sys_mount("devtmpfs", (char *)mntdir, "devtmpfs", MS_SILENT, 
> NULL);
> + err = sys_mount("devtmpfs", (char *)mntdir, "devtmpfs",
> + DEVTMPFS_MFLAGS, NULL);
>   if (err)
>   printk(KERN_INFO "devtmpfs: error mounting %i\n", err);
>   else
> @@ -372,7 +379,7 @@ static int devtmpfsd(void *p)
>   *err = sys_unshare(CLONE_NEWNS);
>   if (*err)
>   goto out;
> - *err = sys_mount("devtmpfs", "/", "devtmpfs", MS_SILENT, options);
> + *err = sys_mount("devtmpfs", "/", "devtmpfs", DEVTMPFS_MFLAGS, options);
>   if (*err)
>   goto out;
>   sys_chdir("/.."); /* will traverse into overmounted root */
> -- 
> 1.7.9.5
> 
> 
> -- 
> Kees Cook
> Chrome OS Security


pgp4jjbjyI1ic.pgp
Description: PGP signature


Re: [PATCH v3] devtmpfs: mount with noexec and nosuid

2012-11-20 Thread Roland Eggner
On 2012-11-20 Tuesday at 13:50 -0800 Kees Cook wrote:
 Since devtmpfs is writable, make the default noexec,nosuid as well. This
 protects from the case of a privileged process having an arbitrary file
 write flaw and an argumentless arbitrary execution (i.e. it would lack
 the ability to run mount -o remount,exec,suid /dev).
 
 Rather than relying on userspace mount -o remount,noexec,nosuid /dev,
 accomplish this from the kernel. This means no additional exec during
 (potentially time-sensitive) boot is needed. The kernel is responsible
 for this mount, so the mount flags should be configurable.
 
 Cc: ellyjo...@chromium.org
 Cc: Kay Sievers k...@vrfy.org
 Cc: Roland Eggner ed...@systemanalysen.net
 Signed-off-by: Kees Cook keesc...@chromium.org
 
 ---
 v3:
 - use a single define for the mount flags, suggested by Greg K.H.
 v2:
 - use CONFIG_DEVTMPFS_SAFE to wrap the logic.
 ---
  drivers/base/Kconfig|   12 
  drivers/base/devtmpfs.c |   11 +--
  2 files changed, 21 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
 index b34b5cd..a37fcf2 100644
 --- a/drivers/base/Kconfig
 +++ b/drivers/base/Kconfig
 @@ -56,6 +56,18 @@ config DEVTMPFS_MOUNT
 rescue mode with init=/bin/sh, even when the /dev directory
 on the rootfs is completely empty.
  
 +config DEVTMPFS_SAFE

Can we afford 2 additional characters and name it “DEVTMPFS_NOEXEC”?

 + bool Use nosuid,noexec mount options on devtmpfs
 + depends on DEVTMPFS
 + help
 +   This instructs the kernel to include the MS_NOEXEC and
 +   MS_NOSUID mount flags when mounting devtmpfs. This prevents
 +   certain kinds of code-execution attacks on embedded platforms.
 +
 +   Notice: If enabled, things like /dev/mem cannot be mmapped
 +   with the PROT_EXEC flag. This can break, for example, non-KMS
 +   video drivers.
Proposal:
help
  This instructs the kernel to include the MS_NOEXEC and MS_NOSUID mount
  flags when mounting devtmpfs.
  In-kernel separation of executable and non-executable code combined
  with a proper executability policy is a basic technique to protect
  against exploits by buggy or malicious code or hardware errors.  In
  terms of overhead it is a low-cost-high-effect technique especially on
  platforms with dedicated hardware support, e.g. x86_64 (look for NX
  feature in BIOS settings).  Mounting devtmpfs with MS_NOEXEC flag is
  an essential building-block for this security technique.

  Notice:  If enabled, software which depends on execution of
  runtime-generated code can only be used with restricted feature set or
  not at all, e.g. proprietary video drivers, JIT-compilers, most modern
  web browsers.  The grsecurity-patchset provides exception mechanisms 
to
  solve this problem for e.g. desktop systems.

  For server and embedded systems with HA-requirements consider Y.
  For desktop systems say N unless you know what you do.

Apart from that …
Acked-by: Roland Eggner

 +
  config STANDALONE
   bool Select only drivers that don't need compile-time external 
 firmware if EXPERIMENTAL
   default y
 diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
 index 147d1a4..e44ca1d 100644
 --- a/drivers/base/devtmpfs.c
 +++ b/drivers/base/devtmpfs.c
 @@ -25,6 +25,12 @@
  #include linux/slab.h
  #include linux/kthread.h
  
 +#ifdef CONFIG_DEVTMPFS_SAFE
 +# define DEVTMPFS_MFLAGS (MS_SILENT | MS_NOEXEC | MS_NOSUID)
 +#else
 +# define DEVTMPFS_MFLAGS MS_SILENT
 +#endif
 +
  static struct task_struct *thread;
  
  #if defined CONFIG_DEVTMPFS_MOUNT
 @@ -347,7 +353,8 @@ int devtmpfs_mount(const char *mntdir)
   if (!thread)
   return 0;
  
 - err = sys_mount(devtmpfs, (char *)mntdir, devtmpfs, MS_SILENT, 
 NULL);
 + err = sys_mount(devtmpfs, (char *)mntdir, devtmpfs,
 + DEVTMPFS_MFLAGS, NULL);
   if (err)
   printk(KERN_INFO devtmpfs: error mounting %i\n, err);
   else
 @@ -372,7 +379,7 @@ static int devtmpfsd(void *p)
   *err = sys_unshare(CLONE_NEWNS);
   if (*err)
   goto out;
 - *err = sys_mount(devtmpfs, /, devtmpfs, MS_SILENT, options);
 + *err = sys_mount(devtmpfs, /, devtmpfs, DEVTMPFS_MFLAGS, options);
   if (*err)
   goto out;
   sys_chdir(/..); /* will traverse into overmounted root */
 -- 
 1.7.9.5
 
 
 -- 
 Kees Cook
 Chrome OS Security


pgp4jjbjyI1ic.pgp
Description: PGP signature


Re: [PATCH] devtmpfs: mount with noexec and nosuid

2012-11-19 Thread Roland Eggner
On 2012-11-19 Monday at 10:14 -0800 Kees Cook wrote:
> On Fri, Nov 16, 2012 at 4:39 PM, Kay Sievers  wrote:
> > On Sat, Nov 17, 2012 at 1:27 AM, Greg Kroah-Hartman
> >  wrote:
> >> On Fri, Nov 16, 2012 at 04:20:16PM -0800, Kees Cook wrote:
> >>> Since devtmpfs is writable, make the default noexec nosuid as well. This
> >>> protects from the case of a privileged process having an arbitrary file
> >>> write flaw and an argumentless arbitrary execution (i.e. it would lack
> >>> the ability to run "mount -o remount,exec,suid /dev"), with a system
> >>> that already has nosuid,noexec on all other writable mounts.
> >>>
> >>> Cc: ellyjo...@chromium.org
> >>> Signed-off-by: Kees Cook 
> >>> ---
> >>>  drivers/base/devtmpfs.c |6 --
> >>>  1 file changed, 4 insertions(+), 2 deletions(-)
> >>
> >> Have you tested this to verify that it doesn't break anything?
> >>
> >> Kay, could this cause any problems that you could think of?
> >
> > It breaks all sorts of old, possibly outdated, stuff, that does things
> > like mapping /dev/mem executable. It for sure used to break X drivers,
> > that fiddle with the BIOS of cards.
> 
> Ah, yeah, you're totally right. Attempting an mmap with PROT_EXEC on
> /dev/mem would be denied.

Sidenote:  non-executable devtmpfs + nouveau + KMS + xorg works for me:

uname -mrs
..
Linux 3.2.33-grsecurity.roland.0 x86_64

grep devtmpfs /etc/{fs,m}tab /proc/{$$/mountinfo,mounts}

/etc/fstab:devtmpfs /devdevtmpfs
rw,noexec,nosuid,size=8m,nr_inodes=16k,mode=07550   0
/etc/mtab:devtmpfs /dev devtmpfs 
rw,noexec,nosuid,size=8m,nr_inodes=16k,mode=0755 0 0
/proc/10358/mountinfo:18 15 0:5 / /dev rw,nosuid,noexec - devtmpfs devtmpfs 
rw,size=8192k,nr_inodes=16384,mode=755
/proc/mounts:devtmpfs /dev devtmpfs 
rw,nosuid,noexec,size=8192k,nr_inodes=16384,mode=755 0 0

lspci -d 10de:0a3c -k -nn
.
01:00.0 VGA compatible controller [0300]: nVidia Corporation GT216 [Quadro FX 
880M] [10de:0a3c] (rev a2)
Subsystem: Dell Device [1028:040c]
Kernel driver in use: nouveau

ps -p $( pgrep -d, xinit ) -F
.
UIDPID  PPID  CSZ   RSS PSR STIME TTY  TIME CMD
roland9514  9478  0 16583   844   2 Nov02 tty6 00:00:00 xinit 
/etc/X11/xinit/xinitrc -- /usr/bin/X :0 -auth /home/roland/.serverauth.9478
qemu 11486 11463  0 12723   848   0 Nov02 tty3000:00:00 xinit 
/etc/X11/xinit/xinitrc -- /usr/bin/X :1 -auth /home/qemu/.serverauth.11463
opera12273 12240  0  8973   848   3 Nov02 tty1800:00:00 xinit 
/etc/X11/xinit/xinitrc -- /usr/bin/X :2 -auth /home/opera/.serverauth.12240


> Is this something we could put behind a CONFIG?

IMHO would be great :)

-- 
Roland


pgp238qHEIxBL.pgp
Description: PGP signature


Re: [PATCH] devtmpfs: mount with noexec and nosuid

2012-11-19 Thread Roland Eggner
On 2012-11-19 Monday at 10:14 -0800 Kees Cook wrote:
 On Fri, Nov 16, 2012 at 4:39 PM, Kay Sievers k...@vrfy.org wrote:
  On Sat, Nov 17, 2012 at 1:27 AM, Greg Kroah-Hartman
  gre...@linuxfoundation.org wrote:
  On Fri, Nov 16, 2012 at 04:20:16PM -0800, Kees Cook wrote:
  Since devtmpfs is writable, make the default noexec nosuid as well. This
  protects from the case of a privileged process having an arbitrary file
  write flaw and an argumentless arbitrary execution (i.e. it would lack
  the ability to run mount -o remount,exec,suid /dev), with a system
  that already has nosuid,noexec on all other writable mounts.
 
  Cc: ellyjo...@chromium.org
  Signed-off-by: Kees Cook keesc...@chromium.org
  ---
   drivers/base/devtmpfs.c |6 --
   1 file changed, 4 insertions(+), 2 deletions(-)
 
  Have you tested this to verify that it doesn't break anything?
 
  Kay, could this cause any problems that you could think of?
 
  It breaks all sorts of old, possibly outdated, stuff, that does things
  like mapping /dev/mem executable. It for sure used to break X drivers,
  that fiddle with the BIOS of cards.
 
 Ah, yeah, you're totally right. Attempting an mmap with PROT_EXEC on
 /dev/mem would be denied.

Sidenote:  non-executable devtmpfs + nouveau + KMS + xorg works for me:

uname -mrs
..
Linux 3.2.33-grsecurity.roland.0 x86_64

grep devtmpfs /etc/{fs,m}tab /proc/{$$/mountinfo,mounts}

/etc/fstab:devtmpfs /devdevtmpfs
rw,noexec,nosuid,size=8m,nr_inodes=16k,mode=07550   0
/etc/mtab:devtmpfs /dev devtmpfs 
rw,noexec,nosuid,size=8m,nr_inodes=16k,mode=0755 0 0
/proc/10358/mountinfo:18 15 0:5 / /dev rw,nosuid,noexec - devtmpfs devtmpfs 
rw,size=8192k,nr_inodes=16384,mode=755
/proc/mounts:devtmpfs /dev devtmpfs 
rw,nosuid,noexec,size=8192k,nr_inodes=16384,mode=755 0 0

lspci -d 10de:0a3c -k -nn
.
01:00.0 VGA compatible controller [0300]: nVidia Corporation GT216 [Quadro FX 
880M] [10de:0a3c] (rev a2)
Subsystem: Dell Device [1028:040c]
Kernel driver in use: nouveau

ps -p $( pgrep -d, xinit ) -F
.
UIDPID  PPID  CSZ   RSS PSR STIME TTY  TIME CMD
roland9514  9478  0 16583   844   2 Nov02 tty6 00:00:00 xinit 
/etc/X11/xinit/xinitrc -- /usr/bin/X :0 -auth /home/roland/.serverauth.9478
qemu 11486 11463  0 12723   848   0 Nov02 tty3000:00:00 xinit 
/etc/X11/xinit/xinitrc -- /usr/bin/X :1 -auth /home/qemu/.serverauth.11463
opera12273 12240  0  8973   848   3 Nov02 tty1800:00:00 xinit 
/etc/X11/xinit/xinitrc -- /usr/bin/X :2 -auth /home/opera/.serverauth.12240


 Is this something we could put behind a CONFIG?

IMHO would be great :)

-- 
Roland


pgp238qHEIxBL.pgp
Description: PGP signature


Re: [PATCH 07/11] kexec: Disable in a secure boot environment

2012-09-05 Thread Roland Eggner
On 2012-09-04 Tuesday at 22:40 +0100 Matthew Garrett wrote:
> On Tue, Sep 04, 2012 at 10:39:57PM +0100, Alan Cox wrote:
> > I think it needs to be defined in terms of what the capability is
> > supposed to guarantee. I have a feeling Matthew has a pretty clear idea
> > about that in his head so can nail it fairly precisely ?
> 
> In the absence of this capability, all users (including root) should be 
> unable to cause untrusted code to be executed in ring 0. This requires 
> some straightforward and obvious conditions like "The user must not be 
> able to load untrusted modules", but also conditions like "The user must 
> not be able to cause devices to DMA over the kernel". "The user must not 
> be able to kexec into an untrusted kernel" is at the more obvious end of 
> the scale. This is obviously dependent upon there being some mechanism 
> for ensuring that the initial kernel is trusted in the first place, 
> which is where the firmware security comes in.

You believe in firmware security?  Not yet heard of “Rakshasa”?  Reading [1] 
may 
change your mind.


Want to support Erics technical arguments, given in another branche of this
thread, by some “political” aspects:  If I have payed for a device and then 
would
not be allowed to use it due to some obscure “security” feature, this could
perhaps be close to criminal.  I am not a lawyer, can only guess.  A few years 
ago
a friend of mine bought an originally quite expensive, used notebook for just a
few Euro.  The seller was forced to do so, just because he added RAM and changed
HD, causing activation of an unknown hardware password.  It has been set by a
retailer or the vendor, the latter being one of the largest players on the world
market.  Certainly I will never buy a device of this brand.  If Linux mainline
would really implement some kind of knock-out “security” feature, and would
switch from GPL to another, for such a new policy more adequate copyright
licence:  it would be sad, but technically no problem, there are plenty of
alternatives beyond penguins, windows and gates.  Other users and contributors
might follow … not good for the future of the Linux project.  Better stick to 
the
GPL and policy of freedom, then 20 years of aweful success on servers and
embedded devices are more likely to continue or even to grow.


[1]
Jonathan Brossard:  “… We have built a generic proof of concept malware for the 
Intel architecture,  called 'Rakshasa',  capable of infecting more than 100 
different motherboards.  Targets are BIOS and firmware of PCI-devices.  …”
http://www.toucan-system.com/research/blackhat2012_brossard_hardware_backdooring.pdf


-- 
Roland Eggner


pgploXjr1UcPT.pgp
Description: PGP signature


Re: [PATCH 07/11] kexec: Disable in a secure boot environment

2012-09-05 Thread Roland Eggner
On 2012-09-04 Tuesday at 22:40 +0100 Matthew Garrett wrote:
 On Tue, Sep 04, 2012 at 10:39:57PM +0100, Alan Cox wrote:
  I think it needs to be defined in terms of what the capability is
  supposed to guarantee. I have a feeling Matthew has a pretty clear idea
  about that in his head so can nail it fairly precisely ?
 
 In the absence of this capability, all users (including root) should be 
 unable to cause untrusted code to be executed in ring 0. This requires 
 some straightforward and obvious conditions like The user must not be 
 able to load untrusted modules, but also conditions like The user must 
 not be able to cause devices to DMA over the kernel. The user must not 
 be able to kexec into an untrusted kernel is at the more obvious end of 
 the scale. This is obviously dependent upon there being some mechanism 
 for ensuring that the initial kernel is trusted in the first place, 
 which is where the firmware security comes in.

You believe in firmware security?  Not yet heard of “Rakshasa”?  Reading [1] 
may 
change your mind.


Want to support Erics technical arguments, given in another branche of this
thread, by some “political” aspects:  If I have payed for a device and then 
would
not be allowed to use it due to some obscure “security” feature, this could
perhaps be close to criminal.  I am not a lawyer, can only guess.  A few years 
ago
a friend of mine bought an originally quite expensive, used notebook for just a
few Euro.  The seller was forced to do so, just because he added RAM and changed
HD, causing activation of an unknown hardware password.  It has been set by a
retailer or the vendor, the latter being one of the largest players on the world
market.  Certainly I will never buy a device of this brand.  If Linux mainline
would really implement some kind of knock-out “security” feature, and would
switch from GPL to another, for such a new policy more adequate copyright
licence:  it would be sad, but technically no problem, there are plenty of
alternatives beyond penguins, windows and gates.  Other users and contributors
might follow … not good for the future of the Linux project.  Better stick to 
the
GPL and policy of freedom, then 20 years of aweful success on servers and
embedded devices are more likely to continue or even to grow.


[1]
Jonathan Brossard:  “… We have built a generic proof of concept malware for the 
Intel architecture,  called 'Rakshasa',  capable of infecting more than 100 
different motherboards.  Targets are BIOS and firmware of PCI-devices.  …”
http://www.toucan-system.com/research/blackhat2012_brossard_hardware_backdooring.pdf


-- 
Roland Eggner


pgploXjr1UcPT.pgp
Description: PGP signature


Re: missing dependencies in drivers/usb/mon/Kconfig (was: file Documentation/usb/usbmon.txt should list the .config settings)

2012-09-03 Thread Roland Eggner
On 2012-09-03 Monday at 17:49 +0300 Alexander wrote:
> On 09/03/2012 12:23 PM, Oliver Neukum wrote:
> > On Monday 03 September 2012 11:38:57 Alexander wrote:
> >> Please indicate in the Documentation/usb/usbmon.txt file that the kernel
> >> needs to be compiled with:
> >>
> >> CONFIG_DEBUG_KERNEL=y
> >> CONFIG_DEBUG_FS=y
> >> CONFIG_USB_MON=y
> >> CONFIG_USB_DEVICEFS=y
> > Are you saying tht the modular options have been broken?
> >
> > Regards
> > Oliver
> >
> >
> Ok what I meant is "if you want to build usbmon support into the kernel 
> then it needs to be compiled with ..."
> I think it will be useful, especially for embedded developers to have 
> this info in the usbmon doc file.
> Sorry about this confusion...

+1
Even more useful would be, if Kconfig would automatically take care of this 
dependency.

-- 
Roland Eggner


pgpp3oFWvPVeQ.pgp
Description: PGP signature


Re: missing dependencies in drivers/usb/mon/Kconfig (was: file Documentation/usb/usbmon.txt should list the .config settings)

2012-09-03 Thread Roland Eggner
On 2012-09-03 Monday at 17:49 +0300 Alexander wrote:
 On 09/03/2012 12:23 PM, Oliver Neukum wrote:
  On Monday 03 September 2012 11:38:57 Alexander wrote:
  Please indicate in the Documentation/usb/usbmon.txt file that the kernel
  needs to be compiled with:
 
  CONFIG_DEBUG_KERNEL=y
  CONFIG_DEBUG_FS=y
  CONFIG_USB_MON=y
  CONFIG_USB_DEVICEFS=y
  Are you saying tht the modular options have been broken?
 
  Regards
  Oliver
 
 
 Ok what I meant is if you want to build usbmon support into the kernel 
 then it needs to be compiled with ...
 I think it will be useful, especially for embedded developers to have 
 this info in the usbmon doc file.
 Sorry about this confusion...

+1
Even more useful would be, if Kconfig would automatically take care of this 
dependency.

-- 
Roland Eggner


pgpp3oFWvPVeQ.pgp
Description: PGP signature


Re: formail doing weird things (was: [ 01/37] Remove easily user-triggerable BUG from generic_setlease)

2012-07-18 Thread Roland Eggner
On 2012-07-17 Tuesday at 17:14 -0700 Greg KH wrote:
> On Tue, Jul 17, 2012 at 05:02:38PM -0700, Greg Kroah-Hartman wrote:
> > From: Greg KH 
> > 
> > 3.4-stable review patch.  If anyone has any objections, please let me know.
> > 
> > --
> 
> Argh, I give up, I just can't get message threading working properly
> these days.  These are the 3.4 patches, in response to the 3.0 patches,
> and it took 2 tries to send them out due to formail doing wierd things.

A few months ago I could fix my “formail troubles” by removing option “-d” from 
formail calls in my scripts.  formail manpage conceals nasty consequences of 
“do 
not require strict mbox format”:  nearly any “from” nearby an empty line and 
probably other things will trigger message splitting.

Maybe this helps you or somebody else.

Sorry for being slightly OT, and many thanks for your great maintainance work 
on 
stable kernel releases.

-- 
Roland Eggner


pgphDcH3Ia7Pl.pgp
Description: PGP signature


Re: formail doing weird things (was: [ 01/37] Remove easily user-triggerable BUG from generic_setlease)

2012-07-18 Thread Roland Eggner
On 2012-07-17 Tuesday at 17:14 -0700 Greg KH wrote:
 On Tue, Jul 17, 2012 at 05:02:38PM -0700, Greg Kroah-Hartman wrote:
  From: Greg KH gre...@linuxfoundation.org
  
  3.4-stable review patch.  If anyone has any objections, please let me know.
  
  --
 
 Argh, I give up, I just can't get message threading working properly
 these days.  These are the 3.4 patches, in response to the 3.0 patches,
 and it took 2 tries to send them out due to formail doing wierd things.

A few months ago I could fix my “formail troubles” by removing option “-d” from 
formail calls in my scripts.  formail manpage conceals nasty consequences of 
“do 
not require strict mbox format”:  nearly any “from” nearby an empty line and 
probably other things will trigger message splitting.

Maybe this helps you or somebody else.

Sorry for being slightly OT, and many thanks for your great maintainance work 
on 
stable kernel releases.

-- 
Roland Eggner


pgphDcH3Ia7Pl.pgp
Description: PGP signature