wok-stable rev 5776

busybox: update patches
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 07 20:55:53 2010 +0200 (2010-07-07)
parents 0c0324ebd2d3
children 666fd56c3a0e
files busybox-pam/receipt busybox-static/receipt busybox/receipt busybox/stuff/busybox-1.11.0-dhcpc.u busybox/stuff/busybox-1.11.0-tar.u busybox/stuff/busybox-1.12.0-basename.u busybox/stuff/busybox-1.12.0-cpio-mkdir.u busybox/stuff/busybox-1.12.0-dhcpc.u busybox/stuff/busybox-1.12.0-dpkg_deb.u busybox/stuff/busybox-1.12.0-install.u busybox/stuff/busybox-1.12.0-ionice.u busybox/stuff/busybox-1.12.0-iptunnel.u busybox/stuff/busybox-1.12.0-mkswap.u busybox/stuff/busybox-1.12.0-modinfo.u busybox/stuff/busybox-1.12.0-modprobe.u busybox/stuff/busybox-1.12.0-paths.u busybox/stuff/busybox-1.12.0-replay.u busybox/stuff/busybox-1.12.0-ris.u busybox/stuff/busybox-1.12.0-rpm2cpio.u busybox/stuff/busybox-1.12.0-stat.u busybox/stuff/busybox-1.12.0-syslogd.u busybox/stuff/busybox-1.12.0-tar.u busybox/stuff/busybox-1.12.0-unlzma.u busybox/stuff/busybox-1.12.0-vcsa2txt.u busybox/stuff/busybox-1.12.0-zmodules.u busybox/stuff/busybox-1.12.0.config busybox/stuff/busybox-1.16.1-cpio-mkdir.u busybox/stuff/busybox-1.16.1-dpkg_deb.u busybox/stuff/busybox-1.16.1-ftpd.u busybox/stuff/busybox-1.16.1-modinfo.u busybox/stuff/busybox-1.16.1-modprobe.u busybox/stuff/busybox-1.16.1-ris.u busybox/stuff/busybox-1.16.1-stat.u busybox/stuff/busybox-1.16.1-syslogd.u busybox/stuff/busybox-1.16.1-tar.u busybox/stuff/busybox-1.16.1-vcsa2txt.u busybox/stuff/busybox-1.16.1-zmodules.u busybox/stuff/busybox-1.16.1.config busybox/stuff/busybox-1.17.0-cpio-mkdir.u busybox/stuff/busybox-1.17.0-depmod.u busybox/stuff/busybox-1.17.0-ris.u busybox/stuff/busybox-1.17.0-stat.u busybox/stuff/busybox-1.17.0-tar.u busybox/stuff/busybox-1.17.0-zmodules.u busybox/stuff/udhcp.script
line diff
     1.1 --- a/busybox-pam/receipt	Wed Jul 07 19:33:09 2010 +0200
     1.2 +++ b/busybox-pam/receipt	Wed Jul 07 20:55:53 2010 +0200
     1.3 @@ -28,6 +28,7 @@
     1.4  tar.u
     1.5  stat.u
     1.6  ris.u
     1.7 +depmod.u
     1.8  zmodules.u
     1.9  EOT
    1.10      cp $WOK/$SOURCE/stuff/$SOURCE-$VERSION.config .config
     2.1 --- a/busybox-static/receipt	Wed Jul 07 19:33:09 2010 +0200
     2.2 +++ b/busybox-static/receipt	Wed Jul 07 20:55:53 2010 +0200
     2.3 @@ -27,6 +27,7 @@
     2.4  tar.u
     2.5  stat.u
     2.6  ris.u
     2.7 +depmod.u
     2.8  zmodules.u
     2.9  EOT
    2.10      cp ../stuff/$SOURCE-$VERSION.config .config
     3.1 --- a/busybox/receipt	Wed Jul 07 19:33:09 2010 +0200
     3.2 +++ b/busybox/receipt	Wed Jul 07 20:55:53 2010 +0200
     3.3 @@ -26,6 +26,7 @@
     3.4  tar.u
     3.5  stat.u
     3.6  ris.u
     3.7 +depmod.u
     3.8  zmodules.u
     3.9  EOT
    3.10      cp ../stuff/$PACKAGE-$VERSION.config .config
     4.1 --- a/busybox/stuff/busybox-1.11.0-dhcpc.u	Wed Jul 07 19:33:09 2010 +0200
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,15 +0,0 @@
     4.4 ---- busybox-1.11.0/networking/udhcp/dhcpc.c
     4.5 -+++ busybox-1.11.0/networking/udhcp/dhcpc.c
     4.6 -@@ -356,7 +356,11 @@
     4.7 - 					if (packet_num == 0)
     4.8 - 						xid = random_xid();
     4.9 - 
    4.10 --					send_discover(xid, requested_ip); /* broadcast */
    4.11 -+					if (send_discover(xid, requested_ip) < 0) { /* broadcast */
    4.12 -+						bb_info_msg("No network, failing");
    4.13 -+						retval = 1;
    4.14 -+						goto ret;
    4.15 -+					}
    4.16 - 
    4.17 - 					timeout = discover_timeout;
    4.18 - 					packet_num++;
     5.1 --- a/busybox/stuff/busybox-1.11.0-tar.u	Wed Jul 07 19:33:09 2010 +0200
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,7 +0,0 @@
     5.4 -Accept --wildcards argument
     5.5 ---- busybox-1.11.0/archival/tar.c	
     5.6 -+++ busybox-1.11.0/archival/tar.c	
     5.7 -@@ -790,2 +790,3 @@
     5.8 - # endif
     5.9 -+	"wildcards\0"           No_argument       "\xfc"
    5.10 - 	"no-same-owner\0"       No_argument       "\xfd"
     6.1 --- a/busybox/stuff/busybox-1.12.0-basename.u	Wed Jul 07 19:33:09 2010 +0200
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,11 +0,0 @@
     6.4 -Basename may spuriously break build using 'set -e'
     6.5 ---- busybox-1.12.0/coreutils/basename.c
     6.6 -+++ busybox-1.12.0/coreutils/basename.c
     6.7 -@@ -48,5 +48,6 @@
     6.8 - 
     6.9 - 	/* puts(s) will do, but we can do without stdio this way: */
    6.10 - 	s[m++] = '\n';
    6.11 --	return full_write(STDOUT_FILENO, s, m) == (ssize_t)m;
    6.12 -+	full_write(STDOUT_FILENO, s, m);
    6.13 -+	return 0;
    6.14 - }
     7.1 --- a/busybox/stuff/busybox-1.12.0-cpio-mkdir.u	Wed Jul 07 19:33:09 2010 +0200
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,50 +0,0 @@
     7.4 ---- busybox-1.12.0/archival/libunarchive/data_extract_all.c
     7.5 -+++ busybox-1.12.0/archival/libunarchive/data_extract_all.c
     7.6 -@@ -38,7 +38,8 @@ void FAST_FUNC data_extract_all(archive_
     7.7 - 			}
     7.8 - 		}
     7.9 - 		else if (statbuf.st_mtime <= file_header->mtime) {
    7.10 --			if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)) {
    7.11 -+			if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET) &&
    7.12 -+				(file_header->mode & S_IFMT) != S_IFDIR) {
    7.13 - 				bb_error_msg("%s not created: newer or "
    7.14 - 					"same age file exists", file_header->name);
    7.15 - 			}
    7.16 -@@ -77,7 +78,7 @@ void FAST_FUNC data_extract_all(archive_
    7.17 - 		}
    7.18 - 		case S_IFDIR:
    7.19 - 			res = mkdir(file_header->name, file_header->mode);
    7.20 --			if ((res == -1) && (errno != EISDIR)
    7.21 -+			if ((res == -1) && (errno != EISDIR) && (errno != EEXIST)
    7.22 - 			 && !(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)
    7.23 - 			) {
    7.24 - 				bb_perror_msg("cannot make dir %s", file_header->name);
    7.25 -				
    7.26 ---- busybox-1.12.0/archival/cpio.c
    7.27 -+++ busybox-1.12.0/archival/cpio.c
    7.28 -@@ -30,6 +30,7 @@
    7.29 -  * It's ok to exit instead of return. */
    7.30 - static int cpio_o(void)
    7.31 - {
    7.32 -+	static char trailer[] = "TRAILER!!!";
    7.33 - 	struct name_s {
    7.34 - 		struct name_s *next;
    7.35 - 		char name[1];
    7.36 -@@ -119,7 +120,7 @@
    7.37 - 			} else {
    7.38 - 				/* If no (more) hardlinks to output,
    7.39 - 				 * output "trailer" entry */
    7.40 --				name = "TRAILER!!!";
    7.41 -+				name = trailer;
    7.42 - 				/* st.st_size == 0 is a must, but for uniformity
    7.43 - 				 * in the output, we zero out everything */
    7.44 - 				memset(&st, 0, sizeof(st));
    7.45 -@@ -167,7 +168,7 @@
    7.46 - 		}
    7.47 - 
    7.48 - 		if (!line) {
    7.49 --			if (links)
    7.50 -+			if (name != trailer)
    7.51 - 				goto next_link;
    7.52 - 			/* TODO: GNU cpio pads trailer to 512 bytes, do we want that? */
    7.53 - 			return EXIT_SUCCESS;
     8.1 --- a/busybox/stuff/busybox-1.12.0-dhcpc.u	Wed Jul 07 19:33:09 2010 +0200
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,1 +0,0 @@
     8.4 -busybox-1.11.0-dhcpc.u
     8.5 \ No newline at end of file
     9.1 --- a/busybox/stuff/busybox-1.12.0-dpkg_deb.u	Wed Jul 07 19:33:09 2010 +0200
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,14 +0,0 @@
     9.4 ---- busybox-1.12.0/archival/dpkg_deb.c
     9.5 -+++ busybox-1.12.0/archival/dpkg_deb.c
     9.6 -@@ -41,6 +41,11 @@
     9.7 - 	llist_add_to(&control_tar_llist, (char*)"control.tar.bz2");
     9.8 - #endif
     9.9 - 
    9.10 -+#if ENABLE_FEATURE_SEAMLESS_LZMA
    9.11 -+	llist_add_to(&(ar_archive->accept), (char*)"data.tar.lzma");
    9.12 -+	llist_add_to(&control_tar_llist, (char*)"control.tar.lzma");
    9.13 -+#endif
    9.14 -+
    9.15 - 	opt_complementary = "c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX";
    9.16 - 	opt = getopt32(argv, "cefXx");
    9.17 - 	argv += optind;
    10.1 --- a/busybox/stuff/busybox-1.12.0-install.u	Wed Jul 07 19:33:09 2010 +0200
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,55 +0,0 @@
    10.4 ---- busybox-1.12.0/coreutils/install.c
    10.5 -+++ busybox-1.12.0/coreutils/install.c
    10.6 -@@ -93,9 +93,10 @@
    10.7 - 		OPT_GROUP         = 1 << 6,
    10.8 - 		OPT_MODE          = 1 << 7,
    10.9 - 		OPT_OWNER         = 1 << 8,
   10.10 -+		OPT_D             = 1 << 9,
   10.11 - #if ENABLE_SELINUX
   10.12 --		OPT_SET_SECURITY_CONTEXT = 1 << 9,
   10.13 --		OPT_PRESERVE_SECURITY_CONTEXT = 1 << 10,
   10.14 -+		OPT_SET_SECURITY_CONTEXT = 1 << 10,
   10.15 -+		OPT_PRESERVE_SECURITY_CONTEXT = 1 << 11,
   10.16 - #endif
   10.17 - 	};
   10.18 - 
   10.19 -@@ -106,7 +107,7 @@
   10.20 - 	/* -c exists for backwards compatibility, it's needed */
   10.21 - 	/* -v is ignored ("print name of each created directory") */
   10.22 - 	/* -b is ignored ("make a backup of each existing destination file") */
   10.23 --	flags = getopt32(argv, "cvb" "dpsg:m:o:" USE_SELINUX("Z:"),
   10.24 -+	flags = getopt32(argv, "cvb" "dpsg:m:o:D" USE_SELINUX("Z:"),
   10.25 - 			&gid_str, &mode_str, &uid_str USE_SELINUX(, &scontext));
   10.26 - 	argc -= optind;
   10.27 - 	argv += optind;
   10.28 -@@ -161,6 +162,12 @@
   10.29 - 		} else {
   10.30 - 			if (isdir)
   10.31 - 				dest = concat_path_file(last, basename(arg));
   10.32 -+			if (flags & OPT_D) {
   10.33 -+				char *dir = xstrdup(dest);
   10.34 -+				bb_make_directory(dirname(dir), 0755, FILEUTILS_RECUR);
   10.35 -+				if (ENABLE_FEATURE_CLEAN_UP)
   10.36 -+					free(dir);
   10.37 -+			}
   10.38 - 			if (copy_file(arg, dest, copy_flags)) {
   10.39 - 				/* copy is not made */
   10.40 - 				ret = EXIT_FAILURE;
   10.41 -
   10.42 ---- busybox-1.12.0/include/usage.h
   10.43 -+++ busybox-1.12.0/include/usage.h
   10.44 -@@ -1869,12 +1869,13 @@
   10.45 - 	)
   10.46 - 
   10.47 - #define install_trivial_usage \
   10.48 --       "[-cgmops] [sources] dest|directory"
   10.49 -+       "[-cdDgmops] [sources] dest|directory"
   10.50 - #define install_full_usage "\n\n" \
   10.51 -        "Copy files and set attributes\n" \
   10.52 -      "\nOptions:" \
   10.53 -      "\n	-c	Copy the file, default" \
   10.54 -      "\n	-d	Create directories" \
   10.55 -+     "\n	-D	Create target path" \
   10.56 -      "\n	-g	Set group ownership" \
   10.57 -      "\n	-m	Set permissions" \
   10.58 -      "\n	-o	Set ownership" \
    11.1 --- a/busybox/stuff/busybox-1.12.0-ionice.u	Wed Jul 07 19:33:09 2010 +0200
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,163 +0,0 @@
    11.4 ---- busybox-1.12.0/include/applets.h	2008-12-16 22:32:03.000000000 +0100
    11.5 -+++ busybox-1.12.0/include/applets.h	2008-12-16 22:34:06.000000000 +0100
    11.6 -@@ -191,6 +191,7 @@
    11.7 - USE_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
    11.8 - USE_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe))
    11.9 - USE_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   11.10 -+USE_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_NEVER))
   11.11 - #if ENABLE_FEATURE_IP_ADDRESS \
   11.12 -  || ENABLE_FEATURE_IP_ROUTE \
   11.13 -  || ENABLE_FEATURE_IP_LINK \
   11.14 -
   11.15 -
   11.16 ---- busybox-1.12.0/miscutils/Config.in	2008-12-14 23:41:16.000000000 +0100
   11.17 -+++ busybox-1.12.0/miscutils/Config.in	2008-12-14 23:27:56.000000000 +0100
   11.18 -@@ -223,6 +223,13 @@
   11.19 - 	    "NN" (ASCII decimal number) - percentage to show on progress bar
   11.20 - 	    "exit" - well you guessed it
   11.21 - 
   11.22 -+config IONICE
   11.23 -+	bool "ionice"
   11.24 -+	default n
   11.25 -+	help
   11.26 -+	  get/set program io scheduling class and priority
   11.27 -+	  Requires kernel >= 2.6.13
   11.28 -+
   11.29 - config INOTIFYD
   11.30 - 	bool "inotifyd"
   11.31 - 	default n
   11.32 -
   11.33 ---- busybox-1.12.0/miscutils/Kbuild	2008-12-14 23:22:52.000000000 +0100
   11.34 -+++ busybox-1.12.0/miscutils/Kbuild	2008-12-14 23:22:27.000000000 +0100
   11.35 -@@ -16,4 +16,5 @@
   11.36 - lib-$(CONFIG_EJECT)       += eject.o
   11.37 - lib-$(CONFIG_FBSPLASH)    += fbsplash.o
   11.38 -+lib-$(CONFIG_IONICE)      += ionice.o
   11.39 - lib-$(CONFIG_HDPARM)      += hdparm.o
   11.40 - lib-$(CONFIG_INOTIFYD)    += inotifyd.o
   11.41 -
   11.42 ---- busybox-1.12.0/include/usage.h	2008-12-16 22:31:43.000000000 +0100
   11.43 -+++ busybox-1.12.0/include/usage.h	2008-12-16 22:32:14.000000000 +0100
   11.44 -@@ -1884,6 +1884,16 @@
   11.45 - 	USE_SELINUX( \
   11.46 -      "\n	-Z	Set security context of copy" \
   11.47 - 	)
   11.48 -+	
   11.49 -+#define ionice_trivial_usage \
   11.50 -+	"[-c 1-3] [-n 0-7] [-p PID] [COMMAND [ARG...]]"
   11.51 -+#define ionice_full_usage "\n\n" \
   11.52 -+       "change io scheduling class and priority\n" \
   11.53 -+     "\nOptions:" \
   11.54 -+     "\n	-c  scheduling class. 1=real time 2=best-effort, 3=idle" \
   11.55 -+     "\n	-n  Priority " \
   11.56 -+     "\n	-p   process pid " 
   11.57 -+
   11.58 - 
   11.59 - /* would need to make the " | " optional depending on more than one selected: */
   11.60 - #define ip_trivial_usage \
   11.61 -
   11.62 -diff --git busybox-1.12.0/miscutils/ionice.c busybox-1.12.0/miscutils/ionice.c
   11.63 -new file mode 100644
   11.64 -index 0000000..88d771c
   11.65 ---- busybox-1.12.0/dev/null
   11.66 -+++ busybox-1.12.0/miscutils/ionice.c
   11.67 -@@ -0,0 +1,99 @@
   11.68 -+/* vi: set sw=4 ts=4: */
   11.69 -+/*
   11.70 -+ * ionice implementation for busybox based on linux-utils-ng 2.14
   11.71 -+ *
   11.72 -+ * Copyright (C) 2008 by <u173034@informatik.uni-oldenburg.de>
   11.73 -+ *
   11.74 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
   11.75 -+ */
   11.76 -+
   11.77 -+#include <sys/syscall.h>
   11.78 -+#include <asm/unistd.h>
   11.79 -+#include "libbb.h"
   11.80 -+
   11.81 -+static int ioprio_set(int which, int who, int ioprio)
   11.82 -+{
   11.83 -+ return syscall(SYS_ioprio_set, which, who, ioprio);
   11.84 -+}
   11.85 -+
   11.86 -+static int ioprio_get(int which, int who)
   11.87 -+{
   11.88 -+ return syscall(SYS_ioprio_get, which, who);
   11.89 -+}
   11.90 -+
   11.91 -+enum {
   11.92 -+ IOPRIO_WHO_PROCESS = 1,
   11.93 -+ IOPRIO_WHO_PGRP,
   11.94 -+ IOPRIO_WHO_USER
   11.95 -+};
   11.96 -+
   11.97 -+enum {
   11.98 -+ IOPRIO_CLASS_NONE,
   11.99 -+ IOPRIO_CLASS_RT,
  11.100 -+ IOPRIO_CLASS_BE,
  11.101 -+ IOPRIO_CLASS_IDLE
  11.102 -+};
  11.103 -+
  11.104 -+static const char to_prio[] = "none\0realtime\0best-effort\0idle";
  11.105 -+
  11.106 -+#define IOPRIO_CLASS_SHIFT 13
  11.107 -+
  11.108 -+int ionice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  11.109 -+int ionice_main(int argc UNUSED_PARAM, char **argv)
  11.110 -+{
  11.111 -+ /* Defaults */
  11.112 -+ int ioclass = 0;
  11.113 -+ int pri = 0;
  11.114 -+ int pid = 0; /* affect own porcess */
  11.115 -+ int opt;
  11.116 -+ enum {
  11.117 -+ OPT_n = 1,
  11.118 -+ OPT_c = 2,
  11.119 -+ OPT_p = 4,
  11.120 -+ };
  11.121 -+
  11.122 -+ /* Numeric params */
  11.123 -+ opt_complementary = "n+:c+:p+";
  11.124 -+ /* '+': stop at first non-option */
  11.125 -+ opt = getopt32(argv, "+n:c:p:", &pri, &ioclass, &pid);
  11.126 -+ argv += optind;
  11.127 -+
  11.128 -+ if (opt & OPT_c) {
  11.129 -+ if (ioclass > 3)
  11.130 -+ bb_error_msg_and_die("bad class %d", ioclass);
  11.131 -+// Do we need this (compat?)?
  11.132 -+// if (ioclass == IOPRIO_CLASS_NONE)
  11.133 -+// ioclass = IOPRIO_CLASS_BE;
  11.134 -+// if (ioclass == IOPRIO_CLASS_IDLE) {
  11.135 -+// //if (opt & OPT_n)
  11.136 -+// // bb_error_msg("ignoring priority for idle class");
  11.137 -+// pri = 7;
  11.138 -+// }
  11.139 -+ }
  11.140 -+
  11.141 -+ if (!(opt & (OPT_n|OPT_c))) {
  11.142 -+ if (!(opt & OPT_p) && *argv)
  11.143 -+ pid = xatoi_u(*argv);
  11.144 -+
  11.145 -+ pri = ioprio_get(IOPRIO_WHO_PROCESS, pid);
  11.146 -+ if (pri == -1)
  11.147 -+ bb_perror_msg_and_die("ioprio_%cet", 'g');
  11.148 -+
  11.149 -+ ioclass = (pri >> IOPRIO_CLASS_SHIFT) & 0x3;
  11.150 -+ pri &= 0xff;
  11.151 -+ printf((ioclass == IOPRIO_CLASS_IDLE) ? "%s\n" : "%s: prio %d\n",
  11.152 -+ nth_string(to_prio, ioclass), pri);
  11.153 -+ } else {
  11.154 -+//printf("pri=%d class=%d val=%x\n",
  11.155 -+//pri, ioclass, pri | (ioclass << IOPRIO_CLASS_SHIFT));
  11.156 -+ pri |= (ioclass << IOPRIO_CLASS_SHIFT);
  11.157 -+ if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1)
  11.158 -+ bb_perror_msg_and_die("ioprio_%cet", 's');
  11.159 -+ if (*argv) {
  11.160 -+ BB_EXECVP(*argv, argv);
  11.161 -+ bb_simple_perror_msg_and_die(*argv);
  11.162 -+ }
  11.163 -+ }
  11.164 -+
  11.165 -+ return EXIT_SUCCESS;
  11.166 -+}
    12.1 --- a/busybox/stuff/busybox-1.12.0-iptunnel.u	Wed Jul 07 19:33:09 2010 +0200
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,51 +0,0 @@
    12.4 ---- busybox-1.12.0/networking/libiproute/iptunnel.c
    12.5 -+++ busybox-1.12.0/networking/libiproute/iptunnel.c
    12.6 -@@ -21,7 +21,47 @@
    12.7 - #ifndef __constant_htons
    12.8 - #define __constant_htons htons
    12.9 - #endif
   12.10 --#include <linux/if_tunnel.h>
   12.11 -+// FYI: #define SIOCDEVPRIVATE 0x89F0
   12.12 -+
   12.13 -+/* From linux/if_tunnel.h. #including it proved troublesome
   12.14 -+ * (redefiniton errors due to name collisions in linux/ and net[inet]/) */
   12.15 -+#define SIOCGETTUNNEL   (SIOCDEVPRIVATE + 0)
   12.16 -+#define SIOCADDTUNNEL   (SIOCDEVPRIVATE + 1)
   12.17 -+#define SIOCDELTUNNEL   (SIOCDEVPRIVATE + 2)
   12.18 -+#define SIOCCHGTUNNEL   (SIOCDEVPRIVATE + 3)
   12.19 -+//#define SIOCGETPRL      (SIOCDEVPRIVATE + 4)
   12.20 -+//#define SIOCADDPRL      (SIOCDEVPRIVATE + 5)
   12.21 -+//#define SIOCDELPRL      (SIOCDEVPRIVATE + 6)
   12.22 -+//#define SIOCCHGPRL      (SIOCDEVPRIVATE + 7)
   12.23 -+#define GRE_CSUM        __constant_htons(0x8000)
   12.24 -+//#define GRE_ROUTING     __constant_htons(0x4000)
   12.25 -+#define GRE_KEY         __constant_htons(0x2000)
   12.26 -+#define GRE_SEQ         __constant_htons(0x1000)
   12.27 -+//#define GRE_STRICT      __constant_htons(0x0800)
   12.28 -+//#define GRE_REC         __constant_htons(0x0700)
   12.29 -+//#define GRE_FLAGS       __constant_htons(0x00F8)
   12.30 -+//#define GRE_VERSION     __constant_htons(0x0007)
   12.31 -+struct ip_tunnel_parm {
   12.32 -+	char            name[IFNAMSIZ];
   12.33 -+	int             link;
   12.34 -+	uint16_t        i_flags;
   12.35 -+	uint16_t        o_flags;
   12.36 -+	uint32_t        i_key;
   12.37 -+	uint32_t        o_key;
   12.38 -+	struct iphdr    iph;
   12.39 -+};
   12.40 -+/* SIT-mode i_flags */
   12.41 -+//#define SIT_ISATAP 0x0001
   12.42 -+//struct ip_tunnel_prl {
   12.43 -+//	uint32_t          addr;
   12.44 -+//	uint16_t          flags;
   12.45 -+//	uint16_t          __reserved;
   12.46 -+//	uint32_t          datalen;
   12.47 -+//	uint32_t          __reserved2;
   12.48 -+//	/* data follows */
   12.49 -+//};
   12.50 -+///* PRL flags */
   12.51 -+//#define PRL_DEFAULT 0x0001
   12.52 - 
   12.53 - #include "ip_common.h"  /* #include "libbb.h" is inside */
   12.54 - #include "rt_names.h"
    13.1 --- a/busybox/stuff/busybox-1.12.0-mkswap.u	Wed Jul 07 19:33:09 2010 +0200
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,35 +0,0 @@
    13.4 -Without label, Gparted call mkswap -L '' <device> 
    13.5 ---- busybox-1.12.0/util-linux/mkswap.c
    13.6 -+++ busybox-1.12.0/util-linux/mkswap.c
    13.7 -@@ -92,14 +92,14 @@
    13.8 - {
    13.9 - 	int fd, pagesize;
   13.10 - 	off_t len;
   13.11 -+	char *label = NULL;
   13.12 - 
   13.13 --	// No options supported.
   13.14 --
   13.15 --	if (argc != 2) bb_show_usage();
   13.16 -+	getopt32(argv, "L:", &label);
   13.17 -+	argv += optind;
   13.18 - 
   13.19 - 	// Figure out how big the device is and announce our intentions.
   13.20 - 
   13.21 --	fd = xopen(argv[1], O_RDWR);
   13.22 -+	fd = xopen(argv[0], O_RDWR);
   13.23 - 	/* fdlength was reported to be unreliable - use seek */
   13.24 - 	len = xlseek(fd, 0, SEEK_END);
   13.25 - #if ENABLE_SELINUX
   13.26 -@@ -119,6 +119,12 @@
   13.27 - 
   13.28 - 	xlseek(fd, 1024, SEEK_SET);
   13.29 - 	xwrite(fd, hdr, NWORDS * 4);
   13.30 -+	if (label) {
   13.31 -+		if (strlen(label) > 15)
   13.32 -+			label[15] = 0;
   13.33 -+		xlseek(fd, 1024 + 28, SEEK_SET);
   13.34 -+		xwrite(fd, label, strlen(label));
   13.35 -+	}
   13.36 - 	xlseek(fd, pagesize - 10, SEEK_SET);
   13.37 - 	xwrite(fd, SWAPSPACE2, 10);
   13.38 - 	fsync(fd);
    14.1 --- a/busybox/stuff/busybox-1.12.0-modinfo.u	Wed Jul 07 19:33:09 2010 +0200
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,166 +0,0 @@
    14.4 ---- busybox-1.12.0/include/applets.h
    14.5 -+++ busybox-1.12.0/include/applets.h
    14.6 -@@ -251,6 +251,7 @@ USE_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix
    14.7 - USE_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER))
    14.8 - USE_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER))
    14.9 - USE_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER))
   14.10 -+USE_MODINFO(APPLET(modinfo, _BB_DIR_SBIN, _BB_SUID_NEVER))
   14.11 - USE_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER))
   14.12 - USE_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER))
   14.13 - USE_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER))
   14.14 -
   14.15 ---- busybox-1.12.0/include/usage.h
   14.16 -+++ busybox-1.12.0/include/usage.h
   14.17 -@@ -2629,6 +2629,20 @@
   14.18 -        "   which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \
   14.19 -        "   from the command line\n"
   14.20 - 
   14.21 -+#define modinfo_trivial_usage \
   14.22 -+       "[-adlp0] [-F keyword] MODULE"
   14.23 -+#define modinfo_full_usage "\n\n" \
   14.24 -+       "Options:" \
   14.25 -+     "\n	-a		Shortcut for '-F author'" \
   14.26 -+     "\n	-d		Shortcut for '-F description'" \
   14.27 -+     "\n	-l		Shortcut for '-F license'" \
   14.28 -+     "\n	-p		Shortcut for '-F parm'" \
   14.29 -+     "\n	-F keyword	Keyword to look for" \
   14.30 -+     "\n	-0		Use \\0 string separator. Not \\n" \
   14.31 -+
   14.32 -+#define modinfo_example_usage \
   14.33 -+       "$ modinfo -F vermagic loop\n"
   14.34 -+       
   14.35 - #define more_trivial_usage \
   14.36 -        "[FILE...]"
   14.37 - #define more_full_usage "\n\n" \
   14.38 -
   14.39 ---- busybox-1.12.0/modutils/Config.in
   14.40 -+++ busybox-1.12.0/modutils/Config.in
   14.41 -@@ -213,6 +213,12 @@ config FEATURE_MODPROBE_BLACKLIST
   14.42 - 	  hardware autodetection scripts to load modules like evdev, frame
   14.43 - 	  buffer drivers etc.
   14.44 - 
   14.45 -+config MODINFO
   14.46 -+	bool "modinfo"
   14.47 -+	default n
   14.48 -+	help
   14.49 -+	  Show information about a Linux Kernel module
   14.50 -+
   14.51 - comment "Options common to multiple modutils"
   14.52 - 	depends on INSMOD || RMMOD || MODPROBE || LSMOD || DEPMOD
   14.53 - 
   14.54 -
   14.55 ---- busybox-1.12.0/modutils/Kbuild
   14.56 -+++ busybox-1.12.0/modutils/Kbuild
   14.57 -@@ -11,3 +11,4 @@ lib-$(CONFIG_LSMOD)             += lsmod
   14.58 - lib-$(CONFIG_MODPROBE)          += modprobe.o
   14.59 - lib-$(CONFIG_MODPROBE_SMALL)    += modprobe-small.o
   14.60 - lib-$(CONFIG_RMMOD)             += rmmod.o
   14.61 -+lib-$(CONFIG_MODINFO)           += modinfo.o
   14.62 -
   14.63 ---- busybox-1.12.0/modutils/modinfo.c
   14.64 -+++ busybox-1.12.0/modutils/modinfo.c
   14.65 -@@ -0,0 +1,104 @@
   14.66 -+/* vi: set sw=4 ts=4: */
   14.67 -+/*
   14.68 -+ * modinfo - retrieve module info
   14.69 -+ * Copyright (c) 2008 Pascal Bellard
   14.70 -+ *
   14.71 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
   14.72 -+ */
   14.73 -+
   14.74 -+#undef _GNU_SOURCE
   14.75 -+#define _GNU_SOURCE
   14.76 -+#include <libbb.h>
   14.77 -+#include <fnmatch.h>
   14.78 -+
   14.79 -+#define ALL_TAGS	0x3F
   14.80 -+
   14.81 -+enum {
   14.82 -+	ARG_F = (1<<6), /* field name */
   14.83 -+	ARG_0 = (1<<7)  /* \0 as separator */
   14.84 -+};
   14.85 -+
   14.86 -+struct modinfo_env {
   14.87 -+	char **argv;
   14.88 -+	const char **literals;
   14.89 -+	char *field;
   14.90 -+	int tags;
   14.91 -+};
   14.92 -+
   14.93 -+static int display(char *data, const char *pattern, int flag)
   14.94 -+{
   14.95 -+	if (flag) {
   14.96 -+		int n = printf("%s:",pattern);
   14.97 -+		while (n++ < 16) bb_putchar(' ');
   14.98 -+	}
   14.99 -+	return printf("%s%c",data, (option_mask32 & ARG_0) ? '\0' : '\n');
  14.100 -+}
  14.101 -+
  14.102 -+static void modinfo(char *name, char *path, void *env)
  14.103 -+{
  14.104 -+	size_t len;
  14.105 -+	int i, j, length;
  14.106 -+	char *ptr, *the_module;
  14.107 -+	char **argv = ((struct modinfo_env *) env)->argv;
  14.108 -+	const char **literals = ((struct modinfo_env *) env)->literals;
  14.109 -+	const char *field = ((struct modinfo_env *) env)->field;
  14.110 -+	int tags = ((struct modinfo_env *) env)->tags;
  14.111 -+	extern void *xalloc_load_module(const char filename[], size_t *len);
  14.112 -+
  14.113 -+	for (i = 0; argv[i]; i++) {
  14.114 -+		if (fnmatch(argv[i],name,0) == 0) {
  14.115 -+			if (tags & 1) { /* filename */
  14.116 -+				display(path,literals[0],1 != tags);
  14.117 -+			}
  14.118 -+			len = MAXINT(ssize_t);
  14.119 -+			the_module = xalloc_load_module(path, &len);
  14.120 -+			if (field) tags |= ALL_TAGS+1;
  14.121 -+			for (j = 1; (1<<j) & (ALL_TAGS+ALL_TAGS+1); j++)	{
  14.122 -+				const char *pattern = field;
  14.123 -+				if ((1<<j) & ALL_TAGS) pattern = literals[j];
  14.124 -+				if (!((1<<j) & tags)) continue;
  14.125 -+				length = strlen(pattern);
  14.126 -+				ptr = the_module;
  14.127 -+				do {
  14.128 -+					ptr = memchr(ptr, *pattern, len - (ptr - (char*)the_module));
  14.129 -+					if (ptr == NULL) /* no occurance left, done */
  14.130 -+						break;
  14.131 -+					if (!strncmp(ptr, pattern, length) && ptr[length] == '=') {
  14.132 -+						ptr += length + 1;
  14.133 -+						ptr += display(ptr,pattern,(1<<j) != tags);
  14.134 -+					}
  14.135 -+					++ptr;
  14.136 -+				} while (1);
  14.137 -+			}
  14.138 -+			free(the_module);
  14.139 -+		}
  14.140 -+	}
  14.141 -+}
  14.142 -+
  14.143 -+int modinfo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  14.144 -+int modinfo_main(int argc UNUSED_PARAM, char **argv)
  14.145 -+{
  14.146 -+	static const char *shortcuts[] = {
  14.147 -+		"filename",
  14.148 -+		"description",
  14.149 -+		"author",
  14.150 -+		"license",
  14.151 -+		"vermagic",
  14.152 -+		"parm",
  14.153 -+	};
  14.154 -+	struct modinfo_env env;
  14.155 -+	extern void mod_walk(void (*action)(char *name, char *path, void *env),
  14.156 -+						 void *data);
  14.157 -+
  14.158 -+	env.field = NULL;
  14.159 -+	env.literals = shortcuts;
  14.160 -+	getopt32(argv, "fdalvpF:0", &env.field);
  14.161 -+	env.argv = argv += optind;
  14.162 -+	env.tags = (option_mask32) ? option_mask32 & ALL_TAGS : ALL_TAGS;
  14.163 -+
  14.164 -+	if (!*env.argv)
  14.165 -+		bb_show_usage();
  14.166 -+
  14.167 -+	mod_walk(modinfo, &env);
  14.168 -+	return 0;
  14.169 -+}
    15.1 --- a/busybox/stuff/busybox-1.12.0-modprobe.u	Wed Jul 07 19:33:09 2010 +0200
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,53 +0,0 @@
    15.4 ---- busybox-1.12.0/modutils/modprobe.c
    15.5 -+++ busybox-1.12.0/modutils/modprobe.c
    15.6 -@@ -932,8 +932,9 @@
    15.7 - 	opt = getopt32(argv, MAIN_OPT_STR, &unused, &unused);
    15.8 - 	argv += optind;
    15.9 - 
   15.10 --	if (opt & (DUMP_CONF_EXIT | LIST_ALL))
   15.11 -+	if (opt & DUMP_CONF_EXIT)
   15.12 - 		return EXIT_SUCCESS;
   15.13 -+	
   15.14 - 	if (opt & (RESTRICT_DIR | CONFIG_FILE))
   15.15 - 		bb_error_msg_and_die("-t and -C not supported");
   15.16 - 
   15.17 -@@ -942,6 +943,15 @@
   15.18 - 	if (!depend)
   15.19 - 		bb_error_msg_and_die("cannot parse "CONFIG_DEFAULT_DEPMOD_FILE);
   15.20 - 
   15.21 -+	if (opt & LIST_ALL) {
   15.22 -+		struct dep_t *dt;
   15.23 -+		for (dt = depend; dt && dt->m_path; dt = dt->m_next) {
   15.24 -+			if (*argv && fnmatch(*argv,dt->m_name,0)) continue;
   15.25 -+			puts(dt->m_path);
   15.26 -+		}
   15.27 -+		return EXIT_SUCCESS;
   15.28 -+	}
   15.29 -+
   15.30 - 	if (remove_opt) {
   15.31 - 		do {
   15.32 - 			/* (*argv) can be NULL here */
   15.33 -
   15.34 ---- busybox-1.12.0/modutils/modprobe.c
   15.35 -+++ busybox-1.12.0/modutils/modprobe.c
   15.36 -@@ -921,6 +921,20 @@
   15.37 - 	return rc;
   15.38 - }
   15.39 - 
   15.40 -+void mod_walk(void (*action)(char *name, char *path, void *env), void *data);
   15.41 -+void mod_walk(void (*action)(char *name, char *path, void *env), void *data)
   15.42 -+{
   15.43 -+	struct dep_t *dt;
   15.44 -+
   15.45 -+	depend = build_dep();
   15.46 -+	if (!depend)
   15.47 -+		bb_error_msg_and_die("cannot parse "CONFIG_DEFAULT_DEPMOD_FILE);
   15.48 -+
   15.49 -+	for (dt = depend; dt && dt->m_path; dt = dt->m_next) {
   15.50 -+		action(dt->m_name, dt->m_path, data);
   15.51 -+	}
   15.52 -+}
   15.53 -+
   15.54 - int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   15.55 - int modprobe_main(int argc UNUSED_PARAM, char **argv)
   15.56 - {
    16.1 --- a/busybox/stuff/busybox-1.12.0-paths.u	Wed Jul 07 19:33:09 2010 +0200
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,29 +0,0 @@
    16.4 ---- busybox-1.12.0/include/applets.h
    16.5 -+++ busybox-1.12.0/include/applets.h
    16.6 -@@ -180,7 +180,7 @@
    16.7 - USE_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
    16.8 - USE_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER))
    16.9 - USE_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER))
   16.10 --USE_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.11 -+USE_ID(APPLET(id, _BB_DIR_BIN, _BB_SUID_NEVER))
   16.12 - USE_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
   16.13 - USE_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown))
   16.14 - USE_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_NEVER))
   16.15 -@@ -311,7 +311,7 @@
   16.16 - USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.17 - USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.18 - USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.19 --USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.20 -+USE_SCRIPT(APPLET(script, _BB_DIR_BIN, _BB_SUID_NEVER))
   16.21 - USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER))
   16.22 - USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
   16.23 - USE_SENDMAIL(APPLET_ODDNAME(sendmail, sendgetmail, _BB_DIR_USR_SBIN, _BB_SUID_NEVER, sendmail))
   16.24 -@@ -390,7 +390,7 @@
   16.25 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.26 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.27 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
   16.28 --USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   16.29 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_BIN, _BB_SUID_NEVER))
   16.30 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
   16.31 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
   16.32 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
    17.1 --- a/busybox/stuff/busybox-1.12.0-replay.u	Wed Jul 07 19:33:09 2010 +0200
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,221 +0,0 @@
    17.4 ---- busybox-1.12.0/util-linux/script.c
    17.5 -+++ busybox-1.12.0/util-linux/script.c
    17.6 -@@ -36,6 +36,15 @@
    17.7 - 	const char *shell;
    17.8 - 	char shell_opt[] = "-i";
    17.9 - 	char *shell_arg = NULL;
   17.10 -+	enum {
   17.11 -+		OPT_a = (1 << 0),
   17.12 -+		OPT_c = (1 << 1),
   17.13 -+		OPT_f = (1 << 2),
   17.14 -+		OPT_q = (1 << 3),
   17.15 -+#if ENABLE_REPLAY
   17.16 -+		OPT_t = (1 << 4),
   17.17 -+#endif
   17.18 -+	};
   17.19 - 
   17.20 - #if ENABLE_GETOPT_LONG
   17.21 - 	static const char getopt_longopts[] ALIGN1 =
   17.22 -@@ -43,25 +52,28 @@
   17.23 - 		"command\0" Required_argument "c"
   17.24 - 		"flush\0"   No_argument       "f"
   17.25 - 		"quiet\0"   No_argument       "q"
   17.26 -+# if ENABLE_REPLAY
   17.27 -+		"timing\0"  No_argument       "t"
   17.28 -+# endif
   17.29 - 		;
   17.30 - 
   17.31 - 	applet_long_options = getopt_longopts;
   17.32 - #endif
   17.33 - 	opt_complementary = "?1"; /* max one arg */
   17.34 --	opt = getopt32(argv, "ac:fq", &shell_arg);
   17.35 -+	opt = getopt32(argv, "ac:fq" USE_REPLAY("t") , &shell_arg);
   17.36 - 	//argc -= optind;
   17.37 - 	argv += optind;
   17.38 - 	if (argv[0]) {
   17.39 - 		fname = argv[0];
   17.40 - 	}
   17.41 - 	mode = O_CREAT|O_TRUNC|O_WRONLY;
   17.42 --	if (opt & 1) {
   17.43 -+	if (opt & OPT_a) {
   17.44 - 		mode = O_CREAT|O_APPEND|O_WRONLY;
   17.45 - 	}
   17.46 --	if (opt & 2) {
   17.47 -+	if (opt & OPT_c) {
   17.48 - 		shell_opt[1] = 'c';
   17.49 - 	}
   17.50 --	if (!(opt & 8)) { /* not -q */
   17.51 -+	if (!(opt & OPT_q)) {
   17.52 - 		printf("Script started, file is %s\n", fname);
   17.53 - 	}
   17.54 - 	shell = getenv("SHELL");
   17.55 -@@ -97,6 +109,10 @@
   17.56 - #define buf bb_common_bufsiz1
   17.57 - 		struct pollfd pfd[2];
   17.58 - 		int outfd, count, loop;
   17.59 -+#if ENABLE_REPLAY
   17.60 -+		struct timeval tv;
   17.61 -+		double oldtime=time(NULL), newtime;
   17.62 -+#endif
   17.63 - 
   17.64 - 		outfd = xopen(fname, mode);
   17.65 - 		pfd[0].fd = pty;
   17.66 -@@ -118,15 +134,27 @@
   17.67 - 			}
   17.68 - 			if (pfd[0].revents) {
   17.69 - 				errno = 0;
   17.70 -+#if ENABLE_REPLAY
   17.71 -+				if (opt & OPT_t) {
   17.72 -+					gettimeofday(&tv, NULL);
   17.73 -+				}
   17.74 -+#endif
   17.75 - 				count = safe_read(pty, buf, sizeof(buf));
   17.76 - 				if (count <= 0 && errno != EAGAIN) {
   17.77 - 					/* err/eof from pty: exit */
   17.78 - 					goto restore;
   17.79 - 				}
   17.80 - 				if (count > 0) {
   17.81 -+#if ENABLE_REPLAY
   17.82 -+					if (opt & OPT_t) {
   17.83 -+						newtime = tv.tv_sec + (double) tv.tv_usec / 1000000;
   17.84 -+						fprintf(stderr, "%f %i\n", newtime - oldtime, count);
   17.85 -+						oldtime = newtime;
   17.86 -+					}
   17.87 -+#endif
   17.88 - 					full_write(STDOUT_FILENO, buf, count);
   17.89 - 					full_write(outfd, buf, count);
   17.90 --					if (opt & 4) { /* -f */
   17.91 -+					if (opt & OPT_f) {
   17.92 - 						fsync(outfd);
   17.93 - 					}
   17.94 - 				}
   17.95 -@@ -158,7 +186,7 @@
   17.96 -  restore:
   17.97 - 		if (attr_ok == 0)
   17.98 - 			tcsetattr(0, TCSAFLUSH, &tt);
   17.99 --		if (!(opt & 8)) /* not -q */
  17.100 -+		if (!(opt & OPT_q))
  17.101 - 			printf("Script done, file is %s\n", fname);
  17.102 - 		return EXIT_SUCCESS;
  17.103 - 	}
  17.104 -
  17.105 ---- busybox-1.12.0/util-linux/Config.in
  17.106 -+++ busybox-1.12.0/util-linux/Config.in
  17.107 -@@ -719,6 +719,13 @@
  17.108 - 	help
  17.109 - 	  This allows you to parse /proc/profile for basic profiling.
  17.110 - 
  17.111 -+config REPLAY
  17.112 -+	bool "replay"
  17.113 -+	default n
  17.114 -+	help
  17.115 -+	  This program replays a typescript, using timing information
  17.116 -+	  given by script -t.
  17.117 -+
  17.118 - config RTCWAKE
  17.119 - 	bool "rtcwake"
  17.120 - 	default n
  17.121 -
  17.122 ---- busybox-1.12.0/util-linux/Kbuild
  17.123 -+++ busybox-1.12.0/util-linux/Kbuild
  17.124 -@@ -28,6 +28,7 @@
  17.125 - lib-$(CONFIG_RDATE)             += rdate.o
  17.126 - lib-$(CONFIG_RDEV)              += rdev.o
  17.127 - lib-$(CONFIG_READPROFILE)       += readprofile.o
  17.128 -+lib-$(CONFIG_REPLAY)            += replay.o
  17.129 - lib-$(CONFIG_RTCWAKE)           += rtcwake.o
  17.130 - lib-$(CONFIG_SCRIPT)            += script.o
  17.131 - lib-$(CONFIG_SETARCH)           += setarch.o
  17.132 -
  17.133 ---- busybox-1.12.0/include/applets.h
  17.134 -+++ busybox-1.12.0/include/applets.h
  17.135 -@@ -294,6 +294,7 @@
  17.136 - USE_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  17.137 - USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot))
  17.138 - USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  17.139 -+USE_REPLAY(APPLET(replay, _BB_DIR_BIN, _BB_SUID_NEVER))
  17.140 - USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  17.141 - USE_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  17.142 - USE_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER, restorecon))
  17.143 -
  17.144 ---- busybox-1.12.0/include/usage.h
  17.145 -+++ busybox-1.12.0/include/usage.h
  17.146 -@@ -3244,6 +3244,11 @@
  17.147 -      "\n	-g	Process group id(s)" \
  17.148 -      "\n	-u	Process user name(s) and/or id(s)" \
  17.149 - 
  17.150 -+#define replay_trivial_usage \
  17.151 -+       "timingfile [typescript [divisor]]"
  17.152 -+#define replay_full_usage "\n\n" \
  17.153 -+       "Play back typescripts, using timing information"
  17.154 -+
  17.155 - #define reset_trivial_usage \
  17.156 -        ""
  17.157 - #define reset_full_usage "\n\n" \
  17.158 -@@ -3426,13 +3431,20 @@
  17.159 - 
  17.160 - #define script_trivial_usage \
  17.161 -        "[-afq] [-c COMMAND] [OUTFILE]"
  17.162 --#define script_full_usage "\n\n" \
  17.163 -+#define script_full_usage_base "\n\n" \
  17.164 -        "Options:" \
  17.165 -      "\n	-a	Append output" \
  17.166 -      "\n	-c	Run COMMAND, not shell" \
  17.167 -      "\n	-f	Flush output after each write" \
  17.168 -      "\n	-q	Quiet" \
  17.169 - 
  17.170 -+#ifdef USE_REPLAY
  17.171 -+#define script_full_usage script_full_usage_base \
  17.172 -+     "\n	-t	Send timing to stderr"
  17.173 -+#else
  17.174 -+#define script_full_usage script_full_usage_base
  17.175 -+#endif
  17.176 -+
  17.177 - #define sed_trivial_usage \
  17.178 -        "[-efinr] pattern [files...]"
  17.179 - #define sed_full_usage "\n\n" \
  17.180 -
  17.181 ---- busybox-1.12.0/util-linux/replay.c
  17.182 -+++ busybox-1.12.0/util-linux/replay.c
  17.183 -@@ -0,0 +1,41 @@
  17.184 -+/* vi: set sw=4 ts=4: */
  17.185 -+/*
  17.186 -+ * replay - play back typescripts, using timing information
  17.187 -+ *
  17.188 -+ * pascal.bellard@ads-lu.com
  17.189 -+ *
  17.190 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
  17.191 -+ *
  17.192 -+ */
  17.193 -+
  17.194 -+#include "libbb.h"
  17.195 -+
  17.196 -+int replay_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  17.197 -+int replay_main(int argc, char **argv)
  17.198 -+{
  17.199 -+	const char *script = "typescript";
  17.200 -+	double delay, factor = 1000000.0;
  17.201 -+	int fd;
  17.202 -+	long count;
  17.203 -+	FILE *tfp;
  17.204 -+
  17.205 -+	switch (argc) {
  17.206 -+	case 4: factor /= atof(argv[3]);
  17.207 -+	case 3: script = argv[2];
  17.208 -+	case 2:	break;
  17.209 -+	default:
  17.210 -+		bb_show_usage();
  17.211 -+	}
  17.212 -+
  17.213 -+	tfp = xfopen_for_read(argv[1]);
  17.214 -+	fd = open(script, O_RDONLY);
  17.215 -+	while (fscanf(tfp, "%lf %ld\n", &delay, &count) == 2) {
  17.216 -+		usleep(delay * factor);
  17.217 -+		bb_copyfd_exact_size(fd, STDOUT_FILENO, count);
  17.218 -+	}
  17.219 -+#if ENABLE_FEATURE_CLEAN_UP
  17.220 -+	close(fd);
  17.221 -+	fclose(tfp);
  17.222 -+#endif
  17.223 -+	return EXIT_SUCCESS;
  17.224 -+}
    18.1 --- a/busybox/stuff/busybox-1.12.0-ris.u	Wed Jul 07 19:33:09 2010 +0200
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,97 +0,0 @@
    18.4 ---- busybox-1.12.0/networking/tftp.c
    18.5 -+++ busybox-1.12.0/networking/tftp.c
    18.6 -@@ -552,6 +552,63 @@
    18.7 - #undef tsize
    18.8 - }
    18.9 - 
   18.10 -+#if ENABLE_FEATURE_TFTPD_RIS
   18.11 -+#include <dirent.h>
   18.12 -+
   18.13 -+int lookup_entry(const char *comp, char *dest);
   18.14 -+void lookup_file(char *filename);
   18.15 -+
   18.16 -+int lookup_entry(const char *comp, char *dest)
   18.17 -+{
   18.18 -+	DIR *dirp;
   18.19 -+	struct dirent *dptr;
   18.20 -+	if (!dest) return 0;
   18.21 -+	dirp = opendir(dest[0] ? dest : ".");
   18.22 -+	while ((dptr = readdir(dirp))) {
   18.23 -+		if (!strcasecmp(dptr->d_name, comp)) {
   18.24 -+			if (dest[0]) strcat(dest, "/");
   18.25 -+			strcat(dest, dptr->d_name);
   18.26 -+			closedir(dirp);
   18.27 -+			return 1;
   18.28 -+		}
   18.29 -+	}
   18.30 -+	closedir(dirp);
   18.31 -+	return 0;
   18.32 -+}
   18.33 -+
   18.34 -+void lookup_file(char *filename)
   18.35 -+{
   18.36 -+	int found = 0;
   18.37 -+	int len = 0;
   18.38 -+	char dest[1024];
   18.39 -+	char comp[1024];
   18.40 -+	char *check = filename;
   18.41 -+	char *seek = NULL;
   18.42 -+
   18.43 -+	dest[0] = 0;
   18.44 -+	check++;
   18.45 -+	while (*check) {
   18.46 -+		seek = strchr(check, '\\');
   18.47 -+		if (!seek) {
   18.48 -+			if ((*check) && (lookup_entry(check, dest)))
   18.49 -+				found = 1;
   18.50 -+			break;
   18.51 -+		}
   18.52 -+		len = seek - check;
   18.53 -+		memcpy(comp, check, len);
   18.54 -+		comp[len]=0;
   18.55 -+		if (!lookup_entry(comp, dest))
   18.56 -+			break;
   18.57 -+		check += len + 1;
   18.58 -+	}
   18.59 -+
   18.60 -+	if (found) {
   18.61 -+		filename[0] = 0;
   18.62 -+		strcat(filename, dest);
   18.63 -+	}
   18.64 -+}
   18.65 -+#endif
   18.66 -+
   18.67 - #if ENABLE_TFTP
   18.68 - 
   18.69 - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   18.70 -@@ -680,6 +737,11 @@
   18.71 - 		goto err;
   18.72 - 	}
   18.73 - 	local_file = block_buf + 2;
   18.74 -+#if ENABLE_FEATURE_TFTPD_RIS
   18.75 -+	if (local_file[0] == '\\') {
   18.76 -+		lookup_file(local_file);
   18.77 -+	}
   18.78 -+#endif
   18.79 - 	if (local_file[0] == '.' || strstr(local_file, "/.")) {
   18.80 - 		error_msg = "dot in file name";
   18.81 - 		goto err;
   18.82 -
   18.83 ---- busybox-1.12.0/networking/Config.in
   18.84 -+++ busybox-1.12.0/networking/Config.in
   18.85 -@@ -794,6 +794,15 @@
   18.86 - 	  In other words: it should be run from inetd in nowait mode,
   18.87 - 	  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
   18.88 - 
   18.89 -+config FEATURE_TFTPD_RIS
   18.90 -+	bool "Enable \"RIS\" support"
   18.91 -+	default y
   18.92 -+	depends on TFTPD
   18.93 -+	help
   18.94 -+	  Add support for the Remote Installation Service. This allows
   18.95 -+	  a client to get files starting with \ without respecting case.
   18.96 -+	  Each \ will be replaced by a /.
   18.97 -+
   18.98 - config FEATURE_TFTP_GET
   18.99 - 	bool "Enable \"get\" command"
  18.100 - 	default y
    19.1 --- a/busybox/stuff/busybox-1.12.0-rpm2cpio.u	Wed Jul 07 19:33:09 2010 +0200
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,33 +0,0 @@
    19.4 -Add bz2 support
    19.5 ---- busybox-1.12.0/archival/rpm2cpio.c
    19.6 -+++ busybox-1.12.0/archival/rpm2cpio.c
    19.7 -@@ -55,6 +55,7 @@
    19.8 - 	struct rpm_lead lead;
    19.9 - 	int rpm_fd;
   19.10 - 	unsigned char magic[2];
   19.11 -+	USE_DESKTOP(long long) int FAST_FUNC (*unpack)(int src_fd, int dst_fd);
   19.12 - 
   19.13 - 	if (argc == 1) {
   19.14 - 		rpm_fd = STDIN_FILENO;
   19.15 -@@ -75,11 +76,19 @@
   19.16 - 	skip_header(rpm_fd);
   19.17 - 
   19.18 - 	xread(rpm_fd, &magic, 2);
   19.19 -+	unpack = unpack_gz_stream;
   19.20 - 	if ((magic[0] != 0x1f) || (magic[1] != 0x8b)) {
   19.21 --		bb_error_msg_and_die("invalid gzip magic");
   19.22 -+		if (!ENABLE_FEATURE_SEAMLESS_BZ2
   19.23 -+		 || magic[0] != 'B' || magic[1] != 'Z'
   19.24 -+		) {
   19.25 -+			bb_error_msg_and_die("invalid gzip"
   19.26 -+					     USE_FEATURE_SEAMLESS_BZ2("/bzip2")
   19.27 -+					     " magic");
   19.28 -+		}
   19.29 -+		unpack = unpack_bz2_stream;
   19.30 - 	}
   19.31 - 
   19.32 --	if (unpack_gz_stream(rpm_fd, STDOUT_FILENO) < 0) {
   19.33 -+	if (unpack(rpm_fd, STDOUT_FILENO) < 0) {
   19.34 - 		bb_error_msg("error inflating");
   19.35 - 	}
   19.36 - 
    20.1 --- a/busybox/stuff/busybox-1.12.0-stat.u	Wed Jul 07 19:33:09 2010 +0200
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,74 +0,0 @@
    20.4 -Add stat -m
    20.5 ---- busybox-1.12.0/coreutils/stat.c
    20.6 -+++ busybox-1.12.0/coreutils/stat.c
    20.7 -@@ -14,12 +14,14 @@
    20.8 -  */
    20.9 - 
   20.10 - #include "libbb.h"
   20.11 -+#include <linux/fs.h>
   20.12 - 
   20.13 - /* vars to control behavior */
   20.14 - #define OPT_FILESYS     (1 << 0)
   20.15 - #define OPT_TERSE       (1 << 1)
   20.16 - #define OPT_DEREFERENCE (1 << 2)
   20.17 --#define OPT_SELINUX     (1 << 3)
   20.18 -+#define OPT_MAP         (1 << 3)
   20.19 -+#define OPT_SELINUX     (1 << 4)
   20.20 - 
   20.21 - #if ENABLE_FEATURE_STAT_FORMAT
   20.22 - typedef bool (*statfunc_ptr)(const char *, const char *);
   20.23 -@@ -345,6 +347,26 @@ static void print_it(const char *masterf
   20.24 - 
   20.25 - /* Stat the file system and print what we find.  */
   20.26 - #if !ENABLE_FEATURE_STAT_FORMAT
   20.27 -+#define do_mapfile(filename, format) do_mapfile(filename)
   20.28 -+#endif
   20.29 -+static bool do_mapfile(const char *filename, const char *format)
   20.30 -+{
   20.31 -+	int i = 0;
   20.32 -+	int fd = xopen(filename, O_RDONLY);
   20.33 -+
   20.34 -+#if ENABLE_FEATURE_STAT_FORMAT
   20.35 -+	(void) format;
   20.36 -+#endif
   20.37 -+	while (1) {
   20.38 -+		int blk = i++;
   20.39 -+		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   20.40 -+		printf("%u\n",blk);
   20.41 -+	}	
   20.42 -+	return 1;
   20.43 -+}
   20.44 -+
   20.45 -+/* Stat the file system and print what we find.  */
   20.46 -+#if !ENABLE_FEATURE_STAT_FORMAT
   20.47 - #define do_statfs(filename, format) do_statfs(filename)
   20.48 - #endif
   20.49 - static bool do_statfs(const char *filename, const char *format)
   20.50 -@@ -632,13 +654,15 @@ int stat_main(int argc, char **argv)
   20.51 - 	int ok = 1;
   20.52 - 	statfunc_ptr statfunc = do_stat;
   20.53 - 
   20.54 --	getopt32(argv, "ftL"
   20.55 -+	getopt32(argv, "ftLm"
   20.56 - 		USE_SELINUX("Z")
   20.57 - 		USE_FEATURE_STAT_FORMAT("c:", &format)
   20.58 - 	);
   20.59 - 
   20.60 - 	if (option_mask32 & OPT_FILESYS) /* -f */
   20.61 - 		statfunc = do_statfs;
   20.62 -+	if (option_mask32 & OPT_MAP) /* -m */
   20.63 -+		statfunc = do_mapfile;
   20.64 - 	if (argc == optind)           /* files */
   20.65 - 		bb_show_usage();
   20.66 - 
   20.67 -
   20.68 ---- busybox-1.12.0/include/usage.h
   20.69 -+++ busybox-1.12.0/include/usage.h
   20.70 -@@ -3746,6 +3746,7 @@
   20.71 - 	) \
   20.72 -      "\n	-f	Display filesystem status" \
   20.73 -      "\n	-L	Dereference links" \
   20.74 -+     "\n	-m	Display block list" \
   20.75 -      "\n	-t	Display info in terse form" \
   20.76 - 	USE_SELINUX( \
   20.77 -      "\n	-Z	Print security context" \
    21.1 --- a/busybox/stuff/busybox-1.12.0-syslogd.u	Wed Jul 07 19:33:09 2010 +0200
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,11 +0,0 @@
    21.4 ---- busybox-1.12.0/sysklogd/syslogd.c
    21.5 -+++ busybox-1.12.0/sysklogd/syslogd.c
    21.6 -@@ -44,7 +44,7 @@
    21.7 - #undef SYSLOGD_MARK
    21.8 - 
    21.9 - enum {
   21.10 --	MAX_READ = 256,
   21.11 -+	MAX_READ = 1024,
   21.12 - 	DNS_WAIT_SEC = 2 * 60,
   21.13 - };
   21.14 - 
    22.1 --- a/busybox/stuff/busybox-1.12.0-tar.u	Wed Jul 07 19:33:09 2010 +0200
    22.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.3 @@ -1,1 +0,0 @@
    22.4 -busybox-1.11.0-tar.u
    22.5 \ No newline at end of file
    23.1 --- a/busybox/stuff/busybox-1.12.0-unlzma.u	Wed Jul 07 19:33:09 2010 +0200
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,302 +0,0 @@
    23.4 ---- busybox-1.12.0/archival/libunarchive/decompress_unlzma.c
    23.5 -+++ busybox-1.12.0/archival/libunarchive/decompress_unlzma.c
    23.6 -@@ -14,8 +14,10 @@
    23.7 - 
    23.8 - #if ENABLE_FEATURE_LZMA_FAST
    23.9 - #  define speed_inline ALWAYS_INLINE
   23.10 -+#  define size_inline
   23.11 - #else
   23.12 - #  define speed_inline
   23.13 -+#  define size_inline ALWAYS_INLINE
   23.14 - #endif
   23.15 - 
   23.16 - 
   23.17 -@@ -44,8 +46,8 @@
   23.18 - #define RC_MODEL_TOTAL_BITS 11
   23.19 - 
   23.20 - 
   23.21 --/* Called twice: once at startup and once in rc_normalize() */
   23.22 --static void rc_read(rc_t *rc)
   23.23 -+/* Called twice: once at startup (LZMA_FAST only) and once in rc_normalize() */
   23.24 -+static size_inline void rc_read(rc_t *rc)
   23.25 - {
   23.26 - 	int buffer_size = safe_read(rc->fd, RC_BUFFER, RC_BUFFER_SIZE);
   23.27 - 	if (buffer_size <= 0)
   23.28 -@@ -54,8 +56,17 @@
   23.29 - 	rc->buffer_end = RC_BUFFER + buffer_size;
   23.30 - }
   23.31 - 
   23.32 -+/* Called twice, but one callsite is in speed_inline'd rc_is_bit_1() */
   23.33 -+static void rc_do_normalize(rc_t *rc)
   23.34 -+{
   23.35 -+	if (rc->ptr >= rc->buffer_end)
   23.36 -+		rc_read(rc);
   23.37 -+	rc->range <<= 8;
   23.38 -+	rc->code = (rc->code << 8) | *rc->ptr++;
   23.39 -+}
   23.40 -+
   23.41 - /* Called once */
   23.42 --static rc_t* rc_init(int fd) /*, int buffer_size) */
   23.43 -+static ALWAYS_INLINE rc_t* rc_init(int fd) /*, int buffer_size) */
   23.44 - {
   23.45 - 	int i;
   23.46 - 	rc_t *rc;
   23.47 -@@ -63,17 +74,18 @@
   23.48 - 	rc = xmalloc(sizeof(*rc) + RC_BUFFER_SIZE);
   23.49 - 
   23.50 - 	rc->fd = fd;
   23.51 --	/* rc->buffer_size = buffer_size; */
   23.52 --	rc->buffer_end = RC_BUFFER + RC_BUFFER_SIZE;
   23.53 - 	rc->ptr = rc->buffer_end;
   23.54 - 
   23.55 --	rc->code = 0;
   23.56 --	rc->range = 0xFFFFFFFF;
   23.57 - 	for (i = 0; i < 5; i++) {
   23.58 -+#if ENABLE_FEATURE_LZMA_FAST
   23.59 - 		if (rc->ptr >= rc->buffer_end)
   23.60 - 			rc_read(rc);
   23.61 - 		rc->code = (rc->code << 8) | *rc->ptr++;
   23.62 -+#else
   23.63 -+		rc_do_normalize(rc);
   23.64 -+#endif
   23.65 - 	}
   23.66 -+	rc->range = 0xFFFFFFFF;
   23.67 - 	return rc;
   23.68 - }
   23.69 - 
   23.70 -@@ -83,14 +95,6 @@
   23.71 - 	free(rc);
   23.72 - }
   23.73 - 
   23.74 --/* Called twice, but one callsite is in speed_inline'd rc_is_bit_0_helper() */
   23.75 --static void rc_do_normalize(rc_t *rc)
   23.76 --{
   23.77 --	if (rc->ptr >= rc->buffer_end)
   23.78 --		rc_read(rc);
   23.79 --	rc->range <<= 8;
   23.80 --	rc->code = (rc->code << 8) | *rc->ptr++;
   23.81 --}
   23.82 - static ALWAYS_INLINE void rc_normalize(rc_t *rc)
   23.83 - {
   23.84 - 	if (rc->range < (1 << RC_TOP_BITS)) {
   23.85 -@@ -98,49 +102,30 @@
   23.86 - 	}
   23.87 - }
   23.88 - 
   23.89 --/* rc_is_bit_0 is called 9 times */
   23.90 --/* Why rc_is_bit_0_helper exists?
   23.91 -- * Because we want to always expose (rc->code < rc->bound) to optimizer.
   23.92 -- * Thus rc_is_bit_0 is always inlined, and rc_is_bit_0_helper is inlined
   23.93 -- * only if we compile for speed.
   23.94 -- */
   23.95 --static speed_inline uint32_t rc_is_bit_0_helper(rc_t *rc, uint16_t *p)
   23.96 -+/* rc_is_bit_1 is called 9 times */
   23.97 -+static speed_inline int rc_is_bit_1(rc_t *rc, uint16_t *p)
   23.98 - {
   23.99 - 	rc_normalize(rc);
  23.100 - 	rc->bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS);
  23.101 --	return rc->bound;
  23.102 -+	if (rc->code < rc->bound) {
  23.103 -+		rc->range = rc->bound;
  23.104 -+		*p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS;
  23.105 -+		return 0;
  23.106 -+	}
  23.107 -+	else {
  23.108 -+		rc->range -= rc->bound;
  23.109 -+		rc->code -= rc->bound;
  23.110 -+		*p -= *p >> RC_MOVE_BITS;
  23.111 -+		return 1;
  23.112 -+	}
  23.113 - }
  23.114 --static ALWAYS_INLINE int rc_is_bit_0(rc_t *rc, uint16_t *p)
  23.115 --{
  23.116 --	uint32_t t = rc_is_bit_0_helper(rc, p);
  23.117 --	return rc->code < t;
  23.118 --}
  23.119 - 
  23.120 --/* Called ~10 times, but very small, thus inlined */
  23.121 --static speed_inline void rc_update_bit_0(rc_t *rc, uint16_t *p)
  23.122 --{
  23.123 --	rc->range = rc->bound;
  23.124 --	*p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS;
  23.125 --}
  23.126 --static speed_inline void rc_update_bit_1(rc_t *rc, uint16_t *p)
  23.127 --{
  23.128 --	rc->range -= rc->bound;
  23.129 --	rc->code -= rc->bound;
  23.130 --	*p -= *p >> RC_MOVE_BITS;
  23.131 --}
  23.132 --
  23.133 - /* Called 4 times in unlzma loop */
  23.134 --static int rc_get_bit(rc_t *rc, uint16_t *p, int *symbol)
  23.135 -+static speed_inline int rc_get_bit(rc_t *rc, uint16_t *p, int *symbol)
  23.136 - {
  23.137 --	if (rc_is_bit_0(rc, p)) {
  23.138 --		rc_update_bit_0(rc, p);
  23.139 --		*symbol *= 2;
  23.140 --		return 0;
  23.141 --	} else {
  23.142 --		rc_update_bit_1(rc, p);
  23.143 --		*symbol = *symbol * 2 + 1;
  23.144 --		return 1;
  23.145 --	}
  23.146 -+	int ret = rc_is_bit_1(rc, p);
  23.147 -+	*symbol = *symbol * 2 + ret;
  23.148 -+	return ret;
  23.149 - }
  23.150 - 
  23.151 - /* Called once */
  23.152 -@@ -266,13 +251,13 @@
  23.153 - 	header.dst_size = SWAP_LE64(header.dst_size);
  23.154 - 
  23.155 - 	if (header.dict_size == 0)
  23.156 --		header.dict_size = 1;
  23.157 -+		header.dict_size++;
  23.158 - 
  23.159 - 	buffer = xmalloc(MIN(header.dst_size, header.dict_size));
  23.160 - 
  23.161 - 	num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp));
  23.162 - 	p = xmalloc(num_probs * sizeof(*p));
  23.163 --	num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp));
  23.164 -+	num_probs += LZMA_LITERAL - LZMA_BASE_SIZE;
  23.165 - 	for (i = 0; i < num_probs; i++)
  23.166 - 		p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1;
  23.167 - 
  23.168 -@@ -282,9 +267,8 @@
  23.169 - 		int pos_state = (buffer_pos + global_pos) & pos_state_mask;
  23.170 - 
  23.171 - 		prob = p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state;
  23.172 --		if (rc_is_bit_0(rc, prob)) {
  23.173 -+		if (!rc_is_bit_1(rc, prob)) {
  23.174 - 			mi = 1;
  23.175 --			rc_update_bit_0(rc, prob);
  23.176 - 			prob = (p + LZMA_LITERAL
  23.177 - 			        + (LZMA_LIT_SIZE * ((((buffer_pos + global_pos) & literal_pos_mask) << lc)
  23.178 - 			                            + (previous_byte >> (8 - lc))
  23.179 -@@ -340,26 +324,21 @@
  23.180 - 			int offset;
  23.181 - 			uint16_t *prob_len;
  23.182 - 
  23.183 --			rc_update_bit_1(rc, prob);
  23.184 - 			prob = p + LZMA_IS_REP + state;
  23.185 --			if (rc_is_bit_0(rc, prob)) {
  23.186 --				rc_update_bit_0(rc, prob);
  23.187 -+			if (!rc_is_bit_1(rc, prob)) {
  23.188 - 				rep3 = rep2;
  23.189 - 				rep2 = rep1;
  23.190 - 				rep1 = rep0;
  23.191 - 				state = state < LZMA_NUM_LIT_STATES ? 0 : 3;
  23.192 - 				prob = p + LZMA_LEN_CODER;
  23.193 - 			} else {
  23.194 --				rc_update_bit_1(rc, prob);
  23.195 --				prob = p + LZMA_IS_REP_G0 + state;
  23.196 --				if (rc_is_bit_0(rc, prob)) {
  23.197 --					rc_update_bit_0(rc, prob);
  23.198 -+				prob += LZMA_IS_REP_G0 - LZMA_IS_REP;
  23.199 -+				if (!rc_is_bit_1(rc, prob)) {
  23.200 - 					prob = (p + LZMA_IS_REP_0_LONG
  23.201 - 					        + (state << LZMA_NUM_POS_BITS_MAX)
  23.202 - 					        + pos_state
  23.203 - 					);
  23.204 --					if (rc_is_bit_0(rc, prob)) {
  23.205 --						rc_update_bit_0(rc, prob);
  23.206 -+					if (!rc_is_bit_1(rc, prob)) {
  23.207 - 
  23.208 - 						state = state < LZMA_NUM_LIT_STATES ? 9 : 11;
  23.209 - #if ENABLE_FEATURE_LZMA_FAST
  23.210 -@@ -372,25 +351,16 @@
  23.211 - 						len = 1;
  23.212 - 						goto string;
  23.213 - #endif
  23.214 --					} else {
  23.215 --						rc_update_bit_1(rc, prob);
  23.216 - 					}
  23.217 - 				} else {
  23.218 - 					uint32_t distance;
  23.219 - 
  23.220 --					rc_update_bit_1(rc, prob);
  23.221 --					prob = p + LZMA_IS_REP_G1 + state;
  23.222 --					if (rc_is_bit_0(rc, prob)) {
  23.223 --						rc_update_bit_0(rc, prob);
  23.224 --						distance = rep1;
  23.225 --					} else {
  23.226 --						rc_update_bit_1(rc, prob);
  23.227 --						prob = p + LZMA_IS_REP_G2 + state;
  23.228 --						if (rc_is_bit_0(rc, prob)) {
  23.229 --							rc_update_bit_0(rc, prob);
  23.230 --							distance = rep2;
  23.231 --						} else {
  23.232 --							rc_update_bit_1(rc, prob);
  23.233 -+					prob += LZMA_IS_REP_G1 - LZMA_IS_REP_G0;
  23.234 -+					distance = rep1;
  23.235 -+					if (rc_is_bit_1(rc, prob)) {
  23.236 -+						prob += LZMA_IS_REP_G2 - LZMA_IS_REP_G1;
  23.237 -+						distance = rep2;
  23.238 -+						if (rc_is_bit_1(rc, prob)) {
  23.239 - 							distance = rep3;
  23.240 - 							rep3 = rep2;
  23.241 - 						}
  23.242 -@@ -404,24 +374,20 @@
  23.243 - 			}
  23.244 - 
  23.245 - 			prob_len = prob + LZMA_LEN_CHOICE;
  23.246 --			if (rc_is_bit_0(rc, prob_len)) {
  23.247 --				rc_update_bit_0(rc, prob_len);
  23.248 --				prob_len = (prob + LZMA_LEN_LOW
  23.249 --				            + (pos_state << LZMA_LEN_NUM_LOW_BITS));
  23.250 -+			if (!rc_is_bit_1(rc, prob_len)) {
  23.251 -+				prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE
  23.252 -+				            + (pos_state << LZMA_LEN_NUM_LOW_BITS);
  23.253 - 				offset = 0;
  23.254 - 				num_bits = LZMA_LEN_NUM_LOW_BITS;
  23.255 - 			} else {
  23.256 --				rc_update_bit_1(rc, prob_len);
  23.257 --				prob_len = prob + LZMA_LEN_CHOICE_2;
  23.258 --				if (rc_is_bit_0(rc, prob_len)) {
  23.259 --					rc_update_bit_0(rc, prob_len);
  23.260 --					prob_len = (prob + LZMA_LEN_MID
  23.261 --					            + (pos_state << LZMA_LEN_NUM_MID_BITS));
  23.262 -+				prob_len += LZMA_LEN_CHOICE_2 - LZMA_LEN_CHOICE;
  23.263 -+				if (!rc_is_bit_1(rc, prob_len)) {
  23.264 -+					prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2
  23.265 -+					            + (pos_state << LZMA_LEN_NUM_MID_BITS);
  23.266 - 					offset = 1 << LZMA_LEN_NUM_LOW_BITS;
  23.267 - 					num_bits = LZMA_LEN_NUM_MID_BITS;
  23.268 - 				} else {
  23.269 --					rc_update_bit_1(rc, prob_len);
  23.270 --					prob_len = prob + LZMA_LEN_HIGH;
  23.271 -+					prob_len += LZMA_LEN_HIGH - LZMA_LEN_CHOICE_2;
  23.272 - 					offset = ((1 << LZMA_LEN_NUM_LOW_BITS)
  23.273 - 					          + (1 << LZMA_LEN_NUM_MID_BITS));
  23.274 - 					num_bits = LZMA_LEN_NUM_HIGH_BITS;
  23.275 -@@ -440,17 +406,18 @@
  23.276 - 				         << LZMA_NUM_POS_SLOT_BITS);
  23.277 - 				rc_bit_tree_decode(rc, prob, LZMA_NUM_POS_SLOT_BITS,
  23.278 - 								   &pos_slot);
  23.279 -+				rep0 = pos_slot;
  23.280 - 				if (pos_slot >= LZMA_START_POS_MODEL_INDEX) {
  23.281 - 					num_bits = (pos_slot >> 1) - 1;
  23.282 - 					rep0 = 2 | (pos_slot & 1);
  23.283 -+					prob = p + LZMA_ALIGN;
  23.284 - 					if (pos_slot < LZMA_END_POS_MODEL_INDEX) {
  23.285 - 						rep0 <<= num_bits;
  23.286 --						prob = p + LZMA_SPEC_POS + rep0 - pos_slot - 1;
  23.287 -+						prob += LZMA_SPEC_POS - LZMA_ALIGN - 1 + rep0 - pos_slot ;
  23.288 - 					} else {
  23.289 - 						num_bits -= LZMA_NUM_ALIGN_BITS;
  23.290 - 						while (num_bits--)
  23.291 - 							rep0 = (rep0 << 1) | rc_direct_bit(rc);
  23.292 --						prob = p + LZMA_ALIGN;
  23.293 - 						rep0 <<= LZMA_NUM_ALIGN_BITS;
  23.294 - 						num_bits = LZMA_NUM_ALIGN_BITS;
  23.295 - 					}
  23.296 -@@ -461,8 +428,7 @@
  23.297 - 							rep0 |= i;
  23.298 - 						i <<= 1;
  23.299 - 					}
  23.300 --				} else
  23.301 --					rep0 = pos_slot;
  23.302 -+				}
  23.303 - 				if (++rep0 == 0)
  23.304 - 					break;
  23.305 - 			}
    24.1 --- a/busybox/stuff/busybox-1.12.0-vcsa2txt.u	Wed Jul 07 19:33:09 2010 +0200
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,134 +0,0 @@
    24.4 ---- busybox-1.12.0/include/applets.h
    24.5 -+++ busybox-1.12.0/include/applets.h
    24.6 -@@ -389,6 +389,7 @@ USE_USLEEP(APPLET_NOFORK(usleep, usleep,
    24.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    24.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    24.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
   24.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   24.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
   24.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
   24.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
   24.14 -
   24.15 ---- busybox-1.12.0/include/usage.h
   24.16 -+++ busybox-1.12.0/include/usage.h
   24.17 -@@ -4491,6 +4491,13 @@
   24.18 -      "\n	set_ingress_map	[vlan-name] [skb_priority] [vlan_qos]" \
   24.19 -      "\n	set_name_type	[name-type]" \
   24.20 - 
   24.21 -+#define vcsa2txt_trivial_usage \
   24.22 -+       "stdin"
   24.23 -+#define vcsa2txt_full_usage \
   24.24 -+       "Filter /dev/vcsa* to ansi escape sequences"
   24.25 -+#define vcsa2txt_example_usage \
   24.26 -+       "# vcsa2txt < /dev/vcsa1\n"
   24.27 -+
   24.28 - #define vi_trivial_usage \
   24.29 -        "[OPTION] [FILE]..."
   24.30 - #define vi_full_usage "\n\n" \
   24.31 -
   24.32 ---- busybox-1.12.0/miscutils/Config.in
   24.33 -+++ busybox-1.12.0/miscutils/Config.in
   24.34 -@@ -509,6 +509,12 @@ config TTYSIZE
   24.35 - 	  error, but returns default 80x24.
   24.36 - 	  Usage in shell scripts: width=`ttysize w`.
   24.37 - 
   24.38 -+config VCSA2TXT
   24.39 -+	bool "vcsa2txt"
   24.40 -+	default n
   24.41 -+	help
   24.42 -+	  Filter /dev/vcsa* output to ansi escape sequences.
   24.43 -+
   24.44 - config WATCHDOG
   24.45 - 	bool "watchdog"
   24.46 - 	default n
   24.47 -
   24.48 ---- busybox-1.12.0/util-linux/Kbuild
   24.49 -+++ busybox-1.12.0/util-linux/Kbuild
   24.50 -@@ -34,3 +34,4 @@ lib-$(CONFIG_SETARCH)           += setar
   24.51 - lib-$(CONFIG_SWAPONOFF)         += swaponoff.o
   24.52 - lib-$(CONFIG_SWITCH_ROOT)       += switch_root.o
   24.53 - lib-$(CONFIG_UMOUNT)            += umount.o
   24.54 -+lib-$(CONFIG_VCSA2TXT)          += vcsa2txt.o
   24.55 -
   24.56 ---- busybox-1.12.0/util-linux/vcsa2txt.c
   24.57 -+++ busybox-1.12.0/util-linux/vcsa2txt.c
   24.58 -@@ -0,0 +1,79 @@
   24.59 -+/* vi: set sw=4 ts=4: */
   24.60 -+/*
   24.61 -+ * /dev/vcsa* filter for busybox
   24.62 -+ *
   24.63 -+ * pascal.bellard@ads-lu.com
   24.64 -+ *
   24.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
   24.66 -+ */
   24.67 -+ 
   24.68 -+#include "libbb.h"
   24.69 -+
   24.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE;
   24.71 -+int vcsa2txt_main(int argc)
   24.72 -+{
   24.73 -+    struct {
   24.74 -+	unsigned char l, c, x, y; // man 4 console_codes
   24.75 -+    } scrn;
   24.76 -+    unsigned char last = 0, ch[2];                     // BLGCRMOW
   24.77 -+    static  unsigned char end[5] = "\e[0m\n", color[8] = "04261537";
   24.78 -+    int sp, lf, x;
   24.79 -+    
   24.80 -+    if (safe_read(0, &scrn, 4) < 0) return 1;
   24.81 -+    for (lf = 0; scrn.l; lf++, scrn.l--) {
   24.82 -+	for (sp = x = 0; ++x <= scrn.c;) {
   24.83 -+	    if (safe_read(0, &ch[0], 2) < 0) return 1;
   24.84 -+	    if (argc > 1) ch[1] = 0;
   24.85 -+	    sp++;
   24.86 -+	    if (last == ch[1] && ch[0] == ' ') continue;
   24.87 -+	    for (lf++; --lf;) bb_putchar('\n');
   24.88 -+	    while (--sp) bb_putchar(' ');
   24.89 -+#define ENABLE_VCSA_PACKED 1
   24.90 -+#if ENABLE_VCSA_PACKED
   24.91 -+	    if (last ^= ch[1]) {
   24.92 -+		char esc[16],*s;
   24.93 -+		struct offsets {
   24.94 -+		    char mask, type, shr;
   24.95 -+		} *p;
   24.96 -+		static struct offsets offset[3] = {
   24.97 -+		    {8,0,1}, {0x70,'4',4}, {7,'3',0}
   24.98 -+		};
   24.99 -+		static char init = 0x7F;
  24.100 -+		
  24.101 -+		s = esc+2;
  24.102 -+		*(short *)esc = ntohs(256*'\e'+'[');
  24.103 -+		p = offset;
  24.104 -+		do {
  24.105 -+		    if ((init|last) & p->mask) {
  24.106 -+			int c = (ch[1] & p->mask) >> p->shr;
  24.107 -+		    
  24.108 -+			if ((*s = p->type) != 0) s++;
  24.109 -+			else if (c == 0) {
  24.110 -+			    c = 2;
  24.111 -+			    *s++ = '2'; /* normal */
  24.112 -+			}
  24.113 -+			*s++ = color[c];
  24.114 -+			*s++ = ';'; 
  24.115 -+		    }
  24.116 -+		} while (p++->shr);
  24.117 -+		s[-1] = 'm';
  24.118 -+		init = 0;
  24.119 -+		fwrite(esc,s-esc,1,stdout);
  24.120 -+	    }
  24.121 -+	    last = ch[1];
  24.122 -+#else
  24.123 -+	    if (last != ch[1]) {
  24.124 -+		static char esc[10] = "\e[0;47;37m";
  24.125 -+		
  24.126 -+		esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */;
  24.127 -+		esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7];
  24.128 -+		esc[sizeof(esc)-2] = color[ch[1] & 7];
  24.129 -+		fwrite(esc,sizeof(esc),1,stdout);
  24.130 -+	    }
  24.131 -+#endif
  24.132 -+	    bb_putchar(ch[0]);
  24.133 -+	}
  24.134 -+    }
  24.135 -+    fwrite(end,sizeof(end),1,stdout);
  24.136 -+    return 0;
  24.137 -+}
    25.1 --- a/busybox/stuff/busybox-1.12.0-zmodules.u	Wed Jul 07 19:33:09 2010 +0200
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,220 +0,0 @@
    25.4 ---- busybox-1.12.0/modutils/depmod.c
    25.5 -+++ busybox-1.12.0/modutils/depmod.c
    25.6 -@@ -53,27 +53,14 @@ static int FAST_FUNC fileAction(const ch
    25.7 - 	size_t len = sb->st_size;
    25.8 - 	void *the_module;
    25.9 - 	char *ptr;
   25.10 --	int fd;
   25.11 - 	char *depends, *deps;
   25.12 - 	dep_lst_t *this;
   25.13 -+	extern void *xalloc_load_module(const char filename[], size_t *len);
   25.14 - 
   25.15 - 	if (strrstr(fname, ".ko") == NULL) /* not a module */
   25.16 - 		goto skip;
   25.17 - 
   25.18 --/*XXX: FIXME: does not handle compressed modules!
   25.19 -- * There should be a function that looks at the extension and sets up
   25.20 -- * open_transformer for us.
   25.21 -- */
   25.22 --	fd = xopen(fname, O_RDONLY);
   25.23 --	the_module = mmap(NULL, len, PROT_READ, MAP_SHARED
   25.24 --#if defined MAP_POPULATE
   25.25 --						|MAP_POPULATE
   25.26 --#endif
   25.27 --						, fd, 0);
   25.28 --	close(fd);
   25.29 --	if (the_module == MAP_FAILED)
   25.30 --		bb_perror_msg_and_die("mmap");
   25.31 --
   25.32 -+	the_module = xalloc_load_module(fname, &len);
   25.33 - 	this = xzalloc(sizeof(dep_lst_t));
   25.34 - 	this->name = xstrdup(fname);
   25.35 - 	this->next = G.lst;
   25.36 -@@ -104,7 +91,7 @@ static int FAST_FUNC fileAction(const ch
   25.37 - 			pos = (ptr - (char*)the_module);
   25.38 - 		} while (1);
   25.39 - 	}
   25.40 --	munmap(the_module, sb->st_size);
   25.41 -+	free(the_module);
   25.42 -  skip:
   25.43 - 	return TRUE;
   25.44 - }
   25.45 -
   25.46 ---- busybox-1.12.0/modutils/insmod.c
   25.47 -+++ busybox-1.12.0/modutils/insmod.c
   25.48 -@@ -59,6 +59,7 @@
   25.49 -  */
   25.50 - 
   25.51 - #include "libbb.h"
   25.52 -+#include "unarchive.h"
   25.53 - #include <libgen.h>
   25.54 - #include <sys/utsname.h>
   25.55 - 
   25.56 -@@ -4212,6 +4213,60 @@ static const char *moderror(int err)
   25.57 - 	}
   25.58 - }
   25.59 - 
   25.60 -+void *xalloc_load_module(const char filename[], size_t *len);
   25.61 -+void *xalloc_load_module(const char filename[], size_t *len)
   25.62 -+{
   25.63 -+	int fd, max;
   25.64 -+	unsigned char head[16];
   25.65 -+	void *map;
   25.66 -+	size_t l;
   25.67 -+
   25.68 -+	max = 8 * 1024;
   25.69 -+	fd = open(filename, O_RDONLY);
   25.70 -+	if (fd < 0) return NULL;
   25.71 -+	xread(fd,head,sizeof(head));
   25.72 -+	lseek(fd,0L,SEEK_SET);
   25.73 -+#if ENABLE_FEATURE_SEAMLESS_GZ
   25.74 -+	if (head[0] == 0x1f && head[1] == 0x8b) { /* gzip */
   25.75 -+#if BB_MMU
   25.76 -+		xread(fd,head,2); // bb wierdness...
   25.77 -+#endif
   25.78 -+		open_transformer(fd, unpack_gz_stream, "gunzip");
   25.79 -+	}
   25.80 -+#endif
   25.81 -+#if ENABLE_FEATURE_SEAMLESS_BZ2
   25.82 -+#if ENABLE_FEATURE_SEAMLESS_GZ
   25.83 -+	else
   25.84 -+#endif
   25.85 -+	if (head[0] == 'B' && head[1] == 'Z' && 
   25.86 -+			 head[2] == 'h' && isdigit(head[3])) { /* bzip2 */
   25.87 -+		open_transformer(fd, unpack_bz2_stream, "bunzip2");
   25.88 -+	}
   25.89 -+#endif
   25.90 -+#if ENABLE_FEATURE_SEAMLESS_LZMA
   25.91 -+#if ENABLE_FEATURE_SEAMLESS_GZ || ENABLE_FEATURE_SEAMLESS_BZ2
   25.92 -+	else
   25.93 -+#endif
   25.94 -+	if (head[1] != 'E' || head[2] != 'L' || head[3] != 'F') {
   25.95 -+		open_transformer(fd, unpack_lzma_stream, "unlzma");
   25.96 -+		if (* (unsigned *) (head + 9) == 0)
   25.97 -+			max = 1 + head[5] + (head[6]<<8) 
   25.98 -+				+ (head[7]<<16) + (head[8]<<24);
   25.99 -+	}
  25.100 -+#endif
  25.101 -+	l = 0;
  25.102 -+	map = xmalloc(max);
  25.103 -+	while (1) {
  25.104 -+		l += full_read(fd, l + (char *) map, max - l);
  25.105 -+		if (l != max) break;
  25.106 -+		max <<= 1;
  25.107 -+		map = xrealloc(map, max);
  25.108 -+	}
  25.109 -+	if (len)
  25.110 -+		*len = l;
  25.111 -+	return xrealloc(map, l);
  25.112 -+}
  25.113 -+
  25.114 - #if !ENABLE_FEATURE_2_4_MODULES
  25.115 - int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  25.116 - int insmod_main(int argc UNUSED_PARAM, char **argv)
  25.117 -@@ -4264,8 +4319,7 @@ static int insmod_ng_main(int argc UNUSE
  25.118 - 		xread(fd, map, len);
  25.119 - 	}
  25.120 - #else
  25.121 --	len = MAXINT(ssize_t);
  25.122 --	map = xmalloc_open_read_close(filename, &len);
  25.123 -+	map = xalloc_load_module(filename, &len);
  25.124 - #endif
  25.125 - 
  25.126 - 	if (init_module(map, len, options) != 0)
  25.127 -
  25.128 ---- busybox-1.12.0/modutils/modprobe.c
  25.129 -+++ busybox-1.12.0/modutils/modprobe.c
  25.130 -@@ -396,6 +396,29 @@ static int include_conf_file2(struct inc
  25.131 - 	return include_conf_file(conf, oldname);
  25.132 - }
  25.133 - 
  25.134 -+static int ext_size(char *end USE_FEATURE_2_6_MODULES(, int k_version))
  25.135 -+{
  25.136 -+	int ext;
  25.137 -+	char *next;
  25.138 -+
  25.139 -+	ext = 0;
  25.140 -+	if (end[-2] == '.' && end[-1] == 'g' && end[0] == 'z')
  25.141 -+		ext = 3;
  25.142 -+	if (end[-3] == '.' && end[-2] == 'b' && end[-1] == 'z' && end[0] == '2')
  25.143 -+		ext = 4;
  25.144 -+	next = end - ext;
  25.145 -+#if ENABLE_FEATURE_2_6_MODULES
  25.146 -+	if (ENABLE_FEATURE_2_6_MODULES
  25.147 -+			&& (k_version > 4) && (next[-2] == '.')
  25.148 -+			&& (next[-1] == 'k') && (next[0] == 'o'))
  25.149 -+		ext += 3;
  25.150 -+	else 
  25.151 -+#endif
  25.152 -+	if ((next[-1] == '.') && (next[0] == 'o'))
  25.153 -+		ext += 2;
  25.154 -+	return ext;
  25.155 -+}
  25.156 -+
  25.157 - /*
  25.158 -  * This function builds a list of dependency rules from /lib/modules/`uname -r`/modules.dep.
  25.159 -  * It then fills every modules and aliases with their default options, found by parsing
  25.160 -@@ -464,12 +487,7 @@ static struct dep_t *build_dep(void)
  25.161 - 				if (!modpath)
  25.162 - 					modpath = line_buffer; /* module with no path */
  25.163 - 				/* find the end of the module name in the file name */
  25.164 --				if (ENABLE_FEATURE_2_6_MODULES &&
  25.165 --				    (k_version > 4) && (col[-3] == '.') &&
  25.166 --				    (col[-2] == 'k') && (col[-1] == 'o'))
  25.167 --					dot = col - 3;
  25.168 --				else if ((col[-2] == '.') && (col[-1] == 'o'))
  25.169 --					dot = col - 2;
  25.170 -+				dot = col - ext_size(col - 1 USE_FEATURE_2_6_MODULES(, k_version));
  25.171 - 
  25.172 - 				mod = xstrndup(mods, dot - mods);
  25.173 - 
  25.174 -@@ -522,12 +540,7 @@ static struct dep_t *build_dep(void)
  25.175 - 					deps = skip_whitespace(deps);
  25.176 - 
  25.177 - 				/* find the end of the module name in the file name */
  25.178 --				if (ENABLE_FEATURE_2_6_MODULES
  25.179 --				 && (k_version > 4) && (next[-2] == '.')
  25.180 --				 && (next[-1] == 'k') && (next[0] == 'o'))
  25.181 --					ext = 3;
  25.182 --				else if ((next[-1] == '.') && (next[0] == 'o'))
  25.183 --					ext = 2;
  25.184 -+				ext = ext_size(next USE_FEATURE_2_6_MODULES(, k_version));
  25.185 - 
  25.186 - 				/* Cope with blank lines */
  25.187 - 				if ((next - deps - ext + 1) <= 0)
  25.188 -
  25.189 ---- busybox-1.12.0/modutils/depmod.c
  25.190 -+++ busybox-1.12.0/modutils/depmod.c
  25.191 -@@ -109,11 +109,15 @@
  25.192 - 		ARG_b = (1<<2), /* not /lib/modules/$(uname -r)/ but this base-dir */
  25.193 - 		ARG_e = (1<<3), /* with -F, print unresolved symbols */
  25.194 - 		ARG_F = (1<<4), /* System.map that contains the symbols */
  25.195 --		ARG_n = (1<<5)  /* dry-run, print to stdout only */
  25.196 -+		ARG_n = (1<<5), /* dry-run, print to stdout only */
  25.197 -+		ARG_u = (1<<6), /* unresolved-error: ignored */
  25.198 -+		ARG_q = (1<<7), /* quiet: ignored */
  25.199 -+		ARG_r = (1<<8), /* root: ignored */
  25.200 -+		ARG_C = (1<<9)  /* config: ignored */
  25.201 - 	};
  25.202 - 	INIT_G();
  25.203 - 
  25.204 --	getopt32(argv, "aAb:eF:n", &moddir_base, &system_map);
  25.205 -+	getopt32(argv, "aAb:eF:nuqrC", &moddir_base, &system_map);
  25.206 - 	argv += optind;
  25.207 - 
  25.208 - 	/* If a version is provided, then that kernel version’s module directory
  25.209 -
  25.210 ---- busybox-1.12.0/modutils/depmod.c
  25.211 -+++ busybox-1.12.0/modutils/depmod.c
  25.212 -@@ -141,6 +141,11 @@
  25.213 - 
  25.214 - 	if (!(option_mask32 & ARG_n)) { /* --dry-run */
  25.215 - 		chp = concat_path_file(moddir, CONFIG_DEFAULT_DEPMOD_FILE);
  25.216 -+		if (option_mask32 & ARG_b) {
  25.217 -+			char *s = concat_path_file(moddir_base, chp);
  25.218 -+			free(chp);
  25.219 -+			chp = s;
  25.220 -+		}
  25.221 - 		filedes = xfopen_for_write(chp);
  25.222 - 		if (ENABLE_FEATURE_CLEAN_UP)
  25.223 - 			free(chp);
    26.1 --- a/busybox/stuff/busybox-1.12.0.config	Wed Jul 07 19:33:09 2010 +0200
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,858 +0,0 @@
    26.4 -#
    26.5 -# Automatically generated make config: don't edit
    26.6 -# Busybox version: 1.12.0
    26.7 -# Mon Jun 29 15:06:02 2009
    26.8 -#
    26.9 -CONFIG_HAVE_DOT_CONFIG=y
   26.10 -
   26.11 -#
   26.12 -# Busybox Settings
   26.13 -#
   26.14 -
   26.15 -#
   26.16 -# General Configuration
   26.17 -#
   26.18 -CONFIG_DESKTOP=y
   26.19 -# CONFIG_EXTRA_COMPAT is not set
   26.20 -# CONFIG_FEATURE_ASSUME_UNICODE is not set
   26.21 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
   26.22 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   26.23 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   26.24 -CONFIG_SHOW_USAGE=y
   26.25 -CONFIG_FEATURE_VERBOSE_USAGE=y
   26.26 -CONFIG_FEATURE_COMPRESS_USAGE=y
   26.27 -CONFIG_FEATURE_INSTALLER=y
   26.28 -CONFIG_LOCALE_SUPPORT=y
   26.29 -CONFIG_GETOPT_LONG=y
   26.30 -CONFIG_FEATURE_DEVPTS=y
   26.31 -# CONFIG_FEATURE_CLEAN_UP is not set
   26.32 -CONFIG_FEATURE_PIDFILE=y
   26.33 -CONFIG_FEATURE_SUID=y
   26.34 -CONFIG_FEATURE_SUID_CONFIG=y
   26.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   26.36 -# CONFIG_SELINUX is not set
   26.37 -# CONFIG_FEATURE_PREFER_APPLETS is not set
   26.38 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
   26.39 -CONFIG_FEATURE_SYSLOG=y
   26.40 -CONFIG_FEATURE_HAVE_RPC=y
   26.41 -
   26.42 -#
   26.43 -# Build Options
   26.44 -#
   26.45 -# CONFIG_STATIC is not set
   26.46 -# CONFIG_PIE is not set
   26.47 -# CONFIG_NOMMU is not set
   26.48 -# CONFIG_BUILD_LIBBUSYBOX is not set
   26.49 -# CONFIG_FEATURE_INDIVIDUAL is not set
   26.50 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   26.51 -CONFIG_LFS=y
   26.52 -CONFIG_CROSS_COMPILER_PREFIX=""
   26.53 -
   26.54 -#
   26.55 -# Debugging Options
   26.56 -#
   26.57 -# CONFIG_DEBUG is not set
   26.58 -# CONFIG_DEBUG_PESSIMIZE is not set
   26.59 -# CONFIG_WERROR is not set
   26.60 -CONFIG_NO_DEBUG_LIB=y
   26.61 -# CONFIG_DMALLOC is not set
   26.62 -# CONFIG_EFENCE is not set
   26.63 -CONFIG_INCLUDE_SUSv2=y
   26.64 -# CONFIG_PARSE is not set
   26.65 -
   26.66 -#
   26.67 -# Installation Options
   26.68 -#
   26.69 -# CONFIG_INSTALL_NO_USR is not set
   26.70 -CONFIG_INSTALL_APPLET_SYMLINKS=y
   26.71 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set
   26.72 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
   26.73 -# CONFIG_INSTALL_APPLET_DONT is not set
   26.74 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
   26.75 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
   26.76 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
   26.77 -CONFIG_PREFIX="./_install"
   26.78 -
   26.79 -#
   26.80 -# Busybox Library Tuning
   26.81 -#
   26.82 -CONFIG_PASSWORD_MINLEN=6
   26.83 -CONFIG_MD5_SIZE_VS_SPEED=0
   26.84 -# CONFIG_FEATURE_FAST_TOP is not set
   26.85 -# CONFIG_FEATURE_ETC_NETWORKS is not set
   26.86 -CONFIG_FEATURE_EDITING=y
   26.87 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
   26.88 -# CONFIG_FEATURE_EDITING_VI is not set
   26.89 -CONFIG_FEATURE_EDITING_HISTORY=127
   26.90 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y
   26.91 -CONFIG_FEATURE_TAB_COMPLETION=y
   26.92 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
   26.93 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
   26.94 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
   26.95 -CONFIG_FEATURE_COPYBUF_KB=4
   26.96 -CONFIG_MONOTONIC_SYSCALL=y
   26.97 -CONFIG_IOCTL_HEX2STR_ERROR=y
   26.98 -CONFIG_FEATURE_HWIB=y
   26.99 -
  26.100 -#
  26.101 -# Applets
  26.102 -#
  26.103 -
  26.104 -#
  26.105 -# Archival Utilities
  26.106 -#
  26.107 -CONFIG_FEATURE_SEAMLESS_LZMA=y
  26.108 -CONFIG_FEATURE_SEAMLESS_BZ2=y
  26.109 -CONFIG_FEATURE_SEAMLESS_GZ=y
  26.110 -CONFIG_FEATURE_SEAMLESS_Z=y
  26.111 -CONFIG_AR=y
  26.112 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
  26.113 -CONFIG_BUNZIP2=y
  26.114 -# CONFIG_BZIP2 is not set
  26.115 -CONFIG_CPIO=y
  26.116 -CONFIG_FEATURE_CPIO_O=y
  26.117 -CONFIG_DPKG=y
  26.118 -CONFIG_DPKG_DEB=y
  26.119 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
  26.120 -CONFIG_GUNZIP=y
  26.121 -CONFIG_GZIP=y
  26.122 -CONFIG_RPM2CPIO=y
  26.123 -CONFIG_RPM=y
  26.124 -CONFIG_TAR=y
  26.125 -CONFIG_FEATURE_TAR_CREATE=y
  26.126 -# CONFIG_FEATURE_TAR_AUTODETECT is not set
  26.127 -CONFIG_FEATURE_TAR_FROM=y
  26.128 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
  26.129 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
  26.130 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  26.131 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y
  26.132 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
  26.133 -CONFIG_UNCOMPRESS=y
  26.134 -CONFIG_UNLZMA=y
  26.135 -# CONFIG_FEATURE_LZMA_FAST is not set
  26.136 -CONFIG_UNZIP=y
  26.137 -
  26.138 -#
  26.139 -# Coreutils
  26.140 -#
  26.141 -CONFIG_BASENAME=y
  26.142 -CONFIG_CAL=y
  26.143 -CONFIG_CAT=y
  26.144 -# CONFIG_CATV is not set
  26.145 -CONFIG_CHGRP=y
  26.146 -CONFIG_CHMOD=y
  26.147 -CONFIG_CHOWN=y
  26.148 -CONFIG_CHROOT=y
  26.149 -CONFIG_CKSUM=y
  26.150 -CONFIG_COMM=y
  26.151 -CONFIG_CP=y
  26.152 -CONFIG_CUT=y
  26.153 -CONFIG_DATE=y
  26.154 -CONFIG_FEATURE_DATE_ISOFMT=y
  26.155 -CONFIG_DD=y
  26.156 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  26.157 -CONFIG_FEATURE_DD_IBS_OBS=y
  26.158 -CONFIG_DF=y
  26.159 -CONFIG_FEATURE_DF_INODE=y
  26.160 -CONFIG_DIRNAME=y
  26.161 -CONFIG_DOS2UNIX=y
  26.162 -CONFIG_UNIX2DOS=y
  26.163 -CONFIG_DU=y
  26.164 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  26.165 -CONFIG_ECHO=y
  26.166 -CONFIG_FEATURE_FANCY_ECHO=y
  26.167 -CONFIG_ENV=y
  26.168 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
  26.169 -CONFIG_EXPAND=y
  26.170 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
  26.171 -CONFIG_EXPR=y
  26.172 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  26.173 -CONFIG_FALSE=y
  26.174 -CONFIG_FOLD=y
  26.175 -CONFIG_HEAD=y
  26.176 -CONFIG_FEATURE_FANCY_HEAD=y
  26.177 -CONFIG_HOSTID=y
  26.178 -CONFIG_ID=y
  26.179 -CONFIG_INSTALL=y
  26.180 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
  26.181 -CONFIG_LENGTH=y
  26.182 -CONFIG_LN=y
  26.183 -CONFIG_LOGNAME=y
  26.184 -CONFIG_LS=y
  26.185 -CONFIG_FEATURE_LS_FILETYPES=y
  26.186 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
  26.187 -CONFIG_FEATURE_LS_RECURSIVE=y
  26.188 -CONFIG_FEATURE_LS_SORTFILES=y
  26.189 -CONFIG_FEATURE_LS_TIMESTAMPS=y
  26.190 -CONFIG_FEATURE_LS_USERNAME=y
  26.191 -CONFIG_FEATURE_LS_COLOR=y
  26.192 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  26.193 -CONFIG_MD5SUM=y
  26.194 -CONFIG_MKDIR=y
  26.195 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
  26.196 -CONFIG_MKFIFO=y
  26.197 -CONFIG_MKNOD=y
  26.198 -CONFIG_MV=y
  26.199 -CONFIG_FEATURE_MV_LONG_OPTIONS=y
  26.200 -CONFIG_NICE=y
  26.201 -CONFIG_NOHUP=y
  26.202 -CONFIG_OD=y
  26.203 -CONFIG_PRINTENV=y
  26.204 -CONFIG_PRINTF=y
  26.205 -CONFIG_PWD=y
  26.206 -CONFIG_READLINK=y
  26.207 -CONFIG_FEATURE_READLINK_FOLLOW=y
  26.208 -CONFIG_REALPATH=y
  26.209 -CONFIG_RM=y
  26.210 -CONFIG_RMDIR=y
  26.211 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
  26.212 -CONFIG_SEQ=y
  26.213 -CONFIG_SHA1SUM=y
  26.214 -CONFIG_SLEEP=y
  26.215 -CONFIG_FEATURE_FANCY_SLEEP=y
  26.216 -# CONFIG_FEATURE_FLOAT_SLEEP is not set
  26.217 -CONFIG_SORT=y
  26.218 -CONFIG_FEATURE_SORT_BIG=y
  26.219 -CONFIG_SPLIT=y
  26.220 -CONFIG_FEATURE_SPLIT_FANCY=y
  26.221 -CONFIG_STAT=y
  26.222 -CONFIG_FEATURE_STAT_FORMAT=y
  26.223 -CONFIG_STTY=y
  26.224 -CONFIG_SUM=y
  26.225 -CONFIG_SYNC=y
  26.226 -CONFIG_TAC=y
  26.227 -CONFIG_TAIL=y
  26.228 -CONFIG_FEATURE_FANCY_TAIL=y
  26.229 -CONFIG_TEE=y
  26.230 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
  26.231 -CONFIG_TEST=y
  26.232 -CONFIG_FEATURE_TEST_64=y
  26.233 -CONFIG_TOUCH=y
  26.234 -CONFIG_TR=y
  26.235 -CONFIG_FEATURE_TR_CLASSES=y
  26.236 -CONFIG_FEATURE_TR_EQUIV=y
  26.237 -CONFIG_TRUE=y
  26.238 -CONFIG_TTY=y
  26.239 -CONFIG_UNAME=y
  26.240 -CONFIG_UNEXPAND=y
  26.241 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
  26.242 -CONFIG_UNIQ=y
  26.243 -CONFIG_USLEEP=y
  26.244 -CONFIG_UUDECODE=y
  26.245 -CONFIG_UUENCODE=y
  26.246 -CONFIG_WC=y
  26.247 -CONFIG_FEATURE_WC_LARGE=y
  26.248 -CONFIG_WHO=y
  26.249 -CONFIG_WHOAMI=y
  26.250 -CONFIG_YES=y
  26.251 -
  26.252 -#
  26.253 -# Common options for cp and mv
  26.254 -#
  26.255 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  26.256 -
  26.257 -#
  26.258 -# Common options for ls, more and telnet
  26.259 -#
  26.260 -CONFIG_FEATURE_AUTOWIDTH=y
  26.261 -
  26.262 -#
  26.263 -# Common options for df, du, ls
  26.264 -#
  26.265 -CONFIG_FEATURE_HUMAN_READABLE=y
  26.266 -
  26.267 -#
  26.268 -# Common options for md5sum, sha1sum
  26.269 -#
  26.270 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  26.271 -
  26.272 -#
  26.273 -# Console Utilities
  26.274 -#
  26.275 -CONFIG_CHVT=y
  26.276 -# CONFIG_CLEAR is not set
  26.277 -CONFIG_DEALLOCVT=y
  26.278 -CONFIG_DUMPKMAP=y
  26.279 -CONFIG_KBD_MODE=y
  26.280 -CONFIG_LOADFONT=y
  26.281 -CONFIG_LOADKMAP=y
  26.282 -CONFIG_OPENVT=y
  26.283 -# CONFIG_RESET is not set
  26.284 -# CONFIG_RESIZE is not set
  26.285 -# CONFIG_FEATURE_RESIZE_PRINT is not set
  26.286 -CONFIG_SETCONSOLE=y
  26.287 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  26.288 -# CONFIG_SETFONT is not set
  26.289 -CONFIG_SETKEYCODES=y
  26.290 -CONFIG_SETLOGCONS=y
  26.291 -# CONFIG_SHOWKEY is not set
  26.292 -
  26.293 -#
  26.294 -# Debian Utilities
  26.295 -#
  26.296 -CONFIG_MKTEMP=y
  26.297 -CONFIG_PIPE_PROGRESS=y
  26.298 -# CONFIG_RUN_PARTS is not set
  26.299 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  26.300 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  26.301 -# CONFIG_START_STOP_DAEMON is not set
  26.302 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  26.303 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  26.304 -CONFIG_WHICH=y
  26.305 -
  26.306 -#
  26.307 -# Editors
  26.308 -#
  26.309 -CONFIG_AWK=y
  26.310 -CONFIG_FEATURE_AWK_MATH=y
  26.311 -CONFIG_CMP=y
  26.312 -CONFIG_DIFF=y
  26.313 -CONFIG_FEATURE_DIFF_BINARY=y
  26.314 -CONFIG_FEATURE_DIFF_DIR=y
  26.315 -CONFIG_FEATURE_DIFF_MINIMAL=y
  26.316 -# CONFIG_ED is not set
  26.317 -CONFIG_PATCH=y
  26.318 -CONFIG_SED=y
  26.319 -CONFIG_VI=y
  26.320 -CONFIG_FEATURE_VI_MAX_LEN=1024
  26.321 -CONFIG_FEATURE_VI_8BIT=y
  26.322 -CONFIG_FEATURE_VI_COLON=y
  26.323 -CONFIG_FEATURE_VI_YANKMARK=y
  26.324 -CONFIG_FEATURE_VI_SEARCH=y
  26.325 -CONFIG_FEATURE_VI_USE_SIGNALS=y
  26.326 -CONFIG_FEATURE_VI_DOT_CMD=y
  26.327 -CONFIG_FEATURE_VI_READONLY=y
  26.328 -CONFIG_FEATURE_VI_SETOPTS=y
  26.329 -CONFIG_FEATURE_VI_SET=y
  26.330 -CONFIG_FEATURE_VI_WIN_RESIZE=y
  26.331 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
  26.332 -CONFIG_FEATURE_ALLOW_EXEC=y
  26.333 -
  26.334 -#
  26.335 -# Finding Utilities
  26.336 -#
  26.337 -CONFIG_FIND=y
  26.338 -CONFIG_FEATURE_FIND_PRINT0=y
  26.339 -CONFIG_FEATURE_FIND_MTIME=y
  26.340 -CONFIG_FEATURE_FIND_MMIN=y
  26.341 -CONFIG_FEATURE_FIND_PERM=y
  26.342 -CONFIG_FEATURE_FIND_TYPE=y
  26.343 -CONFIG_FEATURE_FIND_XDEV=y
  26.344 -CONFIG_FEATURE_FIND_MAXDEPTH=y
  26.345 -CONFIG_FEATURE_FIND_NEWER=y
  26.346 -CONFIG_FEATURE_FIND_INUM=y
  26.347 -CONFIG_FEATURE_FIND_EXEC=y
  26.348 -CONFIG_FEATURE_FIND_USER=y
  26.349 -CONFIG_FEATURE_FIND_GROUP=y
  26.350 -CONFIG_FEATURE_FIND_NOT=y
  26.351 -CONFIG_FEATURE_FIND_DEPTH=y
  26.352 -CONFIG_FEATURE_FIND_PAREN=y
  26.353 -CONFIG_FEATURE_FIND_SIZE=y
  26.354 -CONFIG_FEATURE_FIND_PRUNE=y
  26.355 -CONFIG_FEATURE_FIND_DELETE=y
  26.356 -CONFIG_FEATURE_FIND_PATH=y
  26.357 -CONFIG_FEATURE_FIND_REGEX=y
  26.358 -# CONFIG_FEATURE_FIND_CONTEXT is not set
  26.359 -CONFIG_GREP=y
  26.360 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
  26.361 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
  26.362 -CONFIG_FEATURE_GREP_CONTEXT=y
  26.363 -CONFIG_XARGS=y
  26.364 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  26.365 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  26.366 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  26.367 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  26.368 -
  26.369 -#
  26.370 -# Init Utilities
  26.371 -#
  26.372 -CONFIG_INIT=y
  26.373 -# CONFIG_DEBUG_INIT is not set
  26.374 -CONFIG_FEATURE_USE_INITTAB=y
  26.375 -CONFIG_FEATURE_KILL_REMOVED=y
  26.376 -CONFIG_FEATURE_KILL_DELAY=0
  26.377 -CONFIG_FEATURE_INIT_SCTTY=y
  26.378 -# CONFIG_FEATURE_INIT_SYSLOG is not set
  26.379 -CONFIG_FEATURE_EXTRA_QUIET=y
  26.380 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
  26.381 -CONFIG_FEATURE_INITRD=y
  26.382 -CONFIG_HALT=y
  26.383 -CONFIG_MESG=y
  26.384 -
  26.385 -#
  26.386 -# Login/Password Management Utilities
  26.387 -#
  26.388 -CONFIG_FEATURE_SHADOWPASSWDS=y
  26.389 -# CONFIG_USE_BB_PWD_GRP is not set
  26.390 -# CONFIG_USE_BB_SHADOW is not set
  26.391 -CONFIG_USE_BB_CRYPT=y
  26.392 -CONFIG_ADDGROUP=y
  26.393 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  26.394 -CONFIG_DELGROUP=y
  26.395 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  26.396 -# CONFIG_FEATURE_CHECK_NAMES is not set
  26.397 -CONFIG_ADDUSER=y
  26.398 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
  26.399 -CONFIG_DELUSER=y
  26.400 -CONFIG_GETTY=y
  26.401 -CONFIG_FEATURE_UTMP=y
  26.402 -CONFIG_FEATURE_WTMP=y
  26.403 -CONFIG_LOGIN=y
  26.404 -# CONFIG_PAM is not set
  26.405 -# CONFIG_LOGIN_SCRIPTS is not set
  26.406 -CONFIG_FEATURE_NOLOGIN=y
  26.407 -CONFIG_FEATURE_SECURETTY=y
  26.408 -CONFIG_PASSWD=y
  26.409 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
  26.410 -CONFIG_CRYPTPW=y
  26.411 -CONFIG_CHPASSWD=y
  26.412 -CONFIG_SU=y
  26.413 -CONFIG_FEATURE_SU_SYSLOG=y
  26.414 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y
  26.415 -CONFIG_SULOGIN=y
  26.416 -CONFIG_VLOCK=y
  26.417 -
  26.418 -#
  26.419 -# Linux Ext2 FS Progs
  26.420 -#
  26.421 -# CONFIG_CHATTR is not set
  26.422 -# CONFIG_FSCK is not set
  26.423 -# CONFIG_LSATTR is not set
  26.424 -
  26.425 -#
  26.426 -# Linux Module Utilities
  26.427 -#
  26.428 -# CONFIG_MODPROBE_SMALL is not set
  26.429 -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
  26.430 -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
  26.431 -CONFIG_DEPMOD=y
  26.432 -# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set
  26.433 -# CONFIG_FEATURE_DEPMOD_ALIAS is not set
  26.434 -CONFIG_INSMOD=y
  26.435 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  26.436 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  26.437 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  26.438 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  26.439 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  26.440 -CONFIG_RMMOD=y
  26.441 -CONFIG_LSMOD=y
  26.442 -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
  26.443 -CONFIG_MODPROBE=y
  26.444 -CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
  26.445 -CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
  26.446 -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
  26.447 -CONFIG_MODINFO=y
  26.448 -
  26.449 -#
  26.450 -# Options common to multiple modutils
  26.451 -#
  26.452 -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
  26.453 -# CONFIG_FEATURE_2_4_MODULES is not set
  26.454 -CONFIG_FEATURE_2_6_MODULES=y
  26.455 -CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
  26.456 -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
  26.457 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
  26.458 -
  26.459 -#
  26.460 -# Linux System Utilities
  26.461 -#
  26.462 -CONFIG_DMESG=y
  26.463 -CONFIG_FEATURE_DMESG_PRETTY=y
  26.464 -CONFIG_FBSET=y
  26.465 -CONFIG_FEATURE_FBSET_FANCY=y
  26.466 -# CONFIG_FEATURE_FBSET_READMODE is not set
  26.467 -CONFIG_FDFLUSH=y
  26.468 -CONFIG_FDFORMAT=y
  26.469 -CONFIG_FDISK=y
  26.470 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  26.471 -CONFIG_FEATURE_FDISK_WRITABLE=y
  26.472 -# CONFIG_FEATURE_AIX_LABEL is not set
  26.473 -# CONFIG_FEATURE_SGI_LABEL is not set
  26.474 -# CONFIG_FEATURE_SUN_LABEL is not set
  26.475 -# CONFIG_FEATURE_OSF_LABEL is not set
  26.476 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
  26.477 -# CONFIG_FINDFS is not set
  26.478 -CONFIG_FREERAMDISK=y
  26.479 -# CONFIG_FSCK_MINIX is not set
  26.480 -# CONFIG_MKFS_MINIX is not set
  26.481 -# CONFIG_FEATURE_MINIX2 is not set
  26.482 -# CONFIG_GETOPT is not set
  26.483 -CONFIG_HEXDUMP=y
  26.484 -CONFIG_FEATURE_HEXDUMP_REVERSE=y
  26.485 -# CONFIG_HD is not set
  26.486 -CONFIG_HWCLOCK=y
  26.487 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
  26.488 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
  26.489 -CONFIG_IPCRM=y
  26.490 -CONFIG_IPCS=y
  26.491 -CONFIG_LOSETUP=y
  26.492 -CONFIG_MDEV=y
  26.493 -CONFIG_FEATURE_MDEV_CONF=y
  26.494 -# CONFIG_FEATURE_MDEV_RENAME is not set
  26.495 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
  26.496 -CONFIG_FEATURE_MDEV_EXEC=y
  26.497 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
  26.498 -CONFIG_MKSWAP=y
  26.499 -# CONFIG_FEATURE_MKSWAP_V0 is not set
  26.500 -CONFIG_MORE=y
  26.501 -CONFIG_FEATURE_USE_TERMIOS=y
  26.502 -CONFIG_VOLUMEID=y
  26.503 -CONFIG_FEATURE_VOLUMEID_EXT=y
  26.504 -CONFIG_FEATURE_VOLUMEID_REISERFS=y
  26.505 -CONFIG_FEATURE_VOLUMEID_FAT=y
  26.506 -CONFIG_FEATURE_VOLUMEID_HFS=y
  26.507 -# CONFIG_FEATURE_VOLUMEID_JFS is not set
  26.508 -CONFIG_FEATURE_VOLUMEID_XFS=y
  26.509 -CONFIG_FEATURE_VOLUMEID_NTFS=y
  26.510 -CONFIG_FEATURE_VOLUMEID_ISO9660=y
  26.511 -# CONFIG_FEATURE_VOLUMEID_UDF is not set
  26.512 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set
  26.513 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
  26.514 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
  26.515 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
  26.516 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set
  26.517 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
  26.518 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
  26.519 -CONFIG_MOUNT=y
  26.520 -# CONFIG_FEATURE_MOUNT_FAKE is not set
  26.521 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
  26.522 -CONFIG_FEATURE_MOUNT_HELPERS=y
  26.523 -CONFIG_FEATURE_MOUNT_LABEL=y
  26.524 -CONFIG_FEATURE_MOUNT_NFS=y
  26.525 -CONFIG_FEATURE_MOUNT_CIFS=y
  26.526 -CONFIG_FEATURE_MOUNT_FLAGS=y
  26.527 -CONFIG_FEATURE_MOUNT_FSTAB=y
  26.528 -CONFIG_PIVOT_ROOT=y
  26.529 -CONFIG_RDATE=y
  26.530 -# CONFIG_RDEV is not set
  26.531 -CONFIG_READPROFILE=y
  26.532 -CONFIG_REPLAY=y
  26.533 -# CONFIG_RTCWAKE is not set
  26.534 -CONFIG_SCRIPT=y
  26.535 -CONFIG_SETARCH=y
  26.536 -CONFIG_SWAPONOFF=y
  26.537 -CONFIG_FEATURE_SWAPON_PRI=y
  26.538 -CONFIG_SWITCH_ROOT=y
  26.539 -CONFIG_UMOUNT=y
  26.540 -CONFIG_FEATURE_UMOUNT_ALL=y
  26.541 -
  26.542 -#
  26.543 -# Common options for mount/umount
  26.544 -#
  26.545 -CONFIG_FEATURE_MOUNT_LOOP=y
  26.546 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
  26.547 -
  26.548 -#
  26.549 -# Miscellaneous Utilities
  26.550 -#
  26.551 -CONFIG_ADJTIMEX=y
  26.552 -# CONFIG_BBCONFIG is not set
  26.553 -CONFIG_CHAT=y
  26.554 -CONFIG_FEATURE_CHAT_NOFAIL=y
  26.555 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
  26.556 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
  26.557 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
  26.558 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
  26.559 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
  26.560 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
  26.561 -CONFIG_CHRT=y
  26.562 -CONFIG_CROND=y
  26.563 -# CONFIG_DEBUG_CROND_OPTION is not set
  26.564 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  26.565 -CONFIG_CRONTAB=y
  26.566 -# CONFIG_DC is not set
  26.567 -# CONFIG_DEVFSD is not set
  26.568 -# CONFIG_DEVFSD_MODLOAD is not set
  26.569 -# CONFIG_DEVFSD_FG_NP is not set
  26.570 -# CONFIG_DEVFSD_VERBOSE is not set
  26.571 -# CONFIG_FEATURE_DEVFS is not set
  26.572 -CONFIG_EJECT=y
  26.573 -CONFIG_FEATURE_EJECT_SCSI=y
  26.574 -# CONFIG_FBSPLASH is not set
  26.575 -CONFIG_IONICE=y
  26.576 -# CONFIG_INOTIFYD is not set
  26.577 -CONFIG_LAST=y
  26.578 -CONFIG_FEATURE_LAST_SMALL=y
  26.579 -# CONFIG_FEATURE_LAST_FANCY is not set
  26.580 -CONFIG_LESS=y
  26.581 -CONFIG_FEATURE_LESS_MAXLINES=9999999
  26.582 -CONFIG_FEATURE_LESS_BRACKETS=y
  26.583 -CONFIG_FEATURE_LESS_FLAGS=y
  26.584 -CONFIG_FEATURE_LESS_FLAGCS=y
  26.585 -CONFIG_FEATURE_LESS_MARKS=y
  26.586 -CONFIG_FEATURE_LESS_REGEXP=y
  26.587 -CONFIG_HDPARM=y
  26.588 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
  26.589 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  26.590 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  26.591 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  26.592 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  26.593 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  26.594 -# CONFIG_MAKEDEVS is not set
  26.595 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  26.596 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  26.597 -# CONFIG_MAN is not set
  26.598 -CONFIG_MICROCOM=y
  26.599 -CONFIG_MOUNTPOINT=y
  26.600 -# CONFIG_MT is not set
  26.601 -CONFIG_RAIDAUTORUN=y
  26.602 -# CONFIG_READAHEAD is not set
  26.603 -# CONFIG_RUNLEVEL is not set
  26.604 -# CONFIG_RX is not set
  26.605 -CONFIG_SETSID=y
  26.606 -CONFIG_STRINGS=y
  26.607 -CONFIG_TASKSET=y
  26.608 -CONFIG_FEATURE_TASKSET_FANCY=y
  26.609 -CONFIG_TIME=y
  26.610 -# CONFIG_TTYSIZE is not set
  26.611 -CONFIG_VCSA2TXT=y
  26.612 -CONFIG_WATCHDOG=y
  26.613 -
  26.614 -#
  26.615 -# Networking Utilities
  26.616 -#
  26.617 -CONFIG_FEATURE_IPV6=y
  26.618 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
  26.619 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  26.620 -CONFIG_ARP=y
  26.621 -CONFIG_ARPING=y
  26.622 -CONFIG_BRCTL=y
  26.623 -CONFIG_FEATURE_BRCTL_FANCY=y
  26.624 -# CONFIG_FEATURE_BRCTL_SHOW is not set
  26.625 -CONFIG_DNSD=y
  26.626 -CONFIG_ETHER_WAKE=y
  26.627 -CONFIG_FAKEIDENTD=y
  26.628 -CONFIG_FTPGET=y
  26.629 -CONFIG_FTPPUT=y
  26.630 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
  26.631 -CONFIG_HOSTNAME=y
  26.632 -# CONFIG_HTTPD is not set
  26.633 -# CONFIG_FEATURE_HTTPD_RANGES is not set
  26.634 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
  26.635 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
  26.636 -# CONFIG_FEATURE_HTTPD_SETUID is not set
  26.637 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
  26.638 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
  26.639 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
  26.640 -# CONFIG_FEATURE_HTTPD_CGI is not set
  26.641 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
  26.642 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
  26.643 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
  26.644 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
  26.645 -# CONFIG_FEATURE_HTTPD_PROXY is not set
  26.646 -CONFIG_IFCONFIG=y
  26.647 -CONFIG_FEATURE_IFCONFIG_STATUS=y
  26.648 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  26.649 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
  26.650 -CONFIG_FEATURE_IFCONFIG_HW=y
  26.651 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  26.652 -# CONFIG_IFENSLAVE is not set
  26.653 -# CONFIG_IFUPDOWN is not set
  26.654 -CONFIG_IFUPDOWN_IFSTATE_PATH=""
  26.655 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
  26.656 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
  26.657 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
  26.658 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  26.659 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  26.660 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  26.661 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  26.662 -CONFIG_INETD=y
  26.663 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  26.664 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  26.665 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  26.666 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  26.667 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  26.668 -CONFIG_FEATURE_INETD_RPC=y
  26.669 -CONFIG_IP=y
  26.670 -CONFIG_FEATURE_IP_ADDRESS=y
  26.671 -CONFIG_FEATURE_IP_LINK=y
  26.672 -CONFIG_FEATURE_IP_ROUTE=y
  26.673 -CONFIG_FEATURE_IP_TUNNEL=y
  26.674 -CONFIG_FEATURE_IP_RULE=y
  26.675 -CONFIG_FEATURE_IP_SHORT_FORMS=y
  26.676 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
  26.677 -CONFIG_IPADDR=y
  26.678 -CONFIG_IPLINK=y
  26.679 -CONFIG_IPROUTE=y
  26.680 -CONFIG_IPTUNNEL=y
  26.681 -CONFIG_IPRULE=y
  26.682 -CONFIG_IPCALC=y
  26.683 -CONFIG_FEATURE_IPCALC_FANCY=y
  26.684 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
  26.685 -CONFIG_NAMEIF=y
  26.686 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
  26.687 -CONFIG_NC=y
  26.688 -CONFIG_NC_SERVER=y
  26.689 -# CONFIG_NC_EXTRA is not set
  26.690 -CONFIG_NETSTAT=y
  26.691 -CONFIG_FEATURE_NETSTAT_WIDE=y
  26.692 -CONFIG_FEATURE_NETSTAT_PRG=y
  26.693 -CONFIG_NSLOOKUP=y
  26.694 -CONFIG_PING=y
  26.695 -CONFIG_PING6=y
  26.696 -CONFIG_FEATURE_FANCY_PING=y
  26.697 -CONFIG_PSCAN=y
  26.698 -CONFIG_ROUTE=y
  26.699 -# CONFIG_SENDMAIL is not set
  26.700 -# CONFIG_FETCHMAIL is not set
  26.701 -# CONFIG_SLATTACH is not set
  26.702 -CONFIG_TELNET=y
  26.703 -CONFIG_FEATURE_TELNET_TTYPE=y
  26.704 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  26.705 -# CONFIG_TELNETD is not set
  26.706 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set
  26.707 -CONFIG_TFTP=y
  26.708 -CONFIG_TFTPD=y
  26.709 -CONFIG_FEATURE_TFTPD_RIS=y
  26.710 -CONFIG_FEATURE_TFTP_GET=y
  26.711 -CONFIG_FEATURE_TFTP_PUT=y
  26.712 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  26.713 -# CONFIG_DEBUG_TFTP is not set
  26.714 -CONFIG_TRACEROUTE=y
  26.715 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
  26.716 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
  26.717 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  26.718 -CONFIG_APP_UDHCPD=y
  26.719 -CONFIG_APP_DHCPRELAY=y
  26.720 -CONFIG_APP_DUMPLEASES=y
  26.721 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
  26.722 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases"
  26.723 -CONFIG_APP_UDHCPC=y
  26.724 -CONFIG_FEATURE_UDHCPC_ARPING=y
  26.725 -# CONFIG_FEATURE_UDHCP_PORT is not set
  26.726 -# CONFIG_FEATURE_UDHCP_DEBUG is not set
  26.727 -# CONFIG_FEATURE_RFC3397 is not set
  26.728 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
  26.729 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
  26.730 -CONFIG_VCONFIG=y
  26.731 -CONFIG_WGET=y
  26.732 -CONFIG_FEATURE_WGET_STATUSBAR=y
  26.733 -CONFIG_FEATURE_WGET_AUTHENTICATION=y
  26.734 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
  26.735 -CONFIG_ZCIP=y
  26.736 -# CONFIG_TCPSVD is not set
  26.737 -# CONFIG_UDPSVD is not set
  26.738 -
  26.739 -#
  26.740 -# Process Utilities
  26.741 -#
  26.742 -CONFIG_FREE=y
  26.743 -CONFIG_FUSER=y
  26.744 -CONFIG_KILL=y
  26.745 -CONFIG_KILLALL=y
  26.746 -CONFIG_KILLALL5=y
  26.747 -CONFIG_NMETER=y
  26.748 -# CONFIG_PGREP is not set
  26.749 -CONFIG_PIDOF=y
  26.750 -CONFIG_FEATURE_PIDOF_SINGLE=y
  26.751 -CONFIG_FEATURE_PIDOF_OMIT=y
  26.752 -# CONFIG_PKILL is not set
  26.753 -CONFIG_PS=y
  26.754 -CONFIG_FEATURE_PS_WIDE=y
  26.755 -# CONFIG_FEATURE_PS_TIME is not set
  26.756 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
  26.757 -CONFIG_RENICE=y
  26.758 -CONFIG_BB_SYSCTL=y
  26.759 -CONFIG_TOP=y
  26.760 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
  26.761 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
  26.762 -# CONFIG_FEATURE_TOP_DECIMALS is not set
  26.763 -CONFIG_FEATURE_TOPMEM=y
  26.764 -CONFIG_UPTIME=y
  26.765 -CONFIG_WATCH=y
  26.766 -
  26.767 -#
  26.768 -# Shells
  26.769 -#
  26.770 -CONFIG_FEATURE_SH_IS_ASH=y
  26.771 -# CONFIG_FEATURE_SH_IS_HUSH is not set
  26.772 -# CONFIG_FEATURE_SH_IS_MSH is not set
  26.773 -# CONFIG_FEATURE_SH_IS_NONE is not set
  26.774 -CONFIG_ASH=y
  26.775 -
  26.776 -#
  26.777 -# Ash Shell Options
  26.778 -#
  26.779 -CONFIG_ASH_BASH_COMPAT=y
  26.780 -CONFIG_ASH_JOB_CONTROL=y
  26.781 -CONFIG_ASH_READ_NCHARS=y
  26.782 -CONFIG_ASH_READ_TIMEOUT=y
  26.783 -CONFIG_ASH_ALIAS=y
  26.784 -CONFIG_ASH_MATH_SUPPORT=y
  26.785 -CONFIG_ASH_MATH_SUPPORT_64=y
  26.786 -CONFIG_ASH_GETOPTS=y
  26.787 -CONFIG_ASH_BUILTIN_ECHO=y
  26.788 -CONFIG_ASH_BUILTIN_PRINTF=y
  26.789 -CONFIG_ASH_BUILTIN_TEST=y
  26.790 -CONFIG_ASH_CMDCMD=y
  26.791 -# CONFIG_ASH_MAIL is not set
  26.792 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
  26.793 -CONFIG_ASH_RANDOM_SUPPORT=y
  26.794 -# CONFIG_ASH_EXPAND_PRMT is not set
  26.795 -# CONFIG_HUSH is not set
  26.796 -# CONFIG_HUSH_HELP is not set
  26.797 -# CONFIG_HUSH_INTERACTIVE is not set
  26.798 -# CONFIG_HUSH_JOB is not set
  26.799 -# CONFIG_HUSH_TICK is not set
  26.800 -# CONFIG_HUSH_IF is not set
  26.801 -# CONFIG_HUSH_LOOPS is not set
  26.802 -# CONFIG_HUSH_CASE is not set
  26.803 -# CONFIG_LASH is not set
  26.804 -# CONFIG_MSH is not set
  26.805 -
  26.806 -#
  26.807 -# Bourne Shell Options
  26.808 -#
  26.809 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
  26.810 -# CONFIG_FEATURE_SH_STANDALONE is not set
  26.811 -# CONFIG_FEATURE_SH_NOFORK is not set
  26.812 -# CONFIG_CTTYHACK is not set
  26.813 -
  26.814 -#
  26.815 -# System Logging Utilities
  26.816 -#
  26.817 -CONFIG_SYSLOGD=y
  26.818 -CONFIG_FEATURE_ROTATE_LOGFILE=y
  26.819 -CONFIG_FEATURE_REMOTE_LOG=y
  26.820 -CONFIG_FEATURE_SYSLOGD_DUP=y
  26.821 -# CONFIG_FEATURE_IPC_SYSLOG is not set
  26.822 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=
  26.823 -# CONFIG_LOGREAD is not set
  26.824 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
  26.825 -CONFIG_KLOGD=y
  26.826 -CONFIG_LOGGER=y
  26.827 -
  26.828 -#
  26.829 -# Runit Utilities
  26.830 -#
  26.831 -# CONFIG_RUNSV is not set
  26.832 -# CONFIG_RUNSVDIR is not set
  26.833 -# CONFIG_SV is not set
  26.834 -# CONFIG_SVLOGD is not set
  26.835 -# CONFIG_CHPST is not set
  26.836 -# CONFIG_SETUIDGID is not set
  26.837 -# CONFIG_ENVUIDGID is not set
  26.838 -# CONFIG_ENVDIR is not set
  26.839 -# CONFIG_SOFTLIMIT is not set
  26.840 -# CONFIG_CHCON is not set
  26.841 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
  26.842 -# CONFIG_GETENFORCE is not set
  26.843 -# CONFIG_GETSEBOOL is not set
  26.844 -# CONFIG_LOAD_POLICY is not set
  26.845 -# CONFIG_MATCHPATHCON is not set
  26.846 -# CONFIG_RESTORECON is not set
  26.847 -# CONFIG_RUNCON is not set
  26.848 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
  26.849 -# CONFIG_SELINUXENABLED is not set
  26.850 -# CONFIG_SETENFORCE is not set
  26.851 -# CONFIG_SETFILES is not set
  26.852 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
  26.853 -# CONFIG_SETSEBOOL is not set
  26.854 -# CONFIG_SESTATUS is not set
  26.855 -
  26.856 -#
  26.857 -# Print Utilities
  26.858 -#
  26.859 -CONFIG_LPD=y
  26.860 -CONFIG_LPR=y
  26.861 -CONFIG_LPQ=y
    27.1 --- a/busybox/stuff/busybox-1.16.1-cpio-mkdir.u	Wed Jul 07 19:33:09 2010 +0200
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,12 +0,0 @@
    27.4 ---- busybox-1.16.1/archival/libunarchive/data_extract_all.c
    27.5 -+++ busybox-1.16.1/archival/libunarchive/data_extract_all.c
    27.6 -@@ -40,7 +40,8 @@
    27.7 - 			}
    27.8 - 		}
    27.9 - 		else if (existing_sb.st_mtime >= file_header->mtime) {
   27.10 --			if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)) {
   27.11 -+			if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)
   27.12 -+				&& (file_header->mode & S_IFMT) != S_IFDIR) {
   27.13 - 				bb_error_msg("%s not created: newer or "
   27.14 - 					"same age file exists", file_header->name);
   27.15 - 			}
    28.1 --- a/busybox/stuff/busybox-1.16.1-dpkg_deb.u	Wed Jul 07 19:33:09 2010 +0200
    28.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.3 @@ -1,14 +0,0 @@
    28.4 ---- busybox-1.16.1/archival/dpkg_deb.c
    28.5 -+++ busybox-1.16.1/archival/dpkg_deb.c
    28.6 -@@ -41,6 +41,11 @@
    28.7 - 	llist_add_to(&control_tar_llist, (char*)"control.tar.bz2");
    28.8 - #endif
    28.9 - 
   28.10 -+#if ENABLE_FEATURE_SEAMLESS_LZMA
   28.11 -+	llist_add_to(&(ar_archive->accept), (char*)"data.tar.lzma");
   28.12 -+	llist_add_to(&control_tar_llist, (char*)"control.tar.lzma");
   28.13 -+#endif
   28.14 -+
   28.15 - 	opt_complementary = "c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX";
   28.16 - 	opt = getopt32(argv, "cefXx");
   28.17 - 	argv += optind;
    29.1 --- a/busybox/stuff/busybox-1.16.1-ftpd.u	Wed Jul 07 19:33:09 2010 +0200
    29.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.3 @@ -1,15 +0,0 @@
    29.4 ---- busybox-1.16.1/networking/ftpd.c
    29.5 -+++ busybox-1.16.1/networking/ftpd.c
    29.6 -@@ -633,10 +633,10 @@
    29.7 - 	argv[4] = NULL;
    29.8 - 
    29.9 - 	/* Improve compatibility with non-RFC conforming FTP clients
   29.10 --	 * which send e.g. "LIST -l", "LIST -la".
   29.11 -+	 * which send e.g. "LIST -l", "LIST -la", "LIST -aL".
   29.12 - 	 * See https://bugs.kde.org/show_bug.cgi?id=195578 */
   29.13 - 	if (ENABLE_FEATURE_FTPD_ACCEPT_BROKEN_LIST
   29.14 --	 && G.ftp_arg && G.ftp_arg[0] == '-' && G.ftp_arg[1] == 'l'
   29.15 -+	 && G.ftp_arg && G.ftp_arg[0] == '-'
   29.16 - 	) {
   29.17 - 		const char *tmp = strchr(G.ftp_arg, ' ');
   29.18 - 		if (tmp) /* skip the space */
    30.1 --- a/busybox/stuff/busybox-1.16.1-modinfo.u	Wed Jul 07 19:33:09 2010 +0200
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,183 +0,0 @@
    30.4 ---- busybox-1.16.1/include/applets.h
    30.5 -+++ busybox-1.16.1/include/applets.h
    30.6 -@@ -273,6 +273,7 @@
    30.7 - IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP, mkpasswd))
    30.8 - IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_DROP))
    30.9 - IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_DROP))
   30.10 -+IF_MODINFO(APPLET(modinfo, _BB_DIR_SBIN, _BB_SUID_DROP))
   30.11 - IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP))
   30.12 - IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP))
   30.13 - IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_DROP))
   30.14 -
   30.15 ---- busybox-1.16.1/include/usage.h
   30.16 -+++ busybox-1.16.1/include/usage.h
   30.17 -@@ -2984,6 +2984,20 @@
   30.18 -        "   which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \
   30.19 -        "   from the command line\n"
   30.20 - 
   30.21 -+#define modinfo_trivial_usage \
   30.22 -+       "[-adlp0] [-F keyword] MODULE"
   30.23 -+#define modinfo_full_usage "\n\n" \
   30.24 -+       "Options:" \
   30.25 -+     "\n	-a		Shortcut for '-F author'" \
   30.26 -+     "\n	-d		Shortcut for '-F description'" \
   30.27 -+     "\n	-l		Shortcut for '-F license'" \
   30.28 -+     "\n	-p		Shortcut for '-F parm'" \
   30.29 -+     "\n	-F keyword	Keyword to look for" \
   30.30 -+     "\n	-0		Use \\0 string separator. Not \\n" \
   30.31 -+
   30.32 -+#define modinfo_example_usage \
   30.33 -+       "$ modinfo -F vermagic loop\n"
   30.34 -+       
   30.35 - #define more_trivial_usage \
   30.36 -        "[FILE]..."
   30.37 - #define more_full_usage "\n\n" \
   30.38 -
   30.39 ---- busybox-1.16.0/modutils/Config.in
   30.40 -+++ busybox-1.16.0/modutils/Config.in
   30.41 -@@ -110,6 +110,12 @@
   30.42 - 	  and modules.symbols) that contain dependency information
   30.43 - 	  for modprobe.
   30.44 - 
   30.45 -+config MODINFO
   30.46 -+	bool "modinfo"
   30.47 -+	default n
   30.48 -+	help
   30.49 -+	  Show information about a Linux Kernel module
   30.50 -+
   30.51 - comment "Options common to multiple modutils"
   30.52 - 
   30.53 - config FEATURE_2_4_MODULES
   30.54 -
   30.55 ---- busybox-1.16.1/modutils/Kbuild
   30.56 -+++ busybox-1.16.1/modutils/Kbuild
   30.57 -@@ -12,3 +12,4 @@
   30.58 - lib-$(CONFIG_MODPROBE)            += modprobe.o modutils.o
   30.59 - lib-$(CONFIG_RMMOD)               += rmmod.o modutils.o
   30.60 - lib-$(CONFIG_FEATURE_2_4_MODULES) += modutils-24.o
   30.61 -+lib-$(CONFIG_MODINFO)             += modinfo.o
   30.62 -
   30.63 ---- busybox-1.16.1/modutils/modinfo.c
   30.64 -+++ busybox-1.16.1/modutils/modinfo.c
   30.65 -@@ -0,0 +1,121 @@
   30.66 -+/* vi: set sw=4 ts=4: */
   30.67 -+/*
   30.68 -+ * modinfo - retrieve module info
   30.69 -+ * Copyright (c) 2008 Pascal Bellard
   30.70 -+ *
   30.71 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
   30.72 -+ */
   30.73 -+
   30.74 -+#undef _GNU_SOURCE
   30.75 -+#define _GNU_SOURCE
   30.76 -+#include <libbb.h>
   30.77 -+#include <fnmatch.h>
   30.78 -+#include "modutils.h"
   30.79 -+#include <sys/utsname.h> /* uname() */
   30.80 -+
   30.81 -+#define ALL_TAGS	0x3F
   30.82 -+
   30.83 -+enum {
   30.84 -+	ARG_F = (1<<6), /* field name */
   30.85 -+	ARG_0 = (1<<7)  /* \0 as separator */
   30.86 -+};
   30.87 -+
   30.88 -+struct modinfo_env {
   30.89 -+	char *field;
   30.90 -+	int tags;
   30.91 -+};
   30.92 -+
   30.93 -+static int display(char *data, const char *pattern, int flag)
   30.94 -+{
   30.95 -+	if (flag) {
   30.96 -+		int n = printf("%s:",pattern);
   30.97 -+		while (n++ < 16) bb_putchar(' ');
   30.98 -+	}
   30.99 -+	return printf("%s%c",data, (option_mask32 & ARG_0) ? '\0' : '\n');
  30.100 -+}
  30.101 -+
  30.102 -+static void modinfo(char *path, struct modinfo_env *env)
  30.103 -+{
  30.104 -+	static const char *shortcuts[] = {
  30.105 -+		"filename",
  30.106 -+		"description",
  30.107 -+		"author",
  30.108 -+		"license",
  30.109 -+		"vermagic",
  30.110 -+		"parm",
  30.111 -+	};
  30.112 -+	size_t len;
  30.113 -+	int j, length;
  30.114 -+	char *ptr, *the_module;
  30.115 -+	const char *field = env->field;
  30.116 -+	int tags = env->tags;
  30.117 -+
  30.118 -+	if (tags & 1) { /* filename */
  30.119 -+		display(path,shortcuts[0],1 != tags);
  30.120 -+	}
  30.121 -+	len = MAXINT(ssize_t);
  30.122 -+	the_module = xmalloc_open_zipped_read_close(path, &len);
  30.123 -+	if (!the_module) return;
  30.124 -+	if (field) tags |= ALL_TAGS+1;
  30.125 -+	for (j = 1; (1<<j) & (ALL_TAGS+ALL_TAGS+1); j++)	{
  30.126 -+		const char *pattern = field;
  30.127 -+		if ((1<<j) & ALL_TAGS) pattern = shortcuts[j];
  30.128 -+		if (!((1<<j) & tags)) continue;
  30.129 -+		length = strlen(pattern);
  30.130 -+		ptr = the_module;
  30.131 -+		do {
  30.132 -+			ptr = memchr(ptr, *pattern, len - (ptr - (char*)the_module));
  30.133 -+			if (ptr == NULL) /* no occurance left, done */
  30.134 -+				break;
  30.135 -+			if (!strncmp(ptr, pattern, length) && ptr[length] == '=') {
  30.136 -+				ptr += length + 1;
  30.137 -+				ptr += display(ptr,pattern,(1<<j) != tags);
  30.138 -+			}
  30.139 -+			++ptr;
  30.140 -+		} while (1);
  30.141 -+	}
  30.142 -+	free(the_module);
  30.143 -+}
  30.144 -+
  30.145 -+int modinfo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  30.146 -+int modinfo_main(int argc, char **argv)
  30.147 -+{
  30.148 -+	struct modinfo_env env;
  30.149 -+	char name[MODULE_NAME_LEN];
  30.150 -+	struct utsname uts;
  30.151 -+	parser_t *p;
  30.152 -+	char *colon, *tokens[2];
  30.153 -+	int i;
  30.154 -+
  30.155 -+	env.field = NULL;
  30.156 -+	getopt32(argv, "fdalvpF:0", &env.field);
  30.157 -+	env.tags = (option_mask32) ? option_mask32 & ALL_TAGS : ALL_TAGS;
  30.158 -+
  30.159 -+	if (optind >= argc)
  30.160 -+		bb_show_usage();
  30.161 -+		
  30.162 -+	uname(&uts);
  30.163 -+	p = config_open2(concat_path_file(concat_path_file(
  30.164 -+		CONFIG_DEFAULT_MODULES_DIR, uts.release),
  30.165 -+		CONFIG_DEFAULT_DEPMOD_FILE), xfopen_for_read);
  30.166 -+	
  30.167 -+	while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
  30.168 -+		colon = last_char_is(tokens[0], ':');
  30.169 -+		if (colon == NULL)
  30.170 -+			continue;
  30.171 -+		*colon = 0;
  30.172 -+		filename2modname(tokens[0], name);
  30.173 -+		for (i = optind; i < argc; i++) {
  30.174 -+			if (fnmatch(argv[i],name,0) == 0) {
  30.175 -+				modinfo(tokens[0], &env);
  30.176 -+				argv[i] = (char *) "";
  30.177 -+			}
  30.178 -+		}
  30.179 -+	}
  30.180 -+	for (i = optind; i < argc; i++) {
  30.181 -+		if (*argv[i]) {
  30.182 -+			modinfo(argv[i], &env);
  30.183 -+		}		
  30.184 -+	}
  30.185 -+	return 0;
  30.186 -+}
    31.1 --- a/busybox/stuff/busybox-1.16.1-modprobe.u	Wed Jul 07 19:33:09 2010 +0200
    31.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.3 @@ -1,64 +0,0 @@
    31.4 ---- busybox-1.16.1/include/usage.h
    31.5 -+++ busybox-1.16.1/include/usage.h
    31.6 -@@ -2898,7 +2898,7 @@
    31.7 - #define modprobe_trivial_usage \
    31.8 - 	IF_MODPROBE_SMALL("[-qfwrsv] MODULE [symbol=value]...") \
    31.9 - 	IF_NOT_MODPROBE_SMALL("[-" \
   31.10 --		IF_FEATURE_2_4_MODULES("k")"nqrsv" \
   31.11 -+		IF_FEATURE_2_4_MODULES("k")"nlqrsv" \
   31.12 - 		IF_FEATURE_MODPROBE_BLACKLIST("b")"] MODULE [symbol=value]...")
   31.13 - #define modprobe_full_usage "\n\n" \
   31.14 -        "Options:" \
   31.15 -@@ -2915,6 +2915,7 @@
   31.16 -      "\n	-k	Make module autoclean-able" \
   31.17 - 	) \
   31.18 -      "\n	-n	Dry run" \
   31.19 -+     "\n	-l	List" \
   31.20 -      "\n	-q	Quiet" \
   31.21 -      "\n	-r	Remove module (stacks) or do autoclean" \
   31.22 -      "\n	-s	Report via syslog instead of stderr" \
   31.23 -
   31.24 ---- busybox-1.16.1/modutils/modprobe.c
   31.25 -+++ busybox-1.16.1/modutils/modprobe.c
   31.26 -@@ -367,11 +367,10 @@
   31.27 - 	opt = getopt32(argv, INSMOD_OPTS MODPROBE_OPTS INSMOD_ARGS, NULL, NULL);
   31.28 - 	argv += optind;
   31.29 - 
   31.30 --	if (opt & (MODPROBE_OPT_DUMP_ONLY | MODPROBE_OPT_LIST_ONLY |
   31.31 --				MODPROBE_OPT_SHOW_ONLY))
   31.32 -+	if (opt & (MODPROBE_OPT_DUMP_ONLY | MODPROBE_OPT_SHOW_ONLY))
   31.33 - 		bb_error_msg_and_die("not supported");
   31.34 - 
   31.35 --	if (!argv[0]) {
   31.36 -+	if (!argv[0] && !(opt & MODPROBE_OPT_LIST_ONLY)) {
   31.37 - 		if (opt & MODPROBE_OPT_REMOVE) {
   31.38 - 			/* "modprobe -r" (w/o params).
   31.39 - 			 * "If name is NULL, all unused modules marked
   31.40 -@@ -403,6 +402,27 @@
   31.41 - 			DBG("adding module %s", *argv);
   31.42 - 			add_probe(*argv++);
   31.43 - 		} while (*argv);
   31.44 -+	} else if (opt & MODPROBE_OPT_LIST_ONLY) {
   31.45 -+		char *colon, name[MODULE_NAME_LEN], *tokens[2];
   31.46 -+		parser_t *p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, xfopen_for_read);
   31.47 -+		
   31.48 -+		while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
   31.49 -+			int i;
   31.50 -+
   31.51 -+			colon = last_char_is(tokens[0], ':');
   31.52 -+			if (colon == NULL)
   31.53 -+				continue;
   31.54 -+			*colon = 0;
   31.55 -+			filename2modname(tokens[0], name);
   31.56 -+			if (!argv[0]) 
   31.57 -+				puts(tokens[0]);
   31.58 -+			else for (i = 0; argv[i]; i++) {
   31.59 -+				if (fnmatch(argv[i],name,0) == 0) {
   31.60 -+					puts(tokens[0]);
   31.61 -+				}
   31.62 -+			}
   31.63 -+		}
   31.64 -+		return EXIT_SUCCESS;
   31.65 - 	} else {
   31.66 - 		/* First argument is module name, rest are parameters */
   31.67 - 		DBG("probing just module %s", *argv);
    32.1 --- a/busybox/stuff/busybox-1.16.1-ris.u	Wed Jul 07 19:33:09 2010 +0200
    32.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.3 @@ -1,97 +0,0 @@
    32.4 ---- busybox-1.16.1/networking/Config.in
    32.5 -+++ busybox-1.16.1/networking/Config.in
    32.6 -@@ -852,6 +852,15 @@
    32.7 - 	  In other words: it should be run from inetd in nowait mode,
    32.8 - 	  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
    32.9 - 
   32.10 -+config FEATURE_TFTPD_RIS
   32.11 -+	bool "Enable \"RIS\" support"
   32.12 -+	default y
   32.13 -+	depends on TFTPD
   32.14 -+	help
   32.15 -+	  Add support for the Remote Installation Service. This allows
   32.16 -+	  a client to get files starting with \ without respecting case.
   32.17 -+	  Each \ will be replaced by a /.
   32.18 -+
   32.19 - config FEATURE_TFTP_GET
   32.20 - 	bool "Enable \"get\" command"
   32.21 - 	default y
   32.22 -
   32.23 ---- busybox-1.16.1/networking/tftp.c
   32.24 -+++ busybox-1.16.1/networking/tftp.c
   32.25 -@@ -653,6 +653,63 @@
   32.26 - #undef remote_file
   32.27 - }
   32.28 - 
   32.29 -+#if ENABLE_FEATURE_TFTPD_RIS
   32.30 -+#include <dirent.h>
   32.31 -+
   32.32 -+int lookup_entry(const char *comp, char *dest);
   32.33 -+void lookup_file(char *filename);
   32.34 -+
   32.35 -+int lookup_entry(const char *comp, char *dest)
   32.36 -+{
   32.37 -+	DIR *dirp;
   32.38 -+	struct dirent *dptr;
   32.39 -+	if (!dest) return 0;
   32.40 -+	dirp = opendir(dest[0] ? dest : ".");
   32.41 -+	while ((dptr = readdir(dirp))) {
   32.42 -+		if (!strcasecmp(dptr->d_name, comp)) {
   32.43 -+			if (dest[0]) strcat(dest, "/");
   32.44 -+			strcat(dest, dptr->d_name);
   32.45 -+			closedir(dirp);
   32.46 -+			return 1;
   32.47 -+		}
   32.48 -+	}
   32.49 -+	closedir(dirp);
   32.50 -+	return 0;
   32.51 -+}
   32.52 -+
   32.53 -+void lookup_file(char *filename)
   32.54 -+{
   32.55 -+	int found = 0;
   32.56 -+	int len = 0;
   32.57 -+	char dest[1024];
   32.58 -+	char comp[1024];
   32.59 -+	char *check = filename;
   32.60 -+	char *seek = NULL;
   32.61 -+
   32.62 -+	dest[0] = 0;
   32.63 -+	check++;
   32.64 -+	while (*check) {
   32.65 -+		seek = strchr(check, '\\');
   32.66 -+		if (!seek) {
   32.67 -+			if ((*check) && (lookup_entry(check, dest)))
   32.68 -+				found = 1;
   32.69 -+			break;
   32.70 -+		}
   32.71 -+		len = seek - check;
   32.72 -+		memcpy(comp, check, len);
   32.73 -+		comp[len]=0;
   32.74 -+		if (!lookup_entry(comp, dest))
   32.75 -+			break;
   32.76 -+		check += len + 1;
   32.77 -+	}
   32.78 -+
   32.79 -+	if (found) {
   32.80 -+		filename[0] = 0;
   32.81 -+		strcat(filename, dest);
   32.82 -+	}
   32.83 -+}
   32.84 -+#endif
   32.85 -+
   32.86 - #if ENABLE_TFTP
   32.87 - 
   32.88 - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   32.89 -@@ -782,6 +839,11 @@
   32.90 - 		goto err;
   32.91 - 	}
   32.92 - 	local_file = block_buf + 2;
   32.93 -+#if ENABLE_FEATURE_TFTPD_RIS
   32.94 -+	if (local_file[0] == '\\') {
   32.95 -+		lookup_file(local_file);
   32.96 -+	}
   32.97 -+#endif
   32.98 - 	if (local_file[0] == '.' || strstr(local_file, "/.")) {
   32.99 - 		error_msg = "dot in file name";
  32.100 - 		goto err;
    33.1 --- a/busybox/stuff/busybox-1.16.1-stat.u	Wed Jul 07 19:33:09 2010 +0200
    33.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.3 @@ -1,75 +0,0 @@
    33.4 ---- busybox-1.16.1/coreutils/stat.c
    33.5 -+++ busybox-1.16.1/coreutils/stat.c
    33.6 -@@ -14,12 +14,14 @@
    33.7 -  */
    33.8 - 
    33.9 - #include "libbb.h"
   33.10 -+#include <linux/fs.h>
   33.11 - 
   33.12 - /* vars to control behavior */
   33.13 - #define OPT_FILESYS     (1 << 0)
   33.14 - #define OPT_TERSE       (1 << 1)
   33.15 - #define OPT_DEREFERENCE (1 << 2)
   33.16 --#define OPT_SELINUX     (1 << 3)
   33.17 -+#define OPT_MAP         (1 << 3)
   33.18 -+#define OPT_SELINUX     (1 << 4)
   33.19 - 
   33.20 - #if ENABLE_FEATURE_STAT_FORMAT
   33.21 - typedef bool (*statfunc_ptr)(const char *, const char *);
   33.22 -@@ -359,6 +361,26 @@
   33.23 - 
   33.24 - /* Stat the file system and print what we find.  */
   33.25 - #if !ENABLE_FEATURE_STAT_FORMAT
   33.26 -+#define do_mapfile(filename, format) do_mapfile(filename)
   33.27 -+#endif
   33.28 -+static bool do_mapfile(const char *filename, const char *format)
   33.29 -+{
   33.30 -+	int i = 0;
   33.31 -+	int fd = xopen(filename, O_RDONLY);
   33.32 -+
   33.33 -+#if ENABLE_FEATURE_STAT_FORMAT
   33.34 -+	(void) format;
   33.35 -+#endif
   33.36 -+	while (1) {
   33.37 -+		int blk = i++;
   33.38 -+		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   33.39 -+		printf("%u\n",blk);
   33.40 -+	}	
   33.41 -+	return 1;
   33.42 -+}
   33.43 -+
   33.44 -+/* Stat the file system and print what we find.  */
   33.45 -+#if !ENABLE_FEATURE_STAT_FORMAT
   33.46 - #define do_statfs(filename, format) do_statfs(filename)
   33.47 - #endif
   33.48 - static bool do_statfs(const char *filename, const char *format)
   33.49 -@@ -649,7 +671,7 @@
   33.50 - 	statfunc_ptr statfunc = do_stat;
   33.51 - 
   33.52 - 	opt_complementary = "-1"; /* min one arg */
   33.53 --	opts = getopt32(argv, "ftL"
   33.54 -+	opts = getopt32(argv, "ftLm"
   33.55 - 		IF_SELINUX("Z")
   33.56 - 		IF_FEATURE_STAT_FORMAT("c:", &format)
   33.57 - 	);
   33.58 -@@ -660,6 +682,9 @@
   33.59 - 		selinux_or_die();
   33.60 - 	}
   33.61 - #endif
   33.62 -+ 	if (opts & OPT_MAP) { /* -m */
   33.63 -+ 		statfunc = do_mapfile;
   33.64 -+	}
   33.65 - 	ok = 1;
   33.66 - 	argv += optind;
   33.67 - 	for (i = 0; argv[i]; ++i)
   33.68 -
   33.69 ---- busybox-1.16.1/include/usage.h
   33.70 -+++ busybox-1.16.1/include/usage.h
   33.71 -@@ -4201,6 +4201,7 @@
   33.72 -      "\n	-f	Display filesystem status" \
   33.73 -      "\n	-L	Follow links" \
   33.74 -      "\n	-t	Display info in terse form" \
   33.75 -+     "\n	-m	Display block list" \
   33.76 - 	IF_SELINUX( \
   33.77 -      "\n	-Z	Print security context" \
   33.78 - 	) \
    34.1 --- a/busybox/stuff/busybox-1.16.1-syslogd.u	Wed Jul 07 19:33:09 2010 +0200
    34.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.3 @@ -1,11 +0,0 @@
    34.4 ---- busybox-1.16.1/sysklogd/syslogd.c
    34.5 -+++ busybox-1.16.1/sysklogd/syslogd.c
    34.6 -@@ -46,7 +46,7 @@
    34.7 - #undef SYSLOGD_WRLOCK
    34.8 - 
    34.9 - enum {
   34.10 --	MAX_READ = 256,
   34.11 -+	MAX_READ = 1024,
   34.12 - 	DNS_WAIT_SEC = 2 * 60,
   34.13 - };
   34.14 - 
    35.1 --- a/busybox/stuff/busybox-1.16.1-tar.u	Wed Jul 07 19:33:09 2010 +0200
    35.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.3 @@ -1,12 +0,0 @@
    35.4 -Accept --wildcards argument
    35.5 ---- busybox-1.16.1/archival/tar.c
    35.6 -+++ busybox-1.16.1/archival/tar.c
    35.7 -@@ -813,6 +813,8 @@
    35.8 - # if ENABLE_FEATURE_TAR_NOPRESERVE_TIME
    35.9 - 	"touch\0"               No_argument       "m"
   35.10 - # endif
   35.11 -+	/* ignore --wildcards */
   35.12 -+	"wildcards\0"           No_argument       "\xfb"
   35.13 - 	/* use numeric uid/gid from tar header, not textual */
   35.14 - 	"numeric-owner\0"       No_argument       "\xfc"
   35.15 - 	/* do not restore mode */
    36.1 --- a/busybox/stuff/busybox-1.16.1-vcsa2txt.u	Wed Jul 07 19:33:09 2010 +0200
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,576 +0,0 @@
    36.4 ---- busybox-1.16.1/include/applets.h
    36.5 -+++ busybox-1.16.1/include/applets.h
    36.6 -@@ -105,6 +105,7 @@
    36.7 - IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_DROP))
    36.8 - IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_DROP))
    36.9 - IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_DROP))
   36.10 -+IF_VCSA2TXT(APPLET(conspy, _BB_DIR_USR_BIN, _BB_SUID_DROP))
   36.11 - IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_DROP, cp))
   36.12 - IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_DROP))
   36.13 - IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
   36.14 -@@ -420,6 +421,7 @@
   36.15 - IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_DROP))
   36.16 - IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_DROP))
   36.17 - IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_DROP))
   36.18 -+IF_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_DROP))
   36.19 - IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_DROP))
   36.20 - IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE))
   36.21 - IF_VOLNAME(APPLET(volname, _BB_DIR_USR_BIN, _BB_SUID_DROP))
   36.22 -
   36.23 ---- busybox-1.16.1/include/usage.h
   36.24 -+++ busybox-1.16.1/include/usage.h
   36.25 -@@ -440,6 +440,23 @@
   36.26 -      "\n	-1		Close stdout" \
   36.27 -      "\n	-2		Close stderr" \
   36.28 - 
   36.29 -+#define conspy_trivial_usage \
   36.30 -+	"[-vcsnd] [-x rows] [-y lines] [virtual_console]"
   36.31 -+#define conspy_full_usage "\n\n" \
   36.32 -+	"A text-mode VNC like program for Linux virtual terminals.\n" \
   36.33 -+	"\nTo exit, quickly press escape 3 times.\n" \
   36.34 -+	"\nvirtual_console:\n" \
   36.35 -+	"  omitted  Track the current console.\n" \
   36.36 -+	"  1..63    Virtual console N.\n" \
   36.37 -+	"\nOptions:" \
   36.38 -+	"\n	-v	Don't send keystrokes to the console." \
   36.39 -+	"\n	-c	May create device in /dev." \
   36.40 -+	"\n	-s	Open a SHELL session." \
   36.41 -+	"\n	-n	No colors. Black & white only." \
   36.42 -+	"\n	-d	Dump console to stdout."\
   36.43 -+	"\n	-x r	Skip the r first rows."\
   36.44 -+	"\n	-y l	Skip the l first lines."\
   36.45 -+
   36.46 - #define setuidgid_trivial_usage \
   36.47 -        "USER PROG ARGS"
   36.48 - #define setuidgid_full_usage "\n\n" \
   36.49 -@@ -5011,6 +5028,13 @@
   36.50 -      "\n	set_ingress_map	[vlan-name] [skb_priority] [vlan_qos]" \
   36.51 -      "\n	set_name_type	[name-type]" \
   36.52 - 
   36.53 -+#define vcsa2txt_trivial_usage \
   36.54 -+       "stdin"
   36.55 -+#define vcsa2txt_full_usage \
   36.56 -+       "	Filter /dev/vcsa* to ansi escape sequences"
   36.57 -+#define vcsa2txt_example_usage \
   36.58 -+       "# vcsa2txt < /dev/vcsa1\n"
   36.59 -+
   36.60 - #define vi_trivial_usage \
   36.61 -        "[OPTIONS] [FILE]..."
   36.62 - #define vi_full_usage "\n\n" \
   36.63 -
   36.64 ---- busybox-1.16.1/miscutils/Config.in
   36.65 -+++ busybox-1.16.1/miscutils/Config.in
   36.66 -@@ -625,6 +625,12 @@
   36.67 - 	help
   36.68 - 	  Write a message to all users that are logged in.
   36.69 - 
   36.70 -+config VCSA2TXT
   36.71 -+	bool "vcsa2txt/conspy"
   36.72 -+	default n
   36.73 -+	help
   36.74 -+	  Filter /dev/vcsa* output to ansi escape sequences.
   36.75 -+
   36.76 - config WATCHDOG
   36.77 - 	bool "watchdog"
   36.78 - 	default n
   36.79 -
   36.80 ---- busybox-1.16.1/util-linux/Kbuild
   36.81 -+++ busybox-1.16.1/util-linux/Kbuild
   36.82 -@@ -43,3 +43,4 @@
   36.83 - lib-$(CONFIG_SWITCH_ROOT)       += switch_root.o
   36.84 - lib-$(CONFIG_MKFS_EXT2)         += tune2fs.o
   36.85 - lib-$(CONFIG_UMOUNT)            += umount.o
   36.86 -+lib-$(CONFIG_VCSA2TXT)          += vcsa2txt.o
   36.87 -
   36.88 ---- busybox-1.16.1/util-linux/vcsa2txt.c
   36.89 -+++ busybox-1.16.1/util-linux/vcsa2txt.c
   36.90 -@@ -0,0 +1,489 @@
   36.91 -+/* vi: set sw=4 ts=4: */
   36.92 -+/*
   36.93 -+ * A text-mode VNC like program for Linux virtual terminals.
   36.94 -+ *
   36.95 -+ * pascal.bellard@ads-lu.com
   36.96 -+ *
   36.97 -+ * Based on Russell Stuart's conspy.c
   36.98 -+ *   http://ace-host.stuart.id.au/russell/files/conspy.c
   36.99 -+ *
  36.100 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
  36.101 -+ *
  36.102 -+ * example :	conspy num		shared access to console num
  36.103 -+ * or		conspy -d num		screenshot of console num
  36.104 -+ * or		conspy -cs num		poor man's GNU screen like
  36.105 -+ */
  36.106 -+
  36.107 -+//applet:IF_CONSPY(APPLET(conspy, _BB_DIR_BIN, _BB_SUID_DROP))
  36.108 -+
  36.109 -+//kbuild:lib-$(CONFIG_CONSPY) += conspy.o
  36.110 -+
  36.111 -+//config:config CONSPY
  36.112 -+//config:	bool "conspy"
  36.113 -+//config:	default n
  36.114 -+//config:	help
  36.115 -+//config:	  A text-mode VNC like program for Linux virtual terminals.
  36.116 -+//config:	  example : conspy num      shared access to console num
  36.117 -+//config:	  or        conspy -d num   screenshot of console num
  36.118 -+//config:	  or        conspy -cs num  poor man's GNU screen like
  36.119 -+
  36.120 -+//usage:#define conspy_trivial_usage
  36.121 -+//usage:     "[-vcsndf] [-x ROW] [-y LINE] [CONSOLE_NO]"
  36.122 -+//usage:#define conspy_full_usage "\n\n"
  36.123 -+//usage:     "A text-mode VNC like program for Linux virtual consoles."
  36.124 -+//usage:     "\nTo exit, quickly press ESC 3 times."
  36.125 -+//usage:     "\n"
  36.126 -+//usage:     "\nOptions:"
  36.127 -+//usage:     "\n	-v	Don't send keystrokes to the console"
  36.128 -+//usage:     "\n	-c	Create missing devices in /dev"
  36.129 -+//usage:     "\n	-s	Open a SHELL session"
  36.130 -+//usage:     "\n	-n	Black & white"
  36.131 -+//usage:     "\n	-d	Dump console to stdout"
  36.132 -+//usage:     "\n	-f	Follow cursor"
  36.133 -+//usage:     "\n	-x ROW	Starting row"
  36.134 -+//usage:     "\n	-y LINE	Starting line"
  36.135 -+
  36.136 -+#include "libbb.h"
  36.137 -+#include <sys/kd.h>
  36.138 -+
  36.139 -+struct screen_info {
  36.140 -+	unsigned char lines, rows, cursor_x, cursor_y;
  36.141 -+};
  36.142 -+
  36.143 -+#define CHAR(x) ((x)[0])
  36.144 -+#define ATTR(x) ((x)[1])
  36.145 -+#define NEXT(x) ((x)+=2)
  36.146 -+#define DATA(x) (* (short *) (x))
  36.147 -+
  36.148 -+struct globals {
  36.149 -+	char* data;
  36.150 -+	int size;
  36.151 -+	int x, y;
  36.152 -+	int kbd_fd;
  36.153 -+	unsigned width;
  36.154 -+	unsigned height;
  36.155 -+	char last_attr;
  36.156 -+	int ioerror_count;
  36.157 -+	int key_count;
  36.158 -+	int escape_count;
  36.159 -+	int nokeys;
  36.160 -+	int current;
  36.161 -+	int vcsa_fd;
  36.162 -+	struct screen_info info;
  36.163 -+	struct termios term_orig;
  36.164 -+};
  36.165 -+
  36.166 -+#define G (*ptr_to_globals)
  36.167 -+#define INIT_G() do { \
  36.168 -+	SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
  36.169 -+} while (0)
  36.170 -+
  36.171 -+enum {
  36.172 -+	FLAG_v,  // view only
  36.173 -+	FLAG_c,  // create device if need
  36.174 -+	FLAG_s,  // session
  36.175 -+	FLAG_n,  // no colors
  36.176 -+	FLAG_d,  // dump screen
  36.177 -+	FLAG_f,  // follow cursor
  36.178 -+};
  36.179 -+#define FLAG(x) (1 << FLAG_##x)
  36.180 -+#define BW (option_mask32 & FLAG(n))
  36.181 -+
  36.182 -+static void screen_read_close(void)
  36.183 -+{
  36.184 -+	unsigned i, j;
  36.185 -+	char *data = G.data + G.current;
  36.186 -+
  36.187 -+	xread(G.vcsa_fd, data, G.size);
  36.188 -+	G.last_attr = 0;
  36.189 -+	for (i = 0; i < G.info.lines; i++) {
  36.190 -+		for (j = 0; j < G.info.rows; j++, NEXT(data)) {
  36.191 -+			unsigned x = j - G.x; // if will catch j < G.x too
  36.192 -+			unsigned y = i - G.y; // if will catch i < G.y too
  36.193 -+
  36.194 -+			if (CHAR(data) < ' ')
  36.195 -+				CHAR(data) = ' ';
  36.196 -+			if (y >= G.height || x >= G.width)
  36.197 -+				DATA(data) = 0;
  36.198 -+		}
  36.199 -+	}
  36.200 -+	close(G.vcsa_fd);
  36.201 -+}
  36.202 -+
  36.203 -+static void screen_char(char *data)
  36.204 -+{
  36.205 -+	if (!BW && G.last_attr != ATTR(data)) {
  36.206 -+		//                            BLGCRMOW
  36.207 -+		static const char color[8] = "04261537";
  36.208 -+
  36.209 -+		printf("\033[%c;4%c;3%cm",
  36.210 -+			(ATTR(data) & 8) ? '1'  // bold
  36.211 -+					 : '0', // defaults
  36.212 -+			color[(ATTR(data) >> 4) & 7], color[ATTR(data) & 7]);
  36.213 -+		G.last_attr = ATTR(data);
  36.214 -+	}
  36.215 -+	bb_putchar(CHAR(data));
  36.216 -+}
  36.217 -+
  36.218 -+#define clrscr()  printf("\033[1;1H" "\033[0J")
  36.219 -+#define curoff()  printf("\033[?25l")
  36.220 -+
  36.221 -+static void curon(void)
  36.222 -+{
  36.223 -+	printf("\033[?25h");
  36.224 -+}
  36.225 -+
  36.226 -+static void gotoxy(int row, int line)
  36.227 -+{
  36.228 -+	printf("\033[%u;%uH", line + 1, row + 1);
  36.229 -+}
  36.230 -+
  36.231 -+static void screen_dump(void)
  36.232 -+{
  36.233 -+	int linefeed_cnt;
  36.234 -+	int line, row;
  36.235 -+	int linecnt = G.info.lines - G.y;
  36.236 -+	char *data = G.data + G.current + (2 * G.y * G.info.rows);
  36.237 -+
  36.238 -+	linefeed_cnt = 0;
  36.239 -+	for (line = 0; line < linecnt && line < G.height; line++) {
  36.240 -+		int space_cnt = 0;
  36.241 -+		for (row = 0; row < G.info.rows; row++, NEXT(data)) {
  36.242 -+			unsigned tty_row = row - G.x; // if will catch row < G.x too
  36.243 -+
  36.244 -+			if (tty_row >= G.width)
  36.245 -+				continue;
  36.246 -+			space_cnt++;
  36.247 -+			if ((G.last_attr == ATTR(data) || BW) && (CHAR(data) | ' ') == ' ')
  36.248 -+				continue;
  36.249 -+			while (linefeed_cnt != 0) {
  36.250 -+				bb_putchar('\r');
  36.251 -+				bb_putchar('\n');
  36.252 -+				linefeed_cnt--;
  36.253 -+			}
  36.254 -+			while (--space_cnt)
  36.255 -+				bb_putchar(' ');
  36.256 -+			screen_char(data);
  36.257 -+		}
  36.258 -+		linefeed_cnt++;
  36.259 -+	}
  36.260 -+}
  36.261 -+
  36.262 -+static void curmove(void)
  36.263 -+{
  36.264 -+	unsigned cx = G.info.cursor_x - G.x;
  36.265 -+	unsigned cy = G.info.cursor_y - G.y;
  36.266 -+
  36.267 -+	if (cx >= G.width || cy >= G.height) {
  36.268 -+		curoff();
  36.269 -+	} else {
  36.270 -+		curon();
  36.271 -+		gotoxy(cx, cy);
  36.272 -+	}
  36.273 -+	fflush_all();
  36.274 -+}
  36.275 -+
  36.276 -+static void cleanup(int code)
  36.277 -+{
  36.278 -+	curon();
  36.279 -+	fflush_all();
  36.280 -+	tcsetattr(G.kbd_fd, TCSANOW, &G.term_orig);
  36.281 -+	if (ENABLE_FEATURE_CLEAN_UP) {
  36.282 -+		free(ptr_to_globals);
  36.283 -+		close(G.kbd_fd);
  36.284 -+	}
  36.285 -+	// Reset attributes
  36.286 -+	if (!BW)
  36.287 -+		printf("\033[0m");
  36.288 -+	bb_putchar('\n');
  36.289 -+	if (code > 1)
  36.290 -+		kill_myself_with_sig(code); // does not return
  36.291 -+	exit(code);
  36.292 -+}
  36.293 -+
  36.294 -+static void get_initial_data(const char* vcsa_name)
  36.295 -+{
  36.296 -+	G.vcsa_fd = xopen(vcsa_name, O_RDONLY);
  36.297 -+	xread(G.vcsa_fd, &G.info, 4);
  36.298 -+	G.size = G.info.rows * G.info.lines * 2;
  36.299 -+	G.width = G.height = UINT_MAX;
  36.300 -+	G.data = xzalloc(2 * G.size);
  36.301 -+	screen_read_close();
  36.302 -+}
  36.303 -+
  36.304 -+static void create_cdev_if_doesnt_exist(const char* name, dev_t dev)
  36.305 -+{
  36.306 -+	int fd = open(name, O_RDONLY);
  36.307 -+	if (fd != -1)
  36.308 -+		close(fd);
  36.309 -+	else if (errno == ENOENT)
  36.310 -+		mknod(name, S_IFCHR | 0660, dev);
  36.311 -+}
  36.312 -+
  36.313 -+static NOINLINE void start_shell_in_child(const char* tty_name)
  36.314 -+{
  36.315 -+	int pid = vfork();
  36.316 -+	if (pid < 0) {
  36.317 -+		bb_perror_msg_and_die("vfork");
  36.318 -+	}
  36.319 -+	if (pid == 0) {
  36.320 -+		struct termios termchild;
  36.321 -+		char *shell = getenv("SHELL");
  36.322 -+
  36.323 -+		if (!shell)
  36.324 -+			shell = (char *) DEFAULT_SHELL;
  36.325 -+		signal(SIGHUP, SIG_IGN);
  36.326 -+		// set tty as a controlling tty
  36.327 -+		setsid();
  36.328 -+		// make tty to be input, output, error
  36.329 -+		close(0);
  36.330 -+		xopen(tty_name, O_RDWR); // uses fd 0
  36.331 -+		xdup2(0, 1);
  36.332 -+		xdup2(0, 2);
  36.333 -+		ioctl(0, TIOCSCTTY, 1);
  36.334 -+		tcsetpgrp(0, getpid());
  36.335 -+		tcgetattr(0, &termchild);
  36.336 -+		termchild.c_lflag |= ECHO;
  36.337 -+		termchild.c_oflag |= ONLCR | XTABS;
  36.338 -+		termchild.c_iflag |= ICRNL;
  36.339 -+		termchild.c_iflag &= ~IXOFF;
  36.340 -+		tcsetattr_stdin_TCSANOW(&termchild);
  36.341 -+		execl(shell, shell, "-i", (char *) NULL);
  36.342 -+		bb_simple_perror_msg_and_die(shell);
  36.343 -+	}
  36.344 -+}
  36.345 -+
  36.346 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE;
  36.347 -+int vcsa2txt_main(int argc)
  36.348 -+{
  36.349 -+	INIT_G();
  36.350 -+	option_mask32 = FLAG(n);
  36.351 -+	if (argc < 2) option_mask32 = 0;
  36.352 -+	xread(0, &G.info, 4);
  36.353 -+	G.size = G.info.rows * G.info.lines * 2;
  36.354 -+	G.width = G.height = UINT_MAX;
  36.355 -+	G.data = xzalloc(G.size);
  36.356 -+	screen_read_close();
  36.357 -+	screen_dump();
  36.358 -+	bb_putchar('\n');
  36.359 -+	if (ENABLE_FEATURE_CLEAN_UP) {
  36.360 -+		free(ptr_to_globals);
  36.361 -+		close(G.kbd_fd);
  36.362 -+	}
  36.363 -+	return 0;
  36.364 -+}
  36.365 -+
  36.366 -+int conspy_main(int argc UNUSED_PARAM, char **argv) MAIN_EXTERNALLY_VISIBLE;
  36.367 -+int conspy_main(int argc UNUSED_PARAM, char **argv)
  36.368 -+{
  36.369 -+	char vcsa_name[sizeof("/dev/vcsa") + 2];
  36.370 -+	char tty_name[sizeof("/dev/tty") + 2];
  36.371 -+#define keybuf bb_common_bufsiz1
  36.372 -+	struct termios termbuf;
  36.373 -+	unsigned opts;
  36.374 -+	unsigned ttynum;
  36.375 -+	int poll_timeout_ms;
  36.376 -+#if ENABLE_LONG_OPTS
  36.377 -+	static const char getopt_longopts[] ALIGN1 =
  36.378 -+		"viewonly\0"     No_argument "v"
  36.379 -+		"createdevice\0" No_argument "c"
  36.380 -+		"session\0"      No_argument "s"
  36.381 -+		"nocolors\0"     No_argument "n"
  36.382 -+		"dump\0"         No_argument "d"
  36.383 -+		"follow\0"       No_argument "f"
  36.384 -+		;
  36.385 -+
  36.386 -+	applet_long_options = getopt_longopts;
  36.387 -+#endif
  36.388 -+	INIT_G();
  36.389 -+
  36.390 -+	opt_complementary = "x+:y+"; // numeric params
  36.391 -+	opts = getopt32(argv, "vcsndfx:y:", &G.x, &G.y);
  36.392 -+	argv += optind;
  36.393 -+	ttynum = 0;
  36.394 -+	if (argv[0]) {
  36.395 -+		ttynum = xatou_range(argv[0], 0, 63);
  36.396 -+	}
  36.397 -+	sprintf(vcsa_name, "/dev/vcsa%u", ttynum);
  36.398 -+	sprintf(tty_name, "%s%u", "/dev/tty", ttynum);
  36.399 -+	if (opts & FLAG(c)) {
  36.400 -+		if ((opts & (FLAG(s)|FLAG(v))) != FLAG(v))
  36.401 -+			create_cdev_if_doesnt_exist(tty_name, makedev(4, ttynum));
  36.402 -+		create_cdev_if_doesnt_exist(vcsa_name, makedev(7, 128 + ttynum));
  36.403 -+	}
  36.404 -+	if ((opts & FLAG(s)) && ttynum) {
  36.405 -+		start_shell_in_child(tty_name);
  36.406 -+	}
  36.407 -+
  36.408 -+	get_initial_data(vcsa_name);
  36.409 -+	G.kbd_fd = xopen(CURRENT_TTY, O_RDONLY);
  36.410 -+	if (opts & FLAG(d)) {
  36.411 -+		screen_dump();
  36.412 -+		bb_putchar('\n');
  36.413 -+		if (ENABLE_FEATURE_CLEAN_UP) {
  36.414 -+			free(ptr_to_globals);
  36.415 -+			close(G.kbd_fd);
  36.416 -+		}
  36.417 -+		return 0;
  36.418 -+	}
  36.419 -+
  36.420 -+	bb_signals(BB_FATAL_SIGS, cleanup);
  36.421 -+	// All characters must be passed through to us unaltered
  36.422 -+	tcgetattr(G.kbd_fd, &G.term_orig);
  36.423 -+	termbuf = G.term_orig;
  36.424 -+	termbuf.c_iflag &= ~(BRKINT|INLCR|ICRNL|IXON|IXOFF|IUCLC|IXANY|IMAXBEL);
  36.425 -+	termbuf.c_oflag &= ~(OPOST);
  36.426 -+	termbuf.c_lflag &= ~(ISIG|ICANON|ECHO);
  36.427 -+	termbuf.c_cc[VMIN] = 1;
  36.428 -+	termbuf.c_cc[VTIME] = 0;
  36.429 -+	tcsetattr(G.kbd_fd, TCSANOW, &termbuf);
  36.430 -+	poll_timeout_ms = 250;
  36.431 -+	while (1) {
  36.432 -+		struct pollfd pfd;
  36.433 -+		int bytes_read;
  36.434 -+		int i, j;
  36.435 -+		char *data, *old;
  36.436 -+
  36.437 -+		old = G.data + G.current;
  36.438 -+		G.current = G.size - G.current;
  36.439 -+		data = G.data + G.current;
  36.440 -+		
  36.441 -+		// Close & re-open vcsa in case they have
  36.442 -+		// swapped virtual consoles
  36.443 -+		G.vcsa_fd = xopen(vcsa_name, O_RDONLY);
  36.444 -+		xread(G.vcsa_fd, &G.info, 4);
  36.445 -+		if (G.size != (G.info.rows * G.info.lines * 2)) {
  36.446 -+			cleanup(1);
  36.447 -+		}
  36.448 -+		i = G.width;
  36.449 -+		j = G.height;
  36.450 -+		get_terminal_width_height(G.kbd_fd, &G.width, &G.height);
  36.451 -+		if ((option_mask32 & FLAG(f))) {
  36.452 -+			int nx = G.info.cursor_x - G.width + 1;
  36.453 -+			int ny = G.info.cursor_y - G.height + 1;
  36.454 -+
  36.455 -+			if (G.info.cursor_x < G.x) {
  36.456 -+				G.x = G.info.cursor_x;
  36.457 -+				i = 0;	// force refresh
  36.458 -+			}
  36.459 -+			if (nx > G.x) {
  36.460 -+				G.x = nx;
  36.461 -+				i = 0;	// force refresh
  36.462 -+			}
  36.463 -+			if (G.info.cursor_y < G.y) {
  36.464 -+				G.y = G.info.cursor_y;
  36.465 -+				i = 0;	// force refresh
  36.466 -+			}
  36.467 -+			if (ny > G.y) {
  36.468 -+				G.y = ny;
  36.469 -+				i = 0;	// force refresh
  36.470 -+			}
  36.471 -+		}
  36.472 -+
  36.473 -+		// Scan console data and redraw our tty where needed
  36.474 -+		screen_read_close();
  36.475 -+		if (i != G.width || j != G.height) {
  36.476 -+			clrscr();
  36.477 -+			screen_dump();
  36.478 -+		}
  36.479 -+		else for (i = 0; i < G.info.lines; i++) {
  36.480 -+			char *last = last;
  36.481 -+			char *first = NULL;
  36.482 -+			int iy = i - G.y;
  36.483 -+
  36.484 -+			if (iy >= (int) G.height)
  36.485 -+				break;
  36.486 -+			for (j = 0; j < G.info.rows; j++) {
  36.487 -+				last = data;
  36.488 -+				if (DATA(data) != DATA(old) && iy >= 0) {
  36.489 -+					unsigned jx = j - G.x;
  36.490 -+
  36.491 -+					last = NULL;
  36.492 -+					if (first == NULL && jx < G.width) {
  36.493 -+						first = data;
  36.494 -+						gotoxy(jx, iy);
  36.495 -+					}
  36.496 -+				}
  36.497 -+				NEXT(old);
  36.498 -+				NEXT(data);
  36.499 -+			}
  36.500 -+			if (first == NULL)
  36.501 -+				continue;
  36.502 -+			if (last == NULL)
  36.503 -+				last = data;
  36.504 -+
  36.505 -+			// Write the data to the screen
  36.506 -+			for (; first < last; NEXT(first))
  36.507 -+				screen_char(first);
  36.508 -+		}
  36.509 -+		curmove();
  36.510 -+
  36.511 -+		// Wait for local user keypresses
  36.512 -+		pfd.fd = G.kbd_fd;
  36.513 -+		pfd.events = POLLIN;
  36.514 -+		bytes_read = 0;
  36.515 -+		switch (poll(&pfd, 1, poll_timeout_ms)) {
  36.516 -+			char *k;
  36.517 -+		case -1:
  36.518 -+			if (errno != EINTR)
  36.519 -+				cleanup(1);
  36.520 -+			break;
  36.521 -+		case 0:
  36.522 -+			if (++G.nokeys >= 4)
  36.523 -+				G.nokeys = G.escape_count = 0;
  36.524 -+			break;
  36.525 -+		default:
  36.526 -+			// Read the keys pressed
  36.527 -+			k = keybuf + G.key_count;
  36.528 -+			bytes_read = read(G.kbd_fd, k, sizeof(keybuf) - G.key_count);
  36.529 -+			if (bytes_read < 0)
  36.530 -+				cleanup(1);
  36.531 -+
  36.532 -+			// Do exit processing
  36.533 -+			for (i = 0; i < bytes_read; i++) {
  36.534 -+				if (k[i] != '\033') G.escape_count = 0;
  36.535 -+				else if (++G.escape_count >= 3)
  36.536 -+					cleanup(0);
  36.537 -+			}
  36.538 -+		}
  36.539 -+		poll_timeout_ms = 250;
  36.540 -+
  36.541 -+		// Insert all keys pressed into the virtual console's input
  36.542 -+		// buffer.  Don't do this if the virtual console is in scan
  36.543 -+		// code mode - giving ASCII characters to a program expecting
  36.544 -+		// scan codes will confuse it.
  36.545 -+		if (!(option_mask32 & FLAG(v)) && G.escape_count == 0) {
  36.546 -+			int handle, result;
  36.547 -+			long kbd_mode;
  36.548 -+
  36.549 -+			G.key_count += bytes_read;
  36.550 -+			handle = xopen(tty_name, O_WRONLY);
  36.551 -+			result = ioctl(handle, KDGKBMODE, &kbd_mode);
  36.552 -+			if (result == -1)
  36.553 -+				/* nothing */;
  36.554 -+			else if (kbd_mode != K_XLATE && kbd_mode != K_UNICODE)
  36.555 -+				G.key_count = 0; // scan code mode
  36.556 -+			else {
  36.557 -+				for (i = 0; i < G.key_count && result != -1; i++)
  36.558 -+					result = ioctl(handle, TIOCSTI, keybuf + i);
  36.559 -+				G.key_count -= i;
  36.560 -+				if (G.key_count)
  36.561 -+					memmove(keybuf, keybuf + i, G.key_count);
  36.562 -+				// If there is an application on console which reacts
  36.563 -+				// to keypresses, we need to make our first sleep
  36.564 -+				// shorter to quickly redraw whatever it printed there.
  36.565 -+				poll_timeout_ms = 20;
  36.566 -+			}
  36.567 -+			// Close & re-open tty in case they have
  36.568 -+			// swapped virtual consoles
  36.569 -+			close(handle);
  36.570 -+
  36.571 -+			// We sometimes get spurious IO errors on the TTY
  36.572 -+			// as programs close and re-open it
  36.573 -+			if (result != -1)
  36.574 -+				G.ioerror_count = 0;
  36.575 -+			else if (errno != EIO || ++G.ioerror_count > 4)
  36.576 -+				cleanup(1);
  36.577 -+		}
  36.578 -+	}
  36.579 -+}
    37.1 --- a/busybox/stuff/busybox-1.16.1-zmodules.u	Wed Jul 07 19:33:09 2010 +0200
    37.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.3 @@ -1,48 +0,0 @@
    37.4 ---- busybox-1.16.1/modutils/depmod.c
    37.5 -+++ busybox-1.16.1/modutils/depmod.c
    37.6 -@@ -37,7 +37,10 @@
    37.7 - 	ARG_e = (1<<3), /* with -F, print unresolved symbols */
    37.8 - 	ARG_F = (1<<4), /* System.map that contains the symbols */
    37.9 - 	ARG_n = (1<<5), /* dry-run, print to stdout only */
   37.10 --	ARG_r = (1<<6)  /* Compat dummy. Linux Makefile uses it */
   37.11 -+	ARG_r = (1<<6), /* Compat dummy. Linux Makefile uses it */
   37.12 -+	ARG_u = (1<<7), /* unresolved-error: ignored */
   37.13 -+	ARG_q = (1<<8), /* quiet: ignored */
   37.14 -+	ARG_C = (1<<9)  /* config: ignored */
   37.15 - };
   37.16 - 
   37.17 - static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM,
   37.18 -@@ -143,7 +146,7 @@
   37.19 - 	struct utsname uts;
   37.20 - 	int tmp;
   37.21 - 
   37.22 --	getopt32(argv, "aAb:eF:nr", &moddir_base, NULL);
   37.23 -+	getopt32(argv, "aAb:eF:nruqC:", &moddir_base, NULL);
   37.24 - 	argv += optind;
   37.25 - 
   37.26 - 	/* goto modules location */
   37.27 -
   37.28 ---- busybox-1.16.1/libbb/read.c
   37.29 -+++ busybox-1.16.1/libbb/read.c
   37.30 -@@ -328,16 +328,18 @@
   37.31 - 
   37.32 - 	sfx = strrchr(fname, '.');
   37.33 - 	if (sfx) {
   37.34 --		if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, ".lzma") == 0)
   37.35 --			/* .lzma has no header/signature, just trust it */
   37.36 -+		xread(fd, &magic, 2);
   37.37 -+		if (ENABLE_FEATURE_SEAMLESS_LZMA && 
   37.38 -+		    ((magic[0] == 0x5d && magic[1] == 0) || strcmp(sfx, ".lzma") == 0)) {
   37.39 -+			xlseek(fd, 0, SEEK_SET);
   37.40 - 			open_transformer(fd, unpack_lzma_stream, "unlzma");
   37.41 -+		}
   37.42 - 		else
   37.43 - 		if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, ".gz") == 0)
   37.44 - 		 || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, ".bz2") == 0)
   37.45 - 		) {
   37.46 - 			/* .gz and .bz2 both have 2-byte signature, and their
   37.47 - 			 * unpack_XXX_stream wants this header skipped. */
   37.48 --			xread(fd, &magic, 2);
   37.49 - #if ENABLE_FEATURE_SEAMLESS_GZ
   37.50 - #if BB_MMU
   37.51 - 			xformer = unpack_gz_stream;
    38.1 --- a/busybox/stuff/busybox-1.16.1.config	Wed Jul 07 19:33:09 2010 +0200
    38.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.3 @@ -1,923 +0,0 @@
    38.4 -#
    38.5 -# Automatically generated make config: don't edit
    38.6 -# Busybox version: 1.16.1
    38.7 -# Fri Jun  4 16:23:33 2010
    38.8 -#
    38.9 -CONFIG_HAVE_DOT_CONFIG=y
   38.10 -
   38.11 -#
   38.12 -# Busybox Settings
   38.13 -#
   38.14 -
   38.15 -#
   38.16 -# General Configuration
   38.17 -#
   38.18 -CONFIG_DESKTOP=y
   38.19 -# CONFIG_EXTRA_COMPAT is not set
   38.20 -CONFIG_INCLUDE_SUSv2=y
   38.21 -# CONFIG_USE_PORTABLE_CODE is not set
   38.22 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
   38.23 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   38.24 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   38.25 -CONFIG_SHOW_USAGE=y
   38.26 -CONFIG_FEATURE_VERBOSE_USAGE=y
   38.27 -CONFIG_FEATURE_COMPRESS_USAGE=y
   38.28 -CONFIG_FEATURE_INSTALLER=y
   38.29 -CONFIG_LOCALE_SUPPORT=y
   38.30 -# CONFIG_FEATURE_ASSUME_UNICODE is not set
   38.31 -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
   38.32 -CONFIG_LONG_OPTS=y
   38.33 -CONFIG_FEATURE_DEVPTS=y
   38.34 -# CONFIG_FEATURE_CLEAN_UP is not set
   38.35 -CONFIG_FEATURE_PIDFILE=y
   38.36 -CONFIG_FEATURE_SUID=y
   38.37 -CONFIG_FEATURE_SUID_CONFIG=y
   38.38 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   38.39 -# CONFIG_SELINUX is not set
   38.40 -# CONFIG_FEATURE_PREFER_APPLETS is not set
   38.41 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
   38.42 -CONFIG_FEATURE_SYSLOG=y
   38.43 -CONFIG_FEATURE_HAVE_RPC=y
   38.44 -
   38.45 -#
   38.46 -# Build Options
   38.47 -#
   38.48 -# CONFIG_STATIC is not set
   38.49 -# CONFIG_PIE is not set
   38.50 -# CONFIG_NOMMU is not set
   38.51 -# CONFIG_BUILD_LIBBUSYBOX is not set
   38.52 -# CONFIG_FEATURE_INDIVIDUAL is not set
   38.53 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   38.54 -CONFIG_LFS=y
   38.55 -CONFIG_CROSS_COMPILER_PREFIX=""
   38.56 -CONFIG_EXTRA_CFLAGS=""
   38.57 -
   38.58 -#
   38.59 -# Debugging Options
   38.60 -#
   38.61 -# CONFIG_DEBUG is not set
   38.62 -# CONFIG_DEBUG_PESSIMIZE is not set
   38.63 -# CONFIG_WERROR is not set
   38.64 -CONFIG_NO_DEBUG_LIB=y
   38.65 -# CONFIG_DMALLOC is not set
   38.66 -# CONFIG_EFENCE is not set
   38.67 -
   38.68 -#
   38.69 -# Installation Options
   38.70 -#
   38.71 -# CONFIG_INSTALL_NO_USR is not set
   38.72 -CONFIG_INSTALL_APPLET_SYMLINKS=y
   38.73 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set
   38.74 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
   38.75 -# CONFIG_INSTALL_APPLET_DONT is not set
   38.76 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
   38.77 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
   38.78 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
   38.79 -CONFIG_PREFIX="./_install"
   38.80 -
   38.81 -#
   38.82 -# Busybox Library Tuning
   38.83 -#
   38.84 -CONFIG_PASSWORD_MINLEN=6
   38.85 -CONFIG_MD5_SIZE_VS_SPEED=0
   38.86 -# CONFIG_FEATURE_FAST_TOP is not set
   38.87 -# CONFIG_FEATURE_ETC_NETWORKS is not set
   38.88 -CONFIG_FEATURE_EDITING=y
   38.89 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
   38.90 -# CONFIG_FEATURE_EDITING_VI is not set
   38.91 -CONFIG_FEATURE_EDITING_HISTORY=127
   38.92 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y
   38.93 -CONFIG_FEATURE_TAB_COMPLETION=y
   38.94 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
   38.95 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
   38.96 -# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
   38.97 -CONFIG_FEATURE_NON_POSIX_CP=y
   38.98 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
   38.99 -CONFIG_FEATURE_COPYBUF_KB=4
  38.100 -CONFIG_MONOTONIC_SYSCALL=y
  38.101 -CONFIG_IOCTL_HEX2STR_ERROR=y
  38.102 -CONFIG_FEATURE_HWIB=y
  38.103 -
  38.104 -#
  38.105 -# Applets
  38.106 -#
  38.107 -
  38.108 -#
  38.109 -# Archival Utilities
  38.110 -#
  38.111 -CONFIG_FEATURE_SEAMLESS_LZMA=y
  38.112 -CONFIG_FEATURE_SEAMLESS_BZ2=y
  38.113 -CONFIG_FEATURE_SEAMLESS_GZ=y
  38.114 -CONFIG_FEATURE_SEAMLESS_Z=y
  38.115 -CONFIG_AR=y
  38.116 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
  38.117 -CONFIG_BUNZIP2=y
  38.118 -# CONFIG_BZIP2 is not set
  38.119 -CONFIG_CPIO=y
  38.120 -CONFIG_FEATURE_CPIO_O=y
  38.121 -CONFIG_FEATURE_CPIO_P=y
  38.122 -CONFIG_DPKG=y
  38.123 -CONFIG_DPKG_DEB=y
  38.124 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
  38.125 -CONFIG_GUNZIP=y
  38.126 -CONFIG_GZIP=y
  38.127 -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
  38.128 -# CONFIG_LZOP is not set
  38.129 -# CONFIG_LZOP_COMPR_HIGH is not set
  38.130 -CONFIG_RPM2CPIO=y
  38.131 -CONFIG_RPM=y
  38.132 -CONFIG_TAR=y
  38.133 -CONFIG_FEATURE_TAR_CREATE=y
  38.134 -# CONFIG_FEATURE_TAR_AUTODETECT is not set
  38.135 -CONFIG_FEATURE_TAR_FROM=y
  38.136 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
  38.137 -CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
  38.138 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  38.139 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y
  38.140 -CONFIG_FEATURE_TAR_UNAME_GNAME=y
  38.141 -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
  38.142 -CONFIG_UNCOMPRESS=y
  38.143 -CONFIG_UNLZMA=y
  38.144 -# CONFIG_FEATURE_LZMA_FAST is not set
  38.145 -CONFIG_UNZIP=y
  38.146 -
  38.147 -#
  38.148 -# Coreutils
  38.149 -#
  38.150 -CONFIG_BASENAME=y
  38.151 -CONFIG_CAL=y
  38.152 -CONFIG_CAT=y
  38.153 -# CONFIG_CATV is not set
  38.154 -CONFIG_CHGRP=y
  38.155 -CONFIG_CHMOD=y
  38.156 -CONFIG_CHOWN=y
  38.157 -CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
  38.158 -CONFIG_CHROOT=y
  38.159 -CONFIG_CKSUM=y
  38.160 -CONFIG_COMM=y
  38.161 -CONFIG_CP=y
  38.162 -CONFIG_FEATURE_CP_LONG_OPTIONS=y
  38.163 -CONFIG_CUT=y
  38.164 -CONFIG_DATE=y
  38.165 -CONFIG_FEATURE_DATE_ISOFMT=y
  38.166 -CONFIG_FEATURE_DATE_COMPAT=y
  38.167 -CONFIG_DD=y
  38.168 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  38.169 -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
  38.170 -CONFIG_FEATURE_DD_IBS_OBS=y
  38.171 -CONFIG_DF=y
  38.172 -CONFIG_FEATURE_DF_FANCY=y
  38.173 -CONFIG_DIRNAME=y
  38.174 -CONFIG_DOS2UNIX=y
  38.175 -CONFIG_UNIX2DOS=y
  38.176 -CONFIG_DU=y
  38.177 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  38.178 -CONFIG_ECHO=y
  38.179 -CONFIG_FEATURE_FANCY_ECHO=y
  38.180 -CONFIG_ENV=y
  38.181 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
  38.182 -CONFIG_EXPAND=y
  38.183 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
  38.184 -CONFIG_EXPR=y
  38.185 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  38.186 -CONFIG_FALSE=y
  38.187 -CONFIG_FOLD=y
  38.188 -CONFIG_FSYNC=y
  38.189 -CONFIG_HEAD=y
  38.190 -CONFIG_FEATURE_FANCY_HEAD=y
  38.191 -CONFIG_HOSTID=y
  38.192 -CONFIG_ID=y
  38.193 -CONFIG_INSTALL=y
  38.194 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
  38.195 -CONFIG_LENGTH=y
  38.196 -CONFIG_LN=y
  38.197 -CONFIG_LOGNAME=y
  38.198 -CONFIG_LS=y
  38.199 -CONFIG_FEATURE_LS_FILETYPES=y
  38.200 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
  38.201 -CONFIG_FEATURE_LS_RECURSIVE=y
  38.202 -CONFIG_FEATURE_LS_SORTFILES=y
  38.203 -CONFIG_FEATURE_LS_TIMESTAMPS=y
  38.204 -CONFIG_FEATURE_LS_USERNAME=y
  38.205 -CONFIG_FEATURE_LS_COLOR=y
  38.206 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  38.207 -CONFIG_MD5SUM=y
  38.208 -CONFIG_MKDIR=y
  38.209 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
  38.210 -CONFIG_MKFIFO=y
  38.211 -CONFIG_MKNOD=y
  38.212 -CONFIG_MV=y
  38.213 -CONFIG_FEATURE_MV_LONG_OPTIONS=y
  38.214 -CONFIG_NICE=y
  38.215 -CONFIG_NOHUP=y
  38.216 -CONFIG_OD=y
  38.217 -CONFIG_PRINTENV=y
  38.218 -CONFIG_PRINTF=y
  38.219 -CONFIG_PWD=y
  38.220 -CONFIG_READLINK=y
  38.221 -CONFIG_FEATURE_READLINK_FOLLOW=y
  38.222 -CONFIG_REALPATH=y
  38.223 -CONFIG_RM=y
  38.224 -CONFIG_RMDIR=y
  38.225 -CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
  38.226 -CONFIG_SEQ=y
  38.227 -CONFIG_SHA1SUM=y
  38.228 -CONFIG_SHA256SUM=y
  38.229 -# CONFIG_SHA512SUM is not set
  38.230 -CONFIG_SLEEP=y
  38.231 -CONFIG_FEATURE_FANCY_SLEEP=y
  38.232 -# CONFIG_FEATURE_FLOAT_SLEEP is not set
  38.233 -CONFIG_SORT=y
  38.234 -CONFIG_FEATURE_SORT_BIG=y
  38.235 -CONFIG_SPLIT=y
  38.236 -CONFIG_FEATURE_SPLIT_FANCY=y
  38.237 -CONFIG_STAT=y
  38.238 -CONFIG_FEATURE_STAT_FORMAT=y
  38.239 -CONFIG_STTY=y
  38.240 -CONFIG_SUM=y
  38.241 -CONFIG_SYNC=y
  38.242 -CONFIG_TAC=y
  38.243 -CONFIG_TAIL=y
  38.244 -CONFIG_FEATURE_FANCY_TAIL=y
  38.245 -CONFIG_TEE=y
  38.246 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
  38.247 -CONFIG_TEST=y
  38.248 -CONFIG_FEATURE_TEST_64=y
  38.249 -CONFIG_TOUCH=y
  38.250 -CONFIG_TR=y
  38.251 -CONFIG_FEATURE_TR_CLASSES=y
  38.252 -CONFIG_FEATURE_TR_EQUIV=y
  38.253 -CONFIG_TRUE=y
  38.254 -CONFIG_TTY=y
  38.255 -CONFIG_UNAME=y
  38.256 -CONFIG_UNEXPAND=y
  38.257 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
  38.258 -CONFIG_UNIQ=y
  38.259 -CONFIG_USLEEP=y
  38.260 -CONFIG_UUDECODE=y
  38.261 -CONFIG_UUENCODE=y
  38.262 -CONFIG_WC=y
  38.263 -CONFIG_FEATURE_WC_LARGE=y
  38.264 -CONFIG_WHO=y
  38.265 -CONFIG_WHOAMI=y
  38.266 -CONFIG_YES=y
  38.267 -
  38.268 -#
  38.269 -# Common options for cp and mv
  38.270 -#
  38.271 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  38.272 -
  38.273 -#
  38.274 -# Common options for ls, more and telnet
  38.275 -#
  38.276 -CONFIG_FEATURE_AUTOWIDTH=y
  38.277 -
  38.278 -#
  38.279 -# Common options for df, du, ls
  38.280 -#
  38.281 -CONFIG_FEATURE_HUMAN_READABLE=y
  38.282 -
  38.283 -#
  38.284 -# Common options for md5sum, sha1sum, sha256sum, sha512sum
  38.285 -#
  38.286 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  38.287 -
  38.288 -#
  38.289 -# Console Utilities
  38.290 -#
  38.291 -CONFIG_CHVT=y
  38.292 -CONFIG_CLEAR=y
  38.293 -CONFIG_DEALLOCVT=y
  38.294 -CONFIG_DUMPKMAP=y
  38.295 -CONFIG_KBD_MODE=y
  38.296 -CONFIG_LOADFONT=y
  38.297 -CONFIG_LOADKMAP=y
  38.298 -CONFIG_OPENVT=y
  38.299 -CONFIG_RESET=y
  38.300 -# CONFIG_RESIZE is not set
  38.301 -# CONFIG_FEATURE_RESIZE_PRINT is not set
  38.302 -CONFIG_SETCONSOLE=y
  38.303 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  38.304 -# CONFIG_SETFONT is not set
  38.305 -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
  38.306 -CONFIG_DEFAULT_SETFONT_DIR=""
  38.307 -CONFIG_SETKEYCODES=y
  38.308 -CONFIG_SETLOGCONS=y
  38.309 -# CONFIG_SHOWKEY is not set
  38.310 -
  38.311 -#
  38.312 -# Debian Utilities
  38.313 -#
  38.314 -CONFIG_MKTEMP=y
  38.315 -CONFIG_PIPE_PROGRESS=y
  38.316 -# CONFIG_RUN_PARTS is not set
  38.317 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  38.318 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  38.319 -# CONFIG_START_STOP_DAEMON is not set
  38.320 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  38.321 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  38.322 -CONFIG_WHICH=y
  38.323 -
  38.324 -#
  38.325 -# Editors
  38.326 -#
  38.327 -CONFIG_AWK=y
  38.328 -CONFIG_FEATURE_AWK_LIBM=y
  38.329 -CONFIG_CMP=y
  38.330 -CONFIG_DIFF=y
  38.331 -CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
  38.332 -CONFIG_FEATURE_DIFF_DIR=y
  38.333 -# CONFIG_ED is not set
  38.334 -CONFIG_PATCH=y
  38.335 -CONFIG_SED=y
  38.336 -CONFIG_VI=y
  38.337 -CONFIG_FEATURE_VI_MAX_LEN=1024
  38.338 -CONFIG_FEATURE_VI_8BIT=y
  38.339 -CONFIG_FEATURE_VI_COLON=y
  38.340 -CONFIG_FEATURE_VI_YANKMARK=y
  38.341 -CONFIG_FEATURE_VI_SEARCH=y
  38.342 -CONFIG_FEATURE_VI_USE_SIGNALS=y
  38.343 -CONFIG_FEATURE_VI_DOT_CMD=y
  38.344 -CONFIG_FEATURE_VI_READONLY=y
  38.345 -CONFIG_FEATURE_VI_SETOPTS=y
  38.346 -CONFIG_FEATURE_VI_SET=y
  38.347 -CONFIG_FEATURE_VI_WIN_RESIZE=y
  38.348 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
  38.349 -CONFIG_FEATURE_ALLOW_EXEC=y
  38.350 -
  38.351 -#
  38.352 -# Finding Utilities
  38.353 -#
  38.354 -CONFIG_FIND=y
  38.355 -CONFIG_FEATURE_FIND_PRINT0=y
  38.356 -CONFIG_FEATURE_FIND_MTIME=y
  38.357 -CONFIG_FEATURE_FIND_MMIN=y
  38.358 -CONFIG_FEATURE_FIND_PERM=y
  38.359 -CONFIG_FEATURE_FIND_TYPE=y
  38.360 -CONFIG_FEATURE_FIND_XDEV=y
  38.361 -CONFIG_FEATURE_FIND_MAXDEPTH=y
  38.362 -CONFIG_FEATURE_FIND_NEWER=y
  38.363 -CONFIG_FEATURE_FIND_INUM=y
  38.364 -CONFIG_FEATURE_FIND_EXEC=y
  38.365 -CONFIG_FEATURE_FIND_USER=y
  38.366 -CONFIG_FEATURE_FIND_GROUP=y
  38.367 -CONFIG_FEATURE_FIND_NOT=y
  38.368 -CONFIG_FEATURE_FIND_DEPTH=y
  38.369 -CONFIG_FEATURE_FIND_PAREN=y
  38.370 -CONFIG_FEATURE_FIND_SIZE=y
  38.371 -CONFIG_FEATURE_FIND_PRUNE=y
  38.372 -CONFIG_FEATURE_FIND_DELETE=y
  38.373 -CONFIG_FEATURE_FIND_PATH=y
  38.374 -CONFIG_FEATURE_FIND_REGEX=y
  38.375 -# CONFIG_FEATURE_FIND_CONTEXT is not set
  38.376 -CONFIG_FEATURE_FIND_LINKS=y
  38.377 -CONFIG_GREP=y
  38.378 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
  38.379 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
  38.380 -CONFIG_FEATURE_GREP_CONTEXT=y
  38.381 -CONFIG_XARGS=y
  38.382 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  38.383 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  38.384 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  38.385 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  38.386 -
  38.387 -#
  38.388 -# Init Utilities
  38.389 -#
  38.390 -CONFIG_INIT=y
  38.391 -CONFIG_FEATURE_USE_INITTAB=y
  38.392 -CONFIG_FEATURE_KILL_REMOVED=y
  38.393 -CONFIG_FEATURE_KILL_DELAY=0
  38.394 -CONFIG_FEATURE_INIT_SCTTY=y
  38.395 -CONFIG_FEATURE_INIT_SYSLOG=y
  38.396 -CONFIG_FEATURE_EXTRA_QUIET=y
  38.397 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
  38.398 -CONFIG_FEATURE_INITRD=y
  38.399 -CONFIG_HALT=y
  38.400 -# CONFIG_FEATURE_CALL_TELINIT is not set
  38.401 -CONFIG_TELINIT_PATH=""
  38.402 -CONFIG_MESG=y
  38.403 -
  38.404 -#
  38.405 -# Login/Password Management Utilities
  38.406 -#
  38.407 -CONFIG_FEATURE_SHADOWPASSWDS=y
  38.408 -# CONFIG_USE_BB_PWD_GRP is not set
  38.409 -# CONFIG_USE_BB_SHADOW is not set
  38.410 -CONFIG_USE_BB_CRYPT=y
  38.411 -# CONFIG_USE_BB_CRYPT_SHA is not set
  38.412 -CONFIG_ADDGROUP=y
  38.413 -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
  38.414 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  38.415 -CONFIG_DELGROUP=y
  38.416 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  38.417 -# CONFIG_FEATURE_CHECK_NAMES is not set
  38.418 -CONFIG_ADDUSER=y
  38.419 -CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
  38.420 -CONFIG_FIRST_SYSTEM_ID=100
  38.421 -CONFIG_LAST_SYSTEM_ID=999
  38.422 -CONFIG_DELUSER=y
  38.423 -CONFIG_GETTY=y
  38.424 -CONFIG_FEATURE_UTMP=y
  38.425 -CONFIG_FEATURE_WTMP=y
  38.426 -CONFIG_LOGIN=y
  38.427 -# CONFIG_PAM is not set
  38.428 -# CONFIG_LOGIN_SCRIPTS is not set
  38.429 -CONFIG_FEATURE_NOLOGIN=y
  38.430 -CONFIG_FEATURE_SECURETTY=y
  38.431 -CONFIG_PASSWD=y
  38.432 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
  38.433 -# CONFIG_CRYPTPW is not set
  38.434 -CONFIG_CHPASSWD=y
  38.435 -CONFIG_SU=y
  38.436 -CONFIG_FEATURE_SU_SYSLOG=y
  38.437 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y
  38.438 -CONFIG_SULOGIN=y
  38.439 -CONFIG_VLOCK=y
  38.440 -
  38.441 -#
  38.442 -# Linux Ext2 FS Progs
  38.443 -#
  38.444 -CONFIG_CHATTR=y
  38.445 -CONFIG_FSCK=y
  38.446 -CONFIG_LSATTR=y
  38.447 -
  38.448 -#
  38.449 -# Linux Module Utilities
  38.450 -#
  38.451 -# CONFIG_MODPROBE_SMALL is not set
  38.452 -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
  38.453 -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
  38.454 -CONFIG_INSMOD=y
  38.455 -CONFIG_RMMOD=y
  38.456 -CONFIG_LSMOD=y
  38.457 -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
  38.458 -CONFIG_MODPROBE=y
  38.459 -CONFIG_FEATURE_MODPROBE_BLACKLIST=y
  38.460 -CONFIG_DEPMOD=y
  38.461 -CONFIG_MODINFO=y
  38.462 -
  38.463 -#
  38.464 -# Options common to multiple modutils
  38.465 -#
  38.466 -# CONFIG_FEATURE_2_4_MODULES is not set
  38.467 -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
  38.468 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  38.469 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  38.470 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  38.471 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  38.472 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  38.473 -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
  38.474 -CONFIG_FEATURE_MODUTILS_ALIAS=y
  38.475 -CONFIG_FEATURE_MODUTILS_SYMBOLS=y
  38.476 -CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
  38.477 -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
  38.478 -
  38.479 -#
  38.480 -# Linux System Utilities
  38.481 -#
  38.482 -# CONFIG_ACPID is not set
  38.483 -# CONFIG_FEATURE_ACPID_COMPAT is not set
  38.484 -CONFIG_BLKID=y
  38.485 -CONFIG_DMESG=y
  38.486 -CONFIG_FEATURE_DMESG_PRETTY=y
  38.487 -CONFIG_FBSET=y
  38.488 -CONFIG_FEATURE_FBSET_FANCY=y
  38.489 -# CONFIG_FEATURE_FBSET_READMODE is not set
  38.490 -CONFIG_FDFLUSH=y
  38.491 -CONFIG_FDFORMAT=y
  38.492 -CONFIG_FDISK=y
  38.493 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  38.494 -CONFIG_FEATURE_FDISK_WRITABLE=y
  38.495 -# CONFIG_FEATURE_AIX_LABEL is not set
  38.496 -# CONFIG_FEATURE_SGI_LABEL is not set
  38.497 -# CONFIG_FEATURE_SUN_LABEL is not set
  38.498 -# CONFIG_FEATURE_OSF_LABEL is not set
  38.499 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
  38.500 -CONFIG_FINDFS=y
  38.501 -CONFIG_FREERAMDISK=y
  38.502 -# CONFIG_FSCK_MINIX is not set
  38.503 -CONFIG_MKFS_EXT2=y
  38.504 -# CONFIG_MKFS_MINIX is not set
  38.505 -# CONFIG_FEATURE_MINIX2 is not set
  38.506 -# CONFIG_MKFS_REISER is not set
  38.507 -CONFIG_MKFS_VFAT=y
  38.508 -# CONFIG_GETOPT is not set
  38.509 -# CONFIG_FEATURE_GETOPT_LONG is not set
  38.510 -CONFIG_HEXDUMP=y
  38.511 -CONFIG_FEATURE_HEXDUMP_REVERSE=y
  38.512 -# CONFIG_HD is not set
  38.513 -CONFIG_HWCLOCK=y
  38.514 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
  38.515 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
  38.516 -CONFIG_IPCRM=y
  38.517 -CONFIG_IPCS=y
  38.518 -CONFIG_LOSETUP=y
  38.519 -CONFIG_LSPCI=y
  38.520 -CONFIG_LSUSB=y
  38.521 -# CONFIG_MDEV is not set
  38.522 -# CONFIG_FEATURE_MDEV_CONF is not set
  38.523 -# CONFIG_FEATURE_MDEV_RENAME is not set
  38.524 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
  38.525 -# CONFIG_FEATURE_MDEV_EXEC is not set
  38.526 -# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
  38.527 -CONFIG_MKSWAP=y
  38.528 -CONFIG_FEATURE_MKSWAP_UUID=y
  38.529 -CONFIG_MORE=y
  38.530 -CONFIG_FEATURE_USE_TERMIOS=y
  38.531 -CONFIG_VOLUMEID=y
  38.532 -CONFIG_FEATURE_VOLUMEID_EXT=y
  38.533 -CONFIG_FEATURE_VOLUMEID_BTRFS=y
  38.534 -CONFIG_FEATURE_VOLUMEID_REISERFS=y
  38.535 -CONFIG_FEATURE_VOLUMEID_FAT=y
  38.536 -CONFIG_FEATURE_VOLUMEID_HFS=y
  38.537 -# CONFIG_FEATURE_VOLUMEID_JFS is not set
  38.538 -CONFIG_FEATURE_VOLUMEID_XFS=y
  38.539 -CONFIG_FEATURE_VOLUMEID_NTFS=y
  38.540 -CONFIG_FEATURE_VOLUMEID_ISO9660=y
  38.541 -# CONFIG_FEATURE_VOLUMEID_UDF is not set
  38.542 -CONFIG_FEATURE_VOLUMEID_LUKS=y
  38.543 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
  38.544 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
  38.545 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
  38.546 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set
  38.547 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
  38.548 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
  38.549 -CONFIG_MOUNT=y
  38.550 -# CONFIG_FEATURE_MOUNT_FAKE is not set
  38.551 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
  38.552 -CONFIG_FEATURE_MOUNT_HELPERS=y
  38.553 -CONFIG_FEATURE_MOUNT_LABEL=y
  38.554 -CONFIG_FEATURE_MOUNT_NFS=y
  38.555 -CONFIG_FEATURE_MOUNT_CIFS=y
  38.556 -CONFIG_FEATURE_MOUNT_FLAGS=y
  38.557 -CONFIG_FEATURE_MOUNT_FSTAB=y
  38.558 -CONFIG_PIVOT_ROOT=y
  38.559 -CONFIG_RDATE=y
  38.560 -CONFIG_RDEV=y
  38.561 -CONFIG_READPROFILE=y
  38.562 -CONFIG_RTCWAKE=y
  38.563 -CONFIG_SCRIPT=y
  38.564 -CONFIG_SCRIPTREPLAY=y
  38.565 -CONFIG_SETARCH=y
  38.566 -CONFIG_SWAPONOFF=y
  38.567 -CONFIG_FEATURE_SWAPON_PRI=y
  38.568 -CONFIG_SWITCH_ROOT=y
  38.569 -CONFIG_UMOUNT=y
  38.570 -CONFIG_FEATURE_UMOUNT_ALL=y
  38.571 -
  38.572 -#
  38.573 -# Common options for mount/umount
  38.574 -#
  38.575 -CONFIG_FEATURE_MOUNT_LOOP=y
  38.576 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
  38.577 -
  38.578 -#
  38.579 -# Miscellaneous Utilities
  38.580 -#
  38.581 -CONFIG_ADJTIMEX=y
  38.582 -# CONFIG_BBCONFIG is not set
  38.583 -CONFIG_BEEP=y
  38.584 -CONFIG_FEATURE_BEEP_FREQ=4000
  38.585 -CONFIG_FEATURE_BEEP_LENGTH_MS=30
  38.586 -CONFIG_CHAT=y
  38.587 -CONFIG_FEATURE_CHAT_NOFAIL=y
  38.588 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
  38.589 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
  38.590 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
  38.591 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
  38.592 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
  38.593 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
  38.594 -CONFIG_CHRT=y
  38.595 -CONFIG_CROND=y
  38.596 -# CONFIG_FEATURE_CROND_D is not set
  38.597 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  38.598 -CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
  38.599 -CONFIG_CRONTAB=y
  38.600 -# CONFIG_DC is not set
  38.601 -# CONFIG_FEATURE_DC_LIBM is not set
  38.602 -# CONFIG_DEVFSD is not set
  38.603 -# CONFIG_DEVFSD_MODLOAD is not set
  38.604 -# CONFIG_DEVFSD_FG_NP is not set
  38.605 -# CONFIG_DEVFSD_VERBOSE is not set
  38.606 -# CONFIG_FEATURE_DEVFS is not set
  38.607 -# CONFIG_DEVMEM is not set
  38.608 -CONFIG_EJECT=y
  38.609 -CONFIG_FEATURE_EJECT_SCSI=y
  38.610 -# CONFIG_FBSPLASH is not set
  38.611 -# CONFIG_FLASHCP is not set
  38.612 -# CONFIG_FLASH_LOCK is not set
  38.613 -# CONFIG_FLASH_UNLOCK is not set
  38.614 -# CONFIG_FLASH_ERASEALL is not set
  38.615 -CONFIG_IONICE=y
  38.616 -# CONFIG_INOTIFYD is not set
  38.617 -CONFIG_LAST=y
  38.618 -CONFIG_FEATURE_LAST_SMALL=y
  38.619 -# CONFIG_FEATURE_LAST_FANCY is not set
  38.620 -CONFIG_LESS=y
  38.621 -CONFIG_FEATURE_LESS_MAXLINES=9999999
  38.622 -CONFIG_FEATURE_LESS_BRACKETS=y
  38.623 -CONFIG_FEATURE_LESS_FLAGS=y
  38.624 -CONFIG_FEATURE_LESS_MARKS=y
  38.625 -CONFIG_FEATURE_LESS_REGEXP=y
  38.626 -# CONFIG_FEATURE_LESS_WINCH is not set
  38.627 -# CONFIG_FEATURE_LESS_DASHCMD is not set
  38.628 -# CONFIG_FEATURE_LESS_LINENUMS is not set
  38.629 -CONFIG_HDPARM=y
  38.630 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
  38.631 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  38.632 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  38.633 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  38.634 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  38.635 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  38.636 -# CONFIG_MAKEDEVS is not set
  38.637 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  38.638 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  38.639 -# CONFIG_MAN is not set
  38.640 -CONFIG_MICROCOM=y
  38.641 -CONFIG_MOUNTPOINT=y
  38.642 -# CONFIG_MT is not set
  38.643 -CONFIG_RAIDAUTORUN=y
  38.644 -# CONFIG_READAHEAD is not set
  38.645 -# CONFIG_RUNLEVEL is not set
  38.646 -# CONFIG_RX is not set
  38.647 -CONFIG_SETSID=y
  38.648 -CONFIG_STRINGS=y
  38.649 -CONFIG_TASKSET=y
  38.650 -CONFIG_FEATURE_TASKSET_FANCY=y
  38.651 -CONFIG_TIME=y
  38.652 -CONFIG_TIMEOUT=y
  38.653 -# CONFIG_TTYSIZE is not set
  38.654 -# CONFIG_VOLNAME is not set
  38.655 -CONFIG_WALL=y
  38.656 -CONFIG_VCSA2TXT=y
  38.657 -CONFIG_WATCHDOG=y
  38.658 -
  38.659 -#
  38.660 -# Networking Utilities
  38.661 -#
  38.662 -CONFIG_FEATURE_IPV6=y
  38.663 -# CONFIG_FEATURE_UNIX_LOCAL is not set
  38.664 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
  38.665 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  38.666 -CONFIG_ARP=y
  38.667 -CONFIG_ARPING=y
  38.668 -CONFIG_BRCTL=y
  38.669 -CONFIG_FEATURE_BRCTL_FANCY=y
  38.670 -# CONFIG_FEATURE_BRCTL_SHOW is not set
  38.671 -CONFIG_DNSD=y
  38.672 -CONFIG_ETHER_WAKE=y
  38.673 -CONFIG_FAKEIDENTD=y
  38.674 -# CONFIG_FTPD is not set
  38.675 -# CONFIG_FEATURE_FTP_WRITE is not set
  38.676 -# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
  38.677 -CONFIG_FTPGET=y
  38.678 -CONFIG_FTPPUT=y
  38.679 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
  38.680 -CONFIG_HOSTNAME=y
  38.681 -CONFIG_HTTPD=y
  38.682 -CONFIG_FEATURE_HTTPD_RANGES=y
  38.683 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
  38.684 -CONFIG_FEATURE_HTTPD_SETUID=y
  38.685 -CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
  38.686 -CONFIG_FEATURE_HTTPD_AUTH_MD5=y
  38.687 -CONFIG_FEATURE_HTTPD_CGI=y
  38.688 -CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
  38.689 -CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
  38.690 -CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
  38.691 -CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
  38.692 -CONFIG_FEATURE_HTTPD_PROXY=y
  38.693 -CONFIG_IFCONFIG=y
  38.694 -CONFIG_FEATURE_IFCONFIG_STATUS=y
  38.695 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  38.696 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
  38.697 -CONFIG_FEATURE_IFCONFIG_HW=y
  38.698 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  38.699 -CONFIG_IFENSLAVE=y
  38.700 -# CONFIG_IFPLUGD is not set
  38.701 -# CONFIG_IFUPDOWN is not set
  38.702 -CONFIG_IFUPDOWN_IFSTATE_PATH=""
  38.703 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
  38.704 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
  38.705 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
  38.706 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  38.707 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  38.708 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  38.709 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  38.710 -CONFIG_INETD=y
  38.711 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  38.712 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  38.713 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  38.714 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  38.715 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  38.716 -CONFIG_FEATURE_INETD_RPC=y
  38.717 -CONFIG_IP=y
  38.718 -CONFIG_FEATURE_IP_ADDRESS=y
  38.719 -CONFIG_FEATURE_IP_LINK=y
  38.720 -CONFIG_FEATURE_IP_ROUTE=y
  38.721 -CONFIG_FEATURE_IP_TUNNEL=y
  38.722 -CONFIG_FEATURE_IP_RULE=y
  38.723 -CONFIG_FEATURE_IP_SHORT_FORMS=y
  38.724 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
  38.725 -CONFIG_IPADDR=y
  38.726 -CONFIG_IPLINK=y
  38.727 -CONFIG_IPROUTE=y
  38.728 -CONFIG_IPTUNNEL=y
  38.729 -CONFIG_IPRULE=y
  38.730 -CONFIG_IPCALC=y
  38.731 -CONFIG_FEATURE_IPCALC_FANCY=y
  38.732 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
  38.733 -CONFIG_NAMEIF=y
  38.734 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
  38.735 -CONFIG_NC=y
  38.736 -CONFIG_NC_SERVER=y
  38.737 -CONFIG_NC_EXTRA=y
  38.738 -CONFIG_NETSTAT=y
  38.739 -CONFIG_FEATURE_NETSTAT_WIDE=y
  38.740 -CONFIG_FEATURE_NETSTAT_PRG=y
  38.741 -CONFIG_NSLOOKUP=y
  38.742 -CONFIG_NTPD=y
  38.743 -CONFIG_FEATURE_NTPD_SERVER=y
  38.744 -CONFIG_PING=y
  38.745 -CONFIG_PING6=y
  38.746 -CONFIG_FEATURE_FANCY_PING=y
  38.747 -CONFIG_PSCAN=y
  38.748 -CONFIG_ROUTE=y
  38.749 -# CONFIG_SLATTACH is not set
  38.750 -CONFIG_TELNET=y
  38.751 -CONFIG_FEATURE_TELNET_TTYPE=y
  38.752 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  38.753 -# CONFIG_TELNETD is not set
  38.754 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set
  38.755 -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
  38.756 -CONFIG_TFTP=y
  38.757 -CONFIG_TFTPD=y
  38.758 -CONFIG_FEATURE_TFTPD_RIS=y
  38.759 -CONFIG_FEATURE_TFTP_GET=y
  38.760 -CONFIG_FEATURE_TFTP_PUT=y
  38.761 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  38.762 -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
  38.763 -# CONFIG_TFTP_DEBUG is not set
  38.764 -CONFIG_TRACEROUTE=y
  38.765 -# CONFIG_TRACEROUTE6 is not set
  38.766 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
  38.767 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
  38.768 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  38.769 -CONFIG_UDHCPD=y
  38.770 -CONFIG_DHCPRELAY=y
  38.771 -CONFIG_DUMPLEASES=y
  38.772 -CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
  38.773 -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
  38.774 -CONFIG_UDHCPC=y
  38.775 -CONFIG_FEATURE_UDHCPC_ARPING=y
  38.776 -# CONFIG_FEATURE_UDHCP_PORT is not set
  38.777 -CONFIG_UDHCP_DEBUG=0
  38.778 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set
  38.779 -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
  38.780 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
  38.781 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
  38.782 -CONFIG_VCONFIG=y
  38.783 -CONFIG_WGET=y
  38.784 -CONFIG_FEATURE_WGET_STATUSBAR=y
  38.785 -CONFIG_FEATURE_WGET_AUTHENTICATION=y
  38.786 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
  38.787 -CONFIG_ZCIP=y
  38.788 -# CONFIG_TCPSVD is not set
  38.789 -CONFIG_TUNCTL=y
  38.790 -# CONFIG_FEATURE_TUNCTL_UG is not set
  38.791 -# CONFIG_UDPSVD is not set
  38.792 -
  38.793 -#
  38.794 -# Print Utilities
  38.795 -#
  38.796 -# CONFIG_LPD is not set
  38.797 -CONFIG_LPR=y
  38.798 -# CONFIG_LPQ is not set
  38.799 -
  38.800 -#
  38.801 -# Mail Utilities
  38.802 -#
  38.803 -# CONFIG_MAKEMIME is not set
  38.804 -CONFIG_FEATURE_MIME_CHARSET="us-ascii"
  38.805 -# CONFIG_POPMAILDIR is not set
  38.806 -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
  38.807 -# CONFIG_REFORMIME is not set
  38.808 -# CONFIG_FEATURE_REFORMIME_COMPAT is not set
  38.809 -CONFIG_SENDMAIL=y
  38.810 -
  38.811 -#
  38.812 -# Process Utilities
  38.813 -#
  38.814 -CONFIG_FREE=y
  38.815 -CONFIG_FUSER=y
  38.816 -CONFIG_KILL=y
  38.817 -CONFIG_KILLALL=y
  38.818 -CONFIG_KILLALL5=y
  38.819 -CONFIG_NMETER=y
  38.820 -CONFIG_PGREP=y
  38.821 -CONFIG_PIDOF=y
  38.822 -CONFIG_FEATURE_PIDOF_SINGLE=y
  38.823 -CONFIG_FEATURE_PIDOF_OMIT=y
  38.824 -CONFIG_PKILL=y
  38.825 -CONFIG_PS=y
  38.826 -CONFIG_FEATURE_PS_WIDE=y
  38.827 -CONFIG_FEATURE_PS_TIME=y
  38.828 -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
  38.829 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
  38.830 -CONFIG_RENICE=y
  38.831 -CONFIG_BB_SYSCTL=y
  38.832 -CONFIG_TOP=y
  38.833 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
  38.834 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
  38.835 -CONFIG_FEATURE_TOP_SMP_CPU=y
  38.836 -CONFIG_FEATURE_TOP_DECIMALS=y
  38.837 -CONFIG_FEATURE_TOP_SMP_PROCESS=y
  38.838 -CONFIG_FEATURE_TOPMEM=y
  38.839 -CONFIG_FEATURE_SHOW_THREADS=y
  38.840 -CONFIG_UPTIME=y
  38.841 -CONFIG_WATCH=y
  38.842 -
  38.843 -#
  38.844 -# Runit Utilities
  38.845 -#
  38.846 -# CONFIG_RUNSV is not set
  38.847 -# CONFIG_RUNSVDIR is not set
  38.848 -# CONFIG_FEATURE_RUNSVDIR_LOG is not set
  38.849 -# CONFIG_SV is not set
  38.850 -CONFIG_SV_DEFAULT_SERVICE_DIR=""
  38.851 -# CONFIG_SVLOGD is not set
  38.852 -# CONFIG_CHPST is not set
  38.853 -# CONFIG_SETUIDGID is not set
  38.854 -# CONFIG_ENVUIDGID is not set
  38.855 -# CONFIG_ENVDIR is not set
  38.856 -# CONFIG_SOFTLIMIT is not set
  38.857 -# CONFIG_CHCON is not set
  38.858 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
  38.859 -# CONFIG_GETENFORCE is not set
  38.860 -# CONFIG_GETSEBOOL is not set
  38.861 -# CONFIG_LOAD_POLICY is not set
  38.862 -# CONFIG_MATCHPATHCON is not set
  38.863 -# CONFIG_RESTORECON is not set
  38.864 -# CONFIG_RUNCON is not set
  38.865 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
  38.866 -# CONFIG_SELINUXENABLED is not set
  38.867 -# CONFIG_SETENFORCE is not set
  38.868 -# CONFIG_SETFILES is not set
  38.869 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
  38.870 -# CONFIG_SETSEBOOL is not set
  38.871 -# CONFIG_SESTATUS is not set
  38.872 -
  38.873 -#
  38.874 -# Shells
  38.875 -#
  38.876 -CONFIG_FEATURE_SH_IS_ASH=y
  38.877 -# CONFIG_FEATURE_SH_IS_HUSH is not set
  38.878 -# CONFIG_FEATURE_SH_IS_NONE is not set
  38.879 -CONFIG_ASH=y
  38.880 -CONFIG_ASH_BASH_COMPAT=y
  38.881 -CONFIG_ASH_JOB_CONTROL=y
  38.882 -CONFIG_ASH_ALIAS=y
  38.883 -CONFIG_ASH_GETOPTS=y
  38.884 -CONFIG_ASH_BUILTIN_ECHO=y
  38.885 -CONFIG_ASH_BUILTIN_PRINTF=y
  38.886 -CONFIG_ASH_BUILTIN_TEST=y
  38.887 -CONFIG_ASH_CMDCMD=y
  38.888 -# CONFIG_ASH_MAIL is not set
  38.889 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
  38.890 -CONFIG_ASH_RANDOM_SUPPORT=y
  38.891 -# CONFIG_ASH_EXPAND_PRMT is not set
  38.892 -# CONFIG_HUSH is not set
  38.893 -# CONFIG_HUSH_BASH_COMPAT is not set
  38.894 -# CONFIG_HUSH_HELP is not set
  38.895 -# CONFIG_HUSH_INTERACTIVE is not set
  38.896 -# CONFIG_HUSH_JOB is not set
  38.897 -# CONFIG_HUSH_TICK is not set
  38.898 -# CONFIG_HUSH_IF is not set
  38.899 -# CONFIG_HUSH_LOOPS is not set
  38.900 -# CONFIG_HUSH_CASE is not set
  38.901 -# CONFIG_HUSH_FUNCTIONS is not set
  38.902 -# CONFIG_HUSH_LOCAL is not set
  38.903 -# CONFIG_HUSH_EXPORT_N is not set
  38.904 -# CONFIG_HUSH_RANDOM_SUPPORT is not set
  38.905 -# CONFIG_LASH is not set
  38.906 -# CONFIG_MSH is not set
  38.907 -CONFIG_SH_MATH_SUPPORT=y
  38.908 -# CONFIG_SH_MATH_SUPPORT_64 is not set
  38.909 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
  38.910 -# CONFIG_FEATURE_SH_STANDALONE is not set
  38.911 -# CONFIG_FEATURE_SH_NOFORK is not set
  38.912 -# CONFIG_CTTYHACK is not set
  38.913 -
  38.914 -#
  38.915 -# System Logging Utilities
  38.916 -#
  38.917 -CONFIG_SYSLOGD=y
  38.918 -CONFIG_FEATURE_ROTATE_LOGFILE=y
  38.919 -CONFIG_FEATURE_REMOTE_LOG=y
  38.920 -CONFIG_FEATURE_SYSLOGD_DUP=y
  38.921 -# CONFIG_FEATURE_IPC_SYSLOG is not set
  38.922 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
  38.923 -# CONFIG_LOGREAD is not set
  38.924 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
  38.925 -CONFIG_KLOGD=y
  38.926 -CONFIG_LOGGER=y
    39.1 --- a/busybox/stuff/busybox-1.17.0-cpio-mkdir.u	Wed Jul 07 19:33:09 2010 +0200
    39.2 +++ b/busybox/stuff/busybox-1.17.0-cpio-mkdir.u	Wed Jul 07 20:55:53 2010 +0200
    39.3 @@ -1,5 +1,6 @@
    39.4 ---- busybox-1.16.1/archival/libunarchive/data_extract_all.c
    39.5 -+++ busybox-1.16.1/archival/libunarchive/data_extract_all.c
    39.6 +FIXME: Add test case !!
    39.7 +--- busybox-1.17.0/archival/libunarchive/data_extract_all.c
    39.8 ++++ busybox-1.17.0/archival/libunarchive/data_extract_all.c
    39.9  @@ -69,7 +69,8 @@
   39.10   			}
   39.11   		}
    40.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.2 +++ b/busybox/stuff/busybox-1.17.0-depmod.u	Wed Jul 07 20:55:53 2010 +0200
    40.3 @@ -0,0 +1,25 @@
    40.4 +Accept and ignore: --unresolved-error, --quiet, --config somefile
    40.5 +--- busybox-1.17.0/modutils/depmod.c
    40.6 ++++ busybox-1.17.0/modutils/depmod.c
    40.7 +@@ -35,7 +35,10 @@
    40.8 + 	ARG_e = (1<<3), /* with -F, print unresolved symbols */
    40.9 + 	ARG_F = (1<<4), /* System.map that contains the symbols */
   40.10 + 	ARG_n = (1<<5), /* dry-run, print to stdout only */
   40.11 +-	ARG_r = (1<<6)  /* Compat dummy. Linux Makefile uses it */
   40.12 ++	ARG_r = (1<<6), /* Compat dummy. Linux Makefile uses it */
   40.13 ++	ARG_u = (1<<7), /* unresolved-error: ignored */
   40.14 ++	ARG_q = (1<<8), /* quiet: ignored */
   40.15 ++	ARG_C = (1<<9)  /* config: ignored */
   40.16 + };
   40.17 + 
   40.18 + static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM,
   40.19 +@@ -143,7 +146,7 @@
   40.20 + 	struct utsname uts;
   40.21 + 	int tmp;
   40.22 + 
   40.23 +-	getopt32(argv, "aAb:eF:nr", &moddir_base, NULL);
   40.24 ++	getopt32(argv, "aAb:eF:nruqC:", &moddir_base, NULL, NULL);
   40.25 + 	argv += optind;
   40.26 + 
   40.27 + 	/* goto modules location */
   40.28 +
    41.1 --- a/busybox/stuff/busybox-1.17.0-ris.u	Wed Jul 07 19:33:09 2010 +0200
    41.2 +++ b/busybox/stuff/busybox-1.17.0-ris.u	Wed Jul 07 20:55:53 2010 +0200
    41.3 @@ -1,3 +1,4 @@
    41.4 +Add support for the Windows Remote Installation Service
    41.5  --- busybox-1.17.0/networking/Config.src
    41.6  +++ busybox-1.17.0/networking/Config.src
    41.7  @@ -841,6 +841,15 @@
    41.8 @@ -9,7 +10,7 @@
    41.9  +	default y
   41.10  +	depends on TFTPD
   41.11  +	help
   41.12 -+	  Add support for the Remote Installation Service. This allows
   41.13 ++	  Add support for the Windows Remote Installation Service. This allows
   41.14  +	  a client to get files starting with \ without respecting case.
   41.15  +	  Each \ will be replaced by a /.
   41.16  +
   41.17 @@ -19,63 +20,59 @@
   41.18  
   41.19  --- busybox-1.17.0/networking/tftp.c
   41.20  +++ busybox-1.17.0/networking/tftp.c
   41.21 -@@ -656,6 +656,63 @@
   41.22 +@@ -656,6 +656,59 @@
   41.23   #undef remote_file
   41.24   }
   41.25   
   41.26  +#if ENABLE_FEATURE_TFTPD_RIS
   41.27  +#include <dirent.h>
   41.28  +
   41.29 -+int lookup_entry(const char *comp, char *dest);
   41.30 -+void lookup_file(char *filename);
   41.31 ++static int lookup_entry(const char *search, char *unixpath);
   41.32 ++static void unixfilename(char *filename);
   41.33  +
   41.34 -+int lookup_entry(const char *comp, char *dest)
   41.35 ++// lookup search and concat real filename to unixpath
   41.36 ++static int lookup_entry(const char *search, char *unixpath)
   41.37  +{
   41.38 -+	DIR *dirp;
   41.39 -+	struct dirent *dptr;
   41.40 -+	if (!dest) return 0;
   41.41 -+	dirp = opendir(dest[0] ? dest : ".");
   41.42 -+	while ((dptr = readdir(dirp))) {
   41.43 -+		if (!strcasecmp(dptr->d_name, comp)) {
   41.44 -+			if (dest[0]) strcat(dest, "/");
   41.45 -+			strcat(dest, dptr->d_name);
   41.46 -+			closedir(dirp);
   41.47 -+			return 1;
   41.48 ++ 	int status = 0;
   41.49 ++	DIR *dirp = opendir(unixpath[0] ? unixpath : ".");
   41.50 ++ 
   41.51 ++ 	if (dirp != NULL) {
   41.52 ++		struct dirent *entry;
   41.53 ++
   41.54 ++		while ((entry = readdir(dirp))) {
   41.55 ++			if (!strcasecmp(entry->d_name, search)) {
   41.56 ++				if (unixpath[0]) strcat(unixpath, "/");
   41.57 ++				strcat(unixpath, entry->d_name);
   41.58 ++				status++;
   41.59 ++				break;
   41.60 ++			}
   41.61  +		}
   41.62 -+	}
   41.63 -+	closedir(dirp);
   41.64 -+	return 0;
   41.65 ++		closedir(dirp);
   41.66 ++ 	}
   41.67 ++	return status;
   41.68  +}
   41.69  +
   41.70 -+void lookup_file(char *filename)
   41.71 ++// update filename with real file path found
   41.72 ++static void unixfilename(char *filename)
   41.73  +{
   41.74 -+	int found = 0;
   41.75 -+	int len = 0;
   41.76 -+	char dest[1024];
   41.77 -+	char comp[1024];
   41.78 -+	char *check = filename;
   41.79 -+	char *seek = NULL;
   41.80 ++	char unixpath[PATH_MAX];
   41.81 ++	char *s = unixpath + 1;
   41.82 ++	char *check = filename + 1;
   41.83 ++	int len;
   41.84  +
   41.85 -+	dest[0] = 0;
   41.86 -+	check++;
   41.87 -+	while (*check) {
   41.88 -+		seek = strchr(check, '\\');
   41.89 -+		if (!seek) {
   41.90 -+			if ((*check) && (lookup_entry(check, dest)))
   41.91 -+				found = 1;
   41.92 ++	for (unixpath[0] = 0; *check; len++, s += len, check += len) {
   41.93 ++		char *seek = strchr(check, '\\');
   41.94 ++
   41.95 ++		if (!seek) { // basename of filename
   41.96 ++			if (lookup_entry(check, unixpath))
   41.97 ++				strcpy(filename, unixpath); // found
   41.98  +			break;
   41.99  +		}
  41.100  +		len = seek - check;
  41.101 -+		memcpy(comp, check, len);
  41.102 -+		comp[len]=0;
  41.103 -+		if (!lookup_entry(comp, dest))
  41.104 -+			break;
  41.105 -+		check += len + 1;
  41.106 -+	}
  41.107 -+
  41.108 -+	if (found) {
  41.109 -+		filename[0] = 0;
  41.110 -+		strcat(filename, dest);
  41.111 ++		memcpy(s, check, len);
  41.112 ++		s[len] = '\0';
  41.113 ++		if (!lookup_entry(s, unixpath))
  41.114 ++			break; // path mismatch
  41.115  +	}
  41.116  +}
  41.117  +#endif
  41.118 @@ -83,14 +80,13 @@
  41.119   #if ENABLE_TFTP
  41.120   
  41.121   int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  41.122 -@@ -785,6 +842,11 @@
  41.123 +@@ -785,6 +838,10 @@
  41.124   		goto err;
  41.125   	}
  41.126   	local_file = block_buf + 2;
  41.127  +#if ENABLE_FEATURE_TFTPD_RIS
  41.128 -+	if (local_file[0] == '\\') {
  41.129 -+		lookup_file(local_file);
  41.130 -+	}
  41.131 ++	if (local_file[0] == '\\')
  41.132 ++		unixfilename(local_file);
  41.133  +#endif
  41.134   	if (local_file[0] == '.' || strstr(local_file, "/.")) {
  41.135   		error_msg = "dot in file name";
    42.1 --- a/busybox/stuff/busybox-1.17.0-stat.u	Wed Jul 07 19:33:09 2010 +0200
    42.2 +++ b/busybox/stuff/busybox-1.17.0-stat.u	Wed Jul 07 20:55:53 2010 +0200
    42.3 @@ -1,3 +1,5 @@
    42.4 +Add non standard stat -m support to display file block list
    42.5 +Useful to patch read-only filesystems such as ISO9660
    42.6  --- busybox-1.17.0/include/usage.src.h
    42.7  +++ busybox-1.17.0/include/usage.src.h
    42.8  @@ -3979,6 +3979,7 @@
    43.1 --- a/busybox/stuff/busybox-1.17.0-tar.u	Wed Jul 07 19:33:09 2010 +0200
    43.2 +++ b/busybox/stuff/busybox-1.17.0-tar.u	Wed Jul 07 20:55:53 2010 +0200
    43.3 @@ -1,9 +1,12 @@
    43.4 -Accept --wildcards argument
    43.5 +Accept and ignore --wildcards argument
    43.6  --- busybox-1.17.0/archival/tar.c
    43.7  +++ busybox-1.17.0/archival/tar.c
    43.8 -@@ -843,6 +843,8 @@
    43.9 +@@ -841,8 +841,10 @@
   43.10 + 	"touch\0"               No_argument       "m"
   43.11 + # endif
   43.12   # if ENABLE_FEATURE_TAR_TO_COMMAND
   43.13 - 	"to-command\0"		Required_argument "\xfb"
   43.14 +-	"to-command\0"		Required_argument "\xfb"
   43.15 ++	"to-command\0"		Required_argument "\xfa"
   43.16   # endif
   43.17  +	/* ignore --wildcards */
   43.18  +	"wildcards\0"           No_argument       "\xfb"
    44.1 --- a/busybox/stuff/busybox-1.17.0-zmodules.u	Wed Jul 07 19:33:09 2010 +0200
    44.2 +++ b/busybox/stuff/busybox-1.17.0-zmodules.u	Wed Jul 07 20:55:53 2010 +0200
    44.3 @@ -1,45 +1,41 @@
    44.4 ---- busybox-1.17.0/modutils/depmod.c
    44.5 -+++ busybox-1.17.0/modutils/depmod.c
    44.6 -@@ -35,7 +35,10 @@
    44.7 - 	ARG_e = (1<<3), /* with -F, print unresolved symbols */
    44.8 - 	ARG_F = (1<<4), /* System.map that contains the symbols */
    44.9 - 	ARG_n = (1<<5), /* dry-run, print to stdout only */
   44.10 --	ARG_r = (1<<6)  /* Compat dummy. Linux Makefile uses it */
   44.11 -+	ARG_r = (1<<6), /* Compat dummy. Linux Makefile uses it */
   44.12 -+	ARG_u = (1<<7), /* unresolved-error: ignored */
   44.13 -+	ARG_q = (1<<8), /* quiet: ignored */
   44.14 -+	ARG_C = (1<<9)  /* config: ignored */
   44.15 - };
   44.16 - 
   44.17 - static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM,
   44.18 -@@ -143,7 +146,7 @@
   44.19 - 	struct utsname uts;
   44.20 - 	int tmp;
   44.21 - 
   44.22 --	getopt32(argv, "aAb:eF:nr", &moddir_base, NULL);
   44.23 -+	getopt32(argv, "aAb:eF:nruqC:", &moddir_base, NULL);
   44.24 - 	argv += optind;
   44.25 - 
   44.26 - 	/* goto modules location */
   44.27 +Add LZMA_DEFAULT_MAGIC support
   44.28 +--- busybox-1.17.0/include/unarchive.h
   44.29 ++++ busybox-1.17.0/include/unarchive.h
   44.30 +@@ -9,6 +9,8 @@
   44.31 + 	COMPRESS_MAGIC = 0x1f9d,
   44.32 + 	GZIP_MAGIC  = 0x1f8b,
   44.33 + 	BZIP2_MAGIC = 'B' * 256 + 'Z',
   44.34 ++	/* lzma default options: lc=3 lp=0 pb=2, historic % 256 == 0 */
   44.35 ++	LZMA_DEFAULT_MAGIC = 0x5d00,
   44.36 + 	/* .xz signature: 0xfd, '7', 'z', 'X', 'Z', 0x00 */
   44.37 + 	/* More info at: http://tukaani.org/xz/xz-file-format.txt */
   44.38 + 	XZ_MAGIC1   = 0xfd * 256 + '7',
   44.39 +@@ -20,6 +22,8 @@
   44.40 + 	COMPRESS_MAGIC = 0x9d1f,
   44.41 + 	GZIP_MAGIC  = 0x8b1f,
   44.42 + 	BZIP2_MAGIC = 'Z' * 256 + 'B',
   44.43 ++	/* lzma default options: lc=3 lp=0 pb=2, historic % 256 == 0 */
   44.44 ++	LZMA_DEFAULT_MAGIC = 0x5d,
   44.45 + 	XZ_MAGIC1   = '7' * 256 + 0xfd,
   44.46 + 	XZ_MAGIC2   = ((0 * 256 + 'Z') * 256 + 'X') * 256 + 'z',
   44.47 + 	XZ_MAGIC1a  = (('X' * 256 + 'z') * 256 + '7') * 256 + 0xfd,
   44.48  
   44.49  --- busybox-1.17.0/libbb/read_printf.c
   44.50  +++ busybox-1.17.0/libbb/read_printf.c
   44.51 -@@ -337,10 +337,16 @@
   44.52 - 
   44.53 - 	sfx = strrchr(fname, '.');
   44.54 - 	if (sfx) {
   44.55 -+		char magic[2];
   44.56 -+
   44.57 - 		sfx++;
   44.58 --		if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, "lzma") == 0)
   44.59 --			/* .lzma has no header/signature, just trust it */
   44.60 -+		xread(fd, &magic, 2);
   44.61 -+		xlseek(fd, 0, SEEK_SET);
   44.62 -+		if (ENABLE_FEATURE_SEAMLESS_LZMA
   44.63 -+		 && ((magic[0] == 0x5d && magic[1] == 0)
   44.64 -+		  || strcmp(sfx, ".lzma") == 0)) {
   44.65 - 			open_transformer(fd, unpack_lzma_stream, "unlzma");
   44.66 -+		}
   44.67 - 		else
   44.68 - 		if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, "gz") == 0)
   44.69 - 		 || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, "bz2") == 0)
   44.70 +@@ -286,6 +286,16 @@
   44.71 + # endif
   44.72 + 		goto found_magic;
   44.73 + 	}
   44.74 ++	if (ENABLE_FEATURE_SEAMLESS_LZMA
   44.75 ++	 && magic.b16[0] == LZMA_DEFAULT_MAGIC
   44.76 ++	) {
   44.77 ++# if BB_MMU
   44.78 ++		xformer = unpack_lzma_stream;
   44.79 ++# else
   44.80 ++		xformer_prog = "unlzma";
   44.81 ++# endif
   44.82 ++		goto found_magic;
   44.83 ++	}
   44.84 + 	if (ENABLE_FEATURE_SEAMLESS_XZ
   44.85 + 	 && magic.b16[0] == XZ_MAGIC1
   44.86 + 	) {
    45.1 --- a/busybox/stuff/udhcp.script	Wed Jul 07 19:33:09 2010 +0200
    45.2 +++ b/busybox/stuff/udhcp.script	Wed Jul 07 20:55:53 2010 +0200
    45.3 @@ -4,6 +4,7 @@
    45.4  
    45.5  [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
    45.6  
    45.7 +[ "$subnet" == "255.255.255.255" ] && subnet="255.255.0.0" # qemu weirdness
    45.8  RESOLV_CONF="/etc/resolv.conf"
    45.9  [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
   45.10  [ -n "$subnet" ] && NETMASK="netmask $subnet"