[Buildroot] [PATCH] packages: remove numerous dependencies on Busybox

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Jul 7 18:45:16 UTC 2017


A lot of packages that provide a full-featured version of a tool
otherwise provided in a more lightweight version in Busybox add a
<pkg>_DEPENDENCIES on the busybox package to ensure they get built and
installed after Busybox and therefore overwrite the Busybox symbolic
links.

However, the Busybox installation process does not overwrite existing
files when creating its symbolic links. For example, if dos2unix has
already been installed in its full-featured version, the Busybox
installation process will not overwrite it.

Therefore, making all those packages depend on busybox if available is
not necessary, and we consequently drop such dependencies.

A few packages still depend on Busybox if available:

 - The logging related packages (syslog-ng, rsyslog, sysklogd),
   because they install a S01logging script that should overwrite the
   one installed by Busybox.

 - The systemd package, for a mysterious reason documented in
   systemd.mk "Make sure that systemd will always be built after
   busybox so that we have a consistent init setup between two builds"

After building a number of packages providing full-featured versions
of tools also provided by Busybox, and forcing the Busybox
installation afterwards, the Busybox installation process says:

  /home/thomas/projets/buildroot/output/target//bin/chattr already exists
  /home/thomas/projets/buildroot/output/target//bin/cpio already exists
  /home/thomas/projets/buildroot/output/target//bin/gunzip already exists
  /home/thomas/projets/buildroot/output/target//bin/gzip already exists
  /home/thomas/projets/buildroot/output/target//bin/lsattr already exists
  /home/thomas/projets/buildroot/output/target//bin/run-parts already exists
  /home/thomas/projets/buildroot/output/target//bin/tar already exists
  /home/thomas/projets/buildroot/output/target//bin/zcat already exists
  /home/thomas/projets/buildroot/output/target//sbin/fsck already exists
  /home/thomas/projets/buildroot/output/target//sbin/insmod already exists
  /home/thomas/projets/buildroot/output/target//sbin/lsmod already exists
  /home/thomas/projets/buildroot/output/target//sbin/mke2fs already exists
  /home/thomas/projets/buildroot/output/target//sbin/modprobe already exists
  /home/thomas/projets/buildroot/output/target//sbin/rmmod already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/awk already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/cmp already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/dc already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/diff already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/dos2unix already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/fuser already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/killall already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/less already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/lsof already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/lspci already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/mkpasswd already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/tftp already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/unix2dos already exists
  /home/thomas/projets/buildroot/output/target//usr/bin/wget already exists
  /home/thomas/projets/buildroot/output/target//usr/sbin/fbset already exists
  /home/thomas/projets/buildroot/output/target//usr/sbin/i2cdetect already exists
  /home/thomas/projets/buildroot/output/target//usr/sbin/i2cdump already exists
  /home/thomas/projets/buildroot/output/target//usr/sbin/i2cget already exists
  /home/thomas/projets/buildroot/output/target//usr/sbin/i2cset already exists
  /home/thomas/projets/buildroot/output/target//usr/sbin/ubirename already exists

