[PATCH 1/3] busybox: update to 1.33

Rosen Penev rosenp at gmail.com
Sun Jan 3 19:24:03 EST 2021


Remove stime backport.

Remove static libgcc patch as upstream fixed it in a different way.

Remove date -k patch as it no longer applies. It's also pointless as
busybox' hwclock utility can do the same thing. That will be changed
in a future commit.

Remove ntpd patch as that seems to have been applied upstream.

Refresh patches.

Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
 package/utils/busybox/Makefile                |  6 +-
 .../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     | 92 -------------------
 .../500-move-traceroute-applets-to-bin.patch  |  2 +-
 ...520-loginutils-handle-crypt-failures.patch |  6 +-
 .../patches/600-allow-ntpd-non-root.patch     | 12 ---
 12 files changed, 17 insertions(+), 216 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
 delete mode 100644 package/utils/busybox/patches/250-date-k-flag.patch
 delete mode 100644 package/utils/busybox/patches/600-allow-ntpd-non-root.patch

diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index e62cef0713..ac921b69ec 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_RELEASE:=8
+PKG_VERSION:=1.33.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:=d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd
 
 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
 PKG_BUILD_PARALLEL:=1
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 ccf9bef356..0000000000
--- 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 <alistair.francis at wdc.com>
-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 <alistair.francis at wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
----
- 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 2148a09e00..0000000000
--- 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 99c5b51201..d4f997e6d8 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 4bab25a8d5..2e67009224 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
+@@ -712,6 +712,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
+@@ -729,6 +730,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 256b049d9e..875f2ce5fc 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
+@@ -1415,6 +1415,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 3d3c0cc403..88a98c0a1c 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)
+@@ -1125,7 +1125,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 f0ac4b51c1..446b01c3f1 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 <jo at mein.io>
 
 --- a/Makefile.flags
 +++ b/Makefile.flags
