diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 0cc3a1bcb..35f954b93 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -13,11 +13,11 @@ PKG_SOURCE:=$(PKG_NAME)-snapshot.tar.bz2 PKG_SOURCE_URL:=http://www.busybox.net/downloads/snapshots PKG_MD5SUM:=x else -PKG_VERSION:=1.1.1 +PKG_VERSION:=1.1.2 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.busybox.net/downloads -PKG_MD5SUM:=ff1ade47255c643b68c9113c267ce712 +PKG_MD5SUM:=0b5d78072302fe687407956537bdb9e3 endif PKG_CAT:=bzcat diff --git a/package/busybox/patches/500-hotfixes.patch b/package/busybox/patches/500-hotfixes.patch deleted file mode 100644 index f4451fdc7..000000000 --- a/package/busybox/patches/500-hotfixes.patch +++ /dev/null @@ -1,212 +0,0 @@ -diff -Nur busybox-1.1.1/findutils/find.c busybox-1.1.1-owrt/findutils/find.c ---- busybox-1.1.1/findutils/find.c 2006-03-22 22:16:25.000000000 +0100 -+++ busybox-1.1.1-owrt/findutils/find.c 2006-04-01 19:23:30.000000000 +0200 -@@ -79,6 +79,15 @@ - - static int fileAction(const char *fileName, struct stat *statbuf, void* junk) - { -+#ifdef CONFIG_FEATURE_FIND_XDEV -+ if (S_ISDIR(statbuf->st_mode) && xdev_count) { -+ int i; -+ for (i=0; ist_dev) -+ return SKIP; -+ } -+ } -+#endif - if (pattern != NULL) { - const char *tmp = strrchr(fileName, '/'); - -@@ -125,21 +134,6 @@ - goto no_match; - } - #endif --#ifdef CONFIG_FEATURE_FIND_XDEV -- if (xdev_count) { -- int i; -- for (i=0; i st_dev) -- break; -- } -- if (i == xdev_count) { -- if(S_ISDIR(statbuf->st_mode)) -- return SKIP; -- else -- goto no_match; -- } -- } --#endif - #ifdef CONFIG_FEATURE_FIND_NEWER - if (newer_mtime != 0) { - time_t file_age = newer_mtime - statbuf->st_mtime; -diff -Nur busybox-1.1.1/libbb/Makefile.in busybox-1.1.1-owrt/libbb/Makefile.in ---- busybox-1.1.1/libbb/Makefile.in 2006-03-22 22:16:22.000000000 +0100 -+++ busybox-1.1.1-owrt/libbb/Makefile.in 2006-04-01 19:23:30.000000000 +0200 -@@ -39,6 +39,7 @@ - # conditionally compiled objects: - LIBBB-$(CONFIG_FEATURE_SHADOWPASSWDS)+=pwd2spwd.c - LIBBB-$(CONFIG_FEATURE_MOUNT_LOOP)+= loop.c -+LIBBB-$(CONFIG_LOSETUP)+= loop.c - LIBBB-$(CONFIG_FEATURE_MTAB_SUPPORT)+= mtab.c - LIBBB-$(CONFIG_PASSWD)+= pw_encrypt.c - LIBBB-$(CONFIG_SULOGIN)+= pw_encrypt.c -diff -Nur busybox-1.1.1/modutils/insmod.c busybox-1.1.1-owrt/modutils/insmod.c ---- busybox-1.1.1/modutils/insmod.c 2006-03-22 22:16:20.000000000 +0100 -+++ busybox-1.1.1-owrt/modutils/insmod.c 2006-04-01 19:23:30.000000000 +0200 -@@ -516,12 +516,6 @@ - #include - #include - --#if BB_LITTLE_ENDIAN --# define ELFDATAM ELFDATA2LSB --#else --# define ELFDATAM ELFDATA2MSB --#endif -- - #ifndef ElfW - # if ELFCLASSM == ELFCLASS32 - # define ElfW(x) Elf32_ ## x -@@ -3331,7 +3325,8 @@ - return NULL; - } - if (f->header.e_ident[EI_CLASS] != ELFCLASSM -- || f->header.e_ident[EI_DATA] != ELFDATAM -+ || f->header.e_ident[EI_DATA] != (BB_BIG_ENDIAN -+ ? ELFDATA2MSB : ELFDATA2LSB) - || f->header.e_ident[EI_VERSION] != EV_CURRENT - || !MATCH_MACHINE(f->header.e_machine)) { - bb_error_msg("ELF file not for this architecture"); -diff -Nur busybox-1.1.1/util-linux/Makefile.in busybox-1.1.1-owrt/util-linux/Makefile.in ---- busybox-1.1.1/util-linux/Makefile.in 2006-03-22 22:16:26.000000000 +0100 -+++ busybox-1.1.1-owrt/util-linux/Makefile.in 2006-04-01 19:23:30.000000000 +0200 -@@ -38,6 +38,8 @@ - UTILLINUX-$(CONFIG_SWITCH_ROOT) +=switch_root.o - UTILLINUX-$(CONFIG_UMOUNT) +=umount.o - -+UTILLINUX-y:=$(sort $(UTILLINUX-y)) -+ - ifneq ($(strip $(UTILLINUX-y)),) - libraries-y+=$(UTILLINUX_DIR)$(UTILLINUX_AR) - endif -diff -Nur busybox-1.1.1/util-linux/mount.c busybox-1.1.1-owrt/util-linux/mount.c ---- busybox-1.1.1/util-linux/mount.c 2006-03-22 22:16:26.000000000 +0100 -+++ busybox-1.1.1-owrt/util-linux/mount.c 2006-04-01 19:23:30.000000000 +0200 -@@ -184,6 +184,8 @@ - { - llist_free(fslist); - } -+#else -+void delete_block_backed_filesystems(void); - #endif - - #if ENABLE_FEATURE_MTAB_SUPPORT -@@ -196,12 +198,9 @@ - - // Perform actual mount of specific filesystem at specific location. - --static int mount_it_now(struct mntent *mp, int vfsflags) -+static int mount_it_now(struct mntent *mp, int vfsflags, char *filteropts) - { - int rc; -- char *filteropts = 0; -- -- parse_mount_options(mp->mnt_opts, &filteropts); - - if (fakeIt) { return 0; } - -@@ -217,8 +216,6 @@ - vfsflags |= MS_RDONLY; - } - -- free(filteropts); -- - // Abort entirely if permission denied. - - if (rc && errno == EPERM) -@@ -266,11 +263,11 @@ - static int singlemount(struct mntent *mp) - { - int rc = 1, vfsflags; -- char *loopFile = 0; -+ char *loopFile = 0, *filteropts = 0; - llist_t *fl = 0; - struct stat st; - -- vfsflags = parse_mount_options(mp->mnt_opts, 0); -+ vfsflags = parse_mount_options(mp->mnt_opts, &filteropts); - - // Treat fstype "auto" as unspecified. - -@@ -282,16 +279,16 @@ - (!mp->mnt_type || !strcmp(mp->mnt_type,"nfs")) && - strchr(mp->mnt_fsname, ':') != NULL) - { -- char *options=0; -- parse_mount_options(mp->mnt_opts, &options); -- if (nfsmount(mp->mnt_fsname, mp->mnt_dir, &vfsflags, &options, 1)) { -+ if (nfsmount(mp->mnt_fsname, mp->mnt_dir, &vfsflags, &filteropts, 1)) { - bb_perror_msg("nfsmount failed"); - return 1; -+ } else { -+ // Strangely enough, nfsmount() doesn't actually mount() anything. -+ rc = mount_it_now(mp, vfsflags, filteropts); -+ if (ENABLE_FEATURE_CLEAN_UP) free(filteropts); -+ -+ return rc; - } -- -- // Strangely enough, nfsmount() doesn't actually mount() anything. -- -- else return mount_it_now(mp, vfsflags); - } - - // Look at the file. (Not found isn't a failure for remount.) -@@ -324,7 +321,7 @@ - * to the actual mount. */ - - if (mp->mnt_type || (vfsflags & (MS_REMOUNT | MS_BIND | MS_MOVE))) -- rc = mount_it_now(mp, vfsflags); -+ rc = mount_it_now(mp, vfsflags, filteropts); - - // Loop through filesystem types until mount succeeds or we run out - -@@ -336,25 +333,26 @@ - - if (!fslist) { - fslist = get_block_backed_filesystems(); --#if ENABLE_FEATURE_CLEAN_UP - if (ENABLE_FEATURE_CLEAN_UP && fslist) - atexit(delete_block_backed_filesystems); --#endif - } - - for (fl = fslist; fl; fl = fl->link) { - mp->mnt_type = fl->data; - -- if (!(rc = mount_it_now(mp,vfsflags))) break; -+ if (!(rc = mount_it_now(mp,vfsflags, filteropts))) break; - - mp->mnt_type = 0; - } - } - -- // Mount failed. Clean up -+ if (ENABLE_FEATURE_CLEAN_UP) free(filteropts); -+ -+ // If mount failed, clean up loop file (if any). -+ - if (rc && loopFile) { - del_loop(mp->mnt_fsname); -- if(ENABLE_FEATURE_CLEAN_UP) { -+ if (ENABLE_FEATURE_CLEAN_UP) { - free(loopFile); - free(mp->mnt_fsname); - } -@@ -548,7 +546,6 @@ - if (ENABLE_FEATURE_CLEAN_UP) { - free(storage_path); - free(cmdopts); -- free(fstype); - } - - if(rc)