And therefore none of those programs were overwritten by Busybox
symbolic links.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 package/bash/bash.mk                           | 4 +---
 package/bc/bc.mk                               | 5 -----
 package/binutils/binutils.mk                   | 5 -----
 package/coreutils/coreutils.mk                 | 6 ------
 package/cpio/cpio.mk                           | 1 -
 package/dcron/dcron.mk                         | 5 -----
 package/debianutils/debianutils.mk             | 2 --
 package/diffutils/diffutils.mk                 | 4 ----
 package/dos2unix/dos2unix.mk                   | 1 -
 package/e2fsprogs/e2fsprogs.mk                 | 6 ------
 package/fbset/fbset.mk                         | 5 -----
 package/gawk/gawk.mk                           | 5 -----
 package/grep/grep.mk                           | 5 -----
 package/gzip/gzip.mk                           | 2 --
 package/i2c-tools/i2c-tools.mk                 | 4 ----
 package/ifenslave/ifenslave.mk                 | 1 -
 package/ifplugd/ifplugd.mk                     | 5 -----
 package/ifupdown/ifupdown.mk                   | 1 -
 package/iproute2/iproute2.mk                   | 6 ------
 package/iputils/iputils.mk                     | 6 ------
 package/kmod/kmod.mk                           | 3 ---
 package/less/less.mk                           | 3 +--
 package/lsof/lsof.mk                           | 3 ---
 package/mtd/mtd.mk                             | 4 ----
 package/net-tools/net-tools.mk                 | 5 -----
 package/netcat-openbsd/netcat-openbsd.mk       | 6 ------
 package/ntp/ntp.mk                             | 2 +-
 package/pciutils/pciutils.mk                   | 5 -----
 package/procps-ng/procps-ng.mk                 | 6 ------
 package/psmisc/psmisc.mk                       | 5 -----
 package/rsyslog/rsyslog.mk                     | 2 +-
 package/start-stop-daemon/start-stop-daemon.mk | 3 +--
 package/sysklogd/sysklogd.mk                   | 2 +-
 package/sysvinit/sysvinit.mk                   | 5 -----
 package/tar/tar.mk                             | 5 -----
 package/tftpd/tftpd.mk                         | 5 -----
 package/unzip/unzip.mk                         | 2 --
 package/usbutils/usbutils.mk                   | 5 -----
 package/util-linux/util-linux.mk               | 6 ------
 package/vim/vim.mk                             | 4 +---
 package/wget/wget.mk                           | 5 -----
 package/whois/whois.mk                         | 3 +--
 42 files changed, 8 insertions(+), 160 deletions(-)

diff --git a/package/bash/bash.mk b/package/bash/bash.mk
index 32c87a6..fd1a8bd 100644
--- a/package/bash/bash.mk
+++ b/package/bash/bash.mk
@@ -6,9 +6,7 @@
 
 BASH_VERSION = 4.4
 BASH_SITE = $(BR2_GNU_MIRROR)/bash
-# Build after since bash is better than busybox shells
-BASH_DEPENDENCIES = ncurses readline host-bison \
-	$(if $(BR2_PACKAGE_BUSYBOX),busybox)
+BASH_DEPENDENCIES = ncurses readline host-bison
 BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc
 BASH_LICENSE = GPL-3.0+
 BASH_LICENSE_FILES = COPYING
diff --git a/package/bc/bc.mk b/package/bc/bc.mk
index a6446ce..ee0e438 100644
--- a/package/bc/bc.mk
+++ b/package/bc/bc.mk
@@ -11,9 +11,4 @@ BC_DEPENDENCIES = host-flex
 BC_LICENSE = GPL-2.0+, LGPL-2.1+
 BC_LICENSE_FILES = COPYING COPYING.LIB
 
-# Build after busybox so target ends up with bc's "dc" version
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-BC_DEPENDENCIES += busybox
-endif
-
 $(eval $(autotools-package))
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index c64ec47..8a07fed 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -78,11 +78,6 @@ ifeq ($(BR2_ARM_CPU_ARMV7M)$(BR2_OPTIMIZE_S),yy)
 BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O2"
 endif
 
-# Install binutils after busybox to prefer full-blown utilities
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-BINUTILS_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 BINUTILS_DEPENDENCIES += zlib
 endif
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index 6a8a31b..3f41e6f 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -59,12 +59,6 @@ COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \
 	ln ls mkdir mknod mv pwd rm rmdir vdir sleep stty sync touch true \
 	uname join
 
-# If both coreutils and busybox are selected, make certain coreutils
-# wins the fight over who gets to have their utils actually installed.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-COREUTILS_DEPENDENCIES = busybox
-endif
-
 ifeq ($(BR2_PACKAGE_ACL),y)
 COREUTILS_DEPENDENCIES += acl
 else
diff --git a/package/cpio/cpio.mk b/package/cpio/cpio.mk
index 7e8549d..9a09279 100644
--- a/package/cpio/cpio.mk
+++ b/package/cpio/cpio.mk
@@ -7,7 +7,6 @@
 CPIO_VERSION = 2.12
 CPIO_SITE = $(BR2_GNU_MIRROR)/cpio
 CPIO_CONF_OPTS = --bindir=/bin
