commit:     5c8d34c127412c5d8b4fd3dc13e970f265be211c
Author:     Jakov Smolic <jakov.smolic <AT> sartura <DOT> hr>
AuthorDate: Thu Aug 19 17:21:00 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 26 22:50:13 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c8d34c1

sys-apps/busybox: Disable standalone shell mode with USE=make-symlinks

* Busybox has by default enabled CONFIG_FEATURE_PREFER_APPLETS
  and CONFIG_FEATURE_SH_STANDALONE which means it will
  bypass all PATH lookups and use its builtin applets.
  This is problematic as we sometimes might want to use the
  original program instead of Busybox applets, so let's
  disable those two options when building with USE=make-symlinks.
  This also enables users to disable a builtin by deleting the
  corresponding symlink.

Closes: https://bugs.gentoo.org/729184
Signed-off-by: Jakov Smolic <jakov.smolic <AT> sartura.hr>
Closes: https://github.com/gentoo/gentoo/pull/22038
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../{busybox-1.33.1-r1.ebuild => busybox-1.33.1-r2.ebuild}        | 8 ++++++++
 sys-apps/busybox/busybox-9999.ebuild                              | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/sys-apps/busybox/busybox-1.33.1-r1.ebuild 
b/sys-apps/busybox/busybox-1.33.1-r2.ebuild
similarity index 96%
rename from sys-apps/busybox/busybox-1.33.1-r1.ebuild
rename to sys-apps/busybox/busybox-1.33.1-r2.ebuild
index 19eb891b560..8297592e530 100644
--- a/sys-apps/busybox/busybox-1.33.1-r1.ebuild
+++ b/sys-apps/busybox/busybox-1.33.1-r2.ebuild
@@ -141,6 +141,14 @@ src_configure() {
                busybox_config_option n FEATURE_VI_REGEX_SEARCH
        fi
 
+       # Disable standalone shell mode when using make-symlinks, else Busybox 
calls its
+       # applets by default without looking up in PATH.
+       # This also enables users to disable a builtin by deleting the 
corresponding symlink.
+       if use make-symlinks; then
+               busybox_config_option n FEATURE_PREFER_APPLETS
+               busybox_config_option n FEATURE_SH_STANDALONE
+       fi
+
        # If these are not set and we are using a uclibc/busybox setup
        # all calls to system() will fail.
        busybox_config_option y ASH

diff --git a/sys-apps/busybox/busybox-9999.ebuild 
b/sys-apps/busybox/busybox-9999.ebuild
index 19eb891b560..8297592e530 100644
--- a/sys-apps/busybox/busybox-9999.ebuild
+++ b/sys-apps/busybox/busybox-9999.ebuild
@@ -141,6 +141,14 @@ src_configure() {
                busybox_config_option n FEATURE_VI_REGEX_SEARCH
        fi
 
+       # Disable standalone shell mode when using make-symlinks, else Busybox 
calls its
+       # applets by default without looking up in PATH.
+       # This also enables users to disable a builtin by deleting the 
corresponding symlink.
+       if use make-symlinks; then
+               busybox_config_option n FEATURE_PREFER_APPLETS
+               busybox_config_option n FEATURE_SH_STANDALONE
+       fi
+
        # If these are not set and we are using a uclibc/busybox setup
        # all calls to system() will fail.
        busybox_config_option y ASH

Reply via email to