mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	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 */
 | |
|  
 |