-CPIO_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
 CPIO_LICENSE = GPL-3.0+
 CPIO_LICENSE_FILES = COPYING
 
diff --git a/package/dcron/dcron.mk b/package/dcron/dcron.mk
index 7e81b63..2ee0709 100644
--- a/package/dcron/dcron.mk
+++ b/package/dcron/dcron.mk
@@ -9,11 +9,6 @@ DCRON_SITE = http://www.jimpryor.net/linux/releases
 # The source code does not specify the version of the GPL that is used.
 DCRON_LICENSE = GPL
 
-# Overwrite cron-related Busybox commands if available
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-DCRON_DEPENDENCIES = busybox
-endif
-
 define DCRON_BUILD_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
 endef
diff --git a/package/debianutils/debianutils.mk b/package/debianutils/debianutils.mk
index 86f201d..189d983 100644
--- a/package/debianutils/debianutils.mk
+++ b/package/debianutils/debianutils.mk
@@ -8,8 +8,6 @@ DEBIANUTILS_VERSION = 4.8.1
 DEBIANUTILS_SOURCE = debianutils_$(DEBIANUTILS_VERSION).tar.xz
 DEBIANUTILS_SITE = http://snapshot.debian.org/archive/debian/20161118T033019Z/pool/main/d/debianutils
 DEBIANUTILS_CONF_OPTS = --exec-prefix=/
-# Make sure we override the busybox tools, such as which
-DEBIANUTILS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
 DEBIANUTILS_LICENSE = GPL-2.0+, SMAIL (savelog)
 DEBIANUTILS_LICENSE_FILES = debian/copyright
 
diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk
index 6e5b9b6..648d64c 100644
--- a/package/diffutils/diffutils.mk
+++ b/package/diffutils/diffutils.mk
@@ -11,8 +11,4 @@ DIFFUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
 DIFFUTILS_LICENSE = GPL-3.0+
 DIFFUTILS_LICENSE_FILES = COPYING
 
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-DIFFUTILS_DEPENDENCIES += busybox
-endif
-
 $(eval $(autotools-package))
diff --git a/package/dos2unix/dos2unix.mk b/package/dos2unix/dos2unix.mk
index 276a18e..2a26e1a 100644
--- a/package/dos2unix/dos2unix.mk
+++ b/package/dos2unix/dos2unix.mk
@@ -9,7 +9,6 @@ DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix
 DOS2UNIX_LICENSE = BSD-2-Clause
 DOS2UNIX_LICENSE_FILES = COPYING.txt
 DOS2UNIX_DEPENDENCIES = \
-	$(if $(BR2_PACKAGE_BUSYBOX),busybox) \
 	$(TARGET_NLS_DEPENDENCIES)
 
 ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index 75e9213..c46710e 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -17,12 +17,6 @@ E2FSPROGS_INSTALL_STAGING = YES
 E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux
 HOST_E2FSPROGS_DEPENDENCIES = host-pkgconf host-util-linux
 
-# If both e2fsprogs and busybox are selected, make certain e2fsprogs
-# wins the fight over who gets to have their utils actually installed
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-E2FSPROGS_DEPENDENCIES += busybox
-endif
-
 # e4defrag doesn't build on older systems like RHEL5.x, and we don't
 # need it on the host anyway.
 # Disable fuse2fs as well to avoid carrying over deps, and it's unused
diff --git a/package/fbset/fbset.mk b/package/fbset/fbset.mk
index d6ee104..787b4e1 100644
--- a/package/fbset/fbset.mk
+++ b/package/fbset/fbset.mk
@@ -9,11 +9,6 @@ FBSET_SITE = http://users.telenet.be/geertu/Linux/fbdev
 FBSET_DEPENDENCIES = host-bison host-flex
 FBSET_LICENSE = GPL-2.0
 
-# Make sure full fbset wins over busybox fbset
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-FBSET_DEPENDENCIES += busybox
-endif
-
 define FBSET_BUILD_CMDS
 	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D)
 endef
diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk
index a3a2927..5792211 100644
--- a/package/gawk/gawk.mk
+++ b/package/gawk/gawk.mk
@@ -11,11 +11,6 @@ GAWK_DEPENDENCIES = host-gawk
 GAWK_LICENSE = GPL-3.0+
 GAWK_LICENSE_FILES = COPYING
 
-# Prefer full-blown gawk over busybox awk
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-GAWK_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_LIBSIGSEGV),y)
 GAWK_DEPENDENCIES += libsigsegv
 endif
diff --git a/package/grep/grep.mk b/package/grep/grep.mk
index a2ef422..8545cee 100644
--- a/package/grep/grep.mk
+++ b/package/grep/grep.mk
@@ -25,9 +25,4 @@ GREP_CONF_OPTS += --enable-perl-regexp
 GREP_DEPENDENCIES += pcre
 endif
 
-# Full grep preferred over busybox grep
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-GREP_DEPENDENCIES += busybox
-endif
-
 $(eval $(autotools-package))
diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk
index 26fc8ec..d69215a 100644
--- a/package/gzip/gzip.mk
+++ b/package/gzip/gzip.mk
@@ -9,8 +9,6 @@ GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz
 GZIP_SITE = $(BR2_GNU_MIRROR)/gzip
 # Some other tools expect it to be in /bin
 GZIP_CONF_OPTS = --exec-prefix=/
-# Prefer full gzip over potentially lightweight/slower from busybox
-GZIP_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
 GZIP_LICENSE = GPL-3.0+
 GZIP_LICENSE_FILES = COPYING
 GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes
diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk
index 978c5c0..c7c143f 100644
--- a/package/i2c-tools/i2c-tools.mk
+++ b/package/i2c-tools/i2c-tools.mk
@@ -17,10 +17,6 @@ ifeq ($(BR2_PACKAGE_PYTHON3),y)
 I2C_TOOLS_DEPENDENCIES += python3
 endif
 
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-I2C_TOOLS_DEPENDENCIES += busybox
-endif
-
 # Build/install steps mirror the distutil python package type in the python package
 # infrastructure
 ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y)
diff --git a/package/ifenslave/ifenslave.mk b/package/ifenslave/ifenslave.mk
index 4030d22..b51aa72 100644
--- a/package/ifenslave/ifenslave.mk
+++ b/package/ifenslave/ifenslave.mk
@@ -9,7 +9,6 @@ IFENSLAVE_SOURCE = ifenslave_$(IFENSLAVE_VERSION).tar.xz
 IFENSLAVE_SITE = http://snapshot.debian.org/archive/debian/20170102T091407Z/pool/main/i/ifenslave
 IFENSLAVE_LICENSE = GPL-3.0+
 IFENSLAVE_LICENSE_FILES = debian/copyright
-IFENSLAVE_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
 
 # shell script, so nothing to build
 
diff --git a/package/ifplugd/ifplugd.mk b/package/ifplugd/ifplugd.mk
index b569320..c7874b4 100644
--- a/package/ifplugd/ifplugd.mk
+++ b/package/ifplugd/ifplugd.mk
@@ -15,11 +15,6 @@ IFPLUGD_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec
 IFPLUGD_CONF_OPTS = --disable-lynx --with-initdir=/etc/init.d/
 IFPLUGD_DEPENDENCIES = libdaemon
 
-# Prefer big ifplugd
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-IFPLUGD_DEPENDENCIES += busybox
-endif
-
 define IFPLUGD_INSTALL_FIXUP
 	$(INSTALL) -D -m 0644 $(@D)/conf/ifplugd.conf $(TARGET_DIR)/etc/ifplugd/ifplugd.conf; \
 	$(SED) 's^\(ARGS=.*\)w^\1^' $(TARGET_DIR)/etc/ifplugd/ifplugd.conf; \
diff --git a/package/ifupdown/ifupdown.mk b/package/ifupdown/ifupdown.mk
index dfc3f3c..84d24ae 100644
--- a/package/ifupdown/ifupdown.mk
+++ b/package/ifupdown/ifupdown.mk
@@ -7,7 +7,6 @@
 IFUPDOWN_VERSION = 0.8.16
 IFUPDOWN_SOURCE = ifupdown_$(IFUPDOWN_VERSION).tar.xz
 IFUPDOWN_SITE = http://snapshot.debian.org/archive/debian/20160922T165503Z/pool/main/i/ifupdown
