From 0275ee5dde7c36c925396779dd23d4f470ab40e1 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 31 Jan 2021 16:15:53 -0800 Subject: 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 [Added comments from Hannu Nyman to commit message] Signed-off-by: Rosen Penev --- .../utils/busybox/patches/250-date-k-flag.patch | 92 ---------------------- 1 file changed, 92 deletions(-) delete mode 100644 package/utils/busybox/patches/250-date-k-flag.patch (limited to 'package/utils/busybox/patches/250-date-k-flag.patch') 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 --#endif -+#include -+#include - - 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 */ - -- cgit v1.2.3