]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
busybox: update to 1.38.0 23609/head
authorSeo Suchan <tjtncks@gmail.com>
Mon, 1 Jun 2026 03:51:39 +0000 (12:51 +0900)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Tue, 2 Jun 2026 18:43:53 +0000 (20:43 +0200)
changelog:
https://busybox.net/news.html
remove upstreamed patches:
001-fix-non-x86-build.patch
002-upstream-fix.hexdump.patch
003-hexdump-fix-regression-for-unit16-on-big-endian-systems.patch

see https://github.com/openwrt/openwrt/pull/17107 for updating config

Config refresh:

Refresh commands, run after busybox is first built once, slash or lack of slash at end of path matters!:

cd package/utils/busybox/config/
../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.38.0
cd ..
./convert_defaults.pl ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.38.0/.config > Config-defaults.in

Manual edits needed after config refresh:

* Config-defaults.in: OpenWrt config symbol IPV6 logic applied to
  BUSYBOX_DEFAULT_FEATURE_IPV6

* Config-defaults.in: OpenWrt config TARGET_bcm53xx logic applied to
  BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec)

* Config-defaults.in: OpenWrt logic applied to
  BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commit dc92917)

* Config-defaults.in: correct the default ports that get reset
  BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT    80
  BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT  23

* config/editors/Config.in: Add USE_GLIBC dependency to
  BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090)

* config/shell/Config.in: change at "Options common to all shells" the conditional symbol
  SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH
  (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html
  Apparently our script does not see the hidden option while
  prepending config options with "BUSYBOX_CONFIG_" which leads to a
  missed dependency when the options are later evaluated.)

* Edit a few Config.in files by adding quotes to sourced items in
  config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit 1da014f)

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23609
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
18 files changed:
package/utils/busybox/Config-defaults.in
package/utils/busybox/Makefile
package/utils/busybox/config/Config.in
package/utils/busybox/config/archival/Config.in
package/utils/busybox/config/coreutils/Config.in
package/utils/busybox/config/editors/Config.in
package/utils/busybox/config/libbb/Config.in
package/utils/busybox/config/loginutils/Config.in
package/utils/busybox/config/networking/Config.in
package/utils/busybox/config/procps/Config.in
package/utils/busybox/config/runit/Config.in
package/utils/busybox/config/shell/Config.in
package/utils/busybox/config/util-linux/Config.in
package/utils/busybox/patches/001-fix-non-x86-build.patch [deleted file]
package/utils/busybox/patches/002-upstream-fix-hexdump.patch [deleted file]
package/utils/busybox/patches/003-hexdump-fix-regression-for-uint16-on-big-endian-systems.patch [deleted file]
package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch
package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch

index 820c498eeade560fd03d7806428a398a182dfd90..213a7ab73e71772aef43eefca3d34ca94f2a5c75 100644 (file)
@@ -58,6 +58,9 @@ config BUSYBOX_DEFAULT_FEATURE_SHOW_SCRIPT
 config BUSYBOX_DEFAULT_FEATURE_INSTALLER
        bool
        default n
+config BUSYBOX_DEFAULT_FEATURE_VERSION
+       bool
+       default n
 config BUSYBOX_DEFAULT_INSTALL_NO_USR
        bool
        default n
@@ -496,6 +499,9 @@ config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ
 config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
        bool
        default n
+config BUSYBOX_DEFAULT_FEATURE_PATH_TRAVERSAL_PROTECTION
+       bool
+       default n
 config BUSYBOX_DEFAULT_FEATURE_VERBOSE
        bool
        default n
@@ -709,6 +715,9 @@ config BUSYBOX_DEFAULT_SHA1SUM
 config BUSYBOX_DEFAULT_SHA256SUM
        bool
        default y
+config BUSYBOX_DEFAULT_SHA384SUM
+       bool
+       default n
 config BUSYBOX_DEFAULT_SHA512SUM
        bool
        default n
@@ -1340,6 +1349,9 @@ config BUSYBOX_DEFAULT_USE_BB_CRYPT
 config BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA
        bool
        default y
+config BUSYBOX_DEFAULT_USE_BB_CRYPT_YES
+       bool
+       default n
 config BUSYBOX_DEFAULT_ADD_SHELL
        bool
        default n
@@ -1571,6 +1583,9 @@ config BUSYBOX_DEFAULT_FDISK
 config BUSYBOX_DEFAULT_FDISK_SUPPORT_LARGE_DISKS
        bool
        default n
