From patchwork Tue Jul 28 08:14:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Petr_=C5=A0tetiar?= X-Patchwork-Id: 1337613 X-Patchwork-Delegate: ynezz@true.cz Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.openwrt.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=true.cz Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=merlin.20170209 header.b=KIy9719V; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BG8ff2QMhz9sRW for ; Tue, 28 Jul 2020 18:17:14 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=tZSWEP3F0wDV0Z6WagaTmxybhz99VNGB1Mlm/u5+o7k=; b=KIy9719Vh2Q78YdoZUXTgKcF2U 22ohWY5dL14kyhQYB/DsN+IkMV1isx0BA6XpFCzbR9v2/OZDd/1GrFeD2iMd9YFAhMEDIzE+QrhYj G5JUa0HuYxb18fwobUpSyzFM/TEM57TZ5rGv/6OYQ92pMY93cZ0ktE/nWdRop72gUqZTdRrLnYN+W 3AbphT/CtjTZg7KXYZIvmsM5ipxeKiNaJQydkx5iEIL9ZEW3qpHOlNMzohUXSLc9idDjYJAJ3e/Jk BkHhJfO9qFjYZOHe7speDKvDEuQOJNMswl7yTQCUBk68u3Mmy8SVSfFrywP9luwS3lPM3Sb5SJroK HmBj9Ijw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0KlH-0003V2-ON; Tue, 28 Jul 2020 08:14:59 +0000 Received: from smtp-out.xnet.cz ([178.217.244.18]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0KlD-0003U1-53 for openwrt-devel@lists.openwrt.org; Tue, 28 Jul 2020 08:14:57 +0000 Received: from meh.true.cz (meh.true.cz [108.61.167.218]) (Authenticated sender: petr@true.cz) by smtp-out.xnet.cz (Postfix) with ESMTPSA id 1E26E3BB4; Tue, 28 Jul 2020 10:14:51 +0200 (CEST) Received: by meh.true.cz (OpenSMTPD) with ESMTP id 94d1ca0f; Tue, 28 Jul 2020 10:14:33 +0200 (CEST) From: =?utf-8?q?Petr_=C5=A0tetiar?= To: openwrt-devel@lists.openwrt.org Subject: [PATCH v2] busybox: bump to 1.32.0 Date: Tue, 28 Jul 2020 10:14:47 +0200 Message-Id: <20200728081447.29515-1-ynezz@true.cz> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200728_041455_615509_2C949BB1 X-CRM114-Status: GOOD ( 27.50 ) X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_NONE SPF: sender does not publish an SPF Record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Petr_=C5=A0tetiar?= Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Refreshed patches and config options. Removed upstreamed patches: 001-remove-stime-function-calls.patch 110-no_static_libgcc.patch Run tested on x86_64 under QEMU. Signed-off-by: Petr Štetiar Acked-by: Hauke Mehrtens --- changed in v2: * refreshed config options package/utils/busybox/Config-defaults.in | 21 +++ package/utils/busybox/Makefile | 4 +- package/utils/busybox/config/Config.in | 18 ++- .../utils/busybox/config/archival/Config.in | 2 +- .../utils/busybox/config/coreutils/Config.in | 3 +- .../utils/busybox/config/editors/Config.in | 2 +- .../utils/busybox/config/findutils/Config.in | 8 ++ .../utils/busybox/config/miscutils/Config.in | 7 + .../utils/busybox/config/networking/Config.in | 6 + package/utils/busybox/config/shell/Config.in | 124 ++++++++++-------- .../utils/busybox/config/sysklogd/Config.in | 8 ++ .../utils/busybox/config/util-linux/Config.in | 10 +- .../001-remove-stime-function-calls.patch | 84 ------------ .../patches/110-no_static_libgcc.patch | 11 -- .../busybox/patches/120-lto-jobserver.patch | 6 +- .../patches/200-udhcpc_reduce_msgs.patch | 4 +- .../patches/201-udhcpc_changed_ifindex.patch | 2 +- .../203-udhcpc_renew_no_deconfig.patch | 2 +- .../patches/230-add_nslookup_lede.patch | 6 +- .../busybox/patches/250-date-k-flag.patch | 14 +- 20 files changed, 169 insertions(+), 173 deletions(-) delete mode 100644 package/utils/busybox/patches/001-remove-stime-function-calls.patch delete mode 100644 package/utils/busybox/patches/110-no_static_libgcc.patch diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in index 29724041f47a..c6ac847ba8e0 100644 --- a/package/utils/busybox/Config-defaults.in +++ b/package/utils/busybox/Config-defaults.in @@ -169,6 +169,9 @@ config BUSYBOX_DEFAULT_UNIT_TEST config BUSYBOX_DEFAULT_WERROR bool default n +config BUSYBOX_DEFAULT_WARN_SIMPLE_MSG + bool + default n config BUSYBOX_DEFAULT_NO_DEBUG_LIB bool default y @@ -1160,6 +1163,9 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_QUIT config BUSYBOX_DEFAULT_FEATURE_FIND_DELETE bool default n +config BUSYBOX_DEFAULT_FEATURE_FIND_EMPTY + bool + default n config BUSYBOX_DEFAULT_FEATURE_FIND_PATH bool default y @@ -1778,6 +1784,9 @@ config BUSYBOX_DEFAULT_TASKSET config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY bool default n +config BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST + bool + default n config BUSYBOX_DEFAULT_UEVENT bool default n @@ -2096,6 +2105,9 @@ config BUSYBOX_DEFAULT_MAN config BUSYBOX_DEFAULT_MICROCOM bool default n +config BUSYBOX_DEFAULT_MIM + bool + default n config BUSYBOX_DEFAULT_MT bool default n @@ -2892,6 +2904,9 @@ config BUSYBOX_DEFAULT_BASH_IS_HUSH config BUSYBOX_DEFAULT_BASH_IS_NONE bool default y +config BUSYBOX_DEFAULT_SHELL_ASH + bool + default y config BUSYBOX_DEFAULT_ASH bool default y @@ -2952,6 +2967,9 @@ config BUSYBOX_DEFAULT_CTTYHACK config BUSYBOX_DEFAULT_HUSH bool default n +config BUSYBOX_DEFAULT_SHELL_HUSH + bool + default n config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT bool default n @@ -3114,6 +3132,9 @@ config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_DUP config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_CFG bool default n +config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS + bool + default n config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE int default 0 diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 01441d1e87d1..4a5e0aab0d59 100644 --- a/package/utils/busybox/Makefile +++ b/package/utils/busybox/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=busybox -PKG_VERSION:=1.31.1 +PKG_VERSION:=1.32.0 PKG_RELEASE:=1 PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://www.busybox.net/downloads \ http://sources.buildroot.net -PKG_HASH:=d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998 +PKG_HASH:=c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam PKG_BUILD_PARALLEL:=1 diff --git a/package/utils/busybox/config/Config.in b/package/utils/busybox/config/Config.in index 03af3464f97b..fa4cb1be11e7 100644 --- a/package/utils/busybox/config/Config.in +++ b/package/utils/busybox/config/Config.in @@ -155,12 +155,13 @@ config BUSYBOX_CONFIG_FEATURE_PIDFILE config BUSYBOX_CONFIG_PID_FILE_PATH string "Directory for pidfiles" default BUSYBOX_DEFAULT_PID_FILE_PATH - depends on BUSYBOX_CONFIG_FEATURE_PIDFILE + depends on BUSYBOX_CONFIG_FEATURE_PIDFILE || BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES help This is the default path where pidfiles are created. Applets which allow you to set the pidfile path on the command line will override this value. The option has no effect on applets that require you to - specify a pidfile path. + specify a pidfile path. When crond has the 'Support special times' + option enabled, the 'crond.reboot' file is also stored here. config BUSYBOX_CONFIG_BUSYBOX bool "Include busybox applet" @@ -660,6 +661,19 @@ config BUSYBOX_CONFIG_WERROR Most people should answer N. +config BUSYBOX_CONFIG_WARN_SIMPLE_MSG + bool "Warn about single parameter bb_xx_msg calls" + default BUSYBOX_DEFAULT_WARN_SIMPLE_MSG + help + This will cause warnings to be shown for any instances of + bb_error_msg(), bb_error_msg_and_die(), bb_perror_msg(), + bb_perror_msg_and_die(), bb_herror_msg() or bb_herror_msg_and_die() + being called with a single parameter. In these cases the equivalent + bb_simple_xx_msg function should be used instead. + Note that use of STRERROR_FMT may give false positives. + + If you aren't developing busybox, say N here. + choice prompt "Additional debugging library" default BUSYBOX_CONFIG_NO_DEBUG_LIB diff --git a/package/utils/busybox/config/archival/Config.in b/package/utils/busybox/config/archival/Config.in index 64e4601a865a..ea167a46af97 100644 --- a/package/utils/busybox/config/archival/Config.in +++ b/package/utils/busybox/config/archival/Config.in @@ -256,7 +256,7 @@ config BUSYBOX_CONFIG_FEATURE_GZIP_LEVELS help Enable support for compression levels 4-9. The default level is 6. If levels 1-3 are specified, 4 is used. - If this option is not selected, -N options are ignored and -9 + If this option is not selected, -N options are ignored and -6 is used. config BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS diff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in index c5cd54d7f64a..fef78326024c 100644 --- a/package/utils/busybox/config/coreutils/Config.in +++ b/package/utils/busybox/config/coreutils/Config.in @@ -110,10 +110,9 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT Enable option (-I) to output an ISO-8601 compliant date/time string. -# defaults to "no": stat's nanosecond field is a bit non-portable config BUSYBOX_CONFIG_FEATURE_DATE_NANO bool "Support %[num]N nanosecond format specifier" - default BUSYBOX_DEFAULT_FEATURE_DATE_NANO # syscall(__NR_clock_gettime) + default BUSYBOX_DEFAULT_FEATURE_DATE_NANO # stat's nanosecond field is a bit non-portable depends on BUSYBOX_CONFIG_DATE select BUSYBOX_CONFIG_PLATFORM_LINUX help diff --git a/package/utils/busybox/config/editors/Config.in b/package/utils/busybox/config/editors/Config.in index 16d08bc0f852..76a5b169ffc7 100644 --- a/package/utils/busybox/config/editors/Config.in +++ b/package/utils/busybox/config/editors/Config.in @@ -126,7 +126,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_SEARCH config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH bool "Enable regex in search and replace" - default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH + default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH # Uses GNU regex, which may be unavailable. FIXME depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH depends on USE_GLIBC help diff --git a/package/utils/busybox/config/findutils/Config.in b/package/utils/busybox/config/findutils/Config.in index bebcbb39ef38..89901ca59d00 100644 --- a/package/utils/busybox/config/findutils/Config.in +++ b/package/utils/busybox/config/findutils/Config.in @@ -159,6 +159,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_DELETE WARNING: This option can do much harm if used wrong. Busybox will not try to protect the user from doing stupid things. Use with care. +config BUSYBOX_CONFIG_FEATURE_FIND_EMPTY + bool "Enable -empty: match empty files or directories" + default BUSYBOX_DEFAULT_FEATURE_FIND_EMPTY + depends on BUSYBOX_CONFIG_FIND + help + Support the 'find -empty' option to find empty regular files + or directories. + config BUSYBOX_CONFIG_FEATURE_FIND_PATH bool "Enable -path: match pathname with shell pattern" default BUSYBOX_DEFAULT_FEATURE_FIND_PATH diff --git a/package/utils/busybox/config/miscutils/Config.in b/package/utils/busybox/config/miscutils/Config.in index 6ce6d2d7e38a..07beb7700e5c 100644 --- a/package/utils/busybox/config/miscutils/Config.in +++ b/package/utils/busybox/config/miscutils/Config.in @@ -634,6 +634,13 @@ config BUSYBOX_CONFIG_MICROCOM default BUSYBOX_DEFAULT_MICROCOM help The poor man's minicom utility for chatting with serial port devices. +config BUSYBOX_CONFIG_MIM + bool "mim (0.5 kb)" + default BUSYBOX_DEFAULT_MIM + depends on BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS + help + Run a script from a Makefile-like specification file. + Unlike 'make' dependencies aren't supported. config BUSYBOX_CONFIG_MT bool "mt (2.5 kb)" default BUSYBOX_DEFAULT_MT diff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in index f07a2d46e54e..0d4e518b4127 100644 --- a/package/utils/busybox/config/networking/Config.in +++ b/package/utils/busybox/config/networking/Config.in @@ -1154,6 +1154,9 @@ config BUSYBOX_CONFIG_FEATURE_WGET_HTTPS patches, but do want to waste bandwidth expaining how wrong it is, you will be ignored. + FEATURE_WGET_OPENSSL does implement TLS verification + using the certificates available to OpenSSL. + config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL bool "Try to connect to HTTPS using openssl" default BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL @@ -1178,6 +1181,9 @@ config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL If openssl can't be executed, internal TLS code will be used (if you enabled it); if openssl can be executed but fails later, wget can't detect this, and download will fail. + + By default TLS verification is performed, unless + --no-check-certificate option is passed. config BUSYBOX_CONFIG_WHOIS bool "whois (6.3 kb)" default BUSYBOX_DEFAULT_WHOIS diff --git a/package/utils/busybox/config/shell/Config.in b/package/utils/busybox/config/shell/Config.in index 1ae6eb042e5d..3d3bdb4e9867 100644 --- a/package/utils/busybox/config/shell/Config.in +++ b/package/utils/busybox/config/shell/Config.in @@ -18,6 +18,7 @@ choice config BUSYBOX_CONFIG_SH_IS_ASH depends on !BUSYBOX_CONFIG_NOMMU bool "ash" + select BUSYBOX_CONFIG_SHELL_ASH help Choose ash to be the shell executed by 'sh' name. The ash code will be built into busybox. If you don't select @@ -26,6 +27,7 @@ config BUSYBOX_CONFIG_SH_IS_ASH config BUSYBOX_CONFIG_SH_IS_HUSH bool "hush" + select BUSYBOX_CONFIG_SHELL_HUSH help Choose hush to be the shell executed by 'sh' name. The hush code will be built into busybox. If you don't select @@ -58,6 +60,7 @@ choice config BUSYBOX_CONFIG_BASH_IS_ASH depends on !BUSYBOX_CONFIG_NOMMU bool "ash" + select BUSYBOX_CONFIG_SHELL_ASH help Choose ash to be the shell executed by 'bash' name. The ash code will be built into busybox. If you don't select @@ -66,6 +69,7 @@ config BUSYBOX_CONFIG_BASH_IS_ASH config BUSYBOX_CONFIG_BASH_IS_HUSH bool "hush" + select BUSYBOX_CONFIG_SHELL_HUSH help Choose hush to be the shell executed by 'bash' name. The hush code will be built into busybox. If you don't select @@ -78,10 +82,15 @@ config BUSYBOX_CONFIG_BASH_IS_NONE endchoice +config BUSYBOX_CONFIG_SHELL_ASH + bool #hidden option + depends on !BUSYBOX_CONFIG_NOMMU + config BUSYBOX_CONFIG_ASH bool "ash (78 kb)" default BUSYBOX_DEFAULT_ASH depends on !BUSYBOX_CONFIG_NOMMU + select BUSYBOX_CONFIG_SHELL_ASH help The most complete and most pedantically correct shell included with busybox. This shell is actually a derivative of the Debian 'dash' @@ -91,17 +100,17 @@ config BUSYBOX_CONFIG_ASH # ash options # note: Don't remove !NOMMU part in the next line; it would break # menuconfig's indenting. -if !NOMMU && (BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH) +if !NOMMU && (BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH) config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE bool "Optimize for size instead of speed" default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB bool "Use internal glob() implementation" default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH help Do not use glob() function from libc, use internal implementation. Use this if you are getting "glob.h: No such file or directory" @@ -112,7 +121,7 @@ config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB config BUSYBOX_CONFIG_ASH_BASH_COMPAT bool "bash-compatible extensions" default BUSYBOX_DEFAULT_ASH_BASH_COMPAT - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR bool "'source' and '.' builtins search current directory after $PATH" @@ -133,17 +142,17 @@ config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK config BUSYBOX_CONFIG_ASH_JOB_CONTROL bool "Job control" default BUSYBOX_DEFAULT_ASH_JOB_CONTROL - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_ALIAS bool "Alias support" default BUSYBOX_DEFAULT_ASH_ALIAS - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT bool "Pseudorandom generator and $RANDOM variable" default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH help Enable pseudorandom generator and dynamic variable "$RANDOM". Each read of "$RANDOM" will generate a new pseudorandom value. @@ -154,7 +163,7 @@ config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT config BUSYBOX_CONFIG_ASH_EXPAND_PRMT bool "Expand prompt string" default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH help $PS# may contain volatile content, such as backquote commands. This option recreates the prompt string from the environment @@ -163,14 +172,14 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT bool "Idle timeout variable $TMOUT" default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH help Enable bash-like auto-logout after $TMOUT seconds of idle time. config BUSYBOX_CONFIG_ASH_MAIL bool "Check for new mail in interactive shell" default BUSYBOX_DEFAULT_ASH_MAIL - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH help Enable "check for new mail" function: if set, $MAIL file and $MAILPATH list of files @@ -180,32 +189,32 @@ config BUSYBOX_CONFIG_ASH_MAIL config BUSYBOX_CONFIG_ASH_ECHO bool "echo builtin" default BUSYBOX_DEFAULT_ASH_ECHO - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_PRINTF bool "printf builtin" default BUSYBOX_DEFAULT_ASH_PRINTF - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_TEST bool "test builtin" default BUSYBOX_DEFAULT_ASH_TEST - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_HELP bool "help builtin" default BUSYBOX_DEFAULT_ASH_HELP - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_GETOPTS bool "getopts builtin" default BUSYBOX_DEFAULT_ASH_GETOPTS - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH config BUSYBOX_CONFIG_ASH_CMDCMD bool "command builtin" default BUSYBOX_DEFAULT_ASH_CMDCMD - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH + depends on BUSYBOX_CONFIG_SHELL_ASH help Enable support for the 'command' builtin, which allows you to run the specified command or builtin, @@ -258,6 +267,7 @@ config BUSYBOX_CONFIG_CTTYHACK config BUSYBOX_CONFIG_HUSH bool "hush (68 kb)" default BUSYBOX_DEFAULT_HUSH + select BUSYBOX_CONFIG_SHELL_HUSH help hush is a small shell. It handles the normal flow control constructs such as if/then/elif/else/fi, for/in/do/done, while loops, @@ -269,10 +279,18 @@ config BUSYBOX_CONFIG_HUSH It does not handle select, aliases, tilde expansion, &>file and >&file redirection of stdout+stderr. +config BUSYBOX_CONFIG_SHELL_HUSH + bool "Internal shell for embedded script support" + default BUSYBOX_DEFAULT_SHELL_HUSH + +# hush options +# It's only needed to get "nice" menuconfig indenting. +if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + config BUSYBOX_CONFIG_HUSH_BASH_COMPAT bool "bash-compatible extensions" default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION bool "Brace expansion" @@ -296,7 +314,7 @@ config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR config BUSYBOX_CONFIG_HUSH_INTERACTIVE bool "Interactive mode" default BUSYBOX_DEFAULT_HUSH_INTERACTIVE - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help Enable interactive mode (prompt and command editing). Without this, hush simply reads and executes commands @@ -322,31 +340,31 @@ config BUSYBOX_CONFIG_HUSH_JOB config BUSYBOX_CONFIG_HUSH_TICK bool "Support command substitution" default BUSYBOX_DEFAULT_HUSH_TICK - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help Enable `command` and $(command). config BUSYBOX_CONFIG_HUSH_IF bool "Support if/then/elif/else/fi" default BUSYBOX_DEFAULT_HUSH_IF - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_LOOPS bool "Support for, while and until loops" default BUSYBOX_DEFAULT_HUSH_LOOPS - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_CASE bool "Support case ... esac statement" default BUSYBOX_DEFAULT_HUSH_CASE - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help Enable case ... esac statement. +400 bytes. config BUSYBOX_CONFIG_HUSH_FUNCTIONS bool "Support funcname() { commands; } syntax" default BUSYBOX_DEFAULT_HUSH_FUNCTIONS - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help Enable support for shell functions. +800 bytes. @@ -360,7 +378,7 @@ config BUSYBOX_CONFIG_HUSH_LOCAL config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT bool "Pseudorandom generator and $RANDOM variable" default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help Enable pseudorandom generator and dynamic variable "$RANDOM". Each read of "$RANDOM" will generate a new pseudorandom value. @@ -368,7 +386,7 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT config BUSYBOX_CONFIG_HUSH_MODE_X bool "Support 'hush -x' option and 'set -x' command" default BUSYBOX_DEFAULT_HUSH_MODE_X - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help This instructs hush to print commands before execution. Adds ~300 bytes. @@ -376,27 +394,27 @@ config BUSYBOX_CONFIG_HUSH_MODE_X config BUSYBOX_CONFIG_HUSH_ECHO bool "echo builtin" default BUSYBOX_DEFAULT_HUSH_ECHO - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_PRINTF bool "printf builtin" default BUSYBOX_DEFAULT_HUSH_PRINTF - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_TEST bool "test builtin" default BUSYBOX_DEFAULT_HUSH_TEST - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_HELP bool "help builtin" default BUSYBOX_DEFAULT_HUSH_HELP - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_EXPORT bool "export builtin" default BUSYBOX_DEFAULT_HUSH_EXPORT - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_EXPORT_N bool "Support 'export -n' option" @@ -408,83 +426,85 @@ config BUSYBOX_CONFIG_HUSH_EXPORT_N config BUSYBOX_CONFIG_HUSH_READONLY bool "readonly builtin" default BUSYBOX_DEFAULT_HUSH_READONLY - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH help Enable support for read-only variables. config BUSYBOX_CONFIG_HUSH_KILL bool "kill builtin (supports kill %jobspec)" default BUSYBOX_DEFAULT_HUSH_KILL - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_WAIT bool "wait builtin" default BUSYBOX_DEFAULT_HUSH_WAIT - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_COMMAND bool "command builtin" default BUSYBOX_DEFAULT_HUSH_COMMAND - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_TRAP bool "trap builtin" default BUSYBOX_DEFAULT_HUSH_TRAP - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_TYPE bool "type builtin" default BUSYBOX_DEFAULT_HUSH_TYPE - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_TIMES bool "times builtin" default BUSYBOX_DEFAULT_HUSH_TIMES - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_READ bool "read builtin" default BUSYBOX_DEFAULT_HUSH_READ - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_SET bool "set builtin" default BUSYBOX_DEFAULT_HUSH_SET - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_UNSET bool "unset builtin" default BUSYBOX_DEFAULT_HUSH_UNSET - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_ULIMIT bool "ulimit builtin" default BUSYBOX_DEFAULT_HUSH_ULIMIT - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_UMASK bool "umask builtin" default BUSYBOX_DEFAULT_HUSH_UMASK - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_GETOPTS bool "getopts builtin" default BUSYBOX_DEFAULT_HUSH_GETOPTS - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_HUSH_MEMLEAK bool "memleak builtin (debugging)" default BUSYBOX_DEFAULT_HUSH_MEMLEAK - depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_HUSH + +endif # hush options comment "Options common to all shells" -if ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH +if SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH config BUSYBOX_CONFIG_FEATURE_SH_MATH bool "POSIX math support" default BUSYBOX_DEFAULT_FEATURE_SH_MATH - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help Enable math support in the shell via $((...)) syntax. @@ -505,14 +525,14 @@ config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET bool "Hide message on interactive shell startup" default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help Remove the busybox introduction when starting a shell. config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE bool "Standalone shell" default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help This option causes busybox shells to use busybox applets in preference to executables in the PATH whenever possible. For @@ -533,7 +553,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE config BUSYBOX_CONFIG_FEATURE_SH_NOFORK bool "Run 'nofork' applets directly" default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help This option causes busybox shells to not execute typical fork/exec/wait sequence, but call _main directly, @@ -551,14 +571,14 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC bool "read -t N.NNN support (+110 bytes)" default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help Enable support for fractional second timeout in read builtin. config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE bool "Use $HISTFILESIZE" default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help This option makes busybox shells to use $HISTFILESIZE variable to set shell history size. Note that its max value is capped @@ -567,7 +587,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS bool "Embed scripts in the binary" default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS - depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH + depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH help Allow scripts to be compressed and embedded in the busybox binary. The scripts should be placed in the 'embed' directory diff --git a/package/utils/busybox/config/sysklogd/Config.in b/package/utils/busybox/config/sysklogd/Config.in index 33a5e8238a48..6499e14aba75 100644 --- a/package/utils/busybox/config/sysklogd/Config.in +++ b/package/utils/busybox/config/sysklogd/Config.in @@ -116,6 +116,14 @@ config BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG help Supports restricted syslogd config. See docs/syslog.conf.txt +config BUSYBOX_CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS + bool "Include milliseconds in timestamps" + default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS + depends on BUSYBOX_CONFIG_SYSLOGD + help + Includes milliseconds (HH:MM:SS.mmm) in timestamp when + timestamps are added. + config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE int "Read buffer size in bytes" default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE diff --git a/package/utils/busybox/config/util-linux/Config.in b/package/utils/busybox/config/util-linux/Config.in index 1a3871e92ce8..ea512ec854dd 100644 --- a/package/utils/busybox/config/util-linux/Config.in +++ b/package/utils/busybox/config/util-linux/Config.in @@ -685,7 +685,7 @@ config BUSYBOX_CONFIG_NOLOGIN config BUSYBOX_CONFIG_NOLOGIN_DEPENDENCIES bool "Enable dependencies for nologin" - default BUSYBOX_DEFAULT_NOLOGIN_DEPENDENCIES + default BUSYBOX_DEFAULT_NOLOGIN_DEPENDENCIES # Y default makes it harder to select single-applet test depends on BUSYBOX_CONFIG_NOLOGIN select BUSYBOX_CONFIG_CAT select BUSYBOX_CONFIG_ECHO @@ -900,6 +900,14 @@ config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY Needed for machines with more than 32-64 CPUs: affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long in this case. Otherwise, it is limited to sizeof(long). + +config BUSYBOX_CONFIG_FEATURE_TASKSET_CPULIST + bool "CPU list support (-c option)" + default BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST + depends on BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY + help + Add support for taking/printing affinity as CPU list when '-c' + option is used. For example, it prints '0-3,7' instead of mask '8f'. config BUSYBOX_CONFIG_UEVENT bool "uevent (3.1 kb)" default BUSYBOX_DEFAULT_UEVENT diff --git a/package/utils/busybox/patches/001-remove-stime-function-calls.patch b/package/utils/busybox/patches/001-remove-stime-function-calls.patch deleted file mode 100644 index ccf9bef35657..000000000000 --- a/package/utils/busybox/patches/001-remove-stime-function-calls.patch +++ /dev/null @@ -1,84 +0,0 @@ -From d3539be8f27b8cbfdfee460fe08299158f08bcd9 Mon Sep 17 00:00:00 2001 -From: Alistair Francis -Date: Tue, 19 Nov 2019 13:06:40 +0100 -Subject: Remove stime() function calls - -stime() has been deprecated in glibc 2.31 and replaced with -clock_settime(). Let's replace the stime() function calls with -clock_settime() in preperation. - -function old new delta -rdate_main 197 224 +27 -clock_settime - 27 +27 -date_main 926 941 +15 -stime 37 - -37 ------------------------------------------------------------------------------- -(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37) Total: 32 bytes - -Signed-off-by: Alistair Francis -Signed-off-by: Denys Vlasenko ---- - coreutils/date.c | 6 +++++- - libbb/missing_syscalls.c | 8 -------- - util-linux/rdate.c | 8 ++++++-- - 3 files changed, 11 insertions(+), 11 deletions(-) - ---- a/coreutils/date.c -+++ b/coreutils/date.c -@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, cha - time(&ts.tv_sec); - #endif - } -+#if !ENABLE_FEATURE_DATE_NANO -+ ts.tv_nsec = 0; -+#endif - localtime_r(&ts.tv_sec, &tm_time); - - /* If date string is given, update tm_time, and maybe set date */ -@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, cha - if (date_str[0] != '@') - tm_time.tm_isdst = -1; - ts.tv_sec = validate_tm_time(date_str, &tm_time); -+ ts.tv_nsec = 0; - - /* if setting time, set it */ -- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) { -+ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) { - bb_perror_msg("can't set date"); - } - } ---- a/libbb/missing_syscalls.c -+++ b/libbb/missing_syscalls.c -@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid) - return syscall(__NR_getsid, pid); - } - --int stime(const time_t *t) --{ -- struct timeval tv; -- tv.tv_sec = *t; -- tv.tv_usec = 0; -- return settimeofday(&tv, NULL); --} -- - int sethostname(const char *name, size_t len) - { - return syscall(__NR_sethostname, name, len); ---- a/util-linux/rdate.c -+++ b/util-linux/rdate.c -@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, ch - if (!(flags & 2)) { /* no -p (-s may be present) */ - if (time(NULL) == remote_time) - bb_error_msg("current time matches remote time"); -- else -- if (stime(&remote_time) < 0) -+ else { -+ struct timespec ts; -+ ts.tv_sec = remote_time; -+ ts.tv_nsec = 0; -+ if (clock_settime(CLOCK_REALTIME, &ts) < 0) - bb_perror_msg_and_die("can't set time of day"); -+ } - } - - if (flags != 1) /* not lone -s */ diff --git a/package/utils/busybox/patches/110-no_static_libgcc.patch b/package/utils/busybox/patches/110-no_static_libgcc.patch deleted file mode 100644 index 2148a09e006e..000000000000 --- a/package/utils/busybox/patches/110-no_static_libgcc.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.flags -+++ b/Makefile.flags -@@ -51,7 +51,7 @@ CFLAGS += $(call cc-option,-fno-builtin- - # -fno-guess-branch-probability: prohibit pseudo-random guessing - # of branch probabilities (hopefully makes bloatcheck more stable): - CFLAGS += $(call cc-option,-fno-guess-branch-probability,) --CFLAGS += $(call cc-option,-funsigned-char -static-libgcc,) -+CFLAGS += $(call cc-option,-funsigned-char,) - CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,) - # Defeat .eh_frame bloat (gcc 4.6.3 x86-32 defconfig: 20% smaller busybox binary): - CFLAGS += $(call cc-option,-fno-unwind-tables,) diff --git a/package/utils/busybox/patches/120-lto-jobserver.patch b/package/utils/busybox/patches/120-lto-jobserver.patch index 99c5b5120172..d4f997e6d82d 100644 --- a/package/utils/busybox/patches/120-lto-jobserver.patch +++ b/package/utils/busybox/patches/120-lto-jobserver.patch @@ -1,6 +1,6 @@ --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include -@@ -130,7 +130,7 @@ make-cmd = $(subst \#,\\\#,$(subst $$,$$ +@@ -131,7 +131,7 @@ make-cmd = $(subst \#,\\\#,$(subst $$,$$ # if_changed = $(if $(strip $(filter-out $(PHONY),$?) \ $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \ @@ -9,7 +9,7 @@ $(echo-cmd) $(cmd_$(1)); \ echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd) -@@ -139,7 +139,7 @@ if_changed = $(if $(strip $(filter-out $ +@@ -140,7 +140,7 @@ if_changed = $(if $(strip $(filter-out $ if_changed_dep = $(if $(strip $(filter-out $(PHONY),$?) \ $(filter-out FORCE $(wildcard $^),$^) \ $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \ @@ -18,7 +18,7 @@ $(echo-cmd) $(cmd_$(1)); \ scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \ rm -f $(depfile); \ -@@ -150,5 +150,5 @@ if_changed_dep = $(if $(strip $(filter-o +@@ -151,5 +151,5 @@ if_changed_dep = $(if $(strip $(filter-o # and if so will execute $(rule_foo) if_changed_rule = $(if $(strip $(filter-out $(PHONY),$?) \ $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),\ diff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch index 4bab25a8d578..162f92260b7b 100644 --- a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch +++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch @@ -1,6 +1,6 @@ --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c -@@ -713,6 +713,7 @@ static int bcast_or_ucast(struct dhcp_pa +@@ -673,6 +673,7 @@ static int bcast_or_ucast(struct dhcp_pa static NOINLINE int send_discover(uint32_t xid, uint32_t requested) { struct dhcp_packet packet; @@ -8,7 +8,7 @@ /* Fill in: op, htype, hlen, cookie, chaddr fields, * random xid field (we override it below), -@@ -730,6 +731,7 @@ static NOINLINE int send_discover(uint32 +@@ -690,6 +691,7 @@ static NOINLINE int send_discover(uint32 */ add_client_options(&packet); diff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch index 256b049d9e26..e5a0941e5fbf 100644 --- a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch +++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch @@ -1,6 +1,6 @@ --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c -@@ -1416,6 +1416,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c +@@ -1376,6 +1376,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c /* silence "uninitialized!" warning */ unsigned timestamp_before_wait = timestamp_before_wait; diff --git a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch index 3d3c0cc403ea..ea81c91c9b61 100644 --- a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch +++ b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch @@ -1,6 +1,6 @@ --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c -@@ -1126,7 +1126,6 @@ static void perform_renew(void) +@@ -1086,7 +1086,6 @@ static void perform_renew(void) client_data.state = RENEW_REQUESTED; break; case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ diff --git a/package/utils/busybox/patches/230-add_nslookup_lede.patch b/package/utils/busybox/patches/230-add_nslookup_lede.patch index f0ac4b51c15a..9b0947fdc941 100644 --- a/package/utils/busybox/patches/230-add_nslookup_lede.patch +++ b/package/utils/busybox/patches/230-add_nslookup_lede.patch @@ -19,9 +19,9 @@ Signed-off-by: Jo-Philipp Wich --- a/Makefile.flags +++ b/Makefile.flags -@@ -134,6 +134,12 @@ else - LDLIBS += m - endif +@@ -157,6 +157,12 @@ endif + # libm may be needed for dc, awk, ntpd + # librt may be needed for clock_gettime() +# nslookup_lede might need the resolv library +RESOLV_AVAILABLE := $(shell echo 'int main(void){res_init();return 0;}' >resolvtest.c; $(CC) $(CFLAGS) -include resolv.h -lresolv -o /dev/null resolvtest.c >/dev/null 2>&1 && echo "y"; rm resolvtest.c) diff --git a/package/utils/busybox/patches/250-date-k-flag.patch b/package/utils/busybox/patches/250-date-k-flag.patch index 5aadbb233c6a..bbdd1a30df3b 100644 --- a/package/utils/busybox/patches/250-date-k-flag.patch +++ b/package/utils/busybox/patches/250-date-k-flag.patch @@ -1,6 +1,6 @@ --- a/coreutils/date.c +++ b/coreutils/date.c -@@ -123,6 +123,7 @@ +@@ -122,6 +122,7 @@ //usage: IF_FEATURE_DATE_ISOFMT( //usage: "\n -D FMT Use FMT (strptime format) for -d TIME conversion" //usage: ) @@ -8,7 +8,7 @@ //usage: "\n" //usage: "\nRecognized TIME formats:" //usage: "\n hh:mm[:ss]" -@@ -139,9 +140,8 @@ +@@ -138,9 +139,8 @@ #include "libbb.h" #include "common_bufsiz.h" @@ -20,7 +20,7 @@ enum { OPT_RFC2822 = (1 << 0), /* R */ -@@ -149,8 +149,9 @@ enum { +@@ -148,8 +148,9 @@ enum { OPT_UTC = (1 << 2), /* u */ OPT_DATE = (1 << 3), /* d */ OPT_REFERENCE = (1 << 4), /* r */ @@ -32,7 +32,7 @@ }; #if ENABLE_LONG_OPTS -@@ -162,6 +163,7 @@ static const char date_longopts[] ALIGN1 +@@ -161,6 +162,7 @@ static const char date_longopts[] ALIGN1 /* "universal\0" No_argument "u" */ "date\0" Required_argument "d" "reference\0" Required_argument "r" @@ -40,7 +40,7 @@ ; #endif -@@ -181,6 +183,8 @@ static void maybe_set_utc(int opt) +@@ -180,6 +182,8 @@ static void maybe_set_utc(int opt) int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int date_main(int argc UNUSED_PARAM, char **argv) { @@ -49,7 +49,7 @@ struct timespec ts; struct tm tm_time; char buf_fmt_dt2str[64]; -@@ -193,7 +197,7 @@ int date_main(int argc UNUSED_PARAM, cha +@@ -192,7 +196,7 @@ int date_main(int argc UNUSED_PARAM, cha char *isofmt_arg = NULL; opt = getopt32long(argv, "^" @@ -58,7 +58,7 @@ IF_FEATURE_DATE_ISOFMT("I::D:") "\0" "d--s:s--d" -@@ -256,6 +260,31 @@ int date_main(int argc UNUSED_PARAM, cha +@@ -255,6 +259,31 @@ int date_main(int argc UNUSED_PARAM, cha if (*argv) bb_show_usage();