summaryrefslogtreecommitdiffstats
path: root/core/busybox
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-02-08 13:32:39 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-02-08 13:32:39 +0000
commit5adf1e75b2e4a6c60ebe6d84c7fee38699ba9f44 (patch)
tree48675f6bbaaca50b388bf3dfc73ed46f2c4fb107 /core/busybox
parente336cf1513d17854ccabd6a63eb1353a7857dcea (diff)
downloadaports-5adf1e75b2e4a6c60ebe6d84c7fee38699ba9f44.tar.bz2
aports-5adf1e75b2e4a6c60ebe6d84c7fee38699ba9f44.tar.xz
core/busybox: added patches from upstream
Diffstat (limited to 'core/busybox')
-rw-r--r--core/busybox/APKBUILD17
-rw-r--r--core/busybox/busybox-1.13.2-depmod.patch (renamed from core/busybox/busybox-1.13-depmod.patch)12
-rw-r--r--core/busybox/busybox-1.13.2-init.patch50
-rw-r--r--core/busybox/busybox-1.13.2-mdev.patch39
-rw-r--r--core/busybox/busybox-1.13.2-modprobe.patch99
-rw-r--r--core/busybox/busybox-1.13.2-tar.patch11
6 files changed, 220 insertions, 8 deletions
diff --git a/core/busybox/APKBUILD b/core/busybox/APKBUILD
index df4a32e1..13e58842 100644
--- a/core/busybox/APKBUILD
+++ b/core/busybox/APKBUILD
@@ -1,15 +1,18 @@
pkgname=busybox
pkgver=1.13.2
-pkgrel=1
+pkgrel=2
pkgdesc="Size optimized toolbox of many common UNIX utilities"
url=http://busybox.net
license=GPL-2
depends=uclibc
-
source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
$pkgname-1.12.1-vi-path.patch
$pkgname-1.11.1-bb.patch
- $pkgname-1.13-depmod.patch
+ busybox-1.13.2-depmod.patch
+ busybox-1.13.2-init.patch
+ busybox-1.13.2-mdev.patch
+ busybox-1.13.2-modprobe.patch
+ busybox-1.13.2-tar.patch
busyboxconfig"
build() {
@@ -33,5 +36,9 @@ build() {
md5sums="9e2a604d18bef219a5a6bf3acf78b9e1 busybox-1.13.2.tar.bz2
f5a8ae3145aa249868c1a1abc319c228 busybox-1.12.1-vi-path.patch
4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch
-1ff318833f8a1c1741635184cfb461ab busybox-1.13-depmod.patch
-9dc71773d0367b8e336476f7505f0449 busyboxconfig"
+7c9dfb5dcd66a1d6e837e72ad0cb05d4 busybox-1.13.2-depmod.patch
+7afb3a1b474742bc198b3c8450ab9a7e busybox-1.13.2-init.patch
+a72d169e9545e26257032e0e367feb95 busybox-1.13.2-mdev.patch
+6eeb6efcd71e57082d6654a9a6a368eb busybox-1.13.2-modprobe.patch
+90d093817855bc63ad16fbb8524f80df busybox-1.13.2-tar.patch
+1d70432165ecb21e942f6b1a30044003 busyboxconfig"
diff --git a/core/busybox/busybox-1.13-depmod.patch b/core/busybox/busybox-1.13.2-depmod.patch
index ffed432f..32d61638 100644
--- a/core/busybox/busybox-1.13-depmod.patch
+++ b/core/busybox/busybox-1.13.2-depmod.patch
@@ -1,5 +1,5 @@
---- busybox/modutils/depmod.c (revision 24668)
-+++ busybox/modutils/depmod.c (working copy)
+--- busybox-1.13.2/modutils/depmod.c Sun Nov 9 18:28:03 2008
++++ busybox-1.13.2-depmod/modutils/depmod.c Mon Jan 12 23:12:59 2009
@@ -33,7 +33,7 @@
enum {
ARG_a = (1<<0), /* All modules, ignore mods in argv */
@@ -95,7 +95,13 @@
for (m = modules; m != NULL; m = m->next) {
printf("%s:", m->name);
-@@ -179,7 +196,7 @@
+@@ -174,12 +191,12 @@
+ dep->dprev->dnext = dep->dnext;
+ dep->dnext = dep->dprev = dep;
+ }
+- puts("");
++ bb_putchar('\n');
+ }
#if ENABLE_FEATURE_MODUTILS_ALIAS
if (!(option_mask32 & ARG_n))
diff --git a/core/busybox/busybox-1.13.2-init.patch b/core/busybox/busybox-1.13.2-init.patch
new file mode 100644
index 00000000..1d98467a
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-init.patch
@@ -0,0 +1,50 @@
+--- busybox-1.13.2/init/init.c Wed Dec 31 04:06:45 2008
++++ busybox-1.13.2-init/init/init.c Thu Jan 29 03:02:13 2009
+@@ -671,15 +671,14 @@
+ */
+ static void parse_inittab(void)
+ {
++#if ENABLE_FEATURE_USE_INITTAB
+ char *token[4];
+- /* order must correspond to SYSINIT..RESTART constants */
+- static const char actions[] ALIGN1 =
+- "sysinit\0""respawn\0""askfirst\0""wait\0""once\0"
+- "ctrlaltdel\0""shutdown\0""restart\0";
++ parser_t *parser = config_open2("/etc/inittab", fopen_for_read);
+
+- parser_t *parser = config_open2(INITTAB, fopen_for_read);
+- /* No inittab file -- set up some default behavior */
+- if (parser == NULL) {
++ if (parser == NULL)
++#endif
++ {
++ /* No inittab file -- set up some default behavior */
+ /* Reboot on Ctrl-Alt-Del */
+ new_init_action(CTRLALTDEL, "reboot", "");
+ /* Umount all filesystems on halt/reboot */
+@@ -699,11 +698,17 @@
+ new_init_action(SYSINIT, INIT_SCRIPT, "");
+ return;
+ }
++
++#if ENABLE_FEATURE_USE_INITTAB
+ /* optional_tty:ignored_runlevel:action:command
+ * Delims are not to be collapsed and need exactly 4 tokens
+ */
+ while (config_read(parser, token, 4, 0, "#:",
+ PARSE_NORMAL & ~(PARSE_TRIM | PARSE_COLLAPSE))) {
++ /* order must correspond to SYSINIT..RESTART constants */
++ static const char actions[] ALIGN1 =
++ "sysinit\0""respawn\0""askfirst\0""wait\0""once\0"
++ "ctrlaltdel\0""shutdown\0""restart\0";
+ int action;
+ char *tty = token[0];
+
+@@ -727,6 +732,7 @@
+ parser->lineno);
+ }
+ config_close(parser);
++#endif
+ }
+
+ #if ENABLE_FEATURE_USE_INITTAB
diff --git a/core/busybox/busybox-1.13.2-mdev.patch b/core/busybox/busybox-1.13.2-mdev.patch
new file mode 100644
index 00000000..bd17f991
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-mdev.patch
@@ -0,0 +1,39 @@
+--- busybox-1.13.2/testsuite/mdev.tests Sun Nov 9 18:28:19 2008
++++ busybox-1.13.2-mdev/testsuite/mdev.tests Mon Jan 12 08:59:15 2009
+@@ -111,6 +111,22 @@
+
+ # continuing to use directory structure from prev test
+ rm -rf mdev.testdir/dev/*
++echo "sda 0:0 644 =block/ @echo @echo TEST" >mdev.testdir/etc/mdev.conf
++testing "mdev move and command" \
++ "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
++ ls -lnR mdev.testdir/dev | $FILTER_LS2" \
++"\
++@echo TEST
++mdev.testdir/dev:
++drwxr-xr-x 2 0 0 block
++
++mdev.testdir/dev/block:
++brw-r--r-- 1 0 0 sda
++" \
++ "" ""
++
++# continuing to use directory structure from prev test
++rm -rf mdev.testdir/dev/*
+ echo "@8,0 :1 644" >mdev.testdir/etc/mdev.conf
+ testing "mdev #maj,min and no explicit uid" \
+ "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
+--- busybox-1.13.2/util-linux/mdev.c Sun Nov 9 18:28:22 2008
++++ busybox-1.13.2-mdev/util-linux/mdev.c Mon Jan 12 08:59:15 2009
+@@ -179,8 +179,9 @@
+ unsigned i, n;
+ #endif
+ char *a = val;
+- s = strchr(val, ' ');
+- val = (s && s[1]) ? s+1 : NULL;
++ s = strchrnul(val, ' ');
++ val = (s[0] && s[1]) ? s+1 : NULL;
++ s[0] = '\0';
+ #if ENABLE_FEATURE_MDEV_RENAME_REGEXP
+ /* substitute %1..9 with off[1..9], if any */
+ n = 0;
diff --git a/core/busybox/busybox-1.13.2-modprobe.patch b/core/busybox/busybox-1.13.2-modprobe.patch
new file mode 100644
index 00000000..8fd7dc42
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-modprobe.patch
@@ -0,0 +1,99 @@
+--- busybox-1.13.2/modutils/modutils-24.c Sat Nov 29 07:48:56 2008
++++ busybox-1.13.2-modprobe/modutils/modutils-24.c Sun Feb 1 00:08:26 2009
+@@ -2150,7 +2150,7 @@
+ sec->name = name;
+ sec->idx = newidx;
+ if (size)
+- sec->contents = xmalloc(size);
++ sec->contents = xzalloc(size);
+
+ obj_insert_section_load_order(f, sec);
+
+@@ -2165,7 +2165,7 @@
+ int newidx = f->header.e_shnum++;
+ struct obj_section *sec;
+
+- f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
++ f->sections = xrealloc_vector(f->sections, 2, newidx);
+ f->sections[newidx] = sec = arch_new_section();
+
+ sec->header.sh_type = SHT_PROGBITS;
+@@ -2175,7 +2175,7 @@
+ sec->name = name;
+ sec->idx = newidx;
+ if (size)
+- sec->contents = xmalloc(size);
++ sec->contents = xzalloc(size);
+
+ sec->load_next = f->load_order;
+ f->load_order = sec;
+@@ -2571,8 +2571,7 @@
+ /* Collect the modules' symbols. */
+
+ if (nmod) {
+- ext_modules = modules = xmalloc(nmod * sizeof(*modules));
+- memset(modules, 0, nmod * sizeof(*modules));
++ ext_modules = modules = xzalloc(nmod * sizeof(*modules));
+ for (i = 0, mn = module_names, m = modules;
+ i < nmod; ++i, ++m, mn += strlen(mn) + 1) {
+ struct new_module_info info;
+@@ -2652,13 +2651,14 @@
+ }
+
+
+-static void new_create_this_module(struct obj_file *f, const char *m_name)
++static void new_create_this_module(struct obj_file *f, const char *m_name)
+ {
+ struct obj_section *sec;
+
+ sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
+ sizeof(struct new_module));
+- memset(sec->contents, 0, sizeof(struct new_module));
++ /* done by obj_create_alloced_section_first: */
++ /*memset(sec->contents, 0, sizeof(struct new_module));*/
+
+ obj_add_symbol(f, SPFX "__this_module", -1,
+ ELF_ST_INFO(STB_LOCAL, STT_OBJECT), sec->idx, 0,
+@@ -2965,9 +2965,9 @@
+ if (i == f->header.e_shnum) {
+ struct obj_section *sec;
+
++ f->header.e_shnum++;
+ f->sections = xrealloc_vector(f->sections, 2, i);
+ f->sections[i] = sec = arch_new_section();
+- f->header.e_shnum = i + 1;
+
+ sec->header.sh_type = SHT_PROGBITS;
+ sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
+@@ -3006,12 +3006,9 @@
+ for (i = 0; i < f->header.e_shnum; ++i) {
+ struct obj_section *s = f->sections[i];
+ if (s->header.sh_type == SHT_NOBITS) {
++ s->contents = NULL;
+ if (s->header.sh_size != 0)
+- s->contents = memset(xmalloc(s->header.sh_size),
+- 0, s->header.sh_size);
+- else
+- s->contents = NULL;
+-
++ s->contents = xzalloc(s->header.sh_size);
+ s->header.sh_type = SHT_PROGBITS;
+ }
+ }
+@@ -3275,14 +3272,13 @@
+ case SHT_SYMTAB:
+ case SHT_STRTAB:
+ case SHT_RELM:
++ sec->contents = NULL;
+ if (sec->header.sh_size > 0) {
+- sec->contents = xmalloc(sec->header.sh_size);
++ sec->contents = xzalloc(sec->header.sh_size);
+ fseek(fp, sec->header.sh_offset, SEEK_SET);
+ if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
+ bb_perror_msg_and_die("error reading ELF section data");
+ }
+- } else {
+- sec->contents = NULL;
+ }
+ break;
+
diff --git a/core/busybox/busybox-1.13.2-tar.patch b/core/busybox/busybox-1.13.2-tar.patch
new file mode 100644
index 00000000..3a59081c
--- /dev/null
+++ b/core/busybox/busybox-1.13.2-tar.patch
@@ -0,0 +1,11 @@
+--- busybox-1.13.2/archival/tar.c Sun Nov 9 18:28:02 2008
++++ busybox-1.13.2-tar/archival/tar.c Tue Jan 20 03:52:04 2009
+@@ -591,8 +591,6 @@
+ struct TarBallInfo tbInfo;
+
+ tbInfo.hlInfoHead = NULL;
+-
+- fchmod(tar_fd, 0644);
+ tbInfo.tarFd = tar_fd;
+ tbInfo.verboseFlag = verboseFlag;
+