diff mbox series

[v2] package/grep: fix busybox aliasing

Message ID 1580822081-3713-1-git-send-email-angelo@amarulasolutions.com
State Accepted
Headers show
Series [v2] package/grep: fix busybox aliasing | expand

Commit Message

Angelo Compagnucci Feb. 4, 2020, 1:14 p.m. UTC
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(+)

Comments

Peter Korsgaard Feb. 4, 2020, 2:22 p.m. UTC | #1
>>>>> "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.
Peter Korsgaard March 10, 2020, 8:30 p.m. UTC | #2
>>>>> "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 mbox series

Patch

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)