Commit 617aa499 authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

busybox: bump 1.15.x stable version

parent 5c2ceaa2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ config BR2_BUSYBOX_VERSION
	default "1.12.4"	if BR2_BUSYBOX_VERSION_1_12_X
	default "1.13.4"	if BR2_BUSYBOX_VERSION_1_13_X
	default "1.14.4"	if BR2_BUSYBOX_VERSION_1_14_X
	default "1.15.2"	if BR2_BUSYBOX_VERSION_1_15_X
	default "1.15.3"	if BR2_BUSYBOX_VERSION_1_15_X

config BR2_PACKAGE_BUSYBOX_FULLINSTALL
	bool "Run BusyBox's own full installation"
+0 −1136

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −48
Original line number Diff line number Diff line
diff -urpN busybox-1.15.2/editors/awk.c busybox-1.15.2-awk/editors/awk.c
--- busybox-1.15.2/editors/awk.c	2009-10-08 02:59:09.000000000 +0200
+++ busybox-1.15.2-awk/editors/awk.c	2009-11-30 02:05:12.000000000 +0100
@@ -2393,12 +2393,14 @@ static var *evaluate(node *op, var *res)
 
 		case XC( OC_MOVE ):
 			/* if source is a temporary string, jusk relink it to dest */
-			if (R.v == v1+1 && R.v->string) {
-				res = setvar_p(L.v, R.v->string);
-				R.v->string = NULL;
-			} else {
+//Disabled: if R.v is numeric but happens to have cached R.v->string,
+//then L.v ends up being a string, which is wrong
+//			if (R.v == v1+1 && R.v->string) {
+//				res = setvar_p(L.v, R.v->string);
+//				R.v->string = NULL;
+//			} else {
 				res = copyvar(L.v, R.v);
-			}
+//			}
 			break;
 
 		case XC( OC_TERNARY ):
diff -urpN busybox-1.15.2/testsuite/awk.tests busybox-1.15.2-awk/testsuite/awk.tests
--- busybox-1.15.2/testsuite/awk.tests	2009-09-26 15:14:57.000000000 +0200
+++ busybox-1.15.2-awk/testsuite/awk.tests	2009-11-30 02:05:12.000000000 +0100
@@ -47,4 +47,21 @@ testing "awk NF in BEGIN" \
 	":0::::\n" \
 	"" ""
 
+prg='
+function b(tmp) {
+	tmp = 0;
+	print "" tmp; #this line causes the bug
+	return tmp;
+}
+function c(tmpc) {
+	tmpc = b(); return tmpc;
+}
+BEGIN {
+	print (c() ? "string" : "number");
+}'
+testing "awk string cast (bug 725)" \
+	"awk '$prg'" \
+	"0\nnumber\n" \
+	"" ""
+
 exit $FAILCOUNT
+0 −92
Original line number Diff line number Diff line
diff -urpN busybox-1.15.2/Makefile busybox-1.15.2-buildsys/Makefile
--- busybox-1.15.2/Makefile	2009-10-08 03:06:38.000000000 +0200
+++ busybox-1.15.2-buildsys/Makefile	2009-11-28 23:38:39.000000000 +0100
@@ -358,6 +358,15 @@ scripts_basic:
 # To avoid any implicit rule to kick in, define an empty command.
 scripts/basic/%: scripts_basic ;
 
+# bbox: we have helpers in applets/
+# we depend on scripts_basic, since scripts/basic/fixdep
+# must be built before any other host prog
+PHONY += applets_dir
+applets_dir: scripts_basic
+	$(Q)$(MAKE) $(build)=applets
+
+applets/%: applets_dir ;
+
 PHONY += outputmakefile
 # outputmakefile generates a Makefile in the output directory, if using a
 # separate output directory. This allows convenient use of make in the
@@ -797,7 +806,7 @@ ifneq ($(KBUILD_MODULES),)
 	$(Q)rm -f $(MODVERDIR)/*
 endif
 
-archprepare: prepare1 scripts_basic
+archprepare: prepare1 scripts_basic applets_dir
 
 prepare0: archprepare FORCE
 	$(Q)$(MAKE) $(build)=.
diff -urpN busybox-1.15.2/scripts/kconfig/Makefile busybox-1.15.2-buildsys/scripts/kconfig/Makefile
--- busybox-1.15.2/scripts/kconfig/Makefile	2009-09-26 15:14:57.000000000 +0200
+++ busybox-1.15.2-buildsys/scripts/kconfig/Makefile	2009-11-28 23:38:39.000000000 +0100
@@ -17,11 +17,28 @@ menuconfig: $(obj)/mconf
 config: $(obj)/conf
 	$< Config.in
 
+# Mtime granularity problem.
+# It was observed that these commands:
+# make allnoconfig; sed -i -e '/CONFIG_TRUE/s/.*/CONFIG_TRUE=y/' .config; make
+# sometimes produce busybox with "true" applet still disabled.
+# This is caused by .config updated by sed having mtime which is still
+# equal to (not bigger than) include/autoconf.h's mtime,
+# and thus 2nd make does not regenerate include/autoconf.h.
+# Waiting for 1 second after non-interactive "make XXXXconfig"
+# prevents this from happening.
+#
+# We'd like to detect whether filesystem we are on has coarse mtimes,
+# but can't do it yet, bbox ls hasn't got --full-time.
+#MTIME_IS_COARSE:=@ls --full-time -ld | grep -F .000 >/dev/null
+MTIME_IS_COARSE:=@true
+
 oldconfig: $(obj)/conf
 	$< -o Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 silentoldconfig: $(obj)/conf
 	$< -s Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 update-po-config: $(obj)/kxgettext
 	xgettext --default-domain=linux \
