aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/busybox/patches
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2021-01-31 16:15:53 -0800
committerHauke Mehrtens <hauke@hauke-m.de>2021-02-14 15:15:32 +0100
commit0275ee5dde7c36c925396779dd23d4f470ab40e1 (patch)
tree88e07de1fa39b6c9909478b0909e617523d6c830 /package/utils/busybox/patches
parent157cd0bd97bcfec8a34d4ebb558f37bee4f0515f (diff)
downloadupstream-0275ee5dde7c36c925396779dd23d4f470ab40e1.tar.gz
upstream-0275ee5dde7c36c925396779dd23d4f470ab40e1.tar.bz2
upstream-0275ee5dde7c36c925396779dd23d4f470ab40e1.zip
busybox: update to 1.33
Remove stime backport. Remove static libgcc patch as upstream fixed it with BUSYBOX_DEFAULT_STATIC_LIBGCC which defauls to off. Remove date -k patch as it no longer applies. It's also pointless as busybox' hwclock utility can do the same thing. Remove ntpd patch as that seems to have been applied upstream. Add smalll patch fixing compilation with SELinux. Upstream commit 2496616b0a8d1c80cd1416b73a4847b59b9f969a renamed the variable without renaming it in the SELinux path. Refresh config and patches. Config refresh: Refresh commands, run after busybox is first built once: cd package/utils/busybox/config/ ../convert_menuconfig.pl ../../../../build_dir/target-mips_24kc_musl/busybox-default/busybox-1.33.0 cd .. ./convert_defaults.pl < ../../../build_dir/target-mips_24kc_musl/busybox-default/busybox-1.33.0/.config > Config-defaults.in Manual edits needed afterward: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt configTARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec) * editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090) * shell/Config.in : change at "Options common to all shells" the 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 Config.in files by adding quotes to sourced items in config/Config.in, networking/Config.in and util-linux/Config.in (commit 1da014f) Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> [Added comments from Hannu Nyman to commit message] Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'package/utils/busybox/patches')
-rw-r--r--package/utils/busybox/patches/001-remove-stime-function-calls.patch84
-rw-r--r--package/utils/busybox/patches/010-fix-wrong-variable.patch11
-rw-r--r--package/utils/busybox/patches/110-no_static_libgcc.patch11
-rw-r--r--package/utils/busybox/patches/120-lto-jobserver.patch6
-rw-r--r--package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch4
-rw-r--r--package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch2
-rw-r--r--package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch2
-rw-r--r--package/utils/busybox/patches/230-add_nslookup_lede.patch6
-rw-r--r--package/utils/busybox/patches/250-date-k-flag.patch92
-rw-r--r--package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch2
-rw-r--r--package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch6
-rw-r--r--package/utils/busybox/patches/600-allow-ntpd-non-root.patch12
12 files changed, 25 insertions, 213 deletions
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@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@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@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/010-fix-wrong-variable.patch b/package/utils/busybox/patches/010-fix-wrong-variable.patch
new file mode 100644
index 0000000000..1b6fa7be61
--- /dev/null
+++ b/package/utils/busybox/patches/010-fix-wrong-variable.patch
@@ -0,0 +1,11 @@
+--- a/libbb/update_passwd.c
++++ b/libbb/update_passwd.c
+@@ -48,7 +48,7 @@ static void check_selinux_update_passwd(
+ bb_simple_error_msg_and_die("SELinux: access denied");
+ }
+ if (ENABLE_FEATURE_CLEAN_UP)
+- freecon(context);
++ freecon(seuser);
+ }
+ #else
+ # define check_selinux_update_passwd(username) ((void)0)
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@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;