diff options
-rw-r--r-- | package/busybox/Makefile | 6 | ||||
-rw-r--r-- | package/busybox/patches/004-busybox-1.23.0-ash.patch | 34 | ||||
-rw-r--r-- | package/busybox/patches/005-busybox-1.23.0-modprobe.patch | 114 | ||||
-rw-r--r-- | package/busybox/patches/006-busybox-1.23.0-vi.patch | 49 |
4 files changed, 3 insertions, 200 deletions
diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 83f29985e..313acbfc9 100644 --- a/package/busybox/Makefile +++ b/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 diff --git a/package/busybox/patches/004-busybox-1.23.0-ash.patch b/package/busybox/patches/004-busybox-1.23.0-ash.patch deleted file mode 100644 index fb494aa25..000000000 --- a/package/busybox/patches/004-busybox-1.23.0-ash.patch +++ /dev/null @@ -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; - } - diff --git a/package/busybox/patches/005-busybox-1.23.0-modprobe.patch b/package/busybox/patches/005-busybox-1.23.0-modprobe.patch deleted file mode 100644 index 5b28cdec5..000000000 --- a/package/busybox/patches/005-busybox-1.23.0-modprobe.patch +++ /dev/null @@ -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'; diff --git a/package/busybox/patches/006-busybox-1.23.0-vi.patch b/package/busybox/patches/006-busybox-1.23.0-vi.patch deleted file mode 100644 index 3a07ab9d9..000000000 --- a/package/busybox/patches/006-busybox-1.23.0-vi.patch +++ /dev/null @@ -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 */ |