+config BUSYBOX_DEFAULT_FEATURE_FDISK_BLKSIZE
+       bool
+       default n
 config BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE
        bool
        default n
@@ -1652,6 +1667,9 @@ config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
 config BUSYBOX_DEFAULT_LOSETUP
        bool
        default n
+config BUSYBOX_DEFAULT_LSBLK
+       bool
+       default n
 config BUSYBOX_DEFAULT_LSPCI
        bool
        default n
@@ -1847,6 +1865,9 @@ config BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL
 config BUSYBOX_DEFAULT_UNSHARE
        bool
        default n
+config BUSYBOX_DEFAULT_UUIDGEN
+       bool
+       default n
 config BUSYBOX_DEFAULT_WALL
        bool
        default n
@@ -2577,6 +2598,9 @@ config BUSYBOX_DEFAULT_SLATTACH
 config BUSYBOX_DEFAULT_SSL_CLIENT
        bool
        default n
+config BUSYBOX_DEFAULT_SSL_SERVER
+       bool
+       default n
 config BUSYBOX_DEFAULT_TC
        bool
        default n
@@ -2604,6 +2628,9 @@ config BUSYBOX_DEFAULT_FEATURE_TELNET_WIDTH
 config BUSYBOX_DEFAULT_TELNETD
        bool
        default n
+config BUSYBOX_DEFAULT_FEATURE_TELNETD_SELFTEST_DEBUG
+       bool
+       default n
 config BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
        bool
        default n
@@ -2910,6 +2937,9 @@ config BUSYBOX_DEFAULT_UPTIME
 config BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
        bool
        default n
+config BUSYBOX_DEFAULT_VMSTAT
+       bool
+       default n
 config BUSYBOX_DEFAULT_WATCH
        bool
        default n
@@ -3075,6 +3105,9 @@ config BUSYBOX_DEFAULT_HUSH
 config BUSYBOX_DEFAULT_SHELL_HUSH
        bool
        default n
+config BUSYBOX_DEFAULT_HUSH_NEED_FOR_SPEED
+       bool
+       default n
 config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
        bool
        default n
@@ -3108,9 +3141,15 @@ config BUSYBOX_DEFAULT_HUSH_LOOPS
 config BUSYBOX_DEFAULT_HUSH_CASE
        bool
        default n
+config BUSYBOX_DEFAULT_HUSH_ALIAS
+       bool
+       default n
 config BUSYBOX_DEFAULT_HUSH_FUNCTIONS
        bool
        default n
+config BUSYBOX_DEFAULT_HUSH_FUNCTION_KEYWORD
+       bool
+       default n
 config BUSYBOX_DEFAULT_HUSH_LOCAL
        bool
        default n
index 31489dafda53fc3659ffb2f23aa73b837ba5e738..24e539e3396dc901c13f53e62496956179d28d23 100644 (file)
@@ -5,14 +5,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.37.0
-PKG_RELEASE:=6
+PKG_VERSION:=1.38.0
+PKG_RELEASE:=1
 PKG_FLAGS:=essential
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.busybox.net/downloads \
                https://sources.buildroot.net/$(PKG_NAME)
-PKG_HASH:=3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4
+PKG_HASH:=34f9ea6ff8636f2c9241153b9114eefa9e65674a45318ae1ef95bb5f31c53bb2
 
 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
 PKG_BUILD_PARALLEL:=1
index f1bd8ef12fda9e0611cafd3d65474b8ddf93181f..da70c99fd71ac71151017bec6408ce2ef4e10cd2 100644 (file)
@@ -203,6 +203,13 @@ config BUSYBOX_CONFIG_FEATURE_INSTALLER
        busybox at runtime to create hard links or symlinks for all the
        applets that are compiled into busybox.
 
+config BUSYBOX_CONFIG_FEATURE_VERSION
+       bool "Support --version"
+       default BUSYBOX_DEFAULT_FEATURE_VERSION
+       depends on BUSYBOX_CONFIG_BUSYBOX
+       help
+       Enable 'busybox --version' support.
+
 config BUSYBOX_CONFIG_INSTALL_NO_USR
        bool "Don't use /usr"
        default BUSYBOX_DEFAULT_INSTALL_NO_USR
