[Buildroot] [PATCH v2] package/grep: fix egrep/fgrep shebang
Angelo Compagnucci
angelo at amarulasolutions.com
Tue Feb 4 14:24:47 UTC 2020
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
+endif
+
# link with iconv if enabled
ifeq ($(BR2_PACKAGE_LIBICONV),y)
GREP_CONF_ENV += LIBS=-liconv
--
2.7.4
More information about the buildroot
mailing list