package/readline: disable bracketed paste by default

As of readline 8.1, "bracketed paste" is enabled by default. However,
the feature causes control characters to appear in captured (telnet)
session output. This can throw off pattern matching if the output is to
be processed by scripts.

Let's keep the previous default of leaving this feature disabled and
provide a configuration option for users to enable it.

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
[yann.morin.1998@free.fr:
  - explicit enable/disable
  - no indentation in conditional block
  - rewrap help text
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Markus Mayer 2021-02-26 12:08:21 -08:00 committed by Yann E. MORIN
parent 8ef20378b7
commit ba05d01476
2 changed files with 24 additions and 0 deletions

View File

@ -7,3 +7,21 @@ config BR2_PACKAGE_READLINE
as they are typed in.
https://tiswww.case.edu/php/chet/readline/rltop.html
config BR2_PACKAGE_READLINE_BRACKETED_PASTE
bool "Enable bracketed paste"
depends on BR2_PACKAGE_READLINE
help
Enable the "bracketed paste" feature in libreadline.
Bracketed paste is helpful for interactive sessions when
one wants to prevent pasted text from being interpreted
as typed-in commands. However, it also causes control
characters to show up in the raw output of a (telnet)
session. This can cause issues and throw off pattern
matching if the session output is being captured for
automated processing.
For further information on this feature and whether you
may want it, see:
https://cirw.in/blog/bracketed-paste

View File

@ -16,6 +16,12 @@ READLINE_LICENSE = GPL-3.0+
READLINE_LICENSE_FILES = COPYING
READLINE_CPE_ID_VENDOR = gnu
ifeq ($(BR2_PACKAGE_READLINE_BRACKETED_PASTE),y)
READLINE_CONF_OPTS += --enable-bracketed-paste-default
else
READLINE_CONF_OPTS += --disable-bracketed-paste-default
endif
define READLINE_INSTALL_INPUTRC
$(INSTALL) -D -m 644 package/readline/inputrc $(TARGET_DIR)/etc/inputrc
endef