Hi,
On 2025. 06. 25. 6:11, Nadav Tasher wrote:
On Tue, Jun 24, 2025 at 02:35:58PM +0200, Csókás Bence wrote:
Hi,
On 2025. 06. 14. 18:10, Nadav Tasher wrote:
To improve applet execution coverage, get_shell_name() will return "sh"
when applets are prefered and "sh" is defined as a shell applet.
This allows for more applets to execute sub-applets when spawning shells.
Signed-off-by: Nadav Tasher <[email protected]>
Maybe it's just me, but why are we overriding all users' shell preferences
depending on a Kconfig option? Isn't there a better way?
Bence
This is intentional, since it is the only way we can guarantee applets
which call system() or execv(get_shell_name(), ...) execute a self-contained
shell that honors the "prefer applets" Kconfig.
Okay, I understand it for system(), but for the execv() one, the only
reason for a developer to write that one is when they _explicitly_ want
to honor the user's shell preference. Which now we disregard completely.
We need to force this behaviour to guarentee that only applets will be
executed, since get_shell_name() will result in ash or hush being used
instead of /bin/sh or others.
So I understand your general use-case, but the option is called *Prefer*
applets, not "Force everything to be self-contained, through any means".
Nadav
Bence
_______________________________________________
busybox mailing list
[email protected]
https://lists.busybox.net/mailman/listinfo/busybox