[Buildroot] [PATCH v2] package/grep: fix egrep/fgrep shebang

Peter Korsgaard peter at korsgaard.com
Tue Feb 4 14:44:10 UTC 2020


>>>>> "Angelo" == Angelo Compagnucci <angelo at amarulasolutions.com> writes:

 > egrep/fgrep are using autotools SHELL variable to exec the
 > grep executable with correct options, SHELL is defaulted to
 > /bin/bash which we usually don't have on target.
 > This patch defaults on /bin/sh, when /bin/sh is not available
 > on target, we simply remove the aliases.

 > Signed-off-by: Angelo Compagnucci <angelo at amarulasolutions.com>
 > ---
 > Changelog:
 > v1 -> v2:
 > * Handling the corner case when BR2_SYSTEM_BIN_SH_NONE as suggested by
 >   Yann

 >  package/grep/Config.in | 2 ++
 >  package/grep/grep.mk   | 9 +++++++++
 >  2 files changed, 11 insertions(+)

 > diff --git a/package/grep/Config.in b/package/grep/Config.in
 > index 5b0471b..47ced41 100644
 > --- a/package/grep/Config.in
 > +++ b/package/grep/Config.in
 > @@ -5,6 +5,8 @@ config BR2_PACKAGE_GREP
 >  	help
 >  	  The GNU regular expression matcher.
 
 > +	  egrep/fgrep aliases need /bin/sh to be available.
 > +
 >  	  http://www.gnu.org/software/grep/grep.html
 
 >  comment "grep needs a toolchain w/ wchar"
 > diff --git a/package/grep/grep.mk b/package/grep/grep.mk
 > index be3e53b..02d8b50 100644
 > --- a/package/grep/grep.mk
 > +++ b/package/grep/grep.mk
 > @@ -12,6 +12,15 @@ GREP_LICENSE_FILES = COPYING
 >  GREP_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
 >  GREP_CONF_OPTS = --exec-prefix=/
 
 > +ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y)
 > +define GREP_REMOVE_ALIAS
 > +	$(RM) $(TARGET_DIR)/bin/[fe]grep
 > +endef
 > +GREP_POST_INSTALL_TARGET_HOOKS += GREP_REMOVE_ALIAS
 > +else
 > +GREP_CONF_OPTS += SHELL=/bin/sh

It is a bit odd to not do this unconditionally. Such environment
variables normally go in _CONF_ENV, so I changed that, reworded the
commit message a bit and committed, thanks.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list