summaryrefslogtreecommitdiff
path: root/app-alternatives/sh/sh-0.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-29 02:14:02 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-29 02:14:02 +0000
commita493ba7d75043e8e649ee8d6d4942c1f4b31d1c5 (patch)
treed9aef2725cb8f60bd6f5a47afa9778eb94114793 /app-alternatives/sh/sh-0.ebuild
parentd7ef5a07f47da6898dcb2d1503790c59b0470571 (diff)
gentoo auto-resync : 29:12:2022 - 02:14:02
Diffstat (limited to 'app-alternatives/sh/sh-0.ebuild')
-rw-r--r--app-alternatives/sh/sh-0.ebuild14
1 files changed, 14 insertions, 0 deletions
diff --git a/app-alternatives/sh/sh-0.ebuild b/app-alternatives/sh/sh-0.ebuild
index 4cd530a89d9c..682533efb3bf 100644
--- a/app-alternatives/sh/sh-0.ebuild
+++ b/app-alternatives/sh/sh-0.ebuild
@@ -5,6 +5,7 @@ EAPI=8
ALTERNATIVES=(
bash:app-shells/bash
+ busybox:sys-apps/busybox
dash:app-shells/dash
ksh:app-shells/ksh
"lksh:app-shells/mksh[lksh]"
@@ -20,6 +21,19 @@ RDEPEND="
!!app-eselect/eselect-sh
"
+pkg_setup() {
+ if [[ -z ${ROOT} ]] && use busybox ; then
+ # Needed to avoid busybox preferring internal applets over PATH lookups.
+ # https://web.archive.org/web/20221206223848/https://busybox.net/FAQ.html#standalone_shell.
+ if busybox bbconfig | grep -q "CONFIG_FEATURE_SH_STANDALONE=y" ; then
+ ewarn "busybox is configured with CONFIG_FEATURE_SH_STANDALONE=y!"
+ ewarn "This is not a safe configuration for busybox as /bin/sh."
+ ewarn "Please use savedconfig to disable CONFIG_FEATURE_SH_STANDALONE on busybox."
+ die "Aborting due to unsafe Busybox configuration (CONFIG_FEATURE_SH_STANDALONE=y)!"
+ fi
+ fi
+}
+
src_install() {
dosym "$(get_alternative)" /bin/sh || die
}