-IFUPDOWN_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
 IFUPDOWN_LICENSE = GPL-2.0+
 IFUPDOWN_LICENSE_FILES = COPYING
 
diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk
index 5502d73..26d1f08 100644
--- a/package/iproute2/iproute2.mk
+++ b/package/iproute2/iproute2.mk
@@ -12,12 +12,6 @@ IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \
 IPROUTE2_LICENSE = GPL-2.0
 IPROUTE2_LICENSE_FILES = COPYING
 
-# If both iproute2 and busybox are selected, make certain we win
-# the fight over who gets to have their utils actually installed.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-IPROUTE2_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_ELFUTILS),y)
 IPROUTE2_DEPENDENCIES += elfutils
 endif
diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk
index b20cd12..1f2db3f 100644
--- a/package/iputils/iputils.mk
+++ b/package/iputils/iputils.mk
@@ -17,12 +17,6 @@ IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause, BSD-4-Clause
 # Only includes a license file for BSD
 IPUTILS_LICENSE_FILES = ninfod/COPYING
 
-# Build after busybox so target ends up with this package's full
-# versions of the applications instead of busybox applets.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-IPUTILS_DEPENDENCIES += busybox
-endif
-
 IPUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) USE_SYSFS=no USE_IDN=no\
 	CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
 
diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index bd67610..0b67460 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -49,9 +49,6 @@ ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y)
 KMOD_LICENSE := $(KMOD_LICENSE), GPL-2.0+ (tools)
 KMOD_LICENSE_FILES += COPYING
 
-# take precedence over busybox implementation
-KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_BUSYBOX),busybox)
-
 # /sbin is really /usr/sbin with merged /usr, so adjust relative symlink
 ifeq ($(BR2_ROOTFS_MERGED_USR),y)
 KMOD_BIN_PATH = ../bin/kmod
diff --git a/package/less/less.mk b/package/less/less.mk
index bccc08b..ef3643c 100644
--- a/package/less/less.mk
+++ b/package/less/less.mk
@@ -8,8 +8,7 @@ LESS_VERSION = 487
 LESS_SITE = $(BR2_GNU_MIRROR)/less
 LESS_LICENSE = GPL-3.0+
 LESS_LICENSE_FILES = COPYING
-# Build after busybox, full-blown is better
-LESS_DEPENDENCIES = ncurses $(if $(BR2_PACKAGE_BUSYBOX),busybox)
+LESS_DEPENDENCIES = ncurses
 
 define LESS_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 $(@D)/less $(TARGET_DIR)/usr/bin/less
diff --git a/package/lsof/lsof.mk b/package/lsof/lsof.mk
index e5cd4bc..1f8e2e8 100644
--- a/package/lsof/lsof.mk
+++ b/package/lsof/lsof.mk
@@ -13,9 +13,6 @@ LSOF_LICENSE = lsof license
 # It is also defined in 00README, but that contains a lot of other cruft.
 LSOF_LICENSE_FILES = dialects/linux/dproto.h
 
-# Make certain full-blown lsof gets built after the busybox version (1.20+)
-LSOF_DEPENDENCIES += $(if $(BR2_PACKAGE_BUSYBOX),busybox)
-
 ifeq ($(BR2_USE_WCHAR),)
 define LSOF_CONFIGURE_WCHAR_FIXUPS
 	$(SED) 's,^#define[[:space:]]*HASWIDECHAR.*,#undef HASWIDECHAR,' \
diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
index 3bac2d5..cfc573a 100644
--- a/package/mtd/mtd.mk
+++ b/package/mtd/mtd.mk
@@ -31,10 +31,6 @@ else
 MTD_CONF_OPTS += --disable-tests
 endif
 
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-MTD_DEPENDENCIES += busybox
-endif
-
 # If extended attributes are required, the acl package must
 # also be enabled which will also include the attr package.
 ifeq ($(BR2_PACKAGE_ACL),y)
