Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 729184 - sys-apps/busybox USE=make-symlinks should disable FEATURE_SH_STANDALONE mode
Summary: sys-apps/busybox USE=make-symlinks should disable FEATURE_SH_STANDALONE mode
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2020-06-22 14:50 UTC by Erik Dannenberg
Modified: 2021-08-26 22:52 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Dannenberg 2020-06-22 14:50:04 UTC
Currently the created symlinks are never used as the ebuild always enables the following busybox features:

CONFIG_FEATURE_PREFER_APPLETS
CONFIG_FEATURE_SH_STANDALONE

This bypasses all PATH lookups for busybox builtins.

I use busybox as base for my Docker images which works great for most cases, however sometimes the builtins have missing arguments or other incompatibilities that break other applications that depend on them. It is not feasable to hack the application to use the complete binary path to the original util (sed, ar, etc). In such cases it would be great if I could just delete a symlink, effectively disabling that builtin.

A tested patch for the official ebuild that resolves the issue can be found here:

https://github.com/edannenberg/kubler-overlay/commit/60ce3dedea54489d84ff894b6b7da4b586883921
Comment 1 Larry the Git Cow gentoo-dev 2021-08-26 22:52:09 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c8d34c127412c5d8b4fd3dc13e970f265be211c

commit 5c8d34c127412c5d8b4fd3dc13e970f265be211c
Author:     Jakov Smolic <jakov.smolic@sartura.hr>
AuthorDate: 2021-08-19 17:21:00 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-08-26 22:50:13 +0000

    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@sartura.hr>
    Closes: https://github.com/gentoo/gentoo/pull/22038
    Signed-off-by: Sam James <sam@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(+)