index a3eebdce0f003daa2ed558f255b0b70c1636140e..26ed64f44115e99d68079561f068bc56f4329060 100644 (file)
@@ -447,4 +447,15 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
        This option reduces decompression time by about 25% at the cost of
        a 1K bigger binary.
 
+config BUSYBOX_CONFIG_FEATURE_PATH_TRAVERSAL_PROTECTION
+       bool "Prevent extraction of filenames with /../ path component"
+       default BUSYBOX_DEFAULT_FEATURE_PATH_TRAVERSAL_PROTECTION
+       help
+       busybox tar and unzip remove "PREFIX/../" (if it exists)
+       from extracted names.
+       This option enables this behavior for all other unpacking applets,
+       such as cpio, ar, rpm.
+       GNU cpio 2.15 has NO such sanity check.
+# try other archivers and document their behavior?
+
 endmenu
index 8ba5afc5e4c67bf45fa0d09556c680874903007e..ecdaddc07cb2bf09be39df27d149058db22e3100 100644 (file)
@@ -485,6 +485,12 @@ config BUSYBOX_CONFIG_SHA256SUM
        help
        Compute and check SHA256 message digest
 
+config BUSYBOX_CONFIG_SHA384SUM
+       bool "sha384sum (7.3 kb)"
+       default BUSYBOX_DEFAULT_SHA384SUM
+       help
+       Compute and check SHA384 message digest
+
 config BUSYBOX_CONFIG_SHA512SUM
        bool "sha512sum (7.3 kb)"
        default BUSYBOX_DEFAULT_SHA512SUM
@@ -497,13 +503,13 @@ config BUSYBOX_CONFIG_SHA3SUM
        help
        Compute and check SHA3 message digest
 
-comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
-       depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
+comment "Common options for md5sum, sha1sum, sha256sum, ..., sha3sum"
+       depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA384SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
 
 config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
        bool "Enable -c, -s and -w options"
        default BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
-       depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
+       depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA384SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
        help
        Enabling the -c options allows files to be checked
        against pre-calculated hash values.
index 0e9bda0fbab4251352b20b555549c81ee6e80f22..3cd027bf5ba45f5fa89731b99408dad3b05720ac 100644 (file)
@@ -134,7 +134,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
index b3a83b9b0852790b8c8385d989f9976093bea2c4..359cf6fb7ea01a5a6c52be7ca4f601fe1d6e6422 100644 (file)
@@ -238,7 +238,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_VI
 config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
        int "History size"
        # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
-       range 0 9999
+       range 0 2000
        default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
        depends on BUSYBOX_CONFIG_FEATURE_EDITING
        help
index 95422f1037eab390871d156d00e6aa1ff20202bb..8a5ed6e7ef7374f502d9a54efcbe7986b25c67da 100644 (file)
@@ -92,6 +92,17 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
        With this option off, login will fail password check for any
        user which has password encrypted with these algorithms.
 
+config BUSYBOX_CONFIG_USE_BB_CRYPT_YES
+       bool "Enable yescrypt functions"
+       default BUSYBOX_DEFAULT_USE_BB_CRYPT_YES
+       depends on BUSYBOX_CONFIG_USE_BB_CRYPT
+       help
+       Enable this if you have passwords starting with "$y$" or
+       in your /etc/passwd or /etc/shadow files. These passwords
+       are hashed using yescrypt algorithms.
+       With this option off, login will fail password check for any
+       user which has password encrypted with these algorithms.
+
 config BUSYBOX_CONFIG_ADD_SHELL
        bool "add-shell (3.3 kb)"
        default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
@@ -171,7 +182,7 @@ config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO
        default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
        depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW || BUSYBOX_CONFIG_CHPASSWD
        help
-       Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
+       Possible choices: "d[es]", "m[d5]", "s[ha256]", "sha512", "yescrypt"
 config BUSYBOX_CONFIG_CRYPTPW
        bool "cryptpw (15 kb)"
        default BUSYBOX_DEFAULT_CRYPTPW
index fd2b4efd854e4dd34ea77c13c370fc769f6a45cd..63db62c212cc8ad1c1a333728438816d8a44877c 100644 (file)
@@ -881,6 +881,13 @@ config BUSYBOX_CONFIG_SSL_CLIENT
        select BUSYBOX_CONFIG_TLS
        help
        This tool pipes data to/from a socket, TLS-encrypting it.
