kumquat-buildroot/package/busybox/Config.in
Clayton Shotwell b1e07d6d79 busybox: applets as individual binaries
The individual binaries option of busybox allows for the applets
that would usually be symlinks to be built as individual applications
that link against a shared library.

This feature is needed for SELinux to allow the applications to run
under the correct SELinux context.

The patch being added allows the individual applications to be
installed and will be upstreamed to the busybox developers.

The initial work for this change was done by Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>.

Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Niranjan Reddy <niranjan.reddy@rockwellcollins.com>
Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
[Thomas:
 - add help text in Config.in option.
 - rename BUSYBOX_CONFIGURE_INDIVIDUAL_BINARIES to
   BUSYBOX_SET_INDIVIDUAL_BINARIES to be consistent with other
   variables.
 - call BUSYBOX_INSTALL_INDIVIDUAL_BINARIES in
   BUSYBOX_INSTALL_TARGET_CMDS, not in BUSYBOX_INSTALL_INIT_SYSV.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Arnout:
 - revert to the "optional file" approach in makedevs;
 - reword Config.in comment text to match our usual pattern;
 - abbreviate comment about how suid applets are found a little;
 - all applets are optional (each one may have been unselected from the
   busybox config).]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas: remove /usr/share/udhcpc/default.script from BUSYBOX_PERMISSIONS.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-04 00:54:56 +02:00

108 lines
3.3 KiB
Plaintext

config BR2_PACKAGE_BUSYBOX
bool "BusyBox"
default y
help
The Swiss Army Knife of embedded Linux. It slices, it dices,
it makes Julian Fries.
http://busybox.net/
Most people will answer Y.
if BR2_PACKAGE_BUSYBOX
config BR2_PACKAGE_BUSYBOX_CONFIG
string "BusyBox configuration file to use?"
default "package/busybox/busybox.config"
help
Some people may wish to use their own modified BusyBox
configuration file, and will specify their config file
location with this option.
Most people will just use the default BusyBox configuration
file.
config BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES
string "Additional BusyBox configuration fragment files"
help
A space-separated list of configuration fragment files,
that will be merged to the main BusyBox configuration file.
# This option is not an option of Busybox, it can be selected even
# if Busybox is not enabled.
config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
bool "Show packages that are also provided by busybox"
help
Show packages in menuconfig that are potentially also provided
by busybox.
config BR2_PACKAGE_BUSYBOX_SELINUX
bool "Enable SELinux support"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on !BR2_arc
select BR2_PACKAGE_LIBSELINUX
help
Enable SELinux support in BusyBox. Please note that
depending on your BusyBox configuration and the SELinux
policy implementation, you may want to also enable
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES.
For instance, if your BusyBox configuration only uses a
couple of minor BusyBox features, such as simple command
line utilities, the symlinked version of BusyBox can be used
to save space. If BusyBox provides more features, such as
crond, then individual binaries have to be enabled for the
SELinux type transitions to occur properly.
config BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES
bool "Individual binaries"
depends on !BR2_STATIC_LIBS
depends on !BR2_bfin # libbusybox.so link issue
help
By default (i.e with this option disabled), Busybox is
installed as a single binary in /bin/busybox and all applets
are a symbolic link to /bin/busybox.
With this option enabled, each applet is a separate binary,
which is needed for proper operation with SELinux.
comment "Busybox individual binaries need a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
depends on !BR2_bfin
config BR2_PACKAGE_BUSYBOX_WATCHDOG
bool "Install the watchdog daemon startup script"
help
Install the watchdog daemon startup script,
that just start at the boot the busybox watchdog daemon.
if BR2_PACKAGE_BUSYBOX_WATCHDOG
config BR2_PACKAGE_BUSYBOX_WATCHDOG_PERIOD
string "Delay between reset"
default "5"
help
Select the number of seconds between each
reset of the watchdog (default 5)
Use ms suffix to specify milliseconds (e.g. 500ms)
endif
endif
if !BR2_PACKAGE_BUSYBOX # kconfig doesn't support else
comment "You may need to enable other packages to get a working system"
comment "You better know what you're doing!"
# This option is not an option of Busybox, it can be selected even if
# Busybox is not enabled. This dummy option ensures that packages that
# depend on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS are visible when Busybox
# is disabled.
config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
default y
endif