diff --git a/package/net-tools/net-tools.mk b/package/net-tools/net-tools.mk
index bc87290..a3fd4b9 100644
--- a/package/net-tools/net-tools.mk
+++ b/package/net-tools/net-tools.mk
@@ -10,11 +10,6 @@ NET_TOOLS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
 NET_TOOLS_LICENSE = GPL-2.0+
 NET_TOOLS_LICENSE_FILES = COPYING
 
-# Install after busybox for the full-blown versions
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-NET_TOOLS_DEPENDENCIES += busybox
-endif
-
 define NET_TOOLS_CONFIGURE_CMDS
 	(cd $(@D); yes "" | ./configure.sh config.in )
 endef
diff --git a/package/netcat-openbsd/netcat-openbsd.mk b/package/netcat-openbsd/netcat-openbsd.mk
index e1a6fee..7cc6823 100644
--- a/package/netcat-openbsd/netcat-openbsd.mk
+++ b/package/netcat-openbsd/netcat-openbsd.mk
@@ -10,12 +10,6 @@ NETCAT_OPENBSD_LICENSE = BSD-3-Clause
 NETCAT_OPENBSD_LICENSE_FILES = debian/copyright
 NETCAT_OPENBSD_DEPENDENCIES = host-pkgconf libbsd
 
-# Ensure Busybox gets built/installed before, so that this package
-# overrides Busybox nc.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-NETCAT_OPENBSD_DEPENDENCIES += busybox
-endif
-
 define NETCAT_OPENBSD_APPLY_DEBIAN_PATCHES
 	if [ -d $(@D)/debian/patches ]; then \
 		$(APPLY_PATCHES) $(@D) $(@D)/debian/patches *.dpatch; \
diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index c70d6e6..86365e5 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -7,7 +7,7 @@
 NTP_VERSION_MAJOR = 4.2
 NTP_VERSION = $(NTP_VERSION_MAJOR).8p10
 NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR)
-NTP_DEPENDENCIES = host-pkgconf libevent openssl $(if $(BR2_PACKAGE_BUSYBOX),busybox)
+NTP_DEPENDENCIES = host-pkgconf libevent openssl
 NTP_LICENSE = NTP
 NTP_LICENSE_FILES = COPYRIGHT
 NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no
diff --git a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk
index 2dd5771..30d429e 100644
--- a/package/pciutils/pciutils.mk
+++ b/package/pciutils/pciutils.mk
@@ -46,11 +46,6 @@ else
 PCIUTILS_MAKE_OPTS += SHARED=yes
 endif
 
-# Build after busybox since it's got a lightweight lspci
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-PCIUTILS_DEPENDENCIES += busybox
-endif
-
 define PCIUTILS_CONFIGURE_CMDS
 	$(SED) 's/wget --no-timestamping/wget/' $(PCIUTILS_DIR)/update-pciids.sh
 	$(SED) 's/uname -s/echo Linux/' \
diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk
index 22ebc1a..68116a8 100644
--- a/package/procps-ng/procps-ng.mk
+++ b/package/procps-ng/procps-ng.mk
@@ -16,12 +16,6 @@ PROCPS_NG_CONF_OPTS = LIBS=$(TARGET_NLS_LIBS)
 PROCPS_NG_AUTORECONF = YES
 PROCPS_NG_GETTEXTIZE = YES
 
-# If both procps-ng and busybox are selected, make certain procps-ng
-# wins the fight over who gets to have their utils actually installed.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-PROCPS_NG_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_SYSTEMD),y)
 PROCPS_NG_DEPENDENCIES += systemd
 PROCPS_NG_CONF_OPTS += --with-systemd
diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk
index 3d9a804..3916e34 100644
--- a/package/psmisc/psmisc.mk
+++ b/package/psmisc/psmisc.mk
@@ -23,9 +23,4 @@ ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
 PSMISC_CONF_OPTS = --disable-harden-flags
 endif
 
-# build after busybox, we prefer fat versions while we're at it
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-PSMISC_DEPENDENCIES += busybox
-endif
-
 $(eval $(autotools-package))
diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk
index bbf7d95..24c4e17 100644
--- a/package/rsyslog/rsyslog.mk
+++ b/package/rsyslog/rsyslog.mk
@@ -17,7 +17,7 @@ RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \
 RSYSLOG_CONF_OPTS = --disable-generate-man-pages \
 	$(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x))
 
-# Build after BusyBox
+# We override Busybox S01logging script
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 RSYSLOG_DEPENDENCIES += busybox
 endif
diff --git a/package/start-stop-daemon/start-stop-daemon.mk b/package/start-stop-daemon/start-stop-daemon.mk
index 7071f56..01a6719 100644
--- a/package/start-stop-daemon/start-stop-daemon.mk
+++ b/package/start-stop-daemon/start-stop-daemon.mk
@@ -19,8 +19,7 @@ START_STOP_DAEMON_CONF_ENV = \
 	dpkg_cv_va_copy=yes \
 	dpkg_cv_c99_snprintf=yes \
 	DPKG_DEVEL_MODE=1
-START_STOP_DAEMON_DEPENDENCIES = host-pkgconf \
-	$(if $(BR2_PACKAGE_BUSYBOX),busybox)
+START_STOP_DAEMON_DEPENDENCIES = host-pkgconf
 # Patching m4/dpkg-arch.m4
 START_STOP_DAEMON_AUTORECONF = YES
 START_STOP_DAEMON_LICENSE = GPL-2.0+
diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk
index e1f0c34..66ab0e6 100644
--- a/package/sysklogd/sysklogd.mk
+++ b/package/sysklogd/sysklogd.mk
@@ -9,7 +9,7 @@ SYSKLOGD_SITE = http://www.infodrom.org/projects/sysklogd/download
 SYSKLOGD_LICENSE = GPL-2.0+
 SYSKLOGD_LICENSE_FILES = COPYING
 
-# Override BusyBox implementations if BusyBox is enabled.
+# We override Busybox S01logging script
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 SYSKLOGD_DEPENDENCIES = busybox
 endif
diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk
index ca7d06b..fff7d95 100644
--- a/package/sysvinit/sysvinit.mk
+++ b/package/sysvinit/sysvinit.mk
@@ -13,11 +13,6 @@ SYSVINIT_LICENSE_FILES = COPYING
 
 SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR)
 
-# Override BusyBox implementations if BusyBox is enabled.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-SYSVINIT_DEPENDENCIES = busybox
-endif
-
 ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
 SYSVINIT_DEPENDENCIES += libselinux
 SYSVINIT_MAKE_OPTS += WITH_SELINUX="yes"
diff --git a/package/tar/tar.mk b/package/tar/tar.mk
index cb2ddc0..04c1b78 100644
--- a/package/tar/tar.mk
+++ b/package/tar/tar.mk
@@ -13,11 +13,6 @@ TAR_CONF_OPTS = --exec-prefix=/
 TAR_LICENSE = GPL-3.0+
 TAR_LICENSE_FILES = COPYING
 
-# Prefer full-blown tar over buybox's version
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-TAR_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_ACL),y)
 TAR_DEPENDENCIES += acl
 TAR_CONF_OPTS += --with-posix-acls
diff --git a/package/tftpd/tftpd.mk b/package/tftpd/tftpd.mk
index 78df835..c42456a 100644
--- a/package/tftpd/tftpd.mk
+++ b/package/tftpd/tftpd.mk
@@ -9,11 +9,6 @@ TFTPD_SOURCE = tftp-hpa-$(TFTPD_VERSION).tar.xz
 TFTPD_SITE = $(BR2_KERNEL_MIRROR)/software/network/tftp/tftp-hpa
 TFTPD_CONF_OPTS = --without-tcpwrappers
 
-# Override BusyBox implementations if BusyBox is enabled.
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-TFTPD_DEPENDENCIES += busybox
-endif
-
 define TFTPD_INSTALL_TARGET_CMDS
 	$(INSTALL) -D $(@D)/tftp/tftp $(TARGET_DIR)/usr/bin/tftp
 	$(INSTALL) -D $(@D)/tftpd/tftpd $(TARGET_DIR)/usr/sbin/tftpd