+config BUSYBOX_CONFIG_SSL_SERVER
+       bool "ssl_server (test TLS server)"
+       default BUSYBOX_DEFAULT_SSL_SERVER
+       select BUSYBOX_CONFIG_TLS
+       help
+       inetd-style TLS server. Stdin/stdout are already connected
+       to an accepted TCP socket.
 config BUSYBOX_CONFIG_TC
        bool "tc (8.3 kb)"
        default BUSYBOX_DEFAULT_TC
@@ -975,6 +982,14 @@ config BUSYBOX_CONFIG_TELNETD
 
        with all that done, telnetd _should_ work....
 
+config BUSYBOX_CONFIG_FEATURE_TELNETD_SELFTEST_DEBUG
+       bool "Include self-test (telnetd -@)"
+       default BUSYBOX_DEFAULT_FEATURE_TELNETD_SELFTEST_DEBUG
+       depends on BUSYBOX_CONFIG_TELNETD
+       help
+         Include self-test code for pty/vhangup() behavior.
+         Useful for development and validation on new platforms.
+
 config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
        bool "Support standalone telnetd (not inetd only)"
        default BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
index 1524f61dc74ec10c638318cc65ed375b4df88015..c8837e4fc9543f1debae2949471f1dfd28a74ea8 100644 (file)
@@ -267,6 +267,11 @@ config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
        depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
        help
        Display the number of users currently logged on.
+config BUSYBOX_CONFIG_VMSTAT
+       bool "vmstat (2 kb)"
+       default BUSYBOX_DEFAULT_VMSTAT
+       help
+       Report virtual memory statistics
 config BUSYBOX_CONFIG_WATCH
        bool "watch (5.2 kb)"
        default BUSYBOX_DEFAULT_WATCH
index 3a95619bde9bf9c6dce9ffe2a581a6286b1dbd66..1b466339d82ba0e3a59fb5af1451100ae36b15a3 100644 (file)
@@ -17,7 +17,8 @@ config BUSYBOX_CONFIG_SETUIDGID
        bool "setuidgid (4.2 kb)"
        default BUSYBOX_DEFAULT_SETUIDGID
        help
-       Sets soft resource limits as specified by options
+       Sets UID and GID to those of the given account, and execs
+       specified program.
 
 config BUSYBOX_CONFIG_ENVUIDGID
        bool "envuidgid (4.1 kb)"
index 848609a8409f32a010a4668921b0854c6abc649a..f670981fb2241878f12e1f6529710947cd8d4536 100644 (file)
@@ -143,6 +143,11 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
        bool "Job control"
        default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
        depends on BUSYBOX_CONFIG_SHELL_ASH
+       help
+       Enable 'fg', 'bg', 'jobs' and 'kill' builtins.
+       Shell will track whether backgrounded pipes are stopped
+       by signals, and allow to restart them by 'fg' or 'bg'.
+       Otherwise, it will only track whether they have terminated.
 
 config BUSYBOX_CONFIG_ASH_ALIAS
        bool "Alias support"
@@ -276,7 +281,7 @@ config BUSYBOX_CONFIG_HUSH
 
        It will compile and work on no-mmu systems.
 
-       It does not handle select, aliases, tilde expansion,
+       It does not handle select, tilde expansion,
        &>file and >&file redirection of stdout+stderr.
 
 config BUSYBOX_CONFIG_SHELL_HUSH
@@ -287,6 +292,11 @@ config BUSYBOX_CONFIG_SHELL_HUSH
 # 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_NEED_FOR_SPEED
+       bool "Faster, but larger code"
+       default BUSYBOX_DEFAULT_HUSH_NEED_FOR_SPEED
+       depends on BUSYBOX_CONFIG_SHELL_HUSH
+
 config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
        bool "bash-compatible extensions"
        default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
@@ -361,6 +371,13 @@ config BUSYBOX_CONFIG_HUSH_CASE
        help
        Enable case ... esac statement. +400 bytes.
 
+config BUSYBOX_CONFIG_HUSH_ALIAS
+       bool "Support aliases"
+       default BUSYBOX_DEFAULT_HUSH_ALIAS
+       depends on BUSYBOX_CONFIG_SHELL_HUSH
+       help
+       Enable aliases.
+
 config BUSYBOX_CONFIG_HUSH_FUNCTIONS
        bool "Support funcname() { commands; } syntax"
        default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
@@ -368,6 +385,13 @@ config BUSYBOX_CONFIG_HUSH_FUNCTIONS
        help
        Enable support for shell functions. +800 bytes.
 
