Message ID | 1580822081-3713-1-git-send-email-angelo@amarulasolutions.com |
---|---|
State | Accepted |
Headers | show |
Series | [v2] package/grep: fix busybox aliasing | expand |
>>>>> "Angelo" == Angelo Compagnucci <angelo@amarulasolutions.com> writes: > When grep package is selected, it should be installed at the same exact > location where busybox installs it too, this way the grep/egrep/fgrep > executables will end up overwriting the busybox provided ones. > Busybox installs *grep executables in /bin, grep package in /usr/bin. > Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Reworded slightly and committed, thanks. > --- > Changelog: > * Patch splitting as suggested by Peter > I tested manually chenghing the package to: > GREP_CONF_OPTS = SHELL=/bin/dash --exec-prefix=/ > And this works. If /bin/sh is a link to /bin/zsh for example, it will > not work cause the configure is not able to run on zsh. > I suppose that changing the default /bin/sh to something not sh > compatible woulb break many other things. But that should never happen. A bunch of stuff will break if /bin/sh isn't working. So what about the 2nd fix? I take it that fgrep/egrep are still installed with a #!/bin/bash shebang? Either we do the SHELL= workaround or simply patch fgrep / egrep as a GREP_POST_TARGET_INSTALL_HOOK.
>>>>> "Angelo" == Angelo Compagnucci <angelo@amarulasolutions.com> writes: > When grep package is selected, it should be installed at the same exact > location where busybox installs it too, this way the grep/egrep/fgrep > executables will end up overwriting the busybox provided ones. > Busybox installs *grep executables in /bin, grep package in /usr/bin. > Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Committed to 2019.02.x and 2019.11.x, thanks.
diff --git a/package/grep/grep.mk b/package/grep/grep.mk index 96685b0..be3e53b 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -10,6 +10,7 @@ GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_LICENSE = GPL-3.0+ GREP_LICENSE_FILES = COPYING GREP_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +GREP_CONF_OPTS = --exec-prefix=/ # link with iconv if enabled ifeq ($(BR2_PACKAGE_LIBICONV),y)
When grep package is selected, it should be installed at the same exact location where busybox installs it too, this way the grep/egrep/fgrep executables will end up overwriting the busybox provided ones. Busybox installs *grep executables in /bin, grep package in /usr/bin. Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> --- Changelog: * Patch splitting as suggested by Peter I tested manually chenghing the package to: GREP_CONF_OPTS = SHELL=/bin/dash --exec-prefix=/ And this works. If /bin/sh is a link to /bin/zsh for example, it will not work cause the configure is not able to run on zsh. I suppose that changing the default /bin/sh to something not sh compatible woulb break many other things. package/grep/grep.mk | 1 + 1 file changed, 1 insertion(+)