diff --git a/package/unzip/unzip.mk b/package/unzip/unzip.mk
index 7d48d25..cff5951 100644
--- a/package/unzip/unzip.mk
+++ b/package/unzip/unzip.mk
@@ -7,8 +7,6 @@
 UNZIP_VERSION = 60
 UNZIP_SOURCE = unzip$(UNZIP_VERSION).tgz
 UNZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src
-# take precedence over busybox implementation
-UNZIP_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
 UNZIP_LICENSE = Info-ZIP
 UNZIP_LICENSE_FILES = LICENSE
 
diff --git a/package/usbutils/usbutils.mk b/package/usbutils/usbutils.mk
index c397d0a..9cb791d 100644
--- a/package/usbutils/usbutils.mk
+++ b/package/usbutils/usbutils.mk
@@ -11,11 +11,6 @@ USBUTILS_DEPENDENCIES = host-pkgconf libusb udev
 USBUTILS_LICENSE = GPL-2.0+
 USBUTILS_LICENSE_FILES = COPYING
 
-# Build after busybox since it's got a lightweight lsusb
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-USBUTILS_DEPENDENCIES += busybox
-endif
-
 # Nice lsusb.py script only if there's python
 ifeq ($(BR2_PACKAGE_PYTHON),)
 define USBUTILS_REMOVE_PYTHON
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index 4c2b1f6..bf55bad 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -39,12 +39,6 @@ HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf
 # We also don't want the host-python dependency
 HOST_UTIL_LINUX_CONF_OPTS = --without-python
 
-# If both util-linux and busybox are selected, make certain util-linux
-# wins the fight over who gets to have their utils actually installed
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-UTIL_LINUX_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_NCURSES),y)
 UTIL_LINUX_DEPENDENCIES += ncurses
 ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
diff --git a/package/vim/vim.mk b/package/vim/vim.mk
index c235a08..3cb96d4 100644
--- a/package/vim/vim.mk
+++ b/package/vim/vim.mk
@@ -6,10 +6,8 @@
 
 VIM_VERSION = v8.0.0329
 VIM_SITE = $(call github,vim,vim,$(VIM_VERSION))
-# Win over busybox vi since vim is more feature-rich
 VIM_DEPENDENCIES = \
-	ncurses $(TARGET_NLS_DEPENDENCIES) \
-	$(if $(BR2_PACKAGE_BUSYBOX),busybox)
+	ncurses $(TARGET_NLS_DEPENDENCIES)
 VIM_SUBDIR = src
 VIM_CONF_ENV = \
 	vim_cv_toupper_broken=no \
diff --git a/package/wget/wget.mk b/package/wget/wget.mk
index 4cb48dc..67fae65 100644
--- a/package/wget/wget.mk
+++ b/package/wget/wget.mk
@@ -11,11 +11,6 @@ WGET_DEPENDENCIES = host-pkgconf
 WGET_LICENSE = GPL-3.0+
 WGET_LICENSE_FILES = COPYING
 
-# Prefer full-blown wget over busybox
-ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-WGET_DEPENDENCIES += busybox
-endif
-
 ifeq ($(BR2_PACKAGE_GNUTLS),y)
 WGET_CONF_OPTS += --with-ssl=gnutls
 WGET_DEPENDENCIES += gnutls
diff --git a/package/whois/whois.mk b/package/whois/whois.mk
index b773499..3d2be09 100644
--- a/package/whois/whois.mk
+++ b/package/whois/whois.mk
@@ -7,8 +7,7 @@
 WHOIS_VERSION = 5.2.14
 WHOIS_SITE = http://snapshot.debian.org/archive/debian/20161230T032015Z/pool/main/w/whois
 WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz
-# take precedence over busybox implementation
-WHOIS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) $(TARGET_NLS_DEPENDENCIES)
+WHOIS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
 WHOIS_MAKE_ENV = $(TARGET_MAKE_ENV)
 WHOIS_MAKE_OPTS = CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \
 	LIBS="$(WHOIS_EXTRA_LIBS)"
-- 
2.9.4



More information about the buildroot mailing list