packages: remove numerous dependencies on Busybox
PATCH 1/1 packages: remove numerous dependencies on Busybox
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.
--- 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(-)
package/bash/bash.mk +1 -3
@@ -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
package/bc/bc.mk +0 -5
@@ -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))
package/binutils/binutils.mk +0 -5
@@ -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
package/coreutils/coreutils.mk +0 -6
@@ -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
package/cpio/cpio.mk +0 -1
@@ -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
package/dcron/dcron.mk +0 -5
@@ -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
package/debianutils/debianutils.mk +0 -2
@@ -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
package/diffutils/diffutils.mk +0 -4
@@ -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))
package/dos2unix/dos2unix.mk +0 -1
@@ -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)
package/e2fsprogs/e2fsprogs.mk +0 -6
@@ -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
package/fbset/fbset.mk +0 -5
@@ -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
package/gawk/gawk.mk +0 -5
@@ -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
package/grep/grep.mk +0 -5
@@ -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))
package/gzip/gzip.mk +0 -2
@@ -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
package/i2c-tools/i2c-tools.mk +0 -4
@@ -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)
package/ifenslave/ifenslave.mk +0 -1
@@ -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
package/ifplugd/ifplugd.mk +0 -5
@@ -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; \
package/ifupdown/ifupdown.mk +0 -1
@@ -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
package/iproute2/iproute2.mk +0 -6
@@ -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
package/iputils/iputils.mk +0 -6
@@ -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"
package/kmod/kmod.mk +0 -3
@@ -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
package/less/less.mk +1 -2
@@ -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
package/lsof/lsof.mk +0 -3
@@ -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,' \
package/mtd/mtd.mk +0 -4
@@ -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)
package/net-tools/net-tools.mk +0 -5
@@ -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
package/netcat-openbsd/netcat-openbsd.mk +0 -6
@@ -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; \
package/ntp/ntp.mk +1 -1
@@ -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
package/pciutils/pciutils.mk +0 -5
@@ -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/' \
package/procps-ng/procps-ng.mk +0 -6
@@ -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
package/psmisc/psmisc.mk +0 -5
@@ -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))
package/rsyslog/rsyslog.mk +1 -1
@@ -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
package/start-stop-daemon/start-stop-daemon.mk +1 -2
@@ -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+
package/sysklogd/sysklogd.mk +1 -1
@@ -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
package/sysvinit/sysvinit.mk +0 -5
@@ -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"
package/tar/tar.mk +0 -5
@@ -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
package/tftpd/tftpd.mk +0 -5
@@ -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
package/unzip/unzip.mk +0 -2
@@ -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
package/usbutils/usbutils.mk +0 -5
@@ -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
package/util-linux/util-linux.mk +0 -6
@@ -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)
package/vim/vim.mk +1 -3
@@ -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 \
package/wget/wget.mk +0 -5
@@ -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
package/whois/whois.mk +1 -2
@@ -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)"
Signature · 1 line
2.9.4
PATCH 1/1 packages: remove numerous dependencies on Busybox
Hi Thomas,
You really like the big boring patches, don't you?
Quoted 10 lines · Thomas Petazzoni
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.
It is important to note that this is only true because we explicitly tell
busybox to do so. See lines 249-253 in busybox.mk.
Quoted 8 lines
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.
I double-checked that there are no others with the same problem. S50telnetd
sounds risky, but we no longer have a telnetd package. inittab is also created by sysvinit, but busybox.mk only creates it if BR2_INIT_BUSYBOX.
Quoted 7 lines
- 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:
[snip]
Quoted 2 lines
And therefore none of those programs were overwritten by Busybox symbolic links.
I double-checked this for some e2fsprogs and util-linux binaries, and with
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y.
Quoted 2 lines
Signed-off-by Thomas Petazzoni <[email protected]>
Regards,
Arnout
[snip]
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 packages: remove numerous dependencies on Busybox
In reply to Thomas PetazzoniThomas, All,
On 2017-07-07 20:45 +0200, Thomas Petazzoni spake thusly:
Quoted 10 lines
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.
I have checked that this is still true when the applets are installed as hard-links or script wrappers.
Regards,
Yann E. MORIN.
Quoted 731 lines
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/chattralready exists/home/thomas/projets/buildroot/output/target//bin/cpioalready exists/home/thomas/projets/buildroot/output/target//bin/gunzipalready exists/home/thomas/projets/buildroot/output/target//bin/gzipalready exists/home/thomas/projets/buildroot/output/target//bin/lsattralready exists/home/thomas/projets/buildroot/output/target//bin/run-partsalready exists/home/thomas/projets/buildroot/output/target//bin/taralready exists/home/thomas/projets/buildroot/output/target//bin/zcatalready exists/home/thomas/projets/buildroot/output/target//sbin/fsckalready exists/home/thomas/projets/buildroot/output/target//sbin/insmodalready exists/home/thomas/projets/buildroot/output/target//sbin/lsmodalready exists/home/thomas/projets/buildroot/output/target//sbin/mke2fsalready exists/home/thomas/projets/buildroot/output/target//sbin/modprobealready exists/home/thomas/projets/buildroot/output/target//sbin/rmmodalready exists/home/thomas/projets/buildroot/output/target//usr/bin/awkalready exists/home/thomas/projets/buildroot/output/target//usr/bin/cmpalready exists/home/thomas/projets/buildroot/output/target//usr/bin/dcalready exists/home/thomas/projets/buildroot/output/target//usr/bin/diffalready exists/home/thomas/projets/buildroot/output/target//usr/bin/dos2unixalready exists/home/thomas/projets/buildroot/output/target//usr/bin/fuseralready exists/home/thomas/projets/buildroot/output/target//usr/bin/killallalready exists/home/thomas/projets/buildroot/output/target//usr/bin/lessalready exists/home/thomas/projets/buildroot/output/target//usr/bin/lsofalready exists/home/thomas/projets/buildroot/output/target//usr/bin/lspcialready exists/home/thomas/projets/buildroot/output/target//usr/bin/mkpasswdalready exists/home/thomas/projets/buildroot/output/target//usr/bin/tftpalready exists/home/thomas/projets/buildroot/output/target//usr/bin/unix2dosalready exists/home/thomas/projets/buildroot/output/target//usr/bin/wgetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/fbsetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2cdetectalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2cdumpalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2cgetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2csetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/ubirenamealready existsAnd therefore none of those programs were overwritten by Busybox symbolic links.
Signed-off-by Thomas Petazzoni <[email protected]>--- 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(-)package/bash/bash.mk +1
-3@@ -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 = COPYINGpackage/bc/bc.mk +0
-5@@ -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))package/binutils/binutils.mk +0
-5@@ -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 endifpackage/coreutils/coreutils.mk +0
-6@@ -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 elsepackage/cpio/cpio.mk +0
-1@@ -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 = COPYINGpackage/dcron/dcron.mk +0
-5@@ -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) endefpackage/debianutils/debianutils.mk +0
-2@@ -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/copyrightpackage/diffutils/diffutils.mk +0
-4@@ -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))package/dos2unix/dos2unix.mk +0
-1@@ -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)package/e2fsprogs/e2fsprogs.mk +0
-6@@ -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 unusedpackage/fbset/fbset.mk +0
-5@@ -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) endefpackage/gawk/gawk.mk +0
-5@@ -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 endifpackage/grep/grep.mk +0
-5@@ -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))package/gzip/gzip.mk +0
-2@@ -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=yespackage/i2c-tools/i2c-tools.mk +0
-4@@ -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)package/ifenslave/ifenslave.mk +0
-1@@ -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 buildpackage/ifplugd/ifplugd.mk +0
-5@@ -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; \package/ifupdown/ifupdown.mk +0
-1@@ -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 = COPYINGpackage/iproute2/iproute2.mk +0
-6@@ -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 endifpackage/iputils/iputils.mk +0
-6@@ -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"package/kmod/kmod.mk +0
-3@@ -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/kmodpackage/less/less.mk +1
-2@@ -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/lesspackage/lsof/lsof.mk +0
-3@@ -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,' \package/mtd/mtd.mk +0
-4@@ -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)package/net-tools/net-tools.mk +0
-5@@ -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 ) endefpackage/netcat-openbsd/netcat-openbsd.mk +0
-6@@ -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; \package/ntp/ntp.mk +1
-1@@ -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=nopackage/pciutils/pciutils.mk +0
-5@@ -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/' \package/procps-ng/procps-ng.mk +0
-6@@ -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-systemdpackage/psmisc/psmisc.mk +0
-5@@ -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))package/rsyslog/rsyslog.mk +1
-1@@ -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 endifpackage/start-stop-daemon/start-stop-daemon.mk +1
-2@@ -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+package/sysklogd/sysklogd.mk +1
-1@@ -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 endifpackage/sysvinit/sysvinit.mk +0
-5@@ -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"package/tar/tar.mk +0
-5@@ -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-aclspackage/tftpd/tftpd.mk +0
-5@@ -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/tftpdpackage/unzip/unzip.mk +0
-2@@ -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 = LICENSEpackage/usbutils/usbutils.mk +0
-5@@ -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_PYTHONpackage/util-linux/util-linux.mk +0
-6@@ -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)package/vim/vim.mk +1
-3@@ -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 \package/wget/wget.mk +0
-5@@ -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 += gnutlspackage/whois/whois.mk +1
-2@@ -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)"Signature · 6 lines
2.9.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 packages: remove numerous dependencies on Busybox
Thomas, All,
On 2017-07-08 15:21 +0200, Yann E. MORIN spake thusly:
Quoted 7 lines
On 2017-07-07 20:45 +0200, Thomas Petazzoni spake thusly:
Quoted 6 lines
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.
Quoted 7 lines
Quoted 4 lines
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.
I have checked that this is still true when the applets are installed as hard-links or script wrappers.
Arg, no, I forgot to 'make install' on that script wrappers. They override the existing ones.
Before:
$ file target/bin/mv
target/bin/mv: a /usr/bin/coreutils --coreutils-prog-shebang=mv script, ASCII text executableAfter:
$ file target/bin/mv
target/bin/mv: a /bin/busybox script, ASCII text executableQuoted 2 lines
Tested-by "Yann E. MORIN" <[email protected]>Acked-by "Yann E. MORIN" <[email protected]>
Too hasty sending this... I am sorry that I have to retract my tags...
Sorry... :-/
Regards,
Yann E. MORIN.
Quoted 746 lines
Regards,
Yann E. MORIN.Quoted 731 lines
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/chattralready exists/home/thomas/projets/buildroot/output/target//bin/cpioalready exists/home/thomas/projets/buildroot/output/target//bin/gunzipalready exists/home/thomas/projets/buildroot/output/target//bin/gzipalready exists/home/thomas/projets/buildroot/output/target//bin/lsattralready exists/home/thomas/projets/buildroot/output/target//bin/run-partsalready exists/home/thomas/projets/buildroot/output/target//bin/taralready exists/home/thomas/projets/buildroot/output/target//bin/zcatalready exists/home/thomas/projets/buildroot/output/target//sbin/fsckalready exists/home/thomas/projets/buildroot/output/target//sbin/insmodalready exists/home/thomas/projets/buildroot/output/target//sbin/lsmodalready exists/home/thomas/projets/buildroot/output/target//sbin/mke2fsalready exists/home/thomas/projets/buildroot/output/target//sbin/modprobealready exists/home/thomas/projets/buildroot/output/target//sbin/rmmodalready exists/home/thomas/projets/buildroot/output/target//usr/bin/awkalready exists/home/thomas/projets/buildroot/output/target//usr/bin/cmpalready exists/home/thomas/projets/buildroot/output/target//usr/bin/dcalready exists/home/thomas/projets/buildroot/output/target//usr/bin/diffalready exists/home/thomas/projets/buildroot/output/target//usr/bin/dos2unixalready exists/home/thomas/projets/buildroot/output/target//usr/bin/fuseralready exists/home/thomas/projets/buildroot/output/target//usr/bin/killallalready exists/home/thomas/projets/buildroot/output/target//usr/bin/lessalready exists/home/thomas/projets/buildroot/output/target//usr/bin/lsofalready exists/home/thomas/projets/buildroot/output/target//usr/bin/lspcialready exists/home/thomas/projets/buildroot/output/target//usr/bin/mkpasswdalready exists/home/thomas/projets/buildroot/output/target//usr/bin/tftpalready exists/home/thomas/projets/buildroot/output/target//usr/bin/unix2dosalready exists/home/thomas/projets/buildroot/output/target//usr/bin/wgetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/fbsetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2cdetectalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2cdumpalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2cgetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/i2csetalready exists/home/thomas/projets/buildroot/output/target//usr/sbin/ubirenamealready existsAnd therefore none of those programs were overwritten by Busybox symbolic links.
Signed-off-by Thomas Petazzoni <[email protected]>--- 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(-)package/bash/bash.mk +1
-3@@ -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 = COPYINGpackage/bc/bc.mk +0
-5@@ -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))package/binutils/binutils.mk +0
-5@@ -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 endifpackage/coreutils/coreutils.mk +0
-6@@ -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 elsepackage/cpio/cpio.mk +0
-1@@ -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 = COPYINGpackage/dcron/dcron.mk +0
-5@@ -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) endefpackage/debianutils/debianutils.mk +0
-2@@ -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/copyrightpackage/diffutils/diffutils.mk +0
-4@@ -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))package/dos2unix/dos2unix.mk +0
-1@@ -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)package/e2fsprogs/e2fsprogs.mk +0
-6@@ -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 unusedpackage/fbset/fbset.mk +0
-5@@ -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) endefpackage/gawk/gawk.mk +0
-5@@ -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 endifpackage/grep/grep.mk +0
-5@@ -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))package/gzip/gzip.mk +0
-2@@ -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=yespackage/i2c-tools/i2c-tools.mk +0
-4@@ -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)package/ifenslave/ifenslave.mk +0
-1@@ -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 buildpackage/ifplugd/ifplugd.mk +0
-5@@ -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; \package/ifupdown/ifupdown.mk +0
-1@@ -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 = COPYINGpackage/iproute2/iproute2.mk +0
-6@@ -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 endifpackage/iputils/iputils.mk +0
-6@@ -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"package/kmod/kmod.mk +0
-3@@ -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/kmodpackage/less/less.mk +1
-2@@ -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/lesspackage/lsof/lsof.mk +0
-3@@ -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,' \package/mtd/mtd.mk +0
-4@@ -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)package/net-tools/net-tools.mk +0
-5@@ -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 ) endefpackage/netcat-openbsd/netcat-openbsd.mk +0
-6@@ -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; \package/ntp/ntp.mk +1
-1@@ -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=nopackage/pciutils/pciutils.mk +0
-5@@ -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/' \package/procps-ng/procps-ng.mk +0
-6@@ -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-systemdpackage/psmisc/psmisc.mk +0
-5@@ -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))package/rsyslog/rsyslog.mk +1
-1@@ -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 endifpackage/start-stop-daemon/start-stop-daemon.mk +1
-2@@ -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+package/sysklogd/sysklogd.mk +1
-1@@ -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 endifpackage/sysvinit/sysvinit.mk +0
-5@@ -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"package/tar/tar.mk +0
-5@@ -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-aclspackage/tftpd/tftpd.mk +0
-5@@ -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/tftpdpackage/unzip/unzip.mk +0
-2@@ -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 = LICENSEpackage/usbutils/usbutils.mk +0
-5@@ -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_PYTHONpackage/util-linux/util-linux.mk +0
-6@@ -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)package/vim/vim.mk +1
-3@@ -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 \package/wget/wget.mk +0
-5@@ -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 += gnutlspackage/whois/whois.mk +1
-2@@ -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)"Signature · 6 lines
2.9.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildrootSignature · 10 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'