kumquat-buildroot/package/busybox/Config.in
Thomas Petazzoni bc2e241bce package/busybox: change how its SELinux support is enabled
Following commit 0dcb5513ef
("package/refpolicy: remove dependency on policycoreutils"), we have a
build failure on some configurations:

Makefile:571: *** libselinux is in the dependency chain of busybox that has added it to its _DEPENDENCIES variable without selecting it or depending on it from Config.in.  Stop.

This is because refpolicy selects the busybox SELinux support when
Busybox is enabled, which it turns selects libselinux, but we no
longer pay attention to the libselinux dependencies while doing this.

Since it's quite weird to have refpolicy mess with Busybox SELinux
support, this commit changes the logic to have Busybox automatically
enable its SELinux support as soon as SELinux support is enabled,
while still allowing it to be disabled.

Fixes:

  http://autobuild.buildroot.net/results/5d8fda7c488a03c14942d87467d501acd633d24a/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-02-03 16:49:43 +01:00

104 lines
3.2 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"
default y
depends on BR2_PACKAGE_LIBSELINUX
select BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES
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
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
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