+config BUSYBOX_CONFIG_HUSH_FUNCTION_KEYWORD
+       bool "Support function keyword"
+       default BUSYBOX_DEFAULT_HUSH_FUNCTION_KEYWORD
+       depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
+       help
+       Support "function FUNCNAME { CMD; }" syntax.
+
 config BUSYBOX_CONFIG_HUSH_LOCAL
        bool "local builtin"
        default BUSYBOX_DEFAULT_HUSH_LOCAL
@@ -580,9 +604,10 @@ config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
        default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
        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
-       by "History size" setting in library tuning section.
+       This option makes busybox shells to use $HISTSIZE and
+       $HISTFILESIZE variables to set shell history size.
+       Note that its max value is capped by "History size" setting
+       in library tuning section.
 
 config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
        bool "Embed scripts in the binary"
index 18ba619db023ccca885664ae85c2f51ae263da47..2300d31ccac8d2564ee2cf017f495f223c6c7187 100644 (file)
@@ -163,6 +163,11 @@ config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
        depends on BUSYBOX_CONFIG_FDISK
        depends on !BUSYBOX_CONFIG_LFS   # with LFS no special code is needed
 
+config BUSYBOX_CONFIG_FEATURE_FDISK_BLKSIZE
+       bool "Support -s option to list sizes"
+       default BUSYBOX_DEFAULT_FEATURE_FDISK_BLKSIZE
+       depends on BUSYBOX_CONFIG_FDISK
+
 config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        bool "Write support"
        default BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE
@@ -371,6 +376,11 @@ config BUSYBOX_CONFIG_LOSETUP
        losetup is used to associate or detach a loop device with a regular
        file or block device, and to query the status of a loop device. This
        version does not currently support enabling data encryption.
+config BUSYBOX_CONFIG_LSBLK
+       bool "lsblk (2.5 kb)"
+       default BUSYBOX_DEFAULT_LSBLK
+       help
+       List information about all available or specified block devices.
 config BUSYBOX_CONFIG_LSPCI
        bool "lspci (6.4 kb)"
        default BUSYBOX_DEFAULT_LSPCI
@@ -888,6 +898,11 @@ config BUSYBOX_CONFIG_UNSHARE
        select BUSYBOX_CONFIG_LONG_OPTS
        help
        Run program with some namespaces unshared from parent.
+config BUSYBOX_CONFIG_UUIDGEN
+       bool "uuidgen (1.1 kb)"
+       default BUSYBOX_DEFAULT_UUIDGEN
+       help
+       Generate a UUID (Universally Unique Identifier) in RFC 4122 format.
 config BUSYBOX_CONFIG_WALL
        bool "wall (2.9 kb)"
        default BUSYBOX_DEFAULT_WALL
