diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 04bafda1..45c2a257 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,7 +4,7 @@ # ################################################################################ -BUSYBOX_VERSION = 1.31.1 +BUSYBOX_VERSION = 1.34.1 BUSYBOX_DIR = busybox-$(BUSYBOX_VERSION) BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_SITE = https://busybox.net/downloads diff --git a/package/busybox/files/busybox-minimal.config b/package/busybox/files/busybox-minimal.config index 24f5cb86..29d2b441 100644 --- a/package/busybox/files/busybox-minimal.config +++ b/package/busybox/files/busybox-minimal.config @@ -1,7 +1,7 @@ # # Automatically generated make config: do not edit -# Busybox version: 1.31.1 -# Tue Dec 3 01:31:01 2019 +# Busybox version: 1.34.1 +# Mon May 9 01:34:01 2022 # CONFIG_HAVE_DOT_CONFIG=y @@ -36,7 +36,6 @@ CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" # CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_SYSLOG_INFO=y CONFIG_FEATURE_SYSLOG=y -CONFIG_PLATFORM_LINUX=y # # Build Options @@ -55,6 +54,7 @@ CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" # CONFIG_USE_PORTABLE_CODE is not set # CONFIG_STACK_OPTIMIZATION_386 is not set +CONFIG_STATIC_LIBGCC=y # # Installation Options ("make install" behavior) @@ -76,6 +76,7 @@ CONFIG_PREFIX="/home/vanhofen/ni/buildsystem/root" # CONFIG_DEBUG_SANITIZE is not set # CONFIG_UNIT_TEST is not set # CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set CONFIG_NO_DEBUG_LIB=y # CONFIG_DMALLOC is not set # CONFIG_EFENCE is not set @@ -206,11 +207,13 @@ CONFIG_CHOWN=y CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y CONFIG_CHROOT=y # CONFIG_CKSUM is not set +# CONFIG_CRC32 is not set # CONFIG_COMM is not set CONFIG_CP=y CONFIG_FEATURE_CP_LONG_OPTIONS=y # CONFIG_FEATURE_CP_REFLINK is not set CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y CONFIG_DATE=y CONFIG_FEATURE_DATE_ISOFMT=y # CONFIG_FEATURE_DATE_NANO is not set @@ -315,7 +318,6 @@ CONFIG_TEST2=y # CONFIG_FEATURE_TEST_64 is not set # CONFIG_TIMEOUT is not set # CONFIG_TOUCH is not set -# CONFIG_FEATURE_TOUCH_NODEREF is not set # CONFIG_FEATURE_TOUCH_SUSV3 is not set CONFIG_TR=y CONFIG_FEATURE_TR_CLASSES=y @@ -330,14 +332,15 @@ CONFIG_UNIQ=y # CONFIG_UNLINK is not set CONFIG_USLEEP=y # CONFIG_UUDECODE is not set +# CONFIG_BASE32 is not set # CONFIG_BASE64 is not set # CONFIG_UUENCODE is not set CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set -# CONFIG_WHOAMI is not set # CONFIG_WHO is not set # CONFIG_W is not set # CONFIG_USERS is not set +# CONFIG_WHOAMI is not set CONFIG_YES=y # @@ -418,6 +421,7 @@ CONFIG_VI=y CONFIG_FEATURE_VI_MAX_LEN=4096 CONFIG_FEATURE_VI_8BIT=y CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y CONFIG_FEATURE_VI_YANKMARK=y CONFIG_FEATURE_VI_SEARCH=y CONFIG_FEATURE_VI_REGEX_SEARCH=y @@ -431,6 +435,7 @@ CONFIG_FEATURE_VI_WIN_RESIZE=y CONFIG_FEATURE_VI_UNDO=y CONFIG_FEATURE_VI_UNDO_QUEUE=y CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y CONFIG_FEATURE_ALLOW_EXEC=y # @@ -458,6 +463,7 @@ CONFIG_FEATURE_FIND_SIZE=y CONFIG_FEATURE_FIND_PRUNE=y CONFIG_FEATURE_FIND_QUIT=y # CONFIG_FEATURE_FIND_DELETE is not set +CONFIG_FEATURE_FIND_EMPTY=y CONFIG_FEATURE_FIND_PATH=y CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set @@ -496,7 +502,7 @@ CONFIG_FEATURE_KILL_DELAY=0 # CONFIG_FEATURE_INIT_SYSLOG is not set # CONFIG_FEATURE_INIT_QUIET is not set # CONFIG_FEATURE_INIT_COREDUMPS is not set -CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_INIT_TERMINAL_TYPE="" # CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set # @@ -507,10 +513,10 @@ CONFIG_USE_BB_PWD_GRP=y # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y # CONFIG_USE_BB_CRYPT_SHA is not set -# CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADDUSER is not set # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_LAST_ID=0 @@ -617,7 +623,6 @@ CONFIG_FSTRIM=y # CONFIG_GETOPT is not set # CONFIG_FEATURE_GETOPT_LONG is not set # CONFIG_HEXDUMP is not set -# CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set # CONFIG_XXD is not set # CONFIG_HWCLOCK is not set @@ -688,6 +693,7 @@ CONFIG_RENICE=y # CONFIG_SWITCH_ROOT is not set # CONFIG_TASKSET is not set # CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_FEATURE_TASKSET_CPULIST is not set # CONFIG_UEVENT is not set CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y @@ -704,6 +710,7 @@ CONFIG_FEATURE_MOUNT_LOOP=y # CONFIG_FEATURE_VOLUMEID_BCACHE is not set # CONFIG_FEATURE_VOLUMEID_BTRFS is not set # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EROFS is not set # CONFIG_FEATURE_VOLUMEID_EXFAT is not set # CONFIG_FEATURE_VOLUMEID_EXT is not set # CONFIG_FEATURE_VOLUMEID_F2FS is not set @@ -731,6 +738,7 @@ CONFIG_FEATURE_MOUNT_LOOP=y # Miscellaneous Utilities # # CONFIG_ADJTIMEX is not set +# CONFIG_ASCII is not set CONFIG_BBCONFIG=y CONFIG_FEATURE_COMPRESS_BBCONFIG=y # CONFIG_BC is not set @@ -764,10 +772,10 @@ CONFIG_CRONTAB=y # CONFIG_FEATURE_DEVFS is not set # CONFIG_DEVMEM is not set # CONFIG_FBSPLASH is not set -# CONFIG_FLASHCP is not set # CONFIG_FLASH_ERASEALL is not set CONFIG_FLASH_LOCK=y CONFIG_FLASH_UNLOCK=y +# CONFIG_FLASHCP is not set # CONFIG_HDPARM is not set # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set @@ -801,6 +809,7 @@ CONFIG_MAKEDEVS=y CONFIG_FEATURE_MAKEDEVS_TABLE=y # CONFIG_MAN is not set # CONFIG_MICROCOM is not set +# CONFIG_MIM is not set # CONFIG_MT is not set # CONFIG_NANDWRITE is not set # CONFIG_NANDDUMP is not set @@ -816,15 +825,16 @@ CONFIG_STRINGS=y CONFIG_TIME=y # CONFIG_TS is not set # CONFIG_TTYSIZE is not set -CONFIG_UBIRENAME=y # CONFIG_UBIATTACH is not set # CONFIG_UBIDETACH is not set # CONFIG_UBIMKVOL is not set # CONFIG_UBIRMVOL is not set # CONFIG_UBIRSVOL is not set # CONFIG_UBIUPDATEVOL is not set +CONFIG_UBIRENAME=y # CONFIG_VOLNAME is not set # CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set # # Networking Utilities @@ -862,6 +872,10 @@ CONFIG_HOSTNAME=y # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set # CONFIG_FEATURE_HTTPD_PROXY is not set # CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set CONFIG_IFCONFIG=y CONFIG_FEATURE_IFCONFIG_STATUS=y # CONFIG_FEATURE_IFCONFIG_SLIP is not set @@ -959,6 +973,7 @@ CONFIG_TELNETD=y # CONFIG_WGET is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set # CONFIG_FEATURE_WGET_STATUSBAR is not set +# CONFIG_FEATURE_WGET_FTP is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_TIMEOUT is not set # CONFIG_FEATURE_WGET_HTTPS is not set @@ -984,6 +999,7 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/share/udhcpc/default.script" # # Common options for DHCP applets # +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 @@ -1091,6 +1107,7 @@ CONFIG_SH_IS_ASH=y CONFIG_BASH_IS_ASH=y # CONFIG_BASH_IS_HUSH is not set # CONFIG_BASH_IS_NONE is not set +CONFIG_SHELL_ASH=y CONFIG_ASH=y CONFIG_ASH_OPTIMIZE_FOR_SIZE=y CONFIG_ASH_INTERNAL_GLOB=y @@ -1111,10 +1128,11 @@ CONFIG_ASH_GETOPTS=y # CONFIG_ASH_CMDCMD is not set # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set @@ -1177,6 +1195,7 @@ CONFIG_FEATURE_ROTATE_LOGFILE=y CONFIG_FEATURE_REMOTE_LOG=y # CONFIG_FEATURE_SYSLOGD_DUP is not set # CONFIG_FEATURE_SYSLOGD_CFG is not set +# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 CONFIG_FEATURE_IPC_SYSLOG=y CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 diff --git a/package/busybox/patches/busybox-insmod-hack.patch b/package/busybox/patches/busybox-insmod-hack.patch deleted file mode 100644 index 346446e4..00000000 --- a/package/busybox/patches/busybox-insmod-hack.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff --git a/modutils/Config.src b/modutils/Config.src -index 9b76c83..c7579c5 100644 ---- a/modutils/Config.src -+++ b/modutils/Config.src -@@ -166,7 +166,7 @@ config FEATURE_MODUTILS_SYMBOLS - config DEFAULT_MODULES_DIR - string "Default directory containing modules" - default "/lib/modules" -- depends on DEPMOD || MODPROBE || MODINFO -+ depends on DEPMOD || MODPROBE || MODINFO || INSMOD - help - Directory that contains kernel modules. - Defaults to "/lib/modules" -diff --git a/modutils/insmod.c b/modutils/insmod.c -index 8526979..d36acc4 100644 ---- a/modutils/insmod.c -+++ b/modutils/insmod.c -@@ -45,11 +45,42 @@ - //usage: ) - //usage:#endif - -+#include -+static char *m_filename; -+static char *m_fullName; -+ -+static int FAST_FUNC check_module_name_match(const char *filename, -+ struct stat *statbuf UNUSED_PARAM, -+ void *userdata, int depth UNUSED_PARAM) -+{ -+ char *fullname = (char *) userdata; -+ char *tmp; -+ -+ if (fullname[0] == '\0') -+ return FALSE; -+ -+ tmp = bb_get_last_path_component_nostrip(filename); -+ if (strcmp(tmp, fullname) == 0) { -+ /* Stop searching if we find a match */ -+ m_filename = xstrdup(filename); -+ return FALSE; -+ } -+ return TRUE; -+} -+ - int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; - int insmod_main(int argc UNUSED_PARAM, char **argv) - { - char *filename; - int rc; -+int len; -+char *tmp; -+char *tmp2; -+int k_version = 0; -+struct stat st; -+struct utsname uts; -+char *m_name; -+FILE *fp; - - /* Compat note: - * 2.6 style insmod has no options and required filename -@@ -68,9 +99,99 @@ int insmod_main(int argc UNUSED_PARAM, char **argv) - if (!filename) - bb_show_usage(); - -- rc = bb_init_module(filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0)); -+ /* Grab the module name */ -+ tmp = xstrdup(filename); -+ len = strlen(filename); -+ -+ if (uname(&uts) == 0) { -+ if (uts.release[0] == '2') { -+ k_version = uts.release[2] - '0'; -+ } -+ } -+ -+ if (k_version > 4 && len > 3 && tmp[len - 3] == '.' -+ && tmp[len - 2] == 'k' && tmp[len - 1] == 'o' -+ ) { -+ len -= 3; -+ tmp[len] = '\0'; -+ } else -+ if (len > 2 && tmp[len - 2] == '.' && tmp[len - 1] == 'o') { -+ len -= 2; -+ tmp[len] = '\0'; -+ } -+ -+ if (k_version > 4) -+ m_fullName = xasprintf("%s.ko", tmp); -+ else -+ m_fullName = xasprintf("%s.o", tmp); -+ -+ if (!m_name) { -+ m_name = tmp; -+ } -+ free(tmp); -+ -+ /* first look in /var/lib/modules */ -+ tmp2 = alloca(strlen(m_fullName) + sizeof("/var/lib/modules/")); -+ strcpy(tmp2, "/var/lib/modules/"); -+ strcat(tmp2, m_fullName); -+ if (stat(tmp2, &st) >= 0 && S_ISREG(st.st_mode) && (fp = fopen(tmp2, "r")) != NULL) { -+ m_filename = xstrdup(tmp2); -+ printf("insmod: preferring module %s\n", m_filename); -+ } else -+ /* Get a filedesc for the module. Check that we have a complete path */ -+ if (stat(filename, &st) < 0 || !S_ISREG(st.st_mode) -+ || (fp = fopen_for_read(filename)) == NULL -+ ) { -+ /* Hmm. Could not open it. First search under /lib/modules/`uname -r`, -+ * but do not error out yet if we fail to find it... */ -+ if (k_version) { /* uname succeedd */ -+ char *module_dir; -+ char *tmdn; -+ -+ tmdn = concat_path_file(CONFIG_DEFAULT_MODULES_DIR, uts.release); -+ /* Jump through hoops in case /lib/modules/`uname -r` -+ * is a symlink. We do not want recursive_action to -+ * follow symlinks, but we do want to follow the -+ * /lib/modules/`uname -r` dir, So resolve it ourselves -+ * if it is a link... */ -+ module_dir = xmalloc_readlink(tmdn); -+ if (!module_dir) -+ module_dir = xstrdup(tmdn); -+ recursive_action(module_dir, ACTION_RECURSE, -+ check_module_name_match, NULL, m_fullName, 0); -+ free(module_dir); -+ free(tmdn); -+ } -+ -+ /* Check if we have found anything yet */ -+ if (!m_filename || ((fp = fopen_for_read(m_filename)) == NULL)) { -+ int r; -+ char *module_dir; -+ -+ free(m_filename); -+ m_filename = NULL; -+ module_dir = xmalloc_readlink(CONFIG_DEFAULT_MODULES_DIR); -+ if (!module_dir) -+ module_dir = xstrdup(CONFIG_DEFAULT_MODULES_DIR); -+ /* No module found under /lib/modules/`uname -r`, this -+ * time cast the net a bit wider. Search /lib/modules/ */ -+ r = recursive_action(module_dir, ACTION_RECURSE, -+ check_module_name_match, NULL, m_fullName, 0); -+ if (r) -+ bb_error_msg_and_die("%s: module not found", m_fullName); -+ free(module_dir); -+ if (m_filename == NULL -+ || ((fp = fopen_for_read(m_filename)) == NULL) -+ ) { -+ bb_error_msg_and_die("%s: module not found", m_fullName); -+ } -+ } -+ } else -+ m_filename = xstrdup(filename); -+ -+ rc = bb_init_module(m_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0)); - if (rc) -- bb_error_msg("can't insert '%s': %s", filename, moderror(rc)); -+ bb_error_msg("can't insert '%s': %s", m_filename, moderror(rc)); - - return rc; - }