mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
06fa1c46fc
The following patches were removed:
010-networking-fix-uninitialized-memory-when-displaying-.patch
https://git.busybox.net/busybox/commit/?id=f2c043acfcf9dad9fd3d65821b81f89986bbe54e
030-ip-fix-problem-on-mips64-n64-big-endian-musl-systems.patch
https://git.busybox.net/busybox/commit/?id=4ab372d49a6e82b0bf097dedb96d26330c5f2d5f
204-udhcpc_src_ip_rebind.patch
https://git.busybox.net/busybox/commit/?id=abe8f7515aded80889d78c2c1c8947997918cf90
230-ntpd_delayed_resolve.patch
https://git.busybox.net/busybox/commit/?id=c8641962e4cbde48108ddfc1c105e3320778190d
https://git.busybox.net/busybox/commit/?id=e4caf1dd9ce8569371a0eeb77ccf02a572dc0f11
260-arping_missing_includes.patch
Not needed any more, still builds with musl for me.
Add in 92fd6e6f1a
"busybox: fix arping applet building on musl"
The Kconfig files were updated with these commands:
cd config
../convert_menuconfig.pl .../build_dir/target-*/busybox-1.25.0
cd ..
./convert_defaults.pl < .../build_dir/target-*/busybox-1.25.0/.config > Config-defaults.in
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
92 lines
2.6 KiB
Diff
92 lines
2.6 KiB
Diff
--- a/coreutils/date.c
|
|
+++ b/coreutils/date.c
|
|
@@ -123,6 +123,7 @@
|
|
//usage: IF_FEATURE_DATE_ISOFMT(
|
|
//usage: "\n -D FMT Use FMT 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 */
|
|
};
|
|
|
|
static void maybe_set_utc(int opt)
|
|
@@ -168,12 +169,15 @@ 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
|
|
|
|
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];
|
|
@@ -188,7 +192,7 @@ int date_main(int argc UNUSED_PARAM, cha
|
|
opt_complementary = "d--s:s--d"
|
|
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
|
|
IF_LONG_OPTS(applet_long_options = date_longopts;)
|
|
- opt = getopt32(argv, "Rs:ud:r:"
|
|
+ opt = getopt32(argv, "Rs:ud:r:k"
|
|
IF_FEATURE_DATE_ISOFMT("I::D:"),
|
|
&date_str, &date_str, &filename
|
|
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
|
|
@@ -245,6 +249,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 */
|
|
|