diff --git a/package/utils/busybox/patches/001-fix-non-x86-build.patch b/package/utils/busybox/patches/001-fix-non-x86-build.patch
deleted file mode 100644 (file)
index 7a47292..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/libbb/hash_md5_sha.c
-+++ b/libbb/hash_md5_sha.c
-@@ -1313,7 +1313,9 @@ unsigned FAST_FUNC sha1_end(sha1_ctx_t *
-       hash_size = 8;
-       if (ctx->process_block == sha1_process_block64
- #if ENABLE_SHA1_HWACCEL
-+# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-        || ctx->process_block == sha1_process_block64_shaNI
-+# endif
- #endif
-       ) {
-               hash_size = 5;
diff --git a/package/utils/busybox/patches/002-upstream-fix-hexdump.patch b/package/utils/busybox/patches/002-upstream-fix-hexdump.patch
deleted file mode 100644 (file)
index a123fe3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 87e60dcf0f7ef917b73353d8605188a420bd91f9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Mon, 28 Oct 2024 15:26:21 +0100
-Subject: hexdump: fix regression with -n4 -e '"%u"'
-
-Fix bug introduced in busybox 1.37.0 that broke kernel builds.
-
-Fixes commit e2287f99fe6f (od: for !DESKTOP, match output more closely
-to GNU coreutils 9.1, implement -s)
-
-function                                             old     new   delta
-rewrite                                              967     976      +9
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- libbb/dump.c            | 6 ++++--
- testsuite/hexdump.tests | 6 ++++++
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
---- a/libbb/dump.c
-+++ b/libbb/dump.c
-@@ -198,9 +198,11 @@ static NOINLINE void rewrite(priv_dumper
-                               if (!e)
-                                       goto DO_BAD_CONV_CHAR;
-                               pr->flags = F_INT;
--                              if (e > int_convs + 1) /* not d or i? */
--                                      pr->flags = F_UINT;
-                               byte_count_str = "\010\004\002\001";
-+                              if (e > int_convs + 1) { /* not d or i? */
-+                                      pr->flags = F_UINT;
-+                                      byte_count_str++;
-+                              }
-                               goto DO_BYTE_COUNT;
-                       } else
-                       if (strchr(int_convs, *p1)) { /* %d etc */
---- a/testsuite/hexdump.tests
-+++ b/testsuite/hexdump.tests
-@@ -82,4 +82,10 @@ testing "hexdump -e /2 %d" \
- "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\
- "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\
-+testing "hexdump -n4 -e '\"%u\"'" \
-+      "hexdump -n4 -e '\"%u\"'" \
-+      "12345678" \
-+      "" \
-+      "\x4e\x61\xbc\x00AAAA"
-+
- exit $FAILCOUNT
diff --git a/package/utils/busybox/patches/003-hexdump-fix-regression-for-uint16-on-big-endian-systems.patch b/package/utils/busybox/patches/003-hexdump-fix-regression-for-uint16-on-big-endian-systems.patch
deleted file mode 100644 (file)
index 5440c34..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-From f5c7cae55fc3e19d074198bc12152486067ea8c7 Mon Sep 17 00:00:00 2001
-From: Radoslav Kolev <radoslav.kolev@suse.com>
-Date: Thu, 24 Apr 2025 00:45:25 +0300
-Subject: [PATCH] hexdump: fix regression for uint16 on big endian systems
-
-Commit 34751d8bf introduced a bug in the handling of uint16
-values on big endian systems not considered safe for unaligned
-access when falling back to memcpy.
-
-Signed-off-by: Radoslav Kolev <radoslav.kolev@suse.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- libbb/dump.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
---- a/libbb/dump.c
-+++ b/libbb/dump.c
-@@ -667,15 +667,21 @@ static NOINLINE void display(priv_dumper
-                                                       conv_u(pr, bp);
-                                                       break;
-                                               case F_UINT: {
-+                                                      union {
-+                                                              uint16_t uval16;
-+                                                              uint32_t uval32;
-+                                                      } u;
-                                                       unsigned value = (unsigned char)*bp;
-                                                       switch (pr->bcnt) {
-                                                       case 1:
-                                                               break;
-                                                       case 2:
--                                                              move_from_unaligned16(value, bp);
-+                                                              move_from_unaligned16(u.uval16, bp);
-+                                                              value = u.uval16;
-                                                               break;
-                                                       case 4:
--                                                              move_from_unaligned32(value, bp);
-+                                                              move_from_unaligned32(u.uval32, bp);
-+                                                              value = u.uval32;
-                                                               break;
-                                                       /* case 8: no users yet */
-                                                       }
index 9a3ddb52fd67a6a1d1dc83dcba3cbd2bce5015e5..91af355e73c9da16b74b55f005cdb0382f3ee158 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/libiproute/iplink.c
 +++ b/networking/libiproute/iplink.c
-@@ -953,7 +953,7 @@ static int do_add_or_delete(char **argv,
+@@ -974,7 +974,7 @@ static int do_add_or_delete(char **argv,
        }
        xrtnl_open(&rth);
        ll_init_map(&rth);
index 91340d46e623703fb6ecbeb5a5211cd84e0ca463..7d9da4d3266f82bceeacb9007eb0bb1c5cbafb44 100644 (file)
                /* This is rather complex: if user is not found in /etc/shadow,
 --- a/loginutils/cryptpw.c
 +++ b/loginutils/cryptpw.c
-@@ -87,7 +87,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
-       /* Supports: cryptpw -m sha256 PASS 'rounds=999999999$SALT' */
-       char salt[MAX_PW_SALT_LEN + sizeof("rounds=999999999$")];
+@@ -86,7 +86,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
+ {
+       char salt[MAX_PW_SALT_LEN];
        char *salt_ptr;
 -      char *password;
 +      char *password, *hash;
        const char *opt_m, *opt_S;
        int fd;
  
-@@ -132,8 +132,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
+@@ -155,8 +155,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
                /* may still be NULL on EOF/error */
        }