-@@ -134,6 +134,12 @@ else
- LDLIBS += m
- endif
+@@ -158,6 +158,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
deleted file mode 100644
index 5aadbb233c..0000000000
--- a/package/utils/busybox/patches/250-date-k-flag.patch
+++ /dev/null
@@ -1,92 +0,0 @@
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -123,6 +123,7 @@
- //usage:	IF_FEATURE_DATE_ISOFMT(
- //usage:     "\n	-D FMT		Use FMT (strptime format) for -d TIME conversion"
- //usage:	)
-+//usage:     "\n	-k		Set Kernel timezone from localtime and exit"
- //usage:     "\n"
- //usage:     "\nRecognized TIME formats:"
- //usage:     "\n	hh:mm[:ss]"
-@@ -139,9 +140,8 @@
- 
- #include "libbb.h"
- #include "common_bufsiz.h"
--#if ENABLE_FEATURE_DATE_NANO
--# include <sys/syscall.h>
--#endif
-+#include <sys/time.h>
-+#include <sys/syscall.h>
- 
- enum {
- 	OPT_RFC2822   = (1 << 0), /* R */
-@@ -149,8 +149,9 @@ enum {
- 	OPT_UTC       = (1 << 2), /* u */
- 	OPT_DATE      = (1 << 3), /* d */
- 	OPT_REFERENCE = (1 << 4), /* r */
--	OPT_TIMESPEC  = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
--	OPT_HINT      = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
-+	OPT_KERNELTZ  = (1 << 5), /* k */
-+	OPT_TIMESPEC  = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
-+	OPT_HINT      = (1 << 7) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
- };
- 
- #if ENABLE_LONG_OPTS
-@@ -162,6 +163,7 @@ static const char date_longopts[] ALIGN1
- 	/*	"universal\0" No_argument       "u" */
- 		"date\0"      Required_argument "d"
- 		"reference\0" Required_argument "r"
-+		"set-kernel-tz\0" No_argument   "k"
- 		;
- #endif
- 
-@@ -181,6 +183,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)
- {
-+	time_t tt;
-+	struct timezone tz;
- 	struct timespec ts;
- 	struct tm tm_time;
- 	char buf_fmt_dt2str[64];
-@@ -193,7 +197,7 @@ int date_main(int argc UNUSED_PARAM, cha
- 	char *isofmt_arg = NULL;
- 
- 	opt = getopt32long(argv, "^"
--			"Rs:ud:r:"
-+			"Rs:ud:r:k"
- 			IF_FEATURE_DATE_ISOFMT("I::D:")
- 			"\0"
- 			"d--s:s--d"
-@@ -256,6 +260,31 @@ int date_main(int argc UNUSED_PARAM, cha
- 	if (*argv)
- 		bb_show_usage();
- 
-+	/* Setting of kernel timezone was requested */
-+	if (opt & OPT_KERNELTZ) {
-+		tt = time(NULL);
-+		localtime_r(&tt, &tm_time);
-+
-+		/* workaround warp_clock() on first invocation */
-+		memset(&tz, 0, sizeof(tz));
-+		syscall(SYS_settimeofday, NULL, &tz);
-+
-+		memset(&tz, 0, sizeof(tz));
-+#ifdef __USE_MISC
-+		tz.tz_minuteswest = -(tm_time.tm_gmtoff / 60);
-+#else
-+		tz.tz_minuteswest = -(tm_time.__tm_gmtoff / 60);
-+#endif
-+
-+		if (syscall(SYS_settimeofday, NULL, &tz))
-+		{
-+			bb_perror_msg("can't set kernel time zone");
-+			return EXIT_FAILURE;
-+		}
-+
-+		return EXIT_SUCCESS;
-+	}
-+
- 	/* Now we have parsed all the information except the date format
- 	 * which depends on whether the clock is being set or read */
- 
diff --git a/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch b/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
index 3741e25c3f..0389eed5da 100644
--- a/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
+++ b/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
@@ -1,6 +1,6 @@
 --- a/networking/traceroute.c
 +++ b/networking/traceroute.c
-@@ -237,8 +237,8 @@
+@@ -236,8 +236,8 @@
  //config:	depends on TRACEROUTE || TRACEROUTE6
  
  /* Needs socket(AF_INET, SOCK_RAW, IPPROTO_ICMP), therefore BB_SUID_MAYBE: */
diff --git a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
index d44375426f..91340d46e6 100644
--- a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
+++ b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
@@ -1,6 +1,6 @@
 --- a/loginutils/chpasswd.c
 +++ b/loginutils/chpasswd.c
-@@ -97,6 +97,11 @@ int chpasswd_main(int argc UNUSED_PARAM,
+@@ -89,6 +89,11 @@ int chpasswd_main(int argc UNUSED_PARAM,
  
  			crypt_make_pw_salt(salt, algo);
  			free_me = pass = pw_encrypt(pass, salt, 0);
@@ -14,7 +14,7 @@
  		/* This is rather complex: if user is not found in /etc/shadow,
 --- a/loginutils/cryptpw.c
 +++ b/loginutils/cryptpw.c
-@@ -95,7 +95,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
+@@ -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$")];
  	char *salt_ptr;
@@ -23,7 +23,7 @@
  	const char *opt_m, *opt_S;
  	int fd;
  
-@@ -140,8 +140,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
+@@ -132,8 +132,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
  		/* may still be NULL on EOF/error */
  	}
  
diff --git a/package/utils/busybox/patches/600-allow-ntpd-non-root.patch b/package/utils/busybox/patches/600-allow-ntpd-non-root.patch
deleted file mode 100644
index b5d4c2a07d..0000000000
--- a/package/utils/busybox/patches/600-allow-ntpd-non-root.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/networking/ntpd.c
-+++ b/networking/ntpd.c
-@@ -2414,9 +2414,6 @@ static NOINLINE void ntp_init(char **arg
- 
- 	srand(getpid());
- 
--	if (getuid())
--		bb_error_msg_and_die(bb_msg_you_must_be_root);
--
- 	/* Set some globals */
- 	G.discipline_jitter = G_precision_sec;
- 	G.stratum = MAXSTRAT;
-- 
2.29.2




More information about the openwrt-devel mailing list