@@ -46,15 +63,19 @@ PHONY += randconfig allyesconfig allnoco
 
 randconfig: $(obj)/conf
 	$< -r Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 allyesconfig: $(obj)/conf
 	$< -y Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 allnoconfig: $(obj)/conf
 	$< -n Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 allmodconfig: $(obj)/conf
 	$< -m Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 defconfig: $(obj)/conf
 ifeq ($(KBUILD_DEFCONFIG),)
@@ -63,9 +84,11 @@ else
 	@echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)'
 	$(Q)$< -D $(KBUILD_DEFCONFIG) Config.in
 endif
+	$(MTIME_IS_COARSE) && sleep 1
 
 %_defconfig: $(obj)/conf
 	$(Q)$< -D $@ Config.in
+	$(MTIME_IS_COARSE) && sleep 1
 
 # Help text used by make help
 help:
+0 −84
Original line number Diff line number Diff line
diff -urpN busybox-1.15.2/miscutils/flash_eraseall.c busybox-1.15.2-flash/miscutils/flash_eraseall.c
--- busybox-1.15.2/miscutils/flash_eraseall.c	2009-09-26 15:14:57.000000000 +0200
+++ busybox-1.15.2-flash/miscutils/flash_eraseall.c	2009-11-29 00:01:46.000000000 +0100
@@ -12,22 +12,35 @@
 
 #include "libbb.h"
 #include <mtd/mtd-user.h>
-#include <mtd/jffs2-user.h>
+#include <linux/jffs2.h>
 
 #define OPTION_J	(1 << 0)
 #define OPTION_Q	(1 << 1)
 #define IS_NAND		(1 << 2)
 #define BBTEST		(1 << 3)
 
-struct globals {
-	/* This is used in the cpu_to_je/je_to_cpu macros in jffs2_user.h */
-	int tgt_endian;
-};
-#define G (*(struct globals*)&bb_common_bufsiz1)
-#define target_endian	(G.tgt_endian)
-#define INIT_G() do { \
-	target_endian = __BYTE_ORDER; \
-} while (0)
+/* mtd/jffs2-user.h used to have this atrocity:
+extern int target_endian;
+
+#define t16(x) ({ __u16 __b = (x); (target_endian==__BYTE_ORDER)?__b:bswap_16(__b); })
+#define t32(x) ({ __u32 __b = (x); (target_endian==__BYTE_ORDER)?__b:bswap_32(__b); })
+
+#define cpu_to_je16(x) ((jint16_t){t16(x)})
+#define cpu_to_je32(x) ((jint32_t){t32(x)})
+#define cpu_to_jemode(x) ((jmode_t){t32(x)})
+
+#define je16_to_cpu(x) (t16((x).v16))
+#define je32_to_cpu(x) (t32((x).v32))
+#define jemode_to_cpu(x) (t32((x).m))
+
+but mtd/jffs2-user.h is gone now (at least 2.6.31.6 does not have it anymore)
+*/
+
+/* We always use native endianness */
+#undef cpu_to_je16
+#undef cpu_to_je32
+#define cpu_to_je16(v) ((jint16_t){(v)})
+#define cpu_to_je32(v) ((jint32_t){(v)})
 
 static uint32_t crc32(uint32_t val, const void *ss, int len,
 		uint32_t *crc32_table)
@@ -40,9 +53,11 @@ static uint32_t crc32(uint32_t val, cons
 
 static void show_progress(mtd_info_t *meminfo, erase_info_t *erase)
 {
-	printf("\rErasing %d Kibyte @ %x -- %2llu %% complete.",
-		(unsigned)meminfo->erasesize / 1024, erase->start,
-		(unsigned long long) erase->start * 100 / meminfo->size);
+	printf("\rErasing %u Kibyte @ %x - %2u%% complete.",
+		(unsigned)meminfo->erasesize / 1024,
+		erase->start,
+		(unsigned) ((unsigned long long) erase->start * 100 / meminfo->size)
+	);
 	fflush(stdout);
 }
 
@@ -57,17 +72,15 @@ int flash_eraseall_main(int argc UNUSED_
 	unsigned int flags;
 	char *mtd_name;
 
-	INIT_G();
 	opt_complementary = "=1";
 	flags = BBTEST | getopt32(argv, "jq");
 
 	mtd_name = argv[optind];
-	xstat(mtd_name, &st);
+	fd = xopen(mtd_name, O_RDWR);
+	fstat(fd, &st);
 	if (!S_ISCHR(st.st_mode))
 		bb_error_msg_and_die("%s: not a char device", mtd_name);
 
-	fd = xopen(mtd_name, O_RDWR);
-
 	xioctl(fd, MEMGETINFO, &meminfo);
 	erase.length = meminfo.erasesize;
 	if (meminfo.type == MTD_NANDFLASH)
Loading