Browse Source

update busybox to latest stable version

Waldemar Brodkorb 9 years ago
parent
commit
b9f38fd924

+ 3 - 3
package/busybox/Makefile

@@ -4,9 +4,9 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		busybox
-PKG_VERSION:=		1.23.0
-PKG_RELEASE:=		3
-PKG_HASH:=		483ab594dd962ddbb332fd24e36ffdd6e36ac2182fbff055c56e1ca49fda09e4
+PKG_VERSION:=		1.23.2
+PKG_RELEASE:=		1
+PKG_HASH:=		05a6f9e21aad8c098e388ae77de7b2361941afa7157ef74216703395b14e319a
 PKG_DESCR:=		core utilities for embedded systems
 PKG_SECTION:=		base/apps
 PKG_BUILDDEP:=		bzip2-host

+ 0 - 34
package/busybox/patches/004-busybox-1.23.0-ash.patch

@@ -1,34 +0,0 @@
---- busybox-1.23.0/shell/ash.c
-+++ busybox-1.23.0-ash/shell/ash.c
-@@ -6746,6 +6746,14 @@ varvalue(char *name, int varflags, int f
- 		len = strlen(p);
- 		if (!(subtype == VSPLUS || subtype == VSLENGTH))
- 			memtodest(p, len, syntax, quotes);
-+#if ENABLE_UNICODE_SUPPORT
-+		if (subtype == VSLENGTH && len > 0) {
-+			reinit_unicode_for_ash();
-+			if (unicode_status == UNICODE_ON) {
-+				len = unicode_strlen(p);
-+			}
-+		}
-+#endif
- 		return len;
- 	}
- 
-@@ -6829,15 +6837,7 @@ evalvar(char *p, int flags, struct strli
- 		varunset(p, var, 0, 0);
- 
- 	if (subtype == VSLENGTH) {
--		ssize_t n = varlen;
--		if (n > 0) {
--			reinit_unicode_for_ash();
--			if (unicode_status == UNICODE_ON) {
--				const char *val = lookupvar(var);
--				n = unicode_strlen(val);
--			}
--		}
--		cvtnum(n > 0 ? n : 0);
-+		cvtnum(varlen > 0 ? varlen : 0);
- 		goto record;
- 	}
- 

+ 0 - 114
package/busybox/patches/005-busybox-1.23.0-modprobe.patch

@@ -1,114 +0,0 @@
---- busybox-1.23.0/modutils/depmod.c
-+++ busybox-1.23.0-modprobe/modutils/depmod.c
-@@ -51,7 +51,11 @@ static int FAST_FUNC parse_module(const
- 
- 	info->dnext = info->dprev = info;
- 	info->name = xstrdup(fname + 2); /* skip "./" */
--	info->modname = xstrdup(filename2modname(fname, modname));
-+	info->modname = xstrdup(
-+		filename2modname(
-+			bb_get_last_path_component_nostrip(fname),
-+			modname
-+	));
- 	for (ptr = image; ptr < image + len - 10; ptr++) {
- 		if (strncmp(ptr, "depends=", 8) == 0) {
- 			char *u;
-@@ -242,17 +246,18 @@ int depmod_main(int argc UNUSED_PARAM, c
- 	if (!(option_mask32 & OPT_n))
- 		xfreopen_write("modules.alias", stdout);
- 	for (m = modules; m != NULL; m = m->next) {
-+		char modname[MODULE_NAME_LEN];
- 		const char *fname = bb_basename(m->name);
--		int fnlen = strchrnul(fname, '.') - fname;
-+		filename2modname(fname, modname);
- 		while (m->aliases) {
- 			/* Last word can well be m->modname instead,
- 			 * but depmod from module-init-tools 3.4
- 			 * uses module basename, i.e., no s/-/_/g.
- 			 * (pathname and .ko.* are still stripped)
- 			 * Mimicking that... */
--			printf("alias %s %.*s\n",
-+			printf("alias %s %s\n",
- 				(char*)llist_pop(&m->aliases),
--				fnlen, fname);
-+				modname);
- 		}
- 	}
- #endif
-@@ -260,12 +265,13 @@ int depmod_main(int argc UNUSED_PARAM, c
- 	if (!(option_mask32 & OPT_n))
- 		xfreopen_write("modules.symbols", stdout);
- 	for (m = modules; m != NULL; m = m->next) {
-+		char modname[MODULE_NAME_LEN];
- 		const char *fname = bb_basename(m->name);
--		int fnlen = strchrnul(fname, '.') - fname;
-+		filename2modname(fname, modname);
- 		while (m->symbols) {
--			printf("alias symbol:%s %.*s\n",
-+			printf("alias symbol:%s %s\n",
- 				(char*)llist_pop(&m->symbols),
--				fnlen, fname);
-+				modname);
- 		}
- 	}
- #endif
---- busybox-1.23.0/modutils/modprobe.c
-+++ busybox-1.23.0-modprobe/modutils/modprobe.c
-@@ -238,17 +238,6 @@ static void add_probe(const char *name)
- {
- 	struct module_entry *m;
- 
--	/*
--	 * get_or_add_modentry() strips path from name and works
--	 * on remaining basename.
--	 * This would make "rmmod dir/name" and "modprobe dir/name"
--	 * to work like "rmmod name" and "modprobe name",
--	 * which is wrong, and can be abused via implicit modprobing:
--	 * "ifconfig /usbserial up" tries to modprobe netdev-/usbserial.
--	 */
--	if (strchr(name, '/'))
--		bb_error_msg_and_die("malformed module name '%s'", name);
--
- 	m = get_or_add_modentry(name);
- 	if (!(option_mask32 & (OPT_REMOVE | OPT_SHOW_DEPS))
- 	 && (m->flags & MODULE_FLAG_LOADED)
---- busybox-1.23.0/modutils/modprobe-small.c
-+++ busybox-1.23.0-modprobe/modutils/modprobe-small.c
-@@ -149,9 +149,13 @@ static void replace(char *s, char what,
- static char *filename2modname(const char *filename, char *modname)
- {
- 	int i;
--	char *from;
-+	const char *from;
- 
--	from = bb_get_last_path_component_nostrip(filename);
-+	// Disabled since otherwise "modprobe dir/name" would work
-+	// as if it is "modprobe name". It is unclear why
-+	// 'basenamization' was here in the first place.
-+	//from = bb_get_last_path_component_nostrip(filename);
-+	from = filename;
- 	for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
- 		modname[i] = (from[i] == '-') ? '_' : from[i];
- 	modname[i] = '\0';
---- busybox-1.23.0/modutils/modutils.c
-+++ busybox-1.23.0-modprobe/modutils/modutils.c
-@@ -48,13 +48,17 @@ int FAST_FUNC string_to_llist(char *stri
- char* FAST_FUNC filename2modname(const char *filename, char *modname)
- {
- 	int i;
--	char *from;
-+	const char *from;
- 
- 	if (filename == NULL)
- 		return NULL;
- 	if (modname == NULL)
- 		modname = xmalloc(MODULE_NAME_LEN);
--	from = bb_get_last_path_component_nostrip(filename);
-+	// Disabled since otherwise "modprobe dir/name" would work
-+	// as if it is "modprobe name". It is unclear why
-+	// 'basenamization' was here in the first place.
-+	//from = bb_get_last_path_component_nostrip(filename);
-+	from = filename;
- 	for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
- 		modname[i] = (from[i] == '-') ? '_' : from[i];
- 	modname[i] = '\0';

+ 0 - 49
package/busybox/patches/006-busybox-1.23.0-vi.patch

@@ -1,49 +0,0 @@
---- busybox-1.23.0/editors/vi.c
-+++ busybox-1.23.0-vi/editors/vi.c
-@@ -542,9 +542,6 @@ static void cookmode(void);	// return to
- static int mysleep(int);
- static int readit(void);	// read (maybe cursor) key from stdin
- static int get_one_char(void);	// read 1 char from stdin
--#if !ENABLE_FEATURE_VI_READONLY
--#define file_insert(fn, p, update_ro_status) file_insert(fn, p)
--#endif
- // file_insert might reallocate text[]!
- static int file_insert(const char *, char *, int);
- static int file_write(char *, char *, char *);
-@@ -1325,7 +1322,7 @@ static void colon(char *buf)
- 			q = next_line(q);
- 		{ // dance around potentially-reallocated text[]
- 			uintptr_t ofs = q - text;
--			size = file_insert(fn, q, /*update_ro:*/ 0);
-+			size = file_insert(fn, q, 0);
- 			q = text + ofs;
- 		}
- 		if (size < 0)
-@@ -2905,7 +2902,7 @@ static char *get_input_line(const char *
- }
- 
- // might reallocate text[]!
--static int file_insert(const char *fn, char *p, int update_ro_status)
-+static int file_insert(const char *fn, char *p, int initial)
- {
- 	int cnt = -1;
- 	int fd, size;
-@@ -2918,7 +2915,8 @@ static int file_insert(const char *fn, c
- 
- 	fd = open(fn, O_RDONLY);
- 	if (fd < 0) {
--		status_line_bold_errno(fn);
-+		if (!initial)
-+			status_line_bold_errno(fn);
- 		return cnt;
- 	}
- 
-@@ -2946,7 +2944,7 @@ static int file_insert(const char *fn, c
- 	close(fd);
- 
- #if ENABLE_FEATURE_VI_READONLY
--	if (update_ro_status
-+	if (initial
- 	 && ((access(fn, W_OK) < 0) ||
- 		/* root will always have access()
- 		 * so we check fileperms too */