busybox: preserve ncurses progs/tools

The ncurses package installs a full version of clear and reset(tset)
tools.  Preserve these by disabling the options in the busybox config
file.  This removes the need for ncurses to depend on busybox for solely
ordering of target install.

This commit resolves the following python circular dependency with python.
busybox -> libselinux -> python3 -> ncurses -> busybox

Fixes:
http://autobuild.buildroot.net/results/db1/db1e6f3054092fc5576ccab8e04a3b9d74ca9a8c/

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Thomas: minor tweaks.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Matt Weber 2017-04-13 22:20:47 -05:00 committed by Thomas Petazzoni
parent e9b95f0cd0
commit 33c72344a8
2 changed files with 12 additions and 5 deletions

View File

@ -148,6 +148,17 @@ define BUSYBOX_MUSL_TWEAKS
endef endef
endif endif
ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y)
# Ncurses package overlaps:
# /usr/bin/clear
# /usr/bin/reset -> /usr/bin/tset (symlink)
#
define BUSYBOX_DISABLE_NCURSES_PROGS
$(call KCONFIG_DISABLE_OPT,CONFIG_CLEAR,$(BUSYBOX_BUILD_CONFIG))
$(call KCONFIG_DISABLE_OPT,CONFIG_RESET,$(BUSYBOX_BUILD_CONFIG))
endef
endif
define BUSYBOX_INSTALL_UDHCPC_SCRIPT define BUSYBOX_INSTALL_UDHCPC_SCRIPT
if grep -q CONFIG_UDHCPC=y $(@D)/.config; then \ if grep -q CONFIG_UDHCPC=y $(@D)/.config; then \
$(INSTALL) -m 0755 -D package/busybox/udhcpc.script \ $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
@ -229,6 +240,7 @@ define BUSYBOX_KCONFIG_FIXUP_CMDS
$(BUSYBOX_SET_WATCHDOG) $(BUSYBOX_SET_WATCHDOG)
$(BUSYBOX_SET_SELINUX) $(BUSYBOX_SET_SELINUX)
$(BUSYBOX_MUSL_TWEAKS) $(BUSYBOX_MUSL_TWEAKS)
$(BUSYBOX_DISABLE_NCURSES_PROGS)
endef endef
define BUSYBOX_CONFIGURE_CMDS define BUSYBOX_CONFIGURE_CMDS

View File

@ -29,11 +29,6 @@ NCURSES_CONF_OPTS = \
$(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \ $(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \
--without-manpages --without-manpages
# Install after busybox for the full-blown versions
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
NCURSES_DEPENDENCIES += busybox
endif
ifeq ($(BR2_STATIC_LIBS),y) ifeq ($(BR2_STATIC_LIBS),y)
NCURSES_CONF_OPTS += --without-shared --with-normal NCURSES_CONF_OPTS += --without-shared --with-normal
else ifeq ($(BR2_SHARED_LIBS),y) else ifeq ($(BR2_SHARED_LIBS),y)