wok rev 3196

busybox/su: fix environment
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed May 27 18:15:16 2009 +0200 (2009-05-27)
parents 77070ef5bae8
children ba5bb45bb8fa
files busybox/receipt busybox/stuff/busybox-1.10.0-cpio-mkdir.u busybox/stuff/busybox-1.10.0-cpio.u busybox/stuff/busybox-1.10.0-dhcpc.u busybox/stuff/busybox-1.10.0-patch.u busybox/stuff/busybox-1.10.0-vcsa2txt.u busybox/stuff/busybox-1.10.0.config busybox/stuff/busybox-1.10.1-cpio-mkdir.u busybox/stuff/busybox-1.10.1-cpio-mtime.u busybox/stuff/busybox-1.10.1-cpio.u busybox/stuff/busybox-1.10.1-dhcpc.u busybox/stuff/busybox-1.10.1-fixes-1.10.1.u busybox/stuff/busybox-1.10.1-header_tar.u busybox/stuff/busybox-1.10.1-patch.u busybox/stuff/busybox-1.10.1-script.u busybox/stuff/busybox-1.10.1-stat.u busybox/stuff/busybox-1.10.1-tar.u busybox/stuff/busybox-1.10.1-tftp.u busybox/stuff/busybox-1.10.1-unlzma.u busybox/stuff/busybox-1.10.1-vcsa2txt.u busybox/stuff/busybox-1.10.1.config busybox/stuff/busybox-1.10.3-cpio-mkdir.u busybox/stuff/busybox-1.10.3-cpio-mtime.u busybox/stuff/busybox-1.10.3-cpio.u busybox/stuff/busybox-1.10.3-dhcpc.u busybox/stuff/busybox-1.10.3-header_tar.u busybox/stuff/busybox-1.10.3-patch.u busybox/stuff/busybox-1.10.3-script.u busybox/stuff/busybox-1.10.3-stat.u busybox/stuff/busybox-1.10.3-syslogd.u busybox/stuff/busybox-1.10.3-tar.u busybox/stuff/busybox-1.10.3-tftp.u busybox/stuff/busybox-1.10.3-unlzma.u busybox/stuff/busybox-1.10.3-vcsa2txt.u busybox/stuff/busybox-1.10.3.config busybox/stuff/busybox-1.11.0-cpio-mkdir.u busybox/stuff/busybox-1.11.0-cpio-mtime.u busybox/stuff/busybox-1.11.0-stat.u busybox/stuff/busybox-1.11.0-unlzma.u busybox/stuff/busybox-1.11.0-vcsa2txt.u busybox/stuff/busybox-1.11.0.config busybox/stuff/busybox-1.12.0-su.u busybox/stuff/busybox-1.12.0.config busybox/stuff/busybox-1.7.3-df.u busybox/stuff/busybox-1.7.3-hexdump.u busybox/stuff/busybox-1.7.3-patch.u busybox/stuff/busybox-1.7.3-script.u busybox/stuff/busybox-1.7.3-usage-df.u busybox/stuff/busybox-1.7.3-vcsa2txt.u busybox/stuff/busybox-1.7.3.config
line diff
     1.1 --- a/busybox/receipt	Wed May 27 11:52:33 2009 +0200
     1.2 +++ b/busybox/receipt	Wed May 27 18:15:16 2009 +0200
     1.3 @@ -34,6 +34,7 @@
     1.4  mkswap.u
     1.5  install.u
     1.6  basename.u
     1.7 +su.u
     1.8  EOT
     1.9      cp ../stuff/$PACKAGE-$VERSION.config .config
    1.10      make oldconfig
     2.1 --- a/busybox/stuff/busybox-1.10.0-cpio-mkdir.u	Wed May 27 11:52:33 2009 +0200
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,21 +0,0 @@
     2.4 ---- busybox-1.10.0/archival/libunarchive/data_extract_all.c
     2.5 -+++ busybox-1.10.0/archival/libunarchive/data_extract_all.c
     2.6 -@@ -38,7 +38,8 @@
     2.7 - 			}
     2.8 - 		}
     2.9 - 		else if (statbuf.st_mtime <= file_header->mtime) {
    2.10 --			if (!(archive_handle->flags & ARCHIVE_EXTRACT_QUIET)) {
    2.11 -+			if (!(archive_handle->flags & ARCHIVE_EXTRACT_QUIET) &&
    2.12 -+				(file_header->mode & S_IFMT) != S_IFDIR) {
    2.13 - 				bb_error_msg("%s not created: newer or "
    2.14 - 					"same age file exists", file_header->name);
    2.15 - 			}
    2.16 -@@ -77,7 +78,7 @@
    2.17 - 		}
    2.18 - 		case S_IFDIR:
    2.19 - 			res = mkdir(file_header->name, file_header->mode);
    2.20 --			if ((res == -1) && (errno != EISDIR)
    2.21 -+			if ((res == -1) && (errno != EISDIR) && (errno != EEXIST)
    2.22 - 			 && !(archive_handle->flags & ARCHIVE_EXTRACT_QUIET)
    2.23 - 			) {
    2.24 - 				bb_perror_msg("cannot make dir %s", file_header->name);
     3.1 --- a/busybox/stuff/busybox-1.10.0-cpio.u	Wed May 27 11:52:33 2009 +0200
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,220 +0,0 @@
     3.4 -diff -purN busybox-1.10.0/archival/Config.in busybox/archival/Config.in
     3.5 ---- busybox-1.10.0/archival/Config.in	2008-03-29 21:47:37.000000000 +0100
     3.6 -+++ busybox-1.10.0/archival/Config.in	2008-03-29 21:47:37.000000000 +0100
     3.7 -@@ -78,6 +78,14 @@ config CPIO
     3.8 - 	  Unless you have a specific application which requires cpio, you should
     3.9 - 	  probably say N here.
    3.10 - 
    3.11 -+config FEATURE_CPIO_O
    3.12 -+	bool "Support for archive creation"
    3.13 -+	default n
    3.14 -+	depends on CPIO
    3.15 -+	help
    3.16 -+	  This implementation of cpio can create cpio archives in the "newc"
    3.17 -+	  format only.
    3.18 -+
    3.19 - config DPKG
    3.20 - 	bool "dpkg"
    3.21 - 	default n
    3.22 -diff -purN busybox-1.10.0/archival/cpio.c busybox/archival/cpio.c
    3.23 ---- busybox-1.10.0/archival/cpio.c	2008-03-29 21:47:55.000000000 +0100
    3.24 -+++ busybox-1.10.0/archival/cpio.c	2008-03-29 21:47:55.000000000 +0100
    3.25 -@@ -21,12 +21,146 @@
    3.26 - #define CPIO_OPT_FILE                   0x10
    3.27 - #define CPIO_OPT_CREATE_LEADING_DIR     0x20
    3.28 - #define CPIO_OPT_PRESERVE_MTIME         0x40
    3.29 -+#define CPIO_OPT_CREATE                 0x80
    3.30 -+#define CPIO_OPT_FORMAT                0x100
    3.31 -+
    3.32 -+#if ENABLE_FEATURE_CPIO_O
    3.33 -+static void cpio_pad(off_t *size, int n)
    3.34 -+{
    3.35 -+    int i;
    3.36 -+    for (*size += i = (-*size) & n; --i >= 0; bb_putchar(0));
    3.37 -+}
    3.38 -+
    3.39 -+static void cpio_o(void)
    3.40 -+{
    3.41 -+    struct name_s {
    3.42 -+        struct name_s *next;
    3.43 -+        char name[0];
    3.44 -+    };
    3.45 -+    struct inodes_s {
    3.46 -+        struct name_s *names;
    3.47 -+        struct inodes_s *next;
    3.48 -+        struct stat st;
    3.49 -+    } *links = NULL;
    3.50 -+    off_t bytes = 0; // output bytes count
    3.51 -+#if CONFIG_FEATURE_COPYBUF_KB < 1
    3.52 -+    char buf[1024];
    3.53 -+#else
    3.54 -+    char buf[CONFIG_FEATURE_COPYBUF_KB * 1024];
    3.55 -+#endif
    3.56 -+	
    3.57 -+    while (1) {
    3.58 -+        const char *name = "TRAILER!!!";
    3.59 -+        char *line = xmalloc_getline(stdin);
    3.60 -+        // allocate inode struct each loop to avoid struct stat copy
    3.61 -+        struct inodes_s *inode = xzalloc(sizeof(*inode)); // die if fail
    3.62 -+        off_t size;
    3.63 -+
    3.64 -+        inode->st.st_nlink++; // =1
    3.65 -+        if (line) {
    3.66 -+            /* Strip leading `./' from the filename.  */
    3.67 -+            for (name = line; name[0] == '.' && name[1] == '/';) {
    3.68 -+                while (*++name == '/');
    3.69 -+            }
    3.70 -+            if (!*name) goto free_and_continue; // line empty
    3.71 -+            if (lstat(name, &inode->st)) {
    3.72 -+          abort_cpio_o:
    3.73 -+                bb_perror_msg_and_die(name);
    3.74 -+            }
    3.75 -+            if (!S_ISLNK(inode->st.st_mode) && !S_ISREG(inode->st.st_mode))
    3.76 -+                inode->st.st_size = 0;
    3.77 -+        }
    3.78 -+        // hard links will are stored and will be processed later
    3.79 -+        if (!S_ISDIR(inode->st.st_mode) && inode->st.st_nlink > 1) {
    3.80 -+            struct name_s *n;
    3.81 -+            struct inodes_s *l;
    3.82 -+
    3.83 -+            for (l = links; l && l->st.st_ino != inode->st.st_ino; l = l->next);
    3.84 -+            if (l == NULL) { // not found: new hard links set
    3.85 -+                l = inode; // l->names = NULL; l->st = inode->st
    3.86 -+                l->next = links;
    3.87 -+                links = l;
    3.88 -+            }
    3.89 -+            n = xmalloc(sizeof(*n) + strlen(name) + 1); // die if fail
    3.90 -+            strcpy(n->name, name);
    3.91 -+            n->next = l->names;
    3.92 -+            l->names = n; // will not free inode if l == inode
    3.93 -+            goto free_and_continue;
    3.94 -+        }
    3.95 -+        size = inode->st.st_size;
    3.96 -+        // no more files ? process hard links
    3.97 -+        if (!line && links) {
    3.98 -+            struct name_s *n;
    3.99 -+
   3.100 -+            free(inode); // trailer pseudo inode
   3.101 -+            inode = links;
   3.102 -+            n = links->names;
   3.103 -+            name = line = xstrdup(n->name);    // line will free *name memory
   3.104 -+            links->names = n->next;
   3.105 -+            if (links->names == NULL) {        // inode will free *links memory
   3.106 -+                size = links->st.st_size;
   3.107 -+                links = links->next;
   3.108 -+            }
   3.109 -+            free(n);
   3.110 -+        }
   3.111 -+        bytes += printf("070701%08lx%08lx%08lx%08lx%08lx%08lx%08lx"
   3.112 -+                        "%08lx%08lx%08lx%08lx%08lx%08lx%s%c",
   3.113 -+                        (unsigned long) inode->st.st_ino,
   3.114 -+                        (unsigned long) inode->st.st_mode, 
   3.115 -+                        (unsigned long) inode->st.st_uid,
   3.116 -+                        (unsigned long) inode->st.st_gid,
   3.117 -+                        (unsigned long) inode->st.st_nlink,
   3.118 -+                        (unsigned long) inode->st.st_mtime,
   3.119 -+                        (unsigned long) size,
   3.120 -+                        (unsigned long) major(inode->st.st_dev),
   3.121 -+                        (unsigned long) minor(inode->st.st_dev),
   3.122 -+                        (unsigned long) major(inode->st.st_rdev), 
   3.123 -+                        (unsigned long) minor(inode->st.st_rdev),
   3.124 -+                        strlen(name) + 1UL, 0UL, name, 0);
   3.125 -+        cpio_pad(&bytes, (line) ? 4-1 : 512-1);
   3.126 -+        if (size) {
   3.127 -+            if (S_ISLNK(inode->st.st_mode)) {
   3.128 -+                char *lpath = xmalloc_readlink_or_warn(name);
   3.129 -+
   3.130 -+                if (!lpath) goto abort_cpio_o;
   3.131 -+                bytes += printf("%s", lpath);
   3.132 -+                free(lpath);
   3.133 -+            }
   3.134 -+            if (S_ISREG(inode->st.st_mode)) {
   3.135 -+                int fd = open_or_warn(name, O_RDONLY);
   3.136 -+
   3.137 -+                while (1) {
   3.138 -+                    int len = full_read(fd, buf, sizeof(buf));
   3.139 -+                    if (len < 0) goto abort_cpio_o;
   3.140 -+                    if (len == 0) break;
   3.141 -+                    bytes += len;
   3.142 -+                    fwrite(buf, 1, len, stdout);
   3.143 -+                }
   3.144 -+                close(fd);
   3.145 -+            }
   3.146 -+            cpio_pad(&bytes, 4-1);
   3.147 -+        }
   3.148 -+
   3.149 -+        if (!line) {
   3.150 -+            fputc('\n', stderr); // GNU cpio do that...
   3.151 -+            return; // was trailer
   3.152 -+        }
   3.153 -+
   3.154 -+    free_and_continue:
   3.155 -+        if (!inode->names) free(inode);
   3.156 -+            free(line);
   3.157 -+    }
   3.158 -+}
   3.159 -+#endif
   3.160 - 
   3.161 - int cpio_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   3.162 - int cpio_main(int argc, char **argv)
   3.163 - {
   3.164 - 	archive_handle_t *archive_handle;
   3.165 - 	char *cpio_filename = NULL;
   3.166 -+#if ENABLE_FEATURE_CPIO_O
   3.167 -+	const char *cpio_fmt = "";
   3.168 -+#endif
   3.169 - 	unsigned opt;
   3.170 - 
   3.171 - 	/* Initialise */
   3.172 -@@ -35,10 +169,26 @@ int cpio_main(int argc, char **argv)
   3.173 - 	archive_handle->seek = seek_by_read;
   3.174 - 	archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE;
   3.175 - 
   3.176 -+#if ENABLE_FEATURE_CPIO_O
   3.177 -+	opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename,&cpio_fmt);
   3.178 -+
   3.179 -+	if (opt & CPIO_OPT_CREATE) {
   3.180 -+		if (*cpio_fmt != 'n')
   3.181 -+			goto cpio_show_usage;
   3.182 -+		if (cpio_filename) {
   3.183 -+			fclose(stdout);
   3.184 -+			stdout = fopen(cpio_filename,"w");
   3.185 -+		}
   3.186 -+		cpio_o();
   3.187 -+		return EXIT_SUCCESS;
   3.188 -+	}
   3.189 -+#else
   3.190 - 	opt = getopt32(argv, "ituvF:dm", &cpio_filename);
   3.191 -+#endif
   3.192 - 
   3.193 - 	/* One of either extract or test options must be given */
   3.194 - 	if ((opt & (CPIO_OPT_TEST | CPIO_OPT_EXTRACT)) == 0) {
   3.195 -+ cpio_show_usage:
   3.196 - 		bb_show_usage();
   3.197 - 	}
   3.198 - 
   3.199 -diff -purN busybox-1.10.0/include/usage.h busybox/include/usage.h
   3.200 ---- busybox-1.10.0/include/usage.h	2008-03-29 21:48:22.000000000 +0100
   3.201 -+++ busybox-1.10.0/include/usage.h	2008-03-29 21:48:22.000000000 +0100
   3.202 -@@ -496,13 +496,19 @@
   3.203 -      "\n	-l,-s	Create (sym)links" \
   3.204 - 
   3.205 - #define cpio_trivial_usage \
   3.206 --       "-[dimtuv][F cpiofile]"
   3.207 -+       "-[dim" USE_FEATURE_CPIO_O("o") "tuv][F cpiofile]" \
   3.208 -+       USE_FEATURE_CPIO_O( "[H newc]" ) 
   3.209 - #define cpio_full_usage \
   3.210 --       "Extract or list files from a cpio archive\n" \
   3.211 -+       "Extract or list files from a cpio archive" \
   3.212 -+       USE_FEATURE_CPIO_O( ", or create a cpio archive" ) "\n" \
   3.213 -        "Main operation mode:" \
   3.214 -      "\n	d	Make leading directories" \
   3.215 -      "\n	i	Extract" \
   3.216 -      "\n	m	Preserve mtime" \
   3.217 -+       USE_FEATURE_CPIO_O( \
   3.218 -+     "\n	o	Create" \
   3.219 -+     "\n	H newc	Define format" \
   3.220 -+       ) \
   3.221 -      "\n	t	List" \
   3.222 -      "\n	v	Verbose" \
   3.223 -      "\n	u	Unconditional overwrite" \
     4.1 --- a/busybox/stuff/busybox-1.10.0-dhcpc.u	Wed May 27 11:52:33 2009 +0200
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,15 +0,0 @@
     4.4 ---- busybox-1.10.0/networking/udhcp/dhcpc.c
     4.5 -+++ busybox-1.10.0/networking/udhcp/dhcpc.c
     4.6 -@@ -377,7 +377,11 @@
     4.7 - 						xid = random_xid();
     4.8 - 
     4.9 - 					/* send discover packet */
    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.10.0-patch.u	Wed May 27 11:52:33 2009 +0200
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,412 +0,0 @@
     5.4 ---- busybox-1.10.0/editors/patch.c	2008-03-24 15:46:20.000000000 +0100
     5.5 -+++ busybox-1.10.0/editors/patch.c	2008-03-24 15:46:20.000000000 +0100
     5.6 -@@ -19,15 +19,11 @@
     5.7 -  *   - Reject file isnt saved
     5.8 -  */
     5.9 - 
    5.10 --#include <getopt.h>
    5.11 --
    5.12 - #include "libbb.h"
    5.13 - 
    5.14 --static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int lines_count)
    5.15 -+static unsigned copy_lines(FILE *src_stream, FILE *dest_stream, unsigned lines_count)
    5.16 - {
    5.17 --	unsigned int i = 0;
    5.18 --
    5.19 --	while (src_stream && (i < lines_count)) {
    5.20 -+	while (src_stream && lines_count) {
    5.21 - 		char *line;
    5.22 - 		line = xmalloc_fgets(src_stream);
    5.23 - 		if (line == NULL) {
    5.24 -@@ -37,60 +33,70 @@
    5.25 - 			bb_perror_msg_and_die("error writing to new file");
    5.26 - 		}
    5.27 - 		free(line);
    5.28 --
    5.29 --		i++;
    5.30 -+		lines_count--;
    5.31 - 	}
    5.32 --	return i;
    5.33 -+	return lines_count;
    5.34 - }
    5.35 - 
    5.36 - /* If patch_level is -1 it will remove all directory names
    5.37 -  * char *line must be greater than 4 chars
    5.38 -  * returns NULL if the file doesnt exist or error
    5.39 -  * returns malloc'ed filename
    5.40 -+ * NB: frees 1st argument!
    5.41 -  */
    5.42 - 
    5.43 --static char *extract_filename(char *line, int patch_level)
    5.44 -+static char *extract_filename(char *line, unsigned patch_level, const char *pat)
    5.45 - {
    5.46 --	char *temp, *filename_start_ptr = line + 4;
    5.47 --	int i;
    5.48 -+	char *temp = NULL, *filename_start_ptr = line + 4;
    5.49 - 
    5.50 --	/* Terminate string at end of source filename */
    5.51 --	temp = strchrnul(filename_start_ptr, '\t');
    5.52 --	*temp = '\0';
    5.53 --
    5.54 --	/* Skip over (patch_level) number of leading directories */
    5.55 --	if (patch_level == -1)
    5.56 --		patch_level = INT_MAX;
    5.57 --	for (i = 0; i < patch_level; i++) {
    5.58 --		temp = strchr(filename_start_ptr, '/');
    5.59 --		if (!temp)
    5.60 --			break;
    5.61 --		filename_start_ptr = temp + 1;
    5.62 -+	if (strncmp(line, pat, 4) == 0) {
    5.63 -+		/* Terminate string at end of source filename */
    5.64 -+		line[strcspn(line,"\t\n\r")] = '\0';
    5.65 -+
    5.66 -+		/* Skip over (patch_level) number of leading directories */
    5.67 -+		while (patch_level--) {
    5.68 -+			temp = strchr(filename_start_ptr, '/');
    5.69 -+			if (!temp)
    5.70 -+				break;
    5.71 -+			filename_start_ptr = temp + 1;
    5.72 -+		}
    5.73 -+		temp = xstrdup(filename_start_ptr);
    5.74 - 	}
    5.75 --
    5.76 --	return xstrdup(filename_start_ptr);
    5.77 -+	free(line);
    5.78 -+	return temp;
    5.79 - }
    5.80 - 
    5.81 - int patch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
    5.82 - int patch_main(int argc ATTRIBUTE_UNUSED, char **argv)
    5.83 - {
    5.84 --	int patch_level = -1;
    5.85 --	char *patch_line;
    5.86 --	int ret;
    5.87 --	FILE *patch_file = NULL;
    5.88 - 	struct stat saved_stat;
    5.89 --	
    5.90 -+	char *patch_line;
    5.91 -+	FILE *patch_file;
    5.92 -+	int patch_level;
    5.93 -+	int ret = 0;
    5.94 -+#define ENABLE_FEATURE_PATCH_REVERSE 1
    5.95 -+#if ENABLE_FEATURE_PATCH_REVERSE
    5.96 -+	char minus = '-';
    5.97 -+	char plus = '+';
    5.98 -+#else
    5.99 -+	const char minus = '-';
   5.100 -+	const char plus = '+';
   5.101 -+#endif
   5.102 -+
   5.103 -+	xfunc_error_retval = 2;	
   5.104 - 	{
   5.105 --		char *p, *i;
   5.106 --		ret = getopt32(argv, "p:i:", &p, &i);
   5.107 --		if (ret & 1)
   5.108 --			patch_level = xatol_range(p, -1, USHRT_MAX);
   5.109 --		if (ret & 2) {
   5.110 --			patch_file = xfopen(i, "r");
   5.111 --		} else {
   5.112 --			patch_file = stdin;
   5.113 --		}
   5.114 --		ret = 0;
   5.115 -+		const char *p = "-1";
   5.116 -+		const char *i = "-"; /* compat */
   5.117 -+#if ENABLE_FEATURE_PATCH_REVERSE
   5.118 -+		if (getopt32(argv, "p:i:R", &p, &i) & 4) {
   5.119 -+			minus = '+';
   5.120 -+			plus = '-';
   5.121 -+		}
   5.122 -+#else
   5.123 -+		getopt32(argv, "p:i:", &p, &i);
   5.124 -+#endif
   5.125 -+		patch_level = xatoi(p); /* can be negative! */
   5.126 -+		patch_file = xfopen_stdin(i);
   5.127 - 	}
   5.128 - 
   5.129 - 	patch_line = xmalloc_getline(patch_file);
   5.130 -@@ -100,38 +106,38 @@
   5.131 - 		char *original_filename;
   5.132 - 		char *new_filename;
   5.133 - 		char *backup_filename;
   5.134 --		unsigned int src_cur_line = 1;
   5.135 --		unsigned int dest_cur_line = 0;
   5.136 --		unsigned int dest_beg_line;
   5.137 --		unsigned int bad_hunk_count = 0;
   5.138 --		unsigned int hunk_count = 0;
   5.139 --		char copy_trailing_lines_flag = 0;
   5.140 -+		unsigned src_cur_line = 1;
   5.141 -+		unsigned dest_cur_line = 0;
   5.142 -+		unsigned dest_beg_line;
   5.143 -+		unsigned bad_hunk_count = 0;
   5.144 -+		unsigned hunk_count = 0;
   5.145 -+		smallint copy_trailing_lines_flag = 0;
   5.146 - 
   5.147 - 		/* Skip everything upto the "---" marker
   5.148 - 		 * No need to parse the lines "Only in <dir>", and "diff <args>"
   5.149 - 		 */
   5.150 --		while (patch_line && strncmp(patch_line, "--- ", 4) != 0) {
   5.151 --			free(patch_line);
   5.152 -+		do {
   5.153 -+			/* Extract the filename used before the patch was generated */
   5.154 -+			original_filename = extract_filename(patch_line, patch_level, "--- ");
   5.155 - 			patch_line = xmalloc_getline(patch_file);
   5.156 --		}
   5.157 --		/* FIXME: patch_line NULL check?? */
   5.158 -+			if (!patch_line) goto quit;
   5.159 -+		} while (!original_filename);
   5.160 - 
   5.161 --		/* Extract the filename used before the patch was generated */
   5.162 --		original_filename = extract_filename(patch_line, patch_level);
   5.163 --		free(patch_line);
   5.164 --
   5.165 --		patch_line = xmalloc_getline(patch_file);
   5.166 --		/* FIXME: NULL check?? */
   5.167 --		if (strncmp(patch_line, "+++ ", 4) != 0) {
   5.168 --			ret = 2;
   5.169 --			bb_error_msg("invalid patch");
   5.170 --			continue;
   5.171 -+		new_filename = extract_filename(patch_line, patch_level, "+++ ");
   5.172 -+		if (!new_filename) {
   5.173 -+			bb_error_msg_and_die("invalid patch");
   5.174 -+		}
   5.175 -+#if ENABLE_FEATURE_PATCH_REVERSE
   5.176 -+		if (plus != '+') {
   5.177 -+			/* reverse patch */
   5.178 -+			char *tmp = original_filename;
   5.179 -+			original_filename = new_filename;
   5.180 -+			new_filename = tmp;
   5.181 - 		}
   5.182 --		new_filename = extract_filename(patch_line, patch_level);
   5.183 --		free(patch_line);
   5.184 -+#endif
   5.185 - 		
   5.186 - 		/* Get access rights from the file to be patched, -1 file does not exist */
   5.187 --		if (stat(new_filename, &saved_stat)) {
   5.188 -+		if (stat(new_filename, &saved_stat) != 0) {
   5.189 - 			char *line_ptr;
   5.190 - 			/* Create leading directories */
   5.191 - 			line_ptr = strrchr(new_filename, '/');
   5.192 -@@ -140,132 +146,137 @@
   5.193 - 				bb_make_directory(new_filename, -1, FILEUTILS_RECUR);
   5.194 - 				*line_ptr = '/';
   5.195 - 			}
   5.196 --			dst_stream = xfopen(new_filename, "w+");
   5.197 - 			backup_filename = NULL;
   5.198 -+			saved_stat.st_mode = 0644;
   5.199 - 		} else {
   5.200 --			backup_filename = xmalloc(strlen(new_filename) + 6);
   5.201 --			strcpy(backup_filename, new_filename);
   5.202 --			strcat(backup_filename, ".orig");
   5.203 -+			backup_filename = xasprintf("%s.orig", new_filename);
   5.204 - 			xrename(new_filename, backup_filename);
   5.205 --			dst_stream = xfopen(new_filename, "w");
   5.206 --			fchmod(fileno(dst_stream), saved_stat.st_mode);
   5.207 - 		}
   5.208 --
   5.209 --		if ((backup_filename == NULL) || stat(original_filename, &saved_stat)) {
   5.210 --			src_stream = NULL;
   5.211 --		} else {
   5.212 --			if (strcmp(original_filename, new_filename) == 0) {
   5.213 --				src_stream = xfopen(backup_filename, "r");
   5.214 --			} else {
   5.215 --				src_stream = xfopen(original_filename, "r");
   5.216 --			}
   5.217 -+		dst_stream = xfopen(new_filename, "w");
   5.218 -+		fchmod(fileno(dst_stream), saved_stat.st_mode);
   5.219 -+		src_stream = NULL;
   5.220 -+
   5.221 -+		if (backup_filename && !stat(original_filename, &saved_stat)) {
   5.222 -+			src_stream = xfopen((strcmp(original_filename, new_filename)) ? 
   5.223 -+							    original_filename : backup_filename, "r");
   5.224 - 		}
   5.225 - 
   5.226 - 		printf("patching file %s\n", new_filename);
   5.227 - 
   5.228 --		/* Handle each hunk */
   5.229 -+		/* Handle all hunks for this file */
   5.230 - 		patch_line = xmalloc_fgets(patch_file);
   5.231 - 		while (patch_line) {
   5.232 --			unsigned int count;
   5.233 --			unsigned int src_beg_line;
   5.234 --			unsigned int unused;
   5.235 --			unsigned int hunk_offset_start = 0;
   5.236 --			int hunk_error = 0;
   5.237 --
   5.238 --			/* This bit should be improved */
   5.239 --			if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, &unused, &dest_beg_line, &unused) != 4) &&
   5.240 --				(sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, &unused, &dest_beg_line) != 3) &&
   5.241 --				(sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, &dest_beg_line, &unused) != 3)) {
   5.242 -+			unsigned count;
   5.243 -+			unsigned src_beg_line;
   5.244 -+			unsigned hunk_offset_start;
   5.245 -+			unsigned src_last_line = 1;
   5.246 -+#if ENABLE_FEATURE_PATCH_REVERSE
   5.247 -+			unsigned dst_last_line = 1;
   5.248 -+
   5.249 -+			if ((sscanf(patch_line, "@@ -%d,%d +%d,%d", &src_beg_line, &src_last_line, &dest_beg_line, &dst_last_line) < 3) &&
   5.250 -+				(sscanf(patch_line, "@@ -%d +%d,%d", &src_beg_line, &dest_beg_line, &dst_last_line) < 2)) {
   5.251 - 				/* No more hunks for this file */
   5.252 - 				break;
   5.253 - 			}
   5.254 --			free(patch_line);
   5.255 -+			if (plus != '+') { 
   5.256 -+				/* reverse patch */
   5.257 -+				unsigned tmp = src_last_line;
   5.258 -+				src_last_line = dst_last_line;
   5.259 -+				dst_last_line = tmp;
   5.260 -+				tmp = src_beg_line;
   5.261 -+				src_beg_line = dest_beg_line;
   5.262 -+				dest_beg_line = tmp;
   5.263 -+			}
   5.264 -+#else
   5.265 -+
   5.266 -+			if ((sscanf(patch_line, "@@ -%d,%d +%d", &src_beg_line, &src_last_line, &dest_beg_line) != 3) &&
   5.267 -+				(sscanf(patch_line, "@@ -%d +%d", &src_beg_line, &dest_beg_line) != 2)) {
   5.268 -+				/* No more hunks for this file */
   5.269 -+				break;
   5.270 -+			}
   5.271 -+#endif
   5.272 - 			hunk_count++;
   5.273 - 
   5.274 - 			if (src_beg_line && dest_beg_line) {
   5.275 - 				/* Copy unmodified lines upto start of hunk */
   5.276 --				/* src_beg_line will be 0 if its a new file */
   5.277 -+				/* src_beg_line will be 0 if it's a new file */
   5.278 - 				count = src_beg_line - src_cur_line;
   5.279 --				if (copy_lines(src_stream, dst_stream, count) != count) {
   5.280 -+				if (copy_lines(src_stream, dst_stream, count)) {
   5.281 - 					bb_error_msg_and_die("bad src file");
   5.282 - 				}
   5.283 - 				src_cur_line += count;
   5.284 - 				dest_cur_line += count;
   5.285 - 				copy_trailing_lines_flag = 1;
   5.286 - 			}
   5.287 --			hunk_offset_start = src_cur_line;
   5.288 --
   5.289 --			while ((patch_line = xmalloc_fgets(patch_file)) != NULL) {
   5.290 --				if ((*patch_line == '-') || (*patch_line == ' ')) {
   5.291 -+			src_last_line += hunk_offset_start = src_cur_line;
   5.292 -+#if ENABLE_FEATURE_PATCH_REVERSE
   5.293 -+			dst_last_line += dest_cur_line;
   5.294 -+#endif
   5.295 -+			while (1) {
   5.296 -+				free(patch_line);
   5.297 -+			        patch_line = xmalloc_fgets(patch_file);
   5.298 -+				if (patch_line == NULL) break;
   5.299 -+				if ((*patch_line == minus) || (*patch_line == ' ')) {
   5.300 - 					char *src_line = NULL;
   5.301 -+					if (src_cur_line == src_last_line) break;
   5.302 - 					if (src_stream) {
   5.303 - 						src_line = xmalloc_fgets(src_stream);
   5.304 --						if (!src_line) {
   5.305 --							hunk_error++;
   5.306 --							break;
   5.307 --						} else {
   5.308 -+						if (src_line) {
   5.309 -+							int diff = strcmp(src_line, patch_line + 1);
   5.310 - 							src_cur_line++;
   5.311 -+							free(src_line);
   5.312 -+							if (diff) src_line = NULL;
   5.313 - 						}
   5.314 --						if (strcmp(src_line, patch_line + 1) != 0) {
   5.315 --							bb_error_msg("hunk #%d FAILED at %d", hunk_count, hunk_offset_start);
   5.316 --							hunk_error++;
   5.317 --							free(patch_line);
   5.318 --							/* Probably need to find next hunk, etc... */
   5.319 --							/* but for now we just bail out */
   5.320 --							patch_line = NULL;
   5.321 --							break;
   5.322 --						}
   5.323 --						free(src_line);
   5.324 - 					}
   5.325 --					if (*patch_line == ' ') {
   5.326 --						fputs(patch_line + 1, dst_stream);
   5.327 --						dest_cur_line++;
   5.328 -+					if (!src_line) {
   5.329 -+						bb_error_msg("hunk #%u FAILED at %u", hunk_count, hunk_offset_start);
   5.330 -+						bad_hunk_count++;
   5.331 -+						break;
   5.332 - 					}
   5.333 --				} else if (*patch_line == '+') {
   5.334 --					fputs(patch_line + 1, dst_stream);
   5.335 --					dest_cur_line++;
   5.336 --				} else {
   5.337 -+					if (*patch_line != ' ') {
   5.338 -+						continue;
   5.339 -+					}
   5.340 -+				} else if (*patch_line != plus) {
   5.341 - 					break;
   5.342 - 				}
   5.343 --				free(patch_line);
   5.344 --			}
   5.345 --			if (hunk_error) {
   5.346 --				bad_hunk_count++;
   5.347 --			}
   5.348 --		}
   5.349 -+#if ENABLE_FEATURE_PATCH_REVERSE
   5.350 -+				if (dest_cur_line == dst_last_line) break;
   5.351 -+#endif
   5.352 -+				fputs(patch_line + 1, dst_stream);
   5.353 -+				dest_cur_line++;
   5.354 -+			} /* end of while loop handling one hunk */
   5.355 -+		} /* end of while loop handling one file */
   5.356 - 
   5.357 - 		/* Cleanup last patched file */
   5.358 - 		if (copy_trailing_lines_flag) {
   5.359 --			copy_lines(src_stream, dst_stream, -1);
   5.360 -+			copy_lines(src_stream, dst_stream, (unsigned)(-1));
   5.361 - 		}
   5.362 - 		if (src_stream) {
   5.363 - 			fclose(src_stream);
   5.364 - 		}
   5.365 --		if (dst_stream) {
   5.366 --			fclose(dst_stream);
   5.367 --		}
   5.368 -+		fclose(dst_stream);
   5.369 - 		if (bad_hunk_count) {
   5.370 --			if (!ret) {
   5.371 --				ret = 1;
   5.372 --			}
   5.373 --			bb_error_msg("%d out of %d hunk FAILED", bad_hunk_count, hunk_count);
   5.374 -+			ret = 1;
   5.375 -+			bb_error_msg("%u out of %u hunk FAILED", bad_hunk_count, hunk_count);
   5.376 - 		} else {
   5.377 - 			/* It worked, we can remove the backup */
   5.378 - 			if (backup_filename) {
   5.379 - 				unlink(backup_filename);
   5.380 -+				free(backup_filename);
   5.381 - 			}
   5.382 - 			if ((dest_cur_line == 0) || (dest_beg_line == 0)) {
   5.383 - 				/* The new patched file is empty, remove it */
   5.384 - 				xunlink(new_filename);
   5.385 --				if (strcmp(new_filename, original_filename) != 0)
   5.386 --					xunlink(original_filename);
   5.387 -+				/* original_filename and new_filename may be the same file */
   5.388 -+				unlink(original_filename);
   5.389 - 			}
   5.390 - 		}
   5.391 --	}
   5.392 -+	} /* end of "while there are patch lines" */
   5.393 -+quit:
   5.394 - 
   5.395 - 	/* 0 = SUCCESS
   5.396 - 	 * 1 = Some hunks failed
   5.397 --	 * 2 = More serious problems
   5.398 -+	 * 2 = More serious problems (exited earlier)
   5.399 - 	 */
   5.400 - 	return ret;
   5.401 - }
   5.402 -
   5.403 ---- busybox-1.10.0/include/usage.h	2008-03-24 16:20:43.000000000 +0100
   5.404 -+++ busybox-1.10.0/include/usage.h	2008-03-24 16:22:06.000000000 +0100
   5.405 -@@ -2833,8 +2833,9 @@
   5.406 - 	)
   5.407 - 
   5.408 - #define patch_trivial_usage \
   5.409 --       "[-p NUM] [-i DIFF]"
   5.410 -+       "[-R] [-p NUM] [-i DIFF]"
   5.411 - #define patch_full_usage \
   5.412 -+       "	-R    	Reverse patch\n" \
   5.413 -        "	-p NUM	Strip NUM leading components from file names" \
   5.414 -      "\n	-i DIFF	Read DIFF instead of stdin" \
   5.415 - 
     6.1 --- a/busybox/stuff/busybox-1.10.0-vcsa2txt.u	Wed May 27 11:52:33 2009 +0200
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,134 +0,0 @@
     6.4 ---- busybox-1.10.0/include/applets.h	Sat Mar 22 02:31:50 2008
     6.5 -+++ busybox-1.10.0/include/applets.h	Sat Mar 22 02:31:50 2008
     6.6 -@@ -382,6 +382,7 @@
     6.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
     6.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
     6.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
    6.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    6.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
    6.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
    6.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
    6.14 -
    6.15 ---- busybox-1.10.0/include/usage.h	Sat Mar 22 02:31:50 2008
    6.16 -+++ busybox-1.10.0/include/usage.h	Sat Mar 22 02:31:50 2008
    6.17 -@@ -4314,6 +4314,13 @@
    6.18 -      "\n	set_ingress_map	[vlan-name] [skb_priority] [vlan_qos]" \
    6.19 -      "\n	set_name_type	[name-type]" \
    6.20 - 
    6.21 -+#define vcsa2txt_trivial_usage \
    6.22 -+       "stdin"
    6.23 -+#define vcsa2txt_full_usage \
    6.24 -+       "Filter /dev/vcsa* to ansi escape sequences"
    6.25 -+#define vcsa2txt_example_usage \
    6.26 -+       "# vcsa2txt < /dev/vcsa1\n"
    6.27 -+
    6.28 - #define vi_trivial_usage \
    6.29 -        "[OPTION] [FILE]..."
    6.30 - #define vi_full_usage \
    6.31 -
    6.32 ---- busybox-1.10.0/miscutils/Config.in	Sat Mar 22 02:31:50 2008
    6.33 -+++ busybox-1.10.0/miscutils/Config.in	Sat Mar 22 02:31:50 2008
    6.34 -@@ -461,6 +461,12 @@
    6.35 - 	  only height, or both, in any order. It also does not complain on error,
    6.36 - 	  but returns default 80x24. Usage in shell scripts: width=`ttysize w`.
    6.37 - 
    6.38 -+config VCSA2TXT
    6.39 -+	bool "vcsa2txt"
    6.40 -+	default n
    6.41 -+	help
    6.42 -+	  Filter /dev/vcsa* output to ansi escape sequences.
    6.43 -+
    6.44 - config WATCHDOG
    6.45 - 	bool "watchdog"
    6.46 - 	default n
    6.47 -
    6.48 ---- busybox-1.10.0/util-linux/Kbuild	Sat Mar 22 02:31:53 2008
    6.49 -+++ busybox-1.10.0/util-linux/Kbuild	Sat Mar 22 02:31:53 2008
    6.50 -@@ -33,3 +33,4 @@
    6.51 - lib-$(CONFIG_SWAPONOFF)		+= swaponoff.o
    6.52 - lib-$(CONFIG_SWITCH_ROOT)	+= switch_root.o
    6.53 - lib-$(CONFIG_UMOUNT)		+= umount.o
    6.54 -+lib-$(CONFIG_VCSA2TXT)		+= vcsa2txt.o
    6.55 -
    6.56 ---- busybox-1.10.0/util-linux/vcsa2txt.c	Sat Mar 22 19:40:15 2008
    6.57 -+++ busybox-1.10.0/util-linux/vcsa2txt.c	Sat Mar 22 19:40:15 2008
    6.58 -@@ -0,0 +1,79 @@
    6.59 -+/* vi: set sw=4 ts=4: */
    6.60 -+/*
    6.61 -+ * /dev/vcsa* filter for busybox
    6.62 -+ *
    6.63 -+ * pascal.bellard@ads-lu.com
    6.64 -+ *
    6.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
    6.66 -+ */
    6.67 -+ 
    6.68 -+#include "libbb.h"
    6.69 -+
    6.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE;
    6.71 -+int vcsa2txt_main(int argc)
    6.72 -+{
    6.73 -+    struct {
    6.74 -+	unsigned char l, c, x, y; // man 4 console_codes
    6.75 -+    } scrn;
    6.76 -+    unsigned char last = 0, ch[2];                     // BLGCRMOW
    6.77 -+    static  unsigned char end[5] = "\e[0m\n", color[8] = "04261537";
    6.78 -+    int sp, lf, x;
    6.79 -+    
    6.80 -+    if (safe_read(0, &scrn, 4) < 0) return 1;
    6.81 -+    for (lf = 0; scrn.l; lf++, scrn.l--) {
    6.82 -+	for (sp = x = 0; ++x <= scrn.c;) {
    6.83 -+	    if (safe_read(0, &ch[0], 2) < 0) return 1;
    6.84 -+	    if (argc > 1) ch[1] = 0;
    6.85 -+	    sp++;
    6.86 -+	    if (last == ch[1] && ch[0] == ' ') continue;
    6.87 -+	    for (lf++; --lf;) bb_putchar('\n');
    6.88 -+	    while (--sp) bb_putchar(' ');
    6.89 -+#define ENABLE_VCSA_PACKED 1
    6.90 -+#if ENABLE_VCSA_PACKED
    6.91 -+	    if (last ^= ch[1]) {
    6.92 -+		char esc[16],*s;
    6.93 -+		struct offsets {
    6.94 -+		    char mask, type, shr;
    6.95 -+		} *p;
    6.96 -+		static struct offsets offset[3] = {
    6.97 -+		    {8,0,1}, {0x70,'4',4}, {7,'3',0}
    6.98 -+		};
    6.99 -+		static char init = 0x7F;
   6.100 -+		
   6.101 -+		s = esc+2;
   6.102 -+		*(short *)esc = ntohs(256*'\e'+'[');
   6.103 -+		p = offset;
   6.104 -+		do {
   6.105 -+		    if ((init|last) & p->mask) {
   6.106 -+			int c = (ch[1] & p->mask) >> p->shr;
   6.107 -+		    
   6.108 -+			if ((*s = p->type) != 0) s++;
   6.109 -+			else if (c == 0) {
   6.110 -+			    c = 2;
   6.111 -+			    *s++ = '2'; /* normal */
   6.112 -+			}
   6.113 -+			*s++ = color[c];
   6.114 -+			*s++ = ';'; 
   6.115 -+		    }
   6.116 -+		} while (p++->shr);
   6.117 -+		s[-1] = 'm';
   6.118 -+		init = 0;
   6.119 -+		fwrite(esc,s-esc,1,stdout);
   6.120 -+	    }
   6.121 -+	    last = ch[1];
   6.122 -+#else
   6.123 -+	    if (last != ch[1]) {
   6.124 -+		static char esc[10] = "\e[0;47;37m";
   6.125 -+		
   6.126 -+		esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */;
   6.127 -+		esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7];
   6.128 -+		esc[sizeof(esc)-2] = color[ch[1] & 7];
   6.129 -+		fwrite(esc,sizeof(esc),1,stdout);
   6.130 -+	    }
   6.131 -+#endif
   6.132 -+	    bb_putchar(ch[0]);
   6.133 -+	}
   6.134 -+    }
   6.135 -+    fwrite(end,sizeof(end),1,stdout);
   6.136 -+    return 0;
   6.137 -+}
     7.1 --- a/busybox/stuff/busybox-1.10.0.config	Wed May 27 11:52:33 2009 +0200
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,832 +0,0 @@
     7.4 -# TODO: add RESET CLEAR RMMOD LSMOD
     7.5 -#
     7.6 -# Automatically generated make config: don't edit
     7.7 -# Busybox version: 1.10.0
     7.8 -# Sat Mar 22 19:45:26 2008
     7.9 -#
    7.10 -CONFIG_HAVE_DOT_CONFIG=y
    7.11 -
    7.12 -#
    7.13 -# Busybox Settings
    7.14 -#
    7.15 -
    7.16 -#
    7.17 -# General Configuration
    7.18 -#
    7.19 -# CONFIG_NITPICK is not set
    7.20 -CONFIG_DESKTOP=y
    7.21 -# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
    7.22 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
    7.23 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
    7.24 -CONFIG_SHOW_USAGE=y
    7.25 -CONFIG_FEATURE_VERBOSE_USAGE=y
    7.26 -CONFIG_FEATURE_COMPRESS_USAGE=y
    7.27 -CONFIG_FEATURE_INSTALLER=y
    7.28 -CONFIG_LOCALE_SUPPORT=y
    7.29 -CONFIG_GETOPT_LONG=y
    7.30 -CONFIG_FEATURE_DEVPTS=y
    7.31 -# CONFIG_FEATURE_CLEAN_UP is not set
    7.32 -CONFIG_FEATURE_PIDFILE=y
    7.33 -CONFIG_FEATURE_SUID=y
    7.34 -CONFIG_FEATURE_SUID_CONFIG=y
    7.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
    7.36 -# CONFIG_SELINUX is not set
    7.37 -# CONFIG_FEATURE_PREFER_APPLETS is not set
    7.38 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
    7.39 -CONFIG_FEATURE_SYSLOG=y
    7.40 -CONFIG_FEATURE_HAVE_RPC=y
    7.41 -
    7.42 -#
    7.43 -# Build Options
    7.44 -#
    7.45 -# CONFIG_STATIC is not set
    7.46 -# CONFIG_NOMMU is not set
    7.47 -# CONFIG_BUILD_LIBBUSYBOX is not set
    7.48 -# CONFIG_FEATURE_INDIVIDUAL is not set
    7.49 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
    7.50 -CONFIG_LFS=y
    7.51 -
    7.52 -#
    7.53 -# Debugging Options
    7.54 -#
    7.55 -# CONFIG_DEBUG is not set
    7.56 -# CONFIG_WERROR is not set
    7.57 -CONFIG_NO_DEBUG_LIB=y
    7.58 -# CONFIG_DMALLOC is not set
    7.59 -# CONFIG_EFENCE is not set
    7.60 -CONFIG_INCLUDE_SUSv2=y
    7.61 -
    7.62 -#
    7.63 -# Installation Options
    7.64 -#
    7.65 -# CONFIG_INSTALL_NO_USR is not set
    7.66 -CONFIG_INSTALL_APPLET_SYMLINKS=y
    7.67 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set
    7.68 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
    7.69 -# CONFIG_INSTALL_APPLET_DONT is not set
    7.70 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
    7.71 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
    7.72 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
    7.73 -CONFIG_PREFIX="./_install"
    7.74 -
    7.75 -#
    7.76 -# Busybox Library Tuning
    7.77 -#
    7.78 -CONFIG_PASSWORD_MINLEN=6
    7.79 -CONFIG_MD5_SIZE_VS_SPEED=0
    7.80 -# CONFIG_FEATURE_FAST_TOP is not set
    7.81 -# CONFIG_FEATURE_ETC_NETWORKS is not set
    7.82 -CONFIG_FEATURE_EDITING=y
    7.83 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
    7.84 -# CONFIG_FEATURE_EDITING_VI is not set
    7.85 -CONFIG_FEATURE_EDITING_HISTORY=127
    7.86 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y
    7.87 -CONFIG_FEATURE_TAB_COMPLETION=y
    7.88 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
    7.89 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
    7.90 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
    7.91 -CONFIG_FEATURE_COPYBUF_KB=4
    7.92 -CONFIG_MONOTONIC_SYSCALL=y
    7.93 -CONFIG_IOCTL_HEX2STR_ERROR=y
    7.94 -
    7.95 -#
    7.96 -# Applets
    7.97 -#
    7.98 -
    7.99 -#
   7.100 -# Archival Utilities
   7.101 -#
   7.102 -# CONFIG_AR is not set
   7.103 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
   7.104 -CONFIG_BUNZIP2=y
   7.105 -# CONFIG_BZIP2 is not set
   7.106 -CONFIG_CPIO=y
   7.107 -CONFIG_FEATURE_CPIO_O=y
   7.108 -CONFIG_DPKG=y
   7.109 -CONFIG_DPKG_DEB=y
   7.110 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
   7.111 -CONFIG_GUNZIP=y
   7.112 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
   7.113 -CONFIG_GZIP=y
   7.114 -CONFIG_RPM2CPIO=y
   7.115 -CONFIG_RPM=y
   7.116 -CONFIG_FEATURE_RPM_BZ2=y
   7.117 -CONFIG_TAR=y
   7.118 -CONFIG_FEATURE_TAR_CREATE=y
   7.119 -CONFIG_FEATURE_TAR_GZIP=y
   7.120 -CONFIG_FEATURE_TAR_BZIP2=y
   7.121 -CONFIG_FEATURE_TAR_LZMA=y
   7.122 -CONFIG_FEATURE_TAR_COMPRESS=y
   7.123 -CONFIG_FEATURE_TAR_AUTODETECT=y
   7.124 -CONFIG_FEATURE_TAR_FROM=y
   7.125 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
   7.126 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
   7.127 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
   7.128 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y
   7.129 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
   7.130 -CONFIG_UNCOMPRESS=y
   7.131 -CONFIG_UNLZMA=y
   7.132 -# CONFIG_FEATURE_LZMA_FAST is not set
   7.133 -CONFIG_UNZIP=y
   7.134 -
   7.135 -#
   7.136 -# Common options for cpio and tar
   7.137 -#
   7.138 -# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
   7.139 -
   7.140 -#
   7.141 -# Common options for dpkg and dpkg_deb
   7.142 -#
   7.143 -CONFIG_FEATURE_DEB_TAR_GZ=y
   7.144 -CONFIG_FEATURE_DEB_TAR_BZ2=y
   7.145 -CONFIG_FEATURE_DEB_TAR_LZMA=y
   7.146 -
   7.147 -#
   7.148 -# Coreutils
   7.149 -#
   7.150 -CONFIG_BASENAME=y
   7.151 -CONFIG_CAL=y
   7.152 -CONFIG_CAT=y
   7.153 -# CONFIG_CATV is not set
   7.154 -CONFIG_CHGRP=y
   7.155 -CONFIG_CHMOD=y
   7.156 -CONFIG_CHOWN=y
   7.157 -CONFIG_CHROOT=y
   7.158 -CONFIG_CKSUM=y
   7.159 -CONFIG_COMM=y
   7.160 -CONFIG_CP=y
   7.161 -CONFIG_CUT=y
   7.162 -CONFIG_DATE=y
   7.163 -CONFIG_FEATURE_DATE_ISOFMT=y
   7.164 -CONFIG_DD=y
   7.165 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
   7.166 -CONFIG_FEATURE_DD_IBS_OBS=y
   7.167 -CONFIG_DF=y
   7.168 -CONFIG_FEATURE_DF_INODE=y
   7.169 -CONFIG_DIRNAME=y
   7.170 -CONFIG_DOS2UNIX=y
   7.171 -CONFIG_UNIX2DOS=y
   7.172 -CONFIG_DU=y
   7.173 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
   7.174 -CONFIG_ECHO=y
   7.175 -CONFIG_FEATURE_FANCY_ECHO=y
   7.176 -CONFIG_ENV=y
   7.177 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
   7.178 -CONFIG_EXPAND=y
   7.179 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
   7.180 -CONFIG_EXPR=y
   7.181 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
   7.182 -CONFIG_FALSE=y
   7.183 -CONFIG_FOLD=y
   7.184 -CONFIG_HEAD=y
   7.185 -CONFIG_FEATURE_FANCY_HEAD=y
   7.186 -CONFIG_HOSTID=y
   7.187 -CONFIG_ID=y
   7.188 -CONFIG_INSTALL=y
   7.189 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
   7.190 -CONFIG_LENGTH=y
   7.191 -CONFIG_LN=y
   7.192 -CONFIG_LOGNAME=y
   7.193 -CONFIG_LS=y
   7.194 -CONFIG_FEATURE_LS_FILETYPES=y
   7.195 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
   7.196 -CONFIG_FEATURE_LS_RECURSIVE=y
   7.197 -CONFIG_FEATURE_LS_SORTFILES=y
   7.198 -CONFIG_FEATURE_LS_TIMESTAMPS=y
   7.199 -CONFIG_FEATURE_LS_USERNAME=y
   7.200 -CONFIG_FEATURE_LS_COLOR=y
   7.201 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
   7.202 -CONFIG_MD5SUM=y
   7.203 -CONFIG_MKDIR=y
   7.204 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
   7.205 -CONFIG_MKFIFO=y
   7.206 -CONFIG_MKNOD=y
   7.207 -CONFIG_MV=y
   7.208 -CONFIG_FEATURE_MV_LONG_OPTIONS=y
   7.209 -CONFIG_NICE=y
   7.210 -CONFIG_NOHUP=y
   7.211 -CONFIG_OD=y
   7.212 -CONFIG_PRINTENV=y
   7.213 -CONFIG_PRINTF=y
   7.214 -CONFIG_PWD=y
   7.215 -CONFIG_READLINK=y
   7.216 -CONFIG_FEATURE_READLINK_FOLLOW=y
   7.217 -CONFIG_REALPATH=y
   7.218 -CONFIG_RM=y
   7.219 -CONFIG_RMDIR=y
   7.220 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
   7.221 -CONFIG_SEQ=y
   7.222 -CONFIG_SHA1SUM=y
   7.223 -CONFIG_SLEEP=y
   7.224 -CONFIG_FEATURE_FANCY_SLEEP=y
   7.225 -CONFIG_SORT=y
   7.226 -CONFIG_FEATURE_SORT_BIG=y
   7.227 -CONFIG_SPLIT=y
   7.228 -CONFIG_FEATURE_SPLIT_FANCY=y
   7.229 -CONFIG_STAT=y
   7.230 -CONFIG_FEATURE_STAT_FORMAT=y
   7.231 -CONFIG_STTY=y
   7.232 -CONFIG_SUM=y
   7.233 -CONFIG_SYNC=y
   7.234 -# CONFIG_TAC is not set
   7.235 -CONFIG_TAIL=y
   7.236 -CONFIG_FEATURE_FANCY_TAIL=y
   7.237 -CONFIG_TEE=y
   7.238 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
   7.239 -CONFIG_TEST=y
   7.240 -CONFIG_FEATURE_TEST_64=y
   7.241 -CONFIG_TOUCH=y
   7.242 -CONFIG_TR=y
   7.243 -CONFIG_FEATURE_TR_CLASSES=y
   7.244 -CONFIG_FEATURE_TR_EQUIV=y
   7.245 -CONFIG_TRUE=y
   7.246 -CONFIG_TTY=y
   7.247 -CONFIG_UNAME=y
   7.248 -CONFIG_UNEXPAND=y
   7.249 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
   7.250 -CONFIG_UNIQ=y
   7.251 -CONFIG_USLEEP=y
   7.252 -CONFIG_UUDECODE=y
   7.253 -CONFIG_UUENCODE=y
   7.254 -CONFIG_WC=y
   7.255 -CONFIG_FEATURE_WC_LARGE=y
   7.256 -CONFIG_WHO=y
   7.257 -CONFIG_WHOAMI=y
   7.258 -CONFIG_YES=y
   7.259 -
   7.260 -#
   7.261 -# Common options for cp and mv
   7.262 -#
   7.263 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
   7.264 -
   7.265 -#
   7.266 -# Common options for ls, more and telnet
   7.267 -#
   7.268 -CONFIG_FEATURE_AUTOWIDTH=y
   7.269 -
   7.270 -#
   7.271 -# Common options for df, du, ls
   7.272 -#
   7.273 -CONFIG_FEATURE_HUMAN_READABLE=y
   7.274 -
   7.275 -#
   7.276 -# Common options for md5sum, sha1sum
   7.277 -#
   7.278 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
   7.279 -
   7.280 -#
   7.281 -# Console Utilities
   7.282 -#
   7.283 -CONFIG_CHVT=y
   7.284 -# CONFIG_CLEAR is not set
   7.285 -CONFIG_DEALLOCVT=y
   7.286 -CONFIG_DUMPKMAP=y
   7.287 -# CONFIG_KBD_MODE is not set
   7.288 -CONFIG_LOADFONT=y
   7.289 -CONFIG_LOADKMAP=y
   7.290 -CONFIG_OPENVT=y
   7.291 -# CONFIG_RESET is not set
   7.292 -# CONFIG_RESIZE is not set
   7.293 -# CONFIG_FEATURE_RESIZE_PRINT is not set
   7.294 -CONFIG_SETCONSOLE=y
   7.295 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
   7.296 -CONFIG_SETKEYCODES=y
   7.297 -# CONFIG_SETLOGCONS is not set
   7.298 -
   7.299 -#
   7.300 -# Debian Utilities
   7.301 -#
   7.302 -CONFIG_MKTEMP=y
   7.303 -CONFIG_PIPE_PROGRESS=y
   7.304 -# CONFIG_RUN_PARTS is not set
   7.305 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
   7.306 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
   7.307 -# CONFIG_START_STOP_DAEMON is not set
   7.308 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
   7.309 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
   7.310 -CONFIG_WHICH=y
   7.311 -
   7.312 -#
   7.313 -# Editors
   7.314 -#
   7.315 -CONFIG_AWK=y
   7.316 -CONFIG_FEATURE_AWK_MATH=y
   7.317 -CONFIG_CMP=y
   7.318 -CONFIG_DIFF=y
   7.319 -CONFIG_FEATURE_DIFF_BINARY=y
   7.320 -CONFIG_FEATURE_DIFF_DIR=y
   7.321 -CONFIG_FEATURE_DIFF_MINIMAL=y
   7.322 -# CONFIG_ED is not set
   7.323 -CONFIG_PATCH=y
   7.324 -CONFIG_SED=y
   7.325 -CONFIG_VI=y
   7.326 -CONFIG_FEATURE_VI_MAX_LEN=1024
   7.327 -CONFIG_FEATURE_VI_8BIT=y
   7.328 -CONFIG_FEATURE_VI_COLON=y
   7.329 -CONFIG_FEATURE_VI_YANKMARK=y
   7.330 -CONFIG_FEATURE_VI_SEARCH=y
   7.331 -CONFIG_FEATURE_VI_USE_SIGNALS=y
   7.332 -CONFIG_FEATURE_VI_DOT_CMD=y
   7.333 -CONFIG_FEATURE_VI_READONLY=y
   7.334 -CONFIG_FEATURE_VI_SETOPTS=y
   7.335 -CONFIG_FEATURE_VI_SET=y
   7.336 -CONFIG_FEATURE_VI_WIN_RESIZE=y
   7.337 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
   7.338 -CONFIG_FEATURE_ALLOW_EXEC=y
   7.339 -
   7.340 -#
   7.341 -# Finding Utilities
   7.342 -#
   7.343 -CONFIG_FIND=y
   7.344 -CONFIG_FEATURE_FIND_PRINT0=y
   7.345 -CONFIG_FEATURE_FIND_MTIME=y
   7.346 -CONFIG_FEATURE_FIND_MMIN=y
   7.347 -CONFIG_FEATURE_FIND_PERM=y
   7.348 -CONFIG_FEATURE_FIND_TYPE=y
   7.349 -CONFIG_FEATURE_FIND_XDEV=y
   7.350 -CONFIG_FEATURE_FIND_MAXDEPTH=y
   7.351 -CONFIG_FEATURE_FIND_NEWER=y
   7.352 -CONFIG_FEATURE_FIND_INUM=y
   7.353 -CONFIG_FEATURE_FIND_EXEC=y
   7.354 -CONFIG_FEATURE_FIND_USER=y
   7.355 -CONFIG_FEATURE_FIND_GROUP=y
   7.356 -CONFIG_FEATURE_FIND_NOT=y
   7.357 -CONFIG_FEATURE_FIND_DEPTH=y
   7.358 -CONFIG_FEATURE_FIND_PAREN=y
   7.359 -CONFIG_FEATURE_FIND_SIZE=y
   7.360 -CONFIG_FEATURE_FIND_PRUNE=y
   7.361 -CONFIG_FEATURE_FIND_DELETE=y
   7.362 -CONFIG_FEATURE_FIND_PATH=y
   7.363 -CONFIG_FEATURE_FIND_REGEX=y
   7.364 -# CONFIG_FEATURE_FIND_CONTEXT is not set
   7.365 -CONFIG_GREP=y
   7.366 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
   7.367 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
   7.368 -CONFIG_FEATURE_GREP_CONTEXT=y
   7.369 -CONFIG_XARGS=y
   7.370 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
   7.371 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
   7.372 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
   7.373 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
   7.374 -
   7.375 -#
   7.376 -# Init Utilities
   7.377 -#
   7.378 -CONFIG_INIT=y
   7.379 -# CONFIG_DEBUG_INIT is not set
   7.380 -CONFIG_FEATURE_USE_INITTAB=y
   7.381 -CONFIG_FEATURE_KILL_REMOVED=y
   7.382 -CONFIG_FEATURE_KILL_DELAY=0
   7.383 -CONFIG_FEATURE_INIT_SCTTY=y
   7.384 -# CONFIG_FEATURE_INIT_SYSLOG is not set
   7.385 -CONFIG_FEATURE_EXTRA_QUIET=y
   7.386 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
   7.387 -CONFIG_FEATURE_INITRD=y
   7.388 -CONFIG_HALT=y
   7.389 -CONFIG_MESG=y
   7.390 -
   7.391 -#
   7.392 -# Login/Password Management Utilities
   7.393 -#
   7.394 -CONFIG_FEATURE_SHADOWPASSWDS=y
   7.395 -# CONFIG_USE_BB_SHADOW is not set
   7.396 -# CONFIG_USE_BB_PWD_GRP is not set
   7.397 -CONFIG_ADDGROUP=y
   7.398 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
   7.399 -CONFIG_DELGROUP=y
   7.400 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
   7.401 -# CONFIG_FEATURE_CHECK_NAMES is not set
   7.402 -CONFIG_ADDUSER=y
   7.403 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
   7.404 -CONFIG_DELUSER=y
   7.405 -CONFIG_GETTY=y
   7.406 -CONFIG_FEATURE_UTMP=y
   7.407 -CONFIG_FEATURE_WTMP=y
   7.408 -CONFIG_LOGIN=y
   7.409 -# CONFIG_PAM is not set
   7.410 -# CONFIG_LOGIN_SCRIPTS is not set
   7.411 -# CONFIG_FEATURE_NOLOGIN is not set
   7.412 -CONFIG_FEATURE_SECURETTY=y
   7.413 -CONFIG_PASSWD=y
   7.414 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
   7.415 -CONFIG_CRYPTPW=y
   7.416 -CONFIG_CHPASSWD=y
   7.417 -CONFIG_SU=y
   7.418 -CONFIG_FEATURE_SU_SYSLOG=y
   7.419 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y
   7.420 -CONFIG_SULOGIN=y
   7.421 -CONFIG_VLOCK=y
   7.422 -
   7.423 -#
   7.424 -# Linux Ext2 FS Progs
   7.425 -#
   7.426 -CONFIG_CHATTR=y
   7.427 -CONFIG_FSCK=y
   7.428 -CONFIG_LSATTR=y
   7.429 -
   7.430 -#
   7.431 -# Linux Module Utilities
   7.432 -#
   7.433 -# CONFIG_INSMOD is not set
   7.434 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
   7.435 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
   7.436 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
   7.437 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
   7.438 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
   7.439 -# CONFIG_RMMOD is not set
   7.440 -# CONFIG_LSMOD is not set
   7.441 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
   7.442 -# CONFIG_MODPROBE is not set
   7.443 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
   7.444 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set
   7.445 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
   7.446 -# CONFIG_FEATURE_2_4_MODULES is not set
   7.447 -# CONFIG_FEATURE_2_6_MODULES is not set
   7.448 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
   7.449 -
   7.450 -#
   7.451 -# Linux System Utilities
   7.452 -#
   7.453 -CONFIG_DMESG=y
   7.454 -CONFIG_FEATURE_DMESG_PRETTY=y
   7.455 -CONFIG_FBSET=y
   7.456 -CONFIG_FEATURE_FBSET_FANCY=y
   7.457 -# CONFIG_FEATURE_FBSET_READMODE is not set
   7.458 -CONFIG_FDFLUSH=y
   7.459 -CONFIG_FDFORMAT=y
   7.460 -CONFIG_FDISK=y
   7.461 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
   7.462 -CONFIG_FEATURE_FDISK_WRITABLE=y
   7.463 -# CONFIG_FEATURE_AIX_LABEL is not set
   7.464 -# CONFIG_FEATURE_SGI_LABEL is not set
   7.465 -# CONFIG_FEATURE_SUN_LABEL is not set
   7.466 -# CONFIG_FEATURE_OSF_LABEL is not set
   7.467 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
   7.468 -# CONFIG_FINDFS is not set
   7.469 -CONFIG_FREERAMDISK=y
   7.470 -# CONFIG_FSCK_MINIX is not set
   7.471 -# CONFIG_MKFS_MINIX is not set
   7.472 -# CONFIG_FEATURE_MINIX2 is not set
   7.473 -# CONFIG_GETOPT is not set
   7.474 -CONFIG_HEXDUMP=y
   7.475 -CONFIG_FEATURE_HEXDUMP_REVERSE=y
   7.476 -# CONFIG_HD is not set
   7.477 -CONFIG_HWCLOCK=y
   7.478 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
   7.479 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
   7.480 -CONFIG_IPCRM=y
   7.481 -CONFIG_IPCS=y
   7.482 -CONFIG_LOSETUP=y
   7.483 -CONFIG_MDEV=y
   7.484 -CONFIG_FEATURE_MDEV_CONF=y
   7.485 -# CONFIG_FEATURE_MDEV_RENAME is not set
   7.486 -CONFIG_FEATURE_MDEV_EXEC=y
   7.487 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
   7.488 -CONFIG_MKSWAP=y
   7.489 -# CONFIG_FEATURE_MKSWAP_V0 is not set
   7.490 -CONFIG_MORE=y
   7.491 -CONFIG_FEATURE_USE_TERMIOS=y
   7.492 -CONFIG_VOLUMEID=y
   7.493 -CONFIG_FEATURE_VOLUMEID_EXT=y
   7.494 -CONFIG_FEATURE_VOLUMEID_REISERFS=y
   7.495 -CONFIG_FEATURE_VOLUMEID_FAT=y
   7.496 -# CONFIG_FEATURE_VOLUMEID_HFS is not set
   7.497 -# CONFIG_FEATURE_VOLUMEID_JFS is not set
   7.498 -# CONFIG_FEATURE_VOLUMEID_XFS is not set
   7.499 -CONFIG_FEATURE_VOLUMEID_NTFS=y
   7.500 -CONFIG_FEATURE_VOLUMEID_ISO9660=y
   7.501 -# CONFIG_FEATURE_VOLUMEID_UDF is not set
   7.502 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set
   7.503 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
   7.504 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
   7.505 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
   7.506 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set
   7.507 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
   7.508 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
   7.509 -CONFIG_MOUNT=y
   7.510 -# CONFIG_FEATURE_MOUNT_FAKE is not set
   7.511 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
   7.512 -# CONFIG_FEATURE_MOUNT_HELPERS is not set
   7.513 -CONFIG_FEATURE_MOUNT_LABEL=y
   7.514 -CONFIG_FEATURE_MOUNT_NFS=y
   7.515 -CONFIG_FEATURE_MOUNT_CIFS=y
   7.516 -CONFIG_FEATURE_MOUNT_FLAGS=y
   7.517 -CONFIG_FEATURE_MOUNT_FSTAB=y
   7.518 -CONFIG_PIVOT_ROOT=y
   7.519 -CONFIG_RDATE=y
   7.520 -CONFIG_READPROFILE=y
   7.521 -# CONFIG_RTCWAKE is not set
   7.522 -CONFIG_SETARCH=y
   7.523 -CONFIG_SWAPONOFF=y
   7.524 -CONFIG_SWITCH_ROOT=y
   7.525 -CONFIG_UMOUNT=y
   7.526 -CONFIG_FEATURE_UMOUNT_ALL=y
   7.527 -
   7.528 -#
   7.529 -# Common options for mount/umount
   7.530 -#
   7.531 -CONFIG_FEATURE_MOUNT_LOOP=y
   7.532 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
   7.533 -
   7.534 -#
   7.535 -# Miscellaneous Utilities
   7.536 -#
   7.537 -CONFIG_ADJTIMEX=y
   7.538 -# CONFIG_BBCONFIG is not set
   7.539 -CONFIG_CHAT=y
   7.540 -CONFIG_FEATURE_CHAT_NOFAIL=y
   7.541 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
   7.542 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
   7.543 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
   7.544 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
   7.545 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
   7.546 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
   7.547 -CONFIG_CHRT=y
   7.548 -CONFIG_CROND=y
   7.549 -# CONFIG_DEBUG_CROND_OPTION is not set
   7.550 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
   7.551 -CONFIG_CRONTAB=y
   7.552 -# CONFIG_DC is not set
   7.553 -# CONFIG_DEVFSD is not set
   7.554 -# CONFIG_DEVFSD_MODLOAD is not set
   7.555 -# CONFIG_DEVFSD_FG_NP is not set
   7.556 -# CONFIG_DEVFSD_VERBOSE is not set
   7.557 -# CONFIG_FEATURE_DEVFS is not set
   7.558 -CONFIG_EJECT=y
   7.559 -CONFIG_FEATURE_EJECT_SCSI=y
   7.560 -CONFIG_LAST=y
   7.561 -CONFIG_LESS=y
   7.562 -CONFIG_FEATURE_LESS_MAXLINES=9999999
   7.563 -CONFIG_FEATURE_LESS_BRACKETS=y
   7.564 -CONFIG_FEATURE_LESS_FLAGS=y
   7.565 -CONFIG_FEATURE_LESS_FLAGCS=y
   7.566 -CONFIG_FEATURE_LESS_MARKS=y
   7.567 -CONFIG_FEATURE_LESS_REGEXP=y
   7.568 -CONFIG_HDPARM=y
   7.569 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
   7.570 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
   7.571 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
   7.572 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
   7.573 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
   7.574 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
   7.575 -# CONFIG_MAKEDEVS is not set
   7.576 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
   7.577 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
   7.578 -CONFIG_MICROCOM=y
   7.579 -CONFIG_MOUNTPOINT=y
   7.580 -# CONFIG_MT is not set
   7.581 -# CONFIG_RAIDAUTORUN is not set
   7.582 -# CONFIG_READAHEAD is not set
   7.583 -# CONFIG_RUNLEVEL is not set
   7.584 -# CONFIG_RX is not set
   7.585 -CONFIG_SCRIPT=y
   7.586 -CONFIG_STRINGS=y
   7.587 -CONFIG_SETSID=y
   7.588 -CONFIG_TASKSET=y
   7.589 -CONFIG_FEATURE_TASKSET_FANCY=y
   7.590 -CONFIG_TIME=y
   7.591 -# CONFIG_TTYSIZE is not set
   7.592 -CONFIG_VCSA2TXT=y
   7.593 -CONFIG_WATCHDOG=y
   7.594 -
   7.595 -#
   7.596 -# Networking Utilities
   7.597 -#
   7.598 -CONFIG_FEATURE_IPV6=y
   7.599 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
   7.600 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
   7.601 -CONFIG_ARP=y
   7.602 -CONFIG_ARPING=y
   7.603 -CONFIG_BRCTL=y
   7.604 -CONFIG_FEATURE_BRCTL_FANCY=y
   7.605 -CONFIG_DNSD=y
   7.606 -CONFIG_ETHER_WAKE=y
   7.607 -CONFIG_FAKEIDENTD=y
   7.608 -CONFIG_FTPGET=y
   7.609 -CONFIG_FTPPUT=y
   7.610 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
   7.611 -CONFIG_HOSTNAME=y
   7.612 -# CONFIG_HTTPD is not set
   7.613 -# CONFIG_FEATURE_HTTPD_RANGES is not set
   7.614 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
   7.615 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
   7.616 -# CONFIG_FEATURE_HTTPD_SETUID is not set
   7.617 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
   7.618 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
   7.619 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
   7.620 -# CONFIG_FEATURE_HTTPD_CGI is not set
   7.621 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
   7.622 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
   7.623 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
   7.624 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
   7.625 -# CONFIG_FEATURE_HTTPD_PROXY is not set
   7.626 -CONFIG_IFCONFIG=y
   7.627 -CONFIG_FEATURE_IFCONFIG_STATUS=y
   7.628 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
   7.629 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
   7.630 -CONFIG_FEATURE_IFCONFIG_HW=y
   7.631 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
   7.632 -# CONFIG_IFENSLAVE is not set
   7.633 -# CONFIG_IFUPDOWN is not set
   7.634 -CONFIG_IFUPDOWN_IFSTATE_PATH=""
   7.635 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
   7.636 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
   7.637 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
   7.638 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
   7.639 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
   7.640 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
   7.641 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
   7.642 -CONFIG_INETD=y
   7.643 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
   7.644 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
   7.645 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
   7.646 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
   7.647 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
   7.648 -CONFIG_FEATURE_INETD_RPC=y
   7.649 -# CONFIG_IP is not set
   7.650 -# CONFIG_FEATURE_IP_ADDRESS is not set
   7.651 -# CONFIG_FEATURE_IP_LINK is not set
   7.652 -# CONFIG_FEATURE_IP_ROUTE is not set
   7.653 -# CONFIG_FEATURE_IP_TUNNEL is not set
   7.654 -# CONFIG_FEATURE_IP_RULE is not set
   7.655 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set
   7.656 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
   7.657 -# CONFIG_IPADDR is not set
   7.658 -# CONFIG_IPLINK is not set
   7.659 -# CONFIG_IPROUTE is not set
   7.660 -# CONFIG_IPTUNNEL is not set
   7.661 -# CONFIG_IPRULE is not set
   7.662 -CONFIG_IPCALC=y
   7.663 -CONFIG_FEATURE_IPCALC_FANCY=y
   7.664 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
   7.665 -CONFIG_NAMEIF=y
   7.666 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
   7.667 -CONFIG_NC=y
   7.668 -CONFIG_NC_SERVER=y
   7.669 -# CONFIG_NC_EXTRA is not set
   7.670 -CONFIG_NETSTAT=y
   7.671 -CONFIG_FEATURE_NETSTAT_WIDE=y
   7.672 -CONFIG_NSLOOKUP=y
   7.673 -CONFIG_PING=y
   7.674 -CONFIG_PING6=y
   7.675 -CONFIG_FEATURE_FANCY_PING=y
   7.676 -CONFIG_PSCAN=y
   7.677 -CONFIG_ROUTE=y
   7.678 -# CONFIG_SENDMAIL is not set
   7.679 -# CONFIG_FETCHMAIL is not set
   7.680 -# CONFIG_SLATTACH is not set
   7.681 -CONFIG_TELNET=y
   7.682 -CONFIG_FEATURE_TELNET_TTYPE=y
   7.683 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
   7.684 -# CONFIG_TELNETD is not set
   7.685 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set
   7.686 -CONFIG_TFTP=y
   7.687 -CONFIG_TFTPD=y
   7.688 -CONFIG_FEATURE_TFTP_GET=y
   7.689 -CONFIG_FEATURE_TFTP_PUT=y
   7.690 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
   7.691 -# CONFIG_DEBUG_TFTP is not set
   7.692 -CONFIG_TRACEROUTE=y
   7.693 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
   7.694 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
   7.695 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
   7.696 -CONFIG_APP_UDHCPD=y
   7.697 -CONFIG_APP_DHCPRELAY=y
   7.698 -# CONFIG_APP_DUMPLEASES is not set
   7.699 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
   7.700 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases"
   7.701 -CONFIG_APP_UDHCPC=y
   7.702 -CONFIG_FEATURE_UDHCPC_ARPING=y
   7.703 -# CONFIG_FEATURE_UDHCP_PORT is not set
   7.704 -# CONFIG_FEATURE_UDHCP_DEBUG is not set
   7.705 -# CONFIG_FEATURE_RFC3397 is not set
   7.706 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
   7.707 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
   7.708 -CONFIG_VCONFIG=y
   7.709 -CONFIG_WGET=y
   7.710 -CONFIG_FEATURE_WGET_STATUSBAR=y
   7.711 -CONFIG_FEATURE_WGET_AUTHENTICATION=y
   7.712 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
   7.713 -CONFIG_ZCIP=y
   7.714 -# CONFIG_TCPSVD is not set
   7.715 -# CONFIG_UDPSVD is not set
   7.716 -
   7.717 -#
   7.718 -# Process Utilities
   7.719 -#
   7.720 -CONFIG_FREE=y
   7.721 -CONFIG_FUSER=y
   7.722 -CONFIG_KILL=y
   7.723 -CONFIG_KILLALL=y
   7.724 -CONFIG_KILLALL5=y
   7.725 -CONFIG_NMETER=y
   7.726 -# CONFIG_PGREP is not set
   7.727 -CONFIG_PIDOF=y
   7.728 -CONFIG_FEATURE_PIDOF_SINGLE=y
   7.729 -CONFIG_FEATURE_PIDOF_OMIT=y
   7.730 -# CONFIG_PKILL is not set
   7.731 -CONFIG_PS=y
   7.732 -CONFIG_FEATURE_PS_WIDE=y
   7.733 -# CONFIG_FEATURE_PS_TIME is not set
   7.734 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
   7.735 -CONFIG_RENICE=y
   7.736 -CONFIG_BB_SYSCTL=y
   7.737 -CONFIG_TOP=y
   7.738 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
   7.739 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
   7.740 -# CONFIG_FEATURE_TOP_DECIMALS is not set
   7.741 -CONFIG_FEATURE_TOPMEM=y
   7.742 -CONFIG_UPTIME=y
   7.743 -CONFIG_WATCH=y
   7.744 -
   7.745 -#
   7.746 -# Shells
   7.747 -#
   7.748 -CONFIG_FEATURE_SH_IS_ASH=y
   7.749 -# CONFIG_FEATURE_SH_IS_HUSH is not set
   7.750 -# CONFIG_FEATURE_SH_IS_MSH is not set
   7.751 -# CONFIG_FEATURE_SH_IS_NONE is not set
   7.752 -CONFIG_ASH=y
   7.753 -
   7.754 -#
   7.755 -# Ash Shell Options
   7.756 -#
   7.757 -CONFIG_ASH_JOB_CONTROL=y
   7.758 -CONFIG_ASH_READ_NCHARS=y
   7.759 -CONFIG_ASH_READ_TIMEOUT=y
   7.760 -CONFIG_ASH_ALIAS=y
   7.761 -CONFIG_ASH_MATH_SUPPORT=y
   7.762 -CONFIG_ASH_MATH_SUPPORT_64=y
   7.763 -CONFIG_ASH_GETOPTS=y
   7.764 -CONFIG_ASH_BUILTIN_ECHO=y
   7.765 -CONFIG_ASH_BUILTIN_TEST=y
   7.766 -CONFIG_ASH_CMDCMD=y
   7.767 -# CONFIG_ASH_MAIL is not set
   7.768 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
   7.769 -CONFIG_ASH_RANDOM_SUPPORT=y
   7.770 -# CONFIG_ASH_EXPAND_PRMT is not set
   7.771 -# CONFIG_HUSH is not set
   7.772 -# CONFIG_HUSH_HELP is not set
   7.773 -# CONFIG_HUSH_INTERACTIVE is not set
   7.774 -# CONFIG_HUSH_JOB is not set
   7.775 -# CONFIG_HUSH_TICK is not set
   7.776 -# CONFIG_HUSH_IF is not set
   7.777 -# CONFIG_HUSH_LOOPS is not set
   7.778 -# CONFIG_LASH is not set
   7.779 -# CONFIG_MSH is not set
   7.780 -
   7.781 -#
   7.782 -# Bourne Shell Options
   7.783 -#
   7.784 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
   7.785 -# CONFIG_FEATURE_SH_STANDALONE is not set
   7.786 -# CONFIG_CTTYHACK is not set
   7.787 -
   7.788 -#
   7.789 -# System Logging Utilities
   7.790 -#
   7.791 -CONFIG_SYSLOGD=y
   7.792 -CONFIG_FEATURE_ROTATE_LOGFILE=y
   7.793 -CONFIG_FEATURE_REMOTE_LOG=y
   7.794 -# CONFIG_FEATURE_SYSLOGD_DUP is not set
   7.795 -# CONFIG_FEATURE_IPC_SYSLOG is not set
   7.796 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=
   7.797 -# CONFIG_LOGREAD is not set
   7.798 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
   7.799 -CONFIG_KLOGD=y
   7.800 -CONFIG_LOGGER=y
   7.801 -
   7.802 -#
   7.803 -# Runit Utilities
   7.804 -#
   7.805 -# CONFIG_RUNSV is not set
   7.806 -# CONFIG_RUNSVDIR is not set
   7.807 -# CONFIG_SV is not set
   7.808 -# CONFIG_SVLOGD is not set
   7.809 -# CONFIG_CHPST is not set
   7.810 -# CONFIG_SETUIDGID is not set
   7.811 -# CONFIG_ENVUIDGID is not set
   7.812 -# CONFIG_ENVDIR is not set
   7.813 -# CONFIG_SOFTLIMIT is not set
   7.814 -# CONFIG_CHCON is not set
   7.815 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
   7.816 -# CONFIG_GETENFORCE is not set
   7.817 -# CONFIG_GETSEBOOL is not set
   7.818 -# CONFIG_LOAD_POLICY is not set
   7.819 -# CONFIG_MATCHPATHCON is not set
   7.820 -# CONFIG_RESTORECON is not set
   7.821 -# CONFIG_RUNCON is not set
   7.822 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
   7.823 -# CONFIG_SELINUXENABLED is not set
   7.824 -# CONFIG_SETENFORCE is not set
   7.825 -# CONFIG_SETFILES is not set
   7.826 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
   7.827 -# CONFIG_SETSEBOOL is not set
   7.828 -# CONFIG_SESTATUS is not set
   7.829 -
   7.830 -#
   7.831 -# Print Utilities
   7.832 -#
   7.833 -CONFIG_LPD=y
   7.834 -CONFIG_LPR=y
   7.835 -CONFIG_LPQ=y
     8.1 --- a/busybox/stuff/busybox-1.10.1-cpio-mkdir.u	Wed May 27 11:52:33 2009 +0200
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,1 +0,0 @@
     8.4 -busybox-1.10.0-cpio-mkdir.u
     8.5 \ No newline at end of file
     9.1 --- a/busybox/stuff/busybox-1.10.1-cpio-mtime.u	Wed May 27 11:52:33 2009 +0200
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,21 +0,0 @@
     9.4 ---- busybox-1.10.0/archival/cpio.c	
     9.5 -+++ busybox-1.10.0/archival/cpio.c	
     9.6 -@@ -167,7 +167,7 @@
     9.7 - 	archive_handle = init_handle();
     9.8 - 	archive_handle->src_fd = STDIN_FILENO;
     9.9 - 	archive_handle->seek = seek_by_read;
    9.10 --	archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE;
    9.11 -+	archive_handle->flags = ARCHIVE_EXTRACT_NEWER;
    9.12 - 
    9.13 - #if ENABLE_FEATURE_CPIO_O
    9.14 - 	opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename,&cpio_fmt);
    9.15 -@@ -220,6 +220,9 @@
    9.16 - 	if (opt & CPIO_OPT_CREATE_LEADING_DIR) {
    9.17 - 		archive_handle->flags |= ARCHIVE_CREATE_LEADING_DIRS;
    9.18 - 	}
    9.19 -+	if (opt & CPIO_OPT_PRESERVE_MTIME) {
    9.20 -+		archive_handle->flags |= ARCHIVE_PRESERVE_DATE;
    9.21 -+	}
    9.22 - 
    9.23 - 	while (optind < argc) {
    9.24 - 		archive_handle->filter = filter_accept_list;
    10.1 --- a/busybox/stuff/busybox-1.10.1-cpio.u	Wed May 27 11:52:33 2009 +0200
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,1 +0,0 @@
    10.4 -busybox-1.10.0-cpio.u
    10.5 \ No newline at end of file
    11.1 --- a/busybox/stuff/busybox-1.10.1-dhcpc.u	Wed May 27 11:52:33 2009 +0200
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,1 +0,0 @@
    11.4 -busybox-1.10.0-dhcpc.u
    11.5 \ No newline at end of file
    12.1 --- a/busybox/stuff/busybox-1.10.1-fixes-1.10.1.u	Wed May 27 11:52:33 2009 +0200
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,971 +0,0 @@
    12.4 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-completion.patch
    12.5 ---- busybox-1.10.1/libbb/lineedit.c	Sat Apr 19 05:50:33 2008
    12.6 -+++ busybox-1.10.1-completion/libbb/lineedit.c	Thu Apr 24 06:45:39 2008
    12.7 -@@ -518,8 +518,8 @@
    12.8 - 
    12.9 - 	for (i = 0; i < npaths; i++) {
   12.10 - 		dir = opendir(paths[i]);
   12.11 --		if (!dir)                       /* Don't print an error */
   12.12 --			continue;
   12.13 -+		if (!dir)
   12.14 -+			continue; /* don't print an error */
   12.15 - 
   12.16 - 		while ((next = readdir(dir)) != NULL) {
   12.17 - 			int len1;
   12.18 -@@ -529,18 +529,21 @@
   12.19 - 			if (strncmp(str_found, pfind, strlen(pfind)))
   12.20 - 				continue;
   12.21 - 			/* not see .name without .match */
   12.22 --			if (*str_found == '.' && *pfind == 0) {
   12.23 -+			if (*str_found == '.' && *pfind == '\0') {
   12.24 - 				if (NOT_LONE_CHAR(paths[i], '/') || str_found[1])
   12.25 - 					continue;
   12.26 - 				str_found = ""; /* only "/" */
   12.27 - 			}
   12.28 - 			found = concat_path_file(paths[i], str_found);
   12.29 --			/* hmm, remover in progress? */
   12.30 --			if (lstat(found, &st) < 0)
   12.31 -+			/* hmm, remove in progress? */
   12.32 -+			/* NB: stat() first so that we see is it a directory;
   12.33 -+			 * but if that fails, use lstat() so that
   12.34 -+			 * we still match dangling links */
   12.35 -+			if (stat(found, &st) && lstat(found, &st))
   12.36 - 				goto cont;
   12.37 - 			/* find with dirs? */
   12.38 - 			if (paths[i] != dirbuf)
   12.39 --				strcpy(found, next->d_name);    /* only name */
   12.40 -+				strcpy(found, next->d_name); /* only name */
   12.41 - 
   12.42 - 			len1 = strlen(found);
   12.43 - 			found = xrealloc(found, len1 + 2);
   12.44 -@@ -548,7 +551,7 @@
   12.45 - 			found[len1+1] = '\0';
   12.46 - 
   12.47 - 			if (S_ISDIR(st.st_mode)) {
   12.48 --				/* name is directory      */
   12.49 -+				/* name is a directory */
   12.50 - 				if (found[len1-1] != '/') {
   12.51 - 					found[len1] = '/';
   12.52 - 				}
   12.53 -@@ -566,7 +569,7 @@
   12.54 - 		closedir(dir);
   12.55 - 	}
   12.56 - 	if (paths != path1) {
   12.57 --		free(paths[0]);                 /* allocated memory only in first member */
   12.58 -+		free(paths[0]); /* allocated memory is only in first member */
   12.59 - 		free(paths);
   12.60 - 	}
   12.61 - #undef dirbuf
   12.62 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-echo.patch
   12.63 ---- busybox-1.10.1/coreutils/echo.c	Sat Apr 19 05:50:32 2008
   12.64 -+++ busybox-1.10.1-echo/coreutils/echo.c	Wed Apr 30 02:37:08 2008
   12.65 -@@ -27,10 +27,8 @@
   12.66 - 
   12.67 - /* This is a NOFORK applet. Be very careful! */
   12.68 - 
   12.69 --/* argc is unused, but removing it precludes compiler from
   12.70 -- * using call -> jump optimization */
   12.71 -+/* NB: can be used by shell even if not enabled as applet */
   12.72 - 
   12.73 --int echo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   12.74 - int echo_main(int argc ATTRIBUTE_UNUSED, char **argv)
   12.75 - {
   12.76 - 	const char *arg;
   12.77 -@@ -110,15 +108,19 @@
   12.78 - 				}
   12.79 - #if !ENABLE_FEATURE_FANCY_ECHO
   12.80 - 				/* SUSv3 specifies that octal escapes must begin with '0'. */
   12.81 --				if ( (((unsigned char)*arg) - '1') >= 7)
   12.82 -+				if ( ((int)(unsigned char)(*arg) - '0') >= 8) /* '8' or bigger */
   12.83 - #endif
   12.84 - 				{
   12.85 - 					/* Since SUSv3 mandates a first digit of 0, 4-digit octals
   12.86 - 					* of the form \0### are accepted. */
   12.87 --					if (*arg == '0' && ((unsigned char)(arg[1]) - '0') < 8) {
   12.88 --						arg++;
   12.89 -+					if (*arg == '0') {
   12.90 -+						/* NB: don't turn "...\0" into "...\" */
   12.91 -+						if (arg[1] && ((unsigned char)(arg[1]) - '0') < 8) {
   12.92 -+							arg++;
   12.93 -+						}
   12.94 - 					}
   12.95 --					/* bb_process_escape_sequence can handle nul correctly */
   12.96 -+					/* bb_process_escape_sequence handles NUL correctly
   12.97 -+					 * ("...\" case). */
   12.98 - 					c = bb_process_escape_sequence(&arg);
   12.99 - 				}
  12.100 - 			}
  12.101 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-fixes-1.10.1.u
  12.102 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-hppa.patch
  12.103 ---- busybox-1.10.1/include/libbb.h	Sat Apr 19 05:50:36 2008
  12.104 -+++ busybox-1.10.1-hppa/include/libbb.h	Mon Apr 28 10:34:36 2008
  12.105 -@@ -288,20 +288,20 @@
  12.106 - 	 * SIGSYS   Bad argument to routine
  12.107 - 	 * SIGTRAP  Trace/breakpoint trap
  12.108 - 	 */
  12.109 --	BB_FATAL_SIGS = 0
  12.110 --		+ (1 << SIGHUP)
  12.111 --		+ (1 << SIGINT)
  12.112 --		+ (1 << SIGTERM)
  12.113 --		+ (1 << SIGPIPE)   // Write to pipe with no readers
  12.114 --		+ (1 << SIGQUIT)   // Quit from keyboard
  12.115 --		+ (1 << SIGABRT)   // Abort signal from abort(3)
  12.116 --		+ (1 << SIGALRM)   // Timer signal from alarm(2)
  12.117 --		+ (1 << SIGVTALRM) // Virtual alarm clock
  12.118 --		+ (1 << SIGXCPU)   // CPU time limit exceeded
  12.119 --		+ (1 << SIGXFSZ)   // File size limit exceeded
  12.120 --		+ (1 << SIGUSR1)   // Yes kids, these are also fatal!
  12.121 --		+ (1 << SIGUSR2)
  12.122 --		+ 0,
  12.123 -+	BB_FATAL_SIGS = (int)(0
  12.124 -+		+ (1LL << SIGHUP)
  12.125 -+		+ (1LL << SIGINT)
  12.126 -+		+ (1LL << SIGTERM)
  12.127 -+		+ (1LL << SIGPIPE)   // Write to pipe with no readers
  12.128 -+		+ (1LL << SIGQUIT)   // Quit from keyboard
  12.129 -+		+ (1LL << SIGABRT)   // Abort signal from abort(3)
  12.130 -+		+ (1LL << SIGALRM)   // Timer signal from alarm(2)
  12.131 -+		+ (1LL << SIGVTALRM) // Virtual alarm clock
  12.132 -+		+ (1LL << SIGXCPU)   // CPU time limit exceeded
  12.133 -+		+ (1LL << SIGXFSZ)   // File size limit exceeded
  12.134 -+		+ (1LL << SIGUSR1)   // Yes kids, these are also fatal!
  12.135 -+		+ (1LL << SIGUSR2)
  12.136 -+		+ 0),
  12.137 - };
  12.138 - void bb_signals(int sigs, void (*f)(int));
  12.139 - /* Unlike signal() and bb_signals, sets handler with sigaction()
  12.140 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-httpd.patch
  12.141 ---- busybox-1.10.1/networking/httpd.c	Sat Apr 19 05:50:27 2008
  12.142 -+++ busybox-1.10.1-httpd/networking/httpd.c	Wed May  7 11:19:11 2008
  12.143 -@@ -1457,6 +1457,11 @@
  12.144 - 				}
  12.145 - 			}
  12.146 - #endif
  12.147 -+			/* restore default signal dispositions for CGI process */
  12.148 -+			signal(SIGCHLD, SIG_DFL);
  12.149 -+			signal(SIGPIPE, SIG_DFL);
  12.150 -+			signal(SIGHUP, SIG_DFL);
  12.151 -+
  12.152 - 			execv(fullpath, argv);
  12.153 - 			if (verbose)
  12.154 - 				bb_perror_msg("exec %s", fullpath);
  12.155 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-ioctl.patch
  12.156 ---- busybox-1.10.1/include/libbb.h	Sat Apr 19 05:50:36 2008
  12.157 -+++ busybox-1.10.1-ioctl/include/libbb.h	Thu Apr 24 06:45:03 2008
  12.158 -@@ -995,16 +995,16 @@
  12.159 - /* NB: typically you want to pass fd 0, not 1. Think 'applet | grep something' */
  12.160 - int get_terminal_width_height(int fd, int *width, int *height);
  12.161 - 
  12.162 --int ioctl_or_perror(int fd, int request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5)));
  12.163 --void ioctl_or_perror_and_die(int fd, int request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5)));
  12.164 -+int ioctl_or_perror(int fd, unsigned request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5)));
  12.165 -+void ioctl_or_perror_and_die(int fd, unsigned request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5)));
  12.166 - #if ENABLE_IOCTL_HEX2STR_ERROR
  12.167 --int bb_ioctl_or_warn(int fd, int request, void *argp, const char *ioctl_name);
  12.168 --void bb_xioctl(int fd, int request, void *argp, const char *ioctl_name);
  12.169 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp, const char *ioctl_name);
  12.170 -+void bb_xioctl(int fd, unsigned request, void *argp, const char *ioctl_name);
  12.171 - #define ioctl_or_warn(fd,request,argp) bb_ioctl_or_warn(fd,request,argp,#request)
  12.172 - #define xioctl(fd,request,argp)        bb_xioctl(fd,request,argp,#request)
  12.173 - #else
  12.174 --int bb_ioctl_or_warn(int fd, int request, void *argp);
  12.175 --void bb_xioctl(int fd, int request, void *argp);
  12.176 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp);
  12.177 -+void bb_xioctl(int fd, unsigned request, void *argp);
  12.178 - #define ioctl_or_warn(fd,request,argp) bb_ioctl_or_warn(fd,request,argp)
  12.179 - #define xioctl(fd,request,argp)        bb_xioctl(fd,request,argp)
  12.180 - #endif
  12.181 ---- busybox-1.10.1/libbb/xfuncs.c	Sat Apr 19 05:50:33 2008
  12.182 -+++ busybox-1.10.1-ioctl/libbb/xfuncs.c	Thu Apr 24 06:45:14 2008
  12.183 -@@ -704,7 +704,7 @@
  12.184 - 	return ret;
  12.185 - }
  12.186 - 
  12.187 --void ioctl_or_perror_and_die(int fd, int request, void *argp, const char *fmt,...)
  12.188 -+void ioctl_or_perror_and_die(int fd, unsigned request, void *argp, const char *fmt,...)
  12.189 - {
  12.190 - 	va_list p;
  12.191 - 
  12.192 -@@ -717,7 +717,7 @@
  12.193 - 	}
  12.194 - }
  12.195 - 
  12.196 --int ioctl_or_perror(int fd, int request, void *argp, const char *fmt,...)
  12.197 -+int ioctl_or_perror(int fd, unsigned request, void *argp, const char *fmt,...)
  12.198 - {
  12.199 - 	va_list p;
  12.200 - 	int ret = ioctl(fd, request, argp);
  12.201 -@@ -731,7 +731,7 @@
  12.202 - }
  12.203 - 
  12.204 - #if ENABLE_IOCTL_HEX2STR_ERROR
  12.205 --int bb_ioctl_or_warn(int fd, int request, void *argp, const char *ioctl_name)
  12.206 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp, const char *ioctl_name)
  12.207 - {
  12.208 - 	int ret;
  12.209 - 
  12.210 -@@ -740,13 +740,13 @@
  12.211 - 		bb_simple_perror_msg(ioctl_name);
  12.212 - 	return ret;
  12.213 - }
  12.214 --void bb_xioctl(int fd, int request, void *argp, const char *ioctl_name)
  12.215 -+void bb_xioctl(int fd, unsigned request, void *argp, const char *ioctl_name)
  12.216 - {
  12.217 - 	if (ioctl(fd, request, argp) < 0)
  12.218 - 		bb_simple_perror_msg_and_die(ioctl_name);
  12.219 - }
  12.220 - #else
  12.221 --int bb_ioctl_or_warn(int fd, int request, void *argp)
  12.222 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp)
  12.223 - {
  12.224 - 	int ret;
  12.225 - 
  12.226 -@@ -755,7 +755,7 @@
  12.227 - 		bb_perror_msg("ioctl %#x failed", request);
  12.228 - 	return ret;
  12.229 - }
  12.230 --void bb_xioctl(int fd, int request, void *argp)
  12.231 -+void bb_xioctl(int fd, unsigned request, void *argp)
  12.232 - {
  12.233 - 	if (ioctl(fd, request, argp) < 0)
  12.234 - 		bb_perror_msg_and_die("ioctl %#x failed", request);
  12.235 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-mdev.patch
  12.236 ---- busybox-1.10.1/util-linux/mdev.c	Sat Apr 19 05:50:39 2008
  12.237 -+++ busybox-1.10.1-mdev/util-linux/mdev.c	Fri May  2 14:48:06 2008
  12.238 -@@ -12,6 +12,8 @@
  12.239 - #include "libbb.h"
  12.240 - #include "xregex.h"
  12.241 - 
  12.242 -+#define ENABLE_FEATURE_MDEV_RENAME_REGEXP 1
  12.243 -+
  12.244 - struct globals {
  12.245 - 	int root_major, root_minor;
  12.246 - };
  12.247 -@@ -21,7 +23,21 @@
  12.248 - 
  12.249 - #define MAX_SYSFS_DEPTH 3 /* prevent infinite loops in /sys symlinks */
  12.250 - 
  12.251 -+/* We use additional 64+ bytes in make_device() */
  12.252 -+#define SCRATCH_SIZE 80
  12.253 -+
  12.254 -+static char *next_field(char *s)
  12.255 -+{
  12.256 -+	char *end = skip_non_whitespace(s);
  12.257 -+	s = skip_whitespace(end);
  12.258 -+	*end = '\0';
  12.259 -+	if (*s == '\0')
  12.260 -+		s = NULL;
  12.261 -+	return s;
  12.262 -+}
  12.263 -+
  12.264 - /* mknod in /dev based on a path like "/sys/block/hda/hda1" */
  12.265 -+/* NB: "mdev -s" may call us many times, do not leak memory/fds! */
  12.266 - static void make_device(char *path, int delete)
  12.267 - {
  12.268 - 	const char *device_name;
  12.269 -@@ -29,7 +45,7 @@
  12.270 - 	int mode = 0660;
  12.271 - 	uid_t uid = 0;
  12.272 - 	gid_t gid = 0;
  12.273 --	char *temp = path + strlen(path);
  12.274 -+	char *dev_maj_min = path + strlen(path);
  12.275 - 	char *command = NULL;
  12.276 - 	char *alias = NULL;
  12.277 - 
  12.278 -@@ -42,156 +58,178 @@
  12.279 - 	 * also depend on path having writeable space after it.
  12.280 - 	 */
  12.281 - 	if (!delete) {
  12.282 --		strcat(path, "/dev");
  12.283 --		len = open_read_close(path, temp + 1, 64);
  12.284 --		*temp++ = 0;
  12.285 -+		strcpy(dev_maj_min, "/dev");
  12.286 -+		len = open_read_close(path, dev_maj_min + 1, 64);
  12.287 -+		*dev_maj_min++ = '\0';
  12.288 - 		if (len < 1) {
  12.289 --			if (ENABLE_FEATURE_MDEV_EXEC)
  12.290 --				/* no "dev" file, so just try to run script */
  12.291 --				*temp = 0;
  12.292 --			else
  12.293 -+			if (!ENABLE_FEATURE_MDEV_EXEC)
  12.294 - 				return;
  12.295 -+			/* no "dev" file, so just try to run script */
  12.296 -+			*dev_maj_min = '\0';
  12.297 - 		}
  12.298 - 	}
  12.299 - 
  12.300 - 	/* Determine device name, type, major and minor */
  12.301 - 	device_name = bb_basename(path);
  12.302 --	type = (path[5] == 'c' ? S_IFCHR : S_IFBLK);
  12.303 -+	/* http://kernel.org/doc/pending/hotplug.txt says that only
  12.304 -+	 * "/sys/block/..." is for block devices. "sys/bus" etc is not! */
  12.305 -+	type = (strncmp(&path[5], "block/", 6) == 0 ? S_IFBLK : S_IFCHR);
  12.306 - 
  12.307 - 	if (ENABLE_FEATURE_MDEV_CONF) {
  12.308 - 		FILE *fp;
  12.309 --		char *line, *vline;
  12.310 -+		char *line, *val, *next;
  12.311 - 		unsigned lineno = 0;
  12.312 - 
  12.313 --		/* If we have a config file, look up the user settings */
  12.314 -+		/* If we have config file, look up user settings */
  12.315 - 		fp = fopen_or_warn("/etc/mdev.conf", "r");
  12.316 - 		if (!fp)
  12.317 - 			goto end_parse;
  12.318 - 
  12.319 --		while ((vline = line = xmalloc_getline(fp)) != NULL) {
  12.320 --			int field;
  12.321 -+		while ((line = xmalloc_getline(fp)) != NULL) {
  12.322 -+			regmatch_t off[1+9*ENABLE_FEATURE_MDEV_RENAME_REGEXP];
  12.323 - 
  12.324 --			/* A pristine copy for command execution. */
  12.325 --			char *orig_line;
  12.326 --			if (ENABLE_FEATURE_MDEV_EXEC)
  12.327 --				orig_line = xstrdup(line);
  12.328 --
  12.329 - 			++lineno;
  12.330 -+			trim(line);
  12.331 -+			if (!line[0])
  12.332 -+				goto next_line;
  12.333 - 
  12.334 --			/* Three fields: regex, uid:gid, mode */
  12.335 --			for (field = 0; field < (3 + ENABLE_FEATURE_MDEV_RENAME + ENABLE_FEATURE_MDEV_EXEC); ++field) {
  12.336 -+			/* Fields: regex uid:gid mode [alias] [cmd] */
  12.337 - 
  12.338 --				/* Find a non-empty field */
  12.339 --				char *val;
  12.340 --				do {
  12.341 --					val = strtok(vline, " \t");
  12.342 --					vline = NULL;
  12.343 --				} while (val && !*val);
  12.344 --				if (!val) {
  12.345 --					if (field)
  12.346 --						break;
  12.347 --					else
  12.348 --						goto next_line;
  12.349 --				}
  12.350 -+			/* 1st field: regex to match this device */
  12.351 -+			next = next_field(line);
  12.352 -+			{
  12.353 -+				regex_t match;
  12.354 -+				int result;
  12.355 - 
  12.356 --				if (field == 0) {
  12.357 -+				/* Is this it? */
  12.358 -+				xregcomp(&match, line, REG_EXTENDED);
  12.359 -+				result = regexec(&match, device_name, ARRAY_SIZE(off), off, 0);
  12.360 -+				regfree(&match);
  12.361 - 
  12.362 --					/* Regex to match this device */
  12.363 --					regex_t match;
  12.364 --					regmatch_t off;
  12.365 --					int result;
  12.366 -+				//bb_error_msg("matches:");
  12.367 -+				//for (int i = 0; i < ARRAY_SIZE(off); i++) {
  12.368 -+				//	if (off[i].rm_so < 0) continue;
  12.369 -+				//	bb_error_msg("match %d: '%.*s'\n", i,
  12.370 -+				//		(int)(off[i].rm_eo - off[i].rm_so),
  12.371 -+				//		device_name + off[i].rm_so);
  12.372 -+				//}
  12.373 - 
  12.374 --					/* Is this it? */
  12.375 --					xregcomp(&match, val, REG_EXTENDED);
  12.376 --					result = regexec(&match, device_name, 1, &off, 0);
  12.377 --					regfree(&match);
  12.378 -+				/* If not this device, skip rest of line */
  12.379 -+				/* (regexec returns whole pattern as "range" 0) */
  12.380 -+				if (result || off[0].rm_so || off[0].rm_eo != strlen(device_name))
  12.381 -+					goto next_line;
  12.382 -+			}
  12.383 - 
  12.384 --					/* If not this device, skip rest of line */
  12.385 --					if (result || off.rm_so || off.rm_eo != strlen(device_name))
  12.386 --						goto next_line;
  12.387 -+			/* This line matches: stop parsing the file
  12.388 -+			 * after parsing the rest of fields */
  12.389 - 
  12.390 --				} else if (field == 1) {
  12.391 -+			/* 2nd field: uid:gid - device ownership */
  12.392 -+			if (!next) /* field must exist */
  12.393 -+				bb_error_msg_and_die("bad line %u", lineno);
  12.394 -+			val = next;
  12.395 -+			next = next_field(val);
  12.396 -+			{
  12.397 -+				struct passwd *pass;
  12.398 -+				struct group *grp;
  12.399 -+				char *str_uid = val;
  12.400 -+				char *str_gid = strchrnul(val, ':');
  12.401 - 
  12.402 --					/* uid:gid device ownership */
  12.403 --					struct passwd *pass;
  12.404 --					struct group *grp;
  12.405 -+				if (*str_gid)
  12.406 -+					*str_gid++ = '\0';
  12.407 -+				/* Parse UID */
  12.408 -+				pass = getpwnam(str_uid);
  12.409 -+				if (pass)
  12.410 -+					uid = pass->pw_uid;
  12.411 -+				else
  12.412 -+					uid = strtoul(str_uid, NULL, 10);
  12.413 -+				/* Parse GID */
  12.414 -+				grp = getgrnam(str_gid);
  12.415 -+				if (grp)
  12.416 -+					gid = grp->gr_gid;
  12.417 -+				else
  12.418 -+					gid = strtoul(str_gid, NULL, 10);
  12.419 -+			}
  12.420 - 
  12.421 --					char *str_uid = val;
  12.422 --					char *str_gid = strchr(val, ':');
  12.423 --					if (str_gid)
  12.424 --						*str_gid = '\0', ++str_gid;
  12.425 -+			/* 3rd field: mode - device permissions */
  12.426 -+			if (!next) /* field must exist */
  12.427 -+				bb_error_msg_and_die("bad line %u", lineno);
  12.428 -+			val = next;
  12.429 -+			next = next_field(val);
  12.430 -+			mode = strtoul(val, NULL, 8);
  12.431 - 
  12.432 --					/* Parse UID */
  12.433 --					pass = getpwnam(str_uid);
  12.434 --					if (pass)
  12.435 --						uid = pass->pw_uid;
  12.436 --					else
  12.437 --						uid = strtoul(str_uid, NULL, 10);
  12.438 -+			/* 4th field (opt): >alias */
  12.439 -+			if (ENABLE_FEATURE_MDEV_RENAME) {
  12.440 -+				if (!next)
  12.441 -+					break;
  12.442 -+				if (*next == '>') {
  12.443 -+#if ENABLE_FEATURE_MDEV_RENAME_REGEXP
  12.444 -+					char *s, *p;
  12.445 -+					unsigned i, n;
  12.446 -+#endif
  12.447 -+					val = next;
  12.448 -+					next = next_field(val);
  12.449 -+#if ENABLE_FEATURE_MDEV_RENAME_REGEXP
  12.450 -+					/* substitute %1..9 with off[1..9], if any */
  12.451 -+					n = 0;
  12.452 -+					s = val;
  12.453 -+					while (*s && *s++ == '%')
  12.454 -+						n++;
  12.455 - 
  12.456 --					/* parse GID */
  12.457 --					grp = getgrnam(str_gid);
  12.458 --					if (grp)
  12.459 --						gid = grp->gr_gid;
  12.460 --					else
  12.461 --						gid = strtoul(str_gid, NULL, 10);
  12.462 --
  12.463 --				} else if (field == 2) {
  12.464 --
  12.465 --					/* Mode device permissions */
  12.466 --					mode = strtoul(val, NULL, 8);
  12.467 --
  12.468 --				} else if (ENABLE_FEATURE_MDEV_RENAME && field == 3) {
  12.469 --
  12.470 --					if (*val != '>')
  12.471 --						++field;
  12.472 --					else
  12.473 --						alias = xstrdup(val + 1);
  12.474 --
  12.475 -+					p = alias = xzalloc(strlen(val) + n * strlen(device_name));
  12.476 -+					s = val + 1;
  12.477 -+					while (*s) {
  12.478 -+						*p = *s;
  12.479 -+						if ('%' == *s) {
  12.480 -+							i = (s[1] - '0');
  12.481 -+							if (i <= 9 && off[i].rm_so >= 0) {
  12.482 -+								n = off[i].rm_eo - off[i].rm_so;
  12.483 -+								strncpy(p, device_name + off[i].rm_so, n);
  12.484 -+								p += n - 1;
  12.485 -+								s++;
  12.486 -+							}
  12.487 -+						}
  12.488 -+						p++;
  12.489 -+						s++;
  12.490 -+					}
  12.491 -+#else
  12.492 -+					alias = xstrdup(val + 1);
  12.493 -+#endif
  12.494 - 				}
  12.495 -+			}
  12.496 - 
  12.497 --				if (ENABLE_FEATURE_MDEV_EXEC && field == 3 + ENABLE_FEATURE_MDEV_RENAME) {
  12.498 -+			/* The rest (opt): command to run */
  12.499 -+			if (!next)
  12.500 -+				break;
  12.501 -+			val = next;
  12.502 -+			if (ENABLE_FEATURE_MDEV_EXEC) {
  12.503 -+				const char *s = "@$*";
  12.504 -+				const char *s2 = strchr(s, *val);
  12.505 - 
  12.506 --					/* Optional command to run */
  12.507 --					const char *s = "@$*";
  12.508 --					const char *s2 = strchr(s, *val);
  12.509 -+				if (!s2)
  12.510 -+					bb_error_msg_and_die("bad line %u", lineno);
  12.511 - 
  12.512 --					if (!s2) {
  12.513 --						/* Force error */
  12.514 --						field = 1;
  12.515 --						break;
  12.516 --					}
  12.517 --
  12.518 --					/* Correlate the position in the "@$*" with the delete
  12.519 --					 * step so that we get the proper behavior.
  12.520 --					 */
  12.521 --					if ((s2 - s + 1) & (1 << delete))
  12.522 --						command = xstrdup(orig_line + (val + 1 - line));
  12.523 -+				/* Correlate the position in the "@$*" with the delete
  12.524 -+				 * step so that we get the proper behavior:
  12.525 -+				 * @cmd: run on create
  12.526 -+				 * $cmd: run on delete
  12.527 -+				 * *cmd: run on both
  12.528 -+				 */
  12.529 -+				if ((s2 - s + 1) /*1/2/3*/ & /*1/2*/ (1 + delete)) {
  12.530 -+					command = xstrdup(val + 1);
  12.531 - 				}
  12.532 - 			}
  12.533 --
  12.534 --			/* Did everything parse happily? */
  12.535 --			if (field <= 2)
  12.536 --				bb_error_msg_and_die("bad line %u", lineno);
  12.537 --
  12.538 -+			/* end of field parsing */
  12.539 -+			break; /* we found matching line, stop */
  12.540 -  next_line:
  12.541 - 			free(line);
  12.542 --			if (ENABLE_FEATURE_MDEV_EXEC)
  12.543 --				free(orig_line);
  12.544 --		}
  12.545 -+		} /* end of "while line is read from /etc/mdev.conf" */
  12.546 - 
  12.547 --		if (ENABLE_FEATURE_CLEAN_UP)
  12.548 --			fclose(fp);
  12.549 --
  12.550 -- end_parse:	/* nothing */ ;
  12.551 -+		free(line); /* in case we used "break" to get here */
  12.552 -+		fclose(fp);
  12.553 - 	}
  12.554 -+ end_parse:
  12.555 - 
  12.556 --	if (!delete) {
  12.557 --		if (sscanf(temp, "%d:%d", &major, &minor) != 2) {
  12.558 --			if (ENABLE_FEATURE_MDEV_EXEC)
  12.559 --				goto skip_creation;
  12.560 --			else
  12.561 --				return;
  12.562 --		}
  12.563 -+	if (!delete && sscanf(dev_maj_min, "%u:%u", &major, &minor) == 2) {
  12.564 - 
  12.565 - 		if (ENABLE_FEATURE_MDEV_RENAME)
  12.566 - 			unlink(device_name);
  12.567 -@@ -208,39 +246,44 @@
  12.568 - 			if (ENABLE_FEATURE_MDEV_RENAME && alias) {
  12.569 - 				char *dest;
  12.570 - 
  12.571 --				temp = strrchr(alias, '/');
  12.572 --				if (temp) {
  12.573 --					if (temp[1] != '\0')
  12.574 --						/* given a file name, so rename it */
  12.575 --						*temp = '\0';
  12.576 -+				/* ">bar/": rename to bar/device_name */
  12.577 -+				/* ">bar[/]baz": rename to bar[/]baz */
  12.578 -+				dest = strrchr(alias, '/');
  12.579 -+				if (dest) { /* ">bar/[baz]" ? */
  12.580 -+					*dest = '\0'; /* mkdir bar */
  12.581 - 					bb_make_directory(alias, 0755, FILEUTILS_RECUR);
  12.582 --					dest = concat_path_file(alias, device_name);
  12.583 --				} else
  12.584 --					dest = alias;
  12.585 -+					*dest = '/';
  12.586 -+					if (dest[1] == '\0') { /* ">bar/" => ">bar/device_name" */
  12.587 -+						dest = alias;
  12.588 -+						alias = concat_path_file(alias, device_name);
  12.589 -+						free(dest);
  12.590 -+					}
  12.591 -+				}
  12.592 - 
  12.593 --				rename(device_name, dest); // TODO: xrename?
  12.594 --				symlink(dest, device_name);
  12.595 -+				/* recreate device_name as a symlink to moved device node */
  12.596 -+				if (rename(device_name, alias) == 0) {
  12.597 -+					symlink(alias, device_name);
  12.598 -+				}
  12.599 - 
  12.600 --				if (alias != dest)
  12.601 --					free(alias);
  12.602 --				free(dest);
  12.603 -+				free(alias);
  12.604 - 			}
  12.605 - 		}
  12.606 -- skip_creation: /* nothing */ ;
  12.607 - 	}
  12.608 -+
  12.609 - 	if (ENABLE_FEATURE_MDEV_EXEC && command) {
  12.610 --		/* setenv will leak memory, so use putenv */
  12.611 -+		/* setenv will leak memory, use putenv/unsetenv/free */
  12.612 - 		char *s = xasprintf("MDEV=%s", device_name);
  12.613 - 		putenv(s);
  12.614 - 		if (system(command) == -1)
  12.615 --			bb_perror_msg_and_die("cannot run %s", command);
  12.616 -+			bb_perror_msg_and_die("can't run '%s'", command);
  12.617 - 		s[4] = '\0';
  12.618 - 		unsetenv(s);
  12.619 - 		free(s);
  12.620 - 		free(command);
  12.621 - 	}
  12.622 -+
  12.623 - 	if (delete)
  12.624 --		remove_file(device_name, FILEUTILS_FORCE);
  12.625 -+		unlink(device_name);
  12.626 - }
  12.627 - 
  12.628 - /* File callback for /sys/ traversal */
  12.629 -@@ -249,14 +292,15 @@
  12.630 -                       void *userData,
  12.631 -                       int depth ATTRIBUTE_UNUSED)
  12.632 - {
  12.633 --	size_t len = strlen(fileName) - 4;
  12.634 -+	size_t len = strlen(fileName) - 4; /* can't underflow */
  12.635 - 	char *scratch = userData;
  12.636 - 
  12.637 --	if (strcmp(fileName + len, "/dev"))
  12.638 -+	/* len check is for paranoid reasons */
  12.639 -+	if (strcmp(fileName + len, "/dev") || len >= PATH_MAX)
  12.640 - 		return FALSE;
  12.641 - 
  12.642 - 	strcpy(scratch, fileName);
  12.643 --	scratch[len] = 0;
  12.644 -+	scratch[len] = '\0';
  12.645 - 	make_device(scratch, 0);
  12.646 - 
  12.647 - 	return TRUE;
  12.648 -@@ -287,12 +331,6 @@
  12.649 - 	int cnt;
  12.650 - 	int firmware_fd, loading_fd, data_fd;
  12.651 - 
  12.652 --	/* check for $FIRMWARE from kernel */
  12.653 --	/* XXX: dont bother: open(NULL) works same as open("no-such-file")
  12.654 --	 * if (!firmware)
  12.655 --	 *	return;
  12.656 --	 */
  12.657 --
  12.658 - 	/* check for /lib/firmware/$FIRMWARE */
  12.659 - 	xchdir("/lib/firmware");
  12.660 - 	firmware_fd = xopen(firmware, O_RDONLY);
  12.661 -@@ -304,16 +342,15 @@
  12.662 - 	xchdir(sysfs_path);
  12.663 - 	for (cnt = 0; cnt < 30; ++cnt) {
  12.664 - 		loading_fd = open("loading", O_WRONLY);
  12.665 --		if (loading_fd == -1)
  12.666 --			sleep(1);
  12.667 --		else
  12.668 --			break;
  12.669 -+		if (loading_fd != -1)
  12.670 -+			goto loading;
  12.671 -+		sleep(1);
  12.672 - 	}
  12.673 --	if (loading_fd == -1)
  12.674 --		goto out;
  12.675 -+	goto out;
  12.676 - 
  12.677 -+ loading:
  12.678 - 	/* tell kernel we're loading by `echo 1 > /sys/$DEVPATH/loading` */
  12.679 --	if (write(loading_fd, "1", 1) != 1)
  12.680 -+	if (full_write(loading_fd, "1", 1) != 1)
  12.681 - 		goto out;
  12.682 - 
  12.683 - 	/* load firmware by `cat /lib/firmware/$FIRMWARE > /sys/$DEVPATH/data */
  12.684 -@@ -324,9 +361,9 @@
  12.685 - 
  12.686 - 	/* tell kernel result by `echo [0|-1] > /sys/$DEVPATH/loading` */
  12.687 - 	if (cnt > 0)
  12.688 --		write(loading_fd, "0", 1);
  12.689 -+		full_write(loading_fd, "0", 1);
  12.690 - 	else
  12.691 --		write(loading_fd, "-1", 2);
  12.692 -+		full_write(loading_fd, "-1", 2);
  12.693 - 
  12.694 -  out:
  12.695 - 	if (ENABLE_FEATURE_CLEAN_UP) {
  12.696 -@@ -341,16 +378,14 @@
  12.697 - {
  12.698 - 	char *action;
  12.699 - 	char *env_path;
  12.700 --	RESERVE_CONFIG_BUFFER(temp,PATH_MAX);
  12.701 -+	RESERVE_CONFIG_BUFFER(temp, PATH_MAX + SCRATCH_SIZE);
  12.702 - 
  12.703 - 	xchdir("/dev");
  12.704 - 
  12.705 --	if (argc == 2 && !strcmp(argv[1],"-s")) {
  12.706 --
  12.707 -+	if (argc == 2 && !strcmp(argv[1], "-s")) {
  12.708 - 		/* Scan:
  12.709 - 		 * mdev -s
  12.710 - 		 */
  12.711 --
  12.712 - 		struct stat st;
  12.713 - 
  12.714 - 		xstat("/", &st);
  12.715 -@@ -366,26 +401,27 @@
  12.716 - 			fileAction, dirAction, temp, 0);
  12.717 - 
  12.718 - 	} else {
  12.719 --
  12.720 - 		/* Hotplug:
  12.721 - 		 * env ACTION=... DEVPATH=... mdev
  12.722 - 		 * ACTION can be "add" or "remove"
  12.723 - 		 * DEVPATH is like "/block/sda" or "/class/input/mice"
  12.724 - 		 */
  12.725 --
  12.726 - 		action = getenv("ACTION");
  12.727 - 		env_path = getenv("DEVPATH");
  12.728 - 		if (!action || !env_path)
  12.729 - 			bb_show_usage();
  12.730 - 
  12.731 --		sprintf(temp, "/sys%s", env_path);
  12.732 -+		snprintf(temp, PATH_MAX, "/sys%s", env_path);
  12.733 - 		if (!strcmp(action, "remove"))
  12.734 - 			make_device(temp, 1);
  12.735 - 		else if (!strcmp(action, "add")) {
  12.736 - 			make_device(temp, 0);
  12.737 - 
  12.738 --			if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE)
  12.739 --				load_firmware(getenv("FIRMWARE"), temp);
  12.740 -+			if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) {
  12.741 -+				char *fw = getenv("FIRMWARE");
  12.742 -+				if (fw)
  12.743 -+					load_firmware(fw, temp);
  12.744 -+			}
  12.745 - 		}
  12.746 - 	}
  12.747 - 
  12.748 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-pidof.patch
  12.749 ---- busybox-1.10.1/libbb/procps.c	Sat Apr 19 05:50:33 2008
  12.750 -+++ busybox-1.10.1-pidof/libbb/procps.c	Sat Apr 26 01:18:32 2008
  12.751 -@@ -258,7 +258,7 @@
  12.752 - 				&sp->start_time,
  12.753 - 				&vsz,
  12.754 - 				&rss);
  12.755 --			if (n != 10)
  12.756 -+			if (n != 11)
  12.757 - 				break;
  12.758 - 			/* vsz is in bytes and we want kb */
  12.759 - 			sp->vsz = vsz >> 10;
  12.760 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-ssd.patch
  12.761 ---- busybox-1.10.1/debianutils/start_stop_daemon.c	Sat Apr 19 05:50:30 2008
  12.762 -+++ busybox-1.10.1-ssd/debianutils/start_stop_daemon.c	Tue Apr 22 03:13:13 2008
  12.763 -@@ -11,7 +11,6 @@
  12.764 - /* NB: we have a problem here with /proc/NN/exe usage, similar to
  12.765 -  * one fixed in killall/pidof */
  12.766 - 
  12.767 --#include <getopt.h>
  12.768 - #include <sys/resource.h>
  12.769 - 
  12.770 - /* Override ENABLE_FEATURE_PIDFILE */
  12.771 -@@ -33,6 +32,7 @@
  12.772 - 	int user_id;
  12.773 - 	smallint quiet;
  12.774 - 	smallint signal_nr;
  12.775 -+	struct stat execstat;
  12.776 - };
  12.777 - #define G (*(struct globals*)&bb_common_bufsiz1)
  12.778 - #define found             (G.found               )
  12.779 -@@ -43,6 +43,7 @@
  12.780 - #define user_id           (G.user_id             )
  12.781 - #define quiet             (G.quiet               )
  12.782 - #define signal_nr         (G.signal_nr           )
  12.783 -+#define execstat          (G.execstat            )
  12.784 - #define INIT_G() \
  12.785 -         do { \
  12.786 - 		user_id = -1; \
  12.787 -@@ -50,25 +51,21 @@
  12.788 -         } while (0)
  12.789 - 
  12.790 - 
  12.791 --static int pid_is_exec(pid_t pid, const char *name)
  12.792 -+static int pid_is_exec(pid_t pid)
  12.793 - {
  12.794 -+	struct stat st;
  12.795 - 	char buf[sizeof("/proc//exe") + sizeof(int)*3];
  12.796 --	char *execbuf;
  12.797 --	int n;
  12.798 - 
  12.799 - 	sprintf(buf, "/proc/%u/exe", pid);
  12.800 --	n = strlen(name) + 1;
  12.801 --	execbuf = xzalloc(n + 1);
  12.802 --	readlink(buf, execbuf, n);
  12.803 --	/* if readlink fails because link target is longer than strlen(name),
  12.804 --	 * execbuf still contains "", and strcmp will return !0. */
  12.805 --	n = strcmp(execbuf, name);
  12.806 --	if (ENABLE_FEATURE_CLEAN_UP)
  12.807 --		free(execbuf);
  12.808 --	return !n; /* nonzero (true) if execbuf == name */
  12.809 -+	if (stat(buf, &st) < 0)
  12.810 -+		return 0;
  12.811 -+	if (st.st_dev == execstat.st_dev
  12.812 -+	 && st.st_ino == execstat.st_ino)
  12.813 -+		return 1;
  12.814 -+	return 0;
  12.815 - }
  12.816 - 
  12.817 --static int pid_is_user(int pid, int uid)
  12.818 -+static int pid_is_user(int pid)
  12.819 - {
  12.820 - 	struct stat sb;
  12.821 - 	char buf[sizeof("/proc/") + sizeof(int)*3];
  12.822 -@@ -76,42 +73,39 @@
  12.823 - 	sprintf(buf, "/proc/%u", pid);
  12.824 - 	if (stat(buf, &sb) != 0)
  12.825 - 		return 0;
  12.826 --	return (sb.st_uid == uid);
  12.827 -+	return (sb.st_uid == user_id);
  12.828 - }
  12.829 - 
  12.830 --static int pid_is_cmd(pid_t pid, const char *name)
  12.831 -+static int pid_is_cmd(pid_t pid)
  12.832 - {
  12.833 --	char fname[sizeof("/proc//stat") + sizeof(int)*3];
  12.834 --	char *buf;
  12.835 --	int r = 0;
  12.836 -+	char buf[256]; /* is it big enough? */
  12.837 -+	char *p, *pe;
  12.838 - 
  12.839 --	sprintf(fname, "/proc/%u/stat", pid);
  12.840 --	buf = xmalloc_open_read_close(fname, NULL);
  12.841 --	if (buf) {
  12.842 --		char *p = strchr(buf, '(');
  12.843 --		if (p) {
  12.844 --			char *pe = strrchr(++p, ')');
  12.845 --			if (pe) {
  12.846 --				*pe = '\0';
  12.847 --				r = !strcmp(p, name);
  12.848 --			}
  12.849 --		}
  12.850 --		free(buf);
  12.851 --	}
  12.852 --	return r;
  12.853 -+	sprintf(buf, "/proc/%u/stat", pid);
  12.854 -+	if (open_read_close(buf, buf, sizeof(buf) - 1) < 0)
  12.855 -+		return 0;
  12.856 -+	buf[sizeof(buf) - 1] = '\0'; /* paranoia */
  12.857 -+	p = strchr(buf, '(');
  12.858 -+	if (!p)
  12.859 -+		return 0;
  12.860 -+	pe = strrchr(++p, ')');
  12.861 -+	if (!pe)
  12.862 -+		return 0;
  12.863 -+	*pe = '\0';
  12.864 -+	return !strcmp(p, cmdname);
  12.865 - }
  12.866 - 
  12.867 - static void check(int pid)
  12.868 - {
  12.869 - 	struct pid_list *p;
  12.870 - 
  12.871 --	if (execname && !pid_is_exec(pid, execname)) {
  12.872 -+	if (execname && !pid_is_exec(pid)) {
  12.873 - 		return;
  12.874 - 	}
  12.875 --	if (userspec && !pid_is_user(pid, user_id)) {
  12.876 -+	if (userspec && !pid_is_user(pid)) {
  12.877 - 		return;
  12.878 - 	}
  12.879 --	if (cmdname && !pid_is_cmd(pid, cmdname)) {
  12.880 -+	if (cmdname && !pid_is_cmd(pid)) {
  12.881 - 		return;
  12.882 - 	}
  12.883 - 	p = xmalloc(sizeof(*p));
  12.884 -@@ -148,9 +142,16 @@
  12.885 - 	procdir = xopendir("/proc");
  12.886 - 
  12.887 - 	pid = 0;
  12.888 --	while ((entry = readdir(procdir)) != NULL) {
  12.889 -+	while(1) {
  12.890 -+		errno = 0; /* clear any previous error */
  12.891 -+		entry = readdir(procdir);
  12.892 -+// TODO: check for exact errno(s) which mean that we got stale entry
  12.893 -+		if (errno) /* Stale entry, process has died after opendir */
  12.894 -+			continue;
  12.895 -+		if (!entry) /* EOF, no more entries */
  12.896 -+			break;
  12.897 - 		pid = bb_strtou(entry->d_name, NULL, 10);
  12.898 --		if (errno)
  12.899 -+		if (errno) /* NaN */
  12.900 - 			continue;
  12.901 - 		check(pid);
  12.902 - 	}
  12.903 -@@ -165,8 +166,6 @@
  12.904 - 	struct pid_list *p;
  12.905 - 	int killed = 0;
  12.906 - 
  12.907 --	do_procinit();
  12.908 --
  12.909 - 	if (cmdname) {
  12.910 - 		if (ENABLE_FEATURE_CLEAN_UP) what = xstrdup(cmdname);
  12.911 - 		if (!ENABLE_FEATURE_CLEAN_UP) what = cmdname;
  12.912 -@@ -251,7 +250,7 @@
  12.913 - };
  12.914 - 
  12.915 - int start_stop_daemon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  12.916 --int start_stop_daemon_main(int argc, char **argv)
  12.917 -+int start_stop_daemon_main(int argc ATTRIBUTE_UNUSED, char **argv)
  12.918 - {
  12.919 - 	unsigned opt;
  12.920 - 	char *signame;
  12.921 -@@ -293,7 +292,7 @@
  12.922 - //		if (retry_arg)
  12.923 - //			retries = xatoi_u(retry_arg);
  12.924 - //	)
  12.925 --	argc -= optind;
  12.926 -+	//argc -= optind;
  12.927 - 	argv += optind;
  12.928 - 
  12.929 - 	if (userspec) {
  12.930 -@@ -301,13 +300,15 @@
  12.931 - 		if (errno)
  12.932 - 			user_id = xuname2uid(userspec);
  12.933 - 	}
  12.934 -+	if (execname)
  12.935 -+		xstat(execname, &execstat);
  12.936 - 
  12.937 -+	do_procinit(); /* Both start and stop needs to know current processes */
  12.938 -+
  12.939 - 	if (opt & CTX_STOP) {
  12.940 - 		int i = do_stop();
  12.941 - 		return (opt & OPT_OKNODO) ? 0 : (i <= 0);
  12.942 - 	}
  12.943 --
  12.944 --	do_procinit();
  12.945 - 
  12.946 - 	if (found) {
  12.947 - 		if (!quiet)
  12.948 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-taskset.patch
  12.949 ---- busybox-1.10.1/miscutils/taskset.c	Sat Apr 19 06:03:13 2008
  12.950 -+++ busybox-1.10.1-taskset/miscutils/taskset.c	Fri Apr 25 18:58:53 2008
  12.951 -@@ -94,8 +94,10 @@
  12.952 - 		unsigned i;
  12.953 - 		/* Do not allow zero mask: */
  12.954 - 		unsigned long long m = xstrtoull_range(aff, 0, 1, ULLONG_MAX);
  12.955 -+		enum { CNT_BIT = CPU_SETSIZE < sizeof(m)*8 ? CPU_SETSIZE : sizeof(m)*8 };
  12.956 -+
  12.957 - 		CPU_ZERO(&mask);
  12.958 --		for (i = 0; i < CPU_SETSIZE; i++) {
  12.959 -+		for (i = 0; i < CNT_BIT; i++) {
  12.960 - 			unsigned long long bit = (1ULL << i);
  12.961 - 			if (bit & m)
  12.962 - 				CPU_SET(i, &mask);
  12.963 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-trylink.patch
  12.964 ---- busybox-1.10.1/scripts/trylink	Sat Apr 19 05:50:27 2008
  12.965 -+++ busybox-1.10.1-trylink/scripts/trylink	Wed Apr 30 02:10:19 2008
  12.966 -@@ -66,7 +66,7 @@
  12.967 - 	#if defined(__GLIBC__) && !defined(__UCLIBC__)
  12.968 - 	syntax error here
  12.969 - 	#endif
  12.970 --	" >"$tempname"
  12.971 -+	" >"$tempname".c
  12.972 -     if $CC "$tempname".c -c -o "$tempname".o >/dev/null 2>&1; then
  12.973 - 	echo "$2";
  12.974 -     else
    13.1 --- a/busybox/stuff/busybox-1.10.1-header_tar.u	Wed May 27 11:52:33 2009 +0200
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,24 +0,0 @@
    13.4 ---- busybox-1.10.1/archival/libunarchive/get_header_tar.c
    13.5 -+++ busybox-1.10.1/archival/libunarchive/get_header_tar.c
    13.6 -@@ -24,18 +24,20 @@
    13.7 - };
    13.8 - #endif
    13.9 - 
   13.10 --/* NB: _DESTROYS_ str[len] character! */
   13.11 - static unsigned long long getOctal(char *str, int len)
   13.12 - {
   13.13 - 	unsigned long long v;
   13.14 -+	char last;
   13.15 - 	/* Actually, tar header allows leading spaces also.
   13.16 - 	 * Oh well, we will be liberal and skip this...
   13.17 - 	 * The only downside probably is that we allow "-123" too :)
   13.18 - 	if (*str < '0' || *str > '7')
   13.19 - 		bb_error_msg_and_die("corrupted octal value in tar header");
   13.20 - 	*/
   13.21 -+	last = str[len];
   13.22 - 	str[len] = '\0';
   13.23 - 	v = strtoull(str, &str, 8);
   13.24 -+	str[len] = last;
   13.25 - 	if (*str && (!ENABLE_FEATURE_TAR_OLDGNU_COMPATIBILITY || *str != ' '))
   13.26 - 		bb_error_msg_and_die("corrupted octal value in tar header");
   13.27 - 	return v;
    14.1 --- a/busybox/stuff/busybox-1.10.1-patch.u	Wed May 27 11:52:33 2009 +0200
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,1 +0,0 @@
    14.4 -busybox-1.10.0-patch.u
    14.5 \ No newline at end of file
    15.1 --- a/busybox/stuff/busybox-1.10.1-script.u	Wed May 27 11:52:33 2009 +0200
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,12 +0,0 @@
    15.4 ---- busybox-1.10.1/util-linux/script.c
    15.5 -+++ busybox-1.10.1/util-linux/script.c
    15.6 -@@ -132,8 +132,7 @@
    15.7 - 				count = safe_read(pty, buf, sizeof(buf));
    15.8 - 				if (count <= 0 && errno != EAGAIN) {
    15.9 - 					/* err/eof: don't read anymore */
   15.10 --					pfd[1].revents = 0;
   15.11 --					fd_count--;
   15.12 -+					break;
   15.13 - 				}
   15.14 - 				if (count > 0) {
   15.15 - 					full_write(1, buf, count);
    16.1 --- a/busybox/stuff/busybox-1.10.1-stat.u	Wed May 27 11:52:33 2009 +0200
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,73 +0,0 @@
    16.4 ---- busybox-1.10.1/coreutils/stat.c
    16.5 -+++ busybox-1.10.1/coreutils/stat.c
    16.6 -@@ -14,12 +14,14 @@
    16.7 -  */
    16.8 - 
    16.9 - #include "libbb.h"
   16.10 -+#include <linux/fs.h>
   16.11 - 
   16.12 - /* vars to control behavior */
   16.13 - #define OPT_FILESYS     (1 << 0)
   16.14 - #define OPT_TERSE       (1 << 1)
   16.15 - #define OPT_DEREFERENCE (1 << 2)
   16.16 --#define OPT_SELINUX     (1 << 3)
   16.17 -+#define OPT_MAP         (1 << 3)
   16.18 -+#define OPT_SELINUX     (1 << 4)
   16.19 - 
   16.20 - #if ENABLE_FEATURE_STAT_FORMAT
   16.21 - typedef bool (*statfunc_ptr)(const char *, const char *);
   16.22 -@@ -345,6 +347,26 @@
   16.23 - 
   16.24 - /* Stat the file system and print what we find.  */
   16.25 - #if !ENABLE_FEATURE_STAT_FORMAT
   16.26 -+#define do_mapfile(filename, format) do_mapfile(filename)
   16.27 -+#endif
   16.28 -+static bool do_mapfile(const char *filename, const char *format)
   16.29 -+{
   16.30 -+	int i = 0;
   16.31 -+	int fd = xopen(filename, O_RDONLY);
   16.32 -+
   16.33 -+#if ENABLE_FEATURE_STAT_FORMAT
   16.34 -+	(void) format;
   16.35 -+#endif
   16.36 -+	while (1) {
   16.37 -+		int blk = i++;
   16.38 -+		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   16.39 -+		printf("%u\n",blk);
   16.40 -+	}	
   16.41 -+	return 1;
   16.42 -+}
   16.43 -+
   16.44 -+/* Stat the file system and print what we find.  */
   16.45 -+#if !ENABLE_FEATURE_STAT_FORMAT
   16.46 - #define do_statfs(filename, format) do_statfs(filename)
   16.47 - #endif
   16.48 - static bool do_statfs(const char *filename, const char *format)
   16.49 -@@ -632,13 +654,15 @@
   16.50 - 	int ok = 1;
   16.51 - 	statfunc_ptr statfunc = do_stat;
   16.52 - 
   16.53 --	getopt32(argv, "ftL"
   16.54 -+	getopt32(argv, "ftLm"
   16.55 - 		USE_SELINUX("Z")
   16.56 - 		USE_FEATURE_STAT_FORMAT("c:", &format)
   16.57 - 	);
   16.58 - 
   16.59 - 	if (option_mask32 & OPT_FILESYS) /* -f */
   16.60 - 		statfunc = do_statfs;
   16.61 -+	if (option_mask32 & OPT_MAP) /* -m */
   16.62 -+		statfunc = do_mapfile;
   16.63 - 	if (argc == optind)           /* files */
   16.64 - 		bb_show_usage();
   16.65 - 
   16.66 -
   16.67 ---- busybox-1.10.1/include/usage.h
   16.68 -+++ busybox-1.10.1/include/usage.h
   16.69 -@@ -3585,6 +3585,7 @@
   16.70 - 	) \
   16.71 -      "\n	-f	Display filesystem status" \
   16.72 -      "\n	-L	Dereference links" \
   16.73 -+     "\n	-m	Display block list" \
   16.74 -      "\n	-t	Display info in terse form" \
   16.75 - 	USE_SELINUX( \
   16.76 -      "\n	-Z	Print security context" \
    17.1 --- a/busybox/stuff/busybox-1.10.1-tar.u	Wed May 27 11:52:33 2009 +0200
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,6 +0,0 @@
    17.4 ---- busybox-1.10.1/archival/tar.c	
    17.5 -+++ busybox-1.10.1/archival/tar.c	
    17.6 -@@ -787,2 +787,3 @@
    17.7 - # endif
    17.8 -+	"wildcards\0"           No_argument       "\xfc"
    17.9 - 	"no-same-owner\0"       No_argument       "\xfd"
    18.1 --- a/busybox/stuff/busybox-1.10.1-tftp.u	Wed May 27 11:52:33 2009 +0200
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,134 +0,0 @@
    18.4 ---- busybox-1.10.1/networking/tftp.c	
    18.5 -+++ busybox-1.10.1/networking/tftp.c	
    18.6 -@@ -39,7 +39,7 @@
    18.7 - #define TFTP_ERROR 5
    18.8 - #define TFTP_OACK  6
    18.9 - 
   18.10 --/* error codes sent over network (we use only 0, 3 and 8) */
   18.11 -+/* error codes sent over network (we use only 0, 1, 3 and 8) */
   18.12 - /* generic (error message is included in the packet) */
   18.13 - #define ERR_UNSPEC   0
   18.14 - #define ERR_NOFILE   1
   18.15 -@@ -121,9 +121,8 @@
   18.16 - 	return blksize;
   18.17 - }
   18.18 - 
   18.19 --static char *tftp_get_blksize(char *buf, int len)
   18.20 -+static char *tftp_get_option(const char *option, char *buf, int len)
   18.21 - {
   18.22 --#define option "blksize"
   18.23 - 	int opt_val = 0;
   18.24 - 	int opt_found = 0;
   18.25 - 	int k;
   18.26 -@@ -155,7 +154,6 @@
   18.27 - 	}
   18.28 - 
   18.29 - 	return NULL;
   18.30 --#undef option
   18.31 - }
   18.32 - 
   18.33 - #endif
   18.34 -@@ -165,6 +163,7 @@
   18.35 - 		len_and_sockaddr *peer_lsa,
   18.36 - 		const char *local_file,
   18.37 - 		USE_TFTP(const char *remote_file,)
   18.38 -+		USE_FEATURE_TFTP_BLOCKSIZE(void *tsize,)
   18.39 - 		int blksize)
   18.40 - {
   18.41 - #if !ENABLE_TFTP
   18.42 -@@ -243,9 +242,9 @@
   18.43 - 		if (NOT_LONE_DASH(local_file))
   18.44 - 			local_fd = xopen(local_file, open_mode);
   18.45 - 	} else {
   18.46 --		local_fd = open_or_warn(local_file, open_mode);
   18.47 -+		local_fd = open(local_file, open_mode);
   18.48 - 		if (local_fd < 0) {
   18.49 --			/*error_pkt_reason = ERR_NOFILE/ERR_ACCESS?*/
   18.50 -+			error_pkt_reason = ERR_NOFILE;
   18.51 - 			strcpy(error_pkt_str, "can't open file");
   18.52 - 			goto send_err_pkt;
   18.53 - 		}
   18.54 -@@ -253,7 +252,7 @@
   18.55 - 
   18.56 - 	if (!ENABLE_TFTP || our_lsa) {
   18.57 - #if ENABLE_FEATURE_TFTP_BLOCKSIZE
   18.58 --		if (blksize != TFTP_BLKSIZE_DEFAULT) {
   18.59 -+		if (blksize != TFTP_BLKSIZE_DEFAULT || tsize) {
   18.60 - 			/* Create and send OACK packet. */
   18.61 - 			/* For the download case, block_nr is still 1 -
   18.62 - 			 * we expect 1st ACK from peer to be for (block_nr-1),
   18.63 -@@ -313,10 +312,20 @@
   18.64 - 
   18.65 - #if ENABLE_FEATURE_TFTP_BLOCKSIZE
   18.66 -  add_blksize_opt:
   18.67 --		/* add "blksize", <nul>, blksize, <nul> */
   18.68 --		strcpy(cp, "blksize");
   18.69 --		cp += sizeof("blksize");
   18.70 --		cp += snprintf(cp, 6, "%d", blksize) + 1;
   18.71 -+		if (tsize) {
   18.72 -+			struct stat st;
   18.73 -+			/* add "tsize", <nul>, size, <nul> */
   18.74 -+			strcpy(cp, "tsize");
   18.75 -+			cp += sizeof("tsize");
   18.76 -+			fstat(local_fd,&st);
   18.77 -+			cp += snprintf(cp, 10, "%u", (int) st.st_size) + 1;
   18.78 -+		}
   18.79 -+		if (blksize != TFTP_BLKSIZE_DEFAULT) {
   18.80 -+			/* add "blksize", <nul>, blksize, <nul> */
   18.81 -+			strcpy(cp, "blksize");
   18.82 -+			cp += sizeof("blksize");
   18.83 -+			cp += snprintf(cp, 6, "%d", blksize) + 1;
   18.84 -+		}
   18.85 - #endif
   18.86 - 		/* First packet is built, so skip packet generation */
   18.87 - 		goto send_pkt;
   18.88 -@@ -450,7 +459,7 @@
   18.89 - 				/* server seems to support options */
   18.90 - 				char *res;
   18.91 - 
   18.92 --				res = tftp_get_blksize(&rbuf[2], len - 2);
   18.93 -+				res = tftp_get_option("blksize", &rbuf[2], len - 2);
   18.94 - 				if (res) {
   18.95 - 					blksize = tftp_blksize_check(res, blksize);
   18.96 - 					if (blksize < 0) {
   18.97 -@@ -596,6 +605,7 @@
   18.98 - 	result = tftp_protocol(
   18.99 - 			NULL /* our_lsa*/, peer_lsa,
  18.100 - 			local_file, remote_file,
  18.101 -+			USE_FEATURE_TFTP_BLOCKSIZE(NULL,)
  18.102 - 			blksize);
  18.103 - 
  18.104 - 	if (result != EXIT_SUCCESS && NOT_LONE_DASH(local_file) && CMD_GET(opt)) {
  18.105 -@@ -631,6 +641,7 @@
  18.106 - 	const char *error_msg;
  18.107 - 	int opt, result, opcode;
  18.108 - 	int blksize = TFTP_BLKSIZE_DEFAULT;
  18.109 -+	USE_FEATURE_TFTP_BLOCKSIZE(char *tsize = NULL;)
  18.110 - 
  18.111 - 	INIT_G();
  18.112 - 
  18.113 -@@ -676,7 +687,7 @@
  18.114 - 		char *opt_str = mode + sizeof("octet");
  18.115 - 		int opt_len = block_buf + result - opt_str;
  18.116 - 		if (opt_len > 0) {
  18.117 --			res = tftp_get_blksize(opt_str, opt_len);
  18.118 -+			res = tftp_get_option("blksize", opt_str, opt_len);
  18.119 - 			if (res) {
  18.120 - 				blksize = tftp_blksize_check(res, 65564);
  18.121 - 				if (blksize < 0) {
  18.122 -@@ -685,6 +696,7 @@
  18.123 - 					goto do_proto;
  18.124 - 				}
  18.125 - 			}
  18.126 -+			tsize = tftp_get_option("tsize", opt_str, opt_len);
  18.127 - 		}
  18.128 - 	}
  18.129 - #endif
  18.130 -@@ -710,6 +722,7 @@
  18.131 - 	result = tftp_protocol(
  18.132 - 		our_lsa, peer_lsa,
  18.133 - 		local_file, USE_TFTP(NULL /*remote_file*/,)
  18.134 -+		USE_FEATURE_TFTP_BLOCKSIZE(tsize,)
  18.135 - 		blksize
  18.136 - 	);
  18.137 - 
    19.1 --- a/busybox/stuff/busybox-1.10.1-unlzma.u	Wed May 27 11:52:33 2009 +0200
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,23 +0,0 @@
    19.4 ---- busybox-1.10.1/archival/libunarchive/decompress_unlzma.c
    19.5 -+++ busybox-1.10.1/archival/libunarchive/decompress_unlzma.c
    19.6 -@@ -491,10 +491,16 @@
    19.7 - 
    19.8 - 	if (full_write(dst_fd, buffer, buffer_pos) != buffer_pos) {
    19.9 -  bad:
   19.10 -+		len = -1;
   19.11 -+	}
   19.12 -+	else {
   19.13 -+		USE_DESKTOP(total_written += buffer_pos;)
   19.14 -+		len = USE_DESKTOP(total_written) + 0;
   19.15 -+	}
   19.16 -+	if (ENABLE_FEATURE_CLEAN_UP) {
   19.17 - 		rc_free(rc);
   19.18 --		return -1;
   19.19 -+		free(buffer);
   19.20 -+		free(p);
   19.21 - 	}
   19.22 --	rc_free(rc);
   19.23 --	USE_DESKTOP(total_written += buffer_pos;)
   19.24 --	return USE_DESKTOP(total_written) + 0;
   19.25 -+	return len;
   19.26 - }
    20.1 --- a/busybox/stuff/busybox-1.10.1-vcsa2txt.u	Wed May 27 11:52:33 2009 +0200
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,1 +0,0 @@
    20.4 -busybox-1.10.0-vcsa2txt.u
    20.5 \ No newline at end of file
    21.1 --- a/busybox/stuff/busybox-1.10.1.config	Wed May 27 11:52:33 2009 +0200
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,1 +0,0 @@
    21.4 -busybox-1.10.0.config
    21.5 \ No newline at end of file
    22.1 --- a/busybox/stuff/busybox-1.10.3-cpio-mkdir.u	Wed May 27 11:52:33 2009 +0200
    22.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.3 @@ -1,1 +0,0 @@
    22.4 -busybox-1.10.1-cpio-mkdir.u
    22.5 \ No newline at end of file
    23.1 --- a/busybox/stuff/busybox-1.10.3-cpio-mtime.u	Wed May 27 11:52:33 2009 +0200
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,1 +0,0 @@
    23.4 -busybox-1.10.1-cpio-mtime.u
    23.5 \ No newline at end of file
    24.1 --- a/busybox/stuff/busybox-1.10.3-cpio.u	Wed May 27 11:52:33 2009 +0200
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,220 +0,0 @@
    24.4 -diff -purN busybox-1.10.0/archival/Config.in busybox/archival/Config.in
    24.5 ---- busybox-1.10.0/archival/Config.in	2008-03-29 21:47:37.000000000 +0100
    24.6 -+++ busybox-1.10.0/archival/Config.in	2008-03-29 21:47:37.000000000 +0100
    24.7 -@@ -78,6 +78,14 @@ config CPIO
    24.8 - 	  Unless you have a specific application which requires cpio, you should
    24.9 - 	  probably say N here.
   24.10 - 
   24.11 -+config FEATURE_CPIO_O
   24.12 -+	bool "Support for archive creation"
   24.13 -+	default n
   24.14 -+	depends on CPIO
   24.15 -+	help
   24.16 -+	  This implementation of cpio can create cpio archives in the "newc"
   24.17 -+	  format only.
   24.18 -+
   24.19 - config DPKG
   24.20 - 	bool "dpkg"
   24.21 - 	default n
   24.22 -diff -purN busybox-1.10.0/archival/cpio.c busybox/archival/cpio.c
   24.23 ---- busybox-1.10.0/archival/cpio.c	2008-03-29 21:47:55.000000000 +0100
   24.24 -+++ busybox-1.10.0/archival/cpio.c	2008-03-29 21:47:55.000000000 +0100
   24.25 -@@ -21,12 +21,146 @@
   24.26 - #define CPIO_OPT_FILE                   0x10
   24.27 - #define CPIO_OPT_CREATE_LEADING_DIR     0x20
   24.28 - #define CPIO_OPT_PRESERVE_MTIME         0x40
   24.29 -+#define CPIO_OPT_CREATE                 0x80
   24.30 -+#define CPIO_OPT_FORMAT                0x100
   24.31 -+
   24.32 -+#if ENABLE_FEATURE_CPIO_O
   24.33 -+static void cpio_pad(off_t *size, int n)
   24.34 -+{
   24.35 -+    int i;
   24.36 -+    for (*size += i = (-*size) & n; --i >= 0; bb_putchar(0));
   24.37 -+}
   24.38 -+
   24.39 -+static void cpio_o(void)
   24.40 -+{
   24.41 -+    struct name_s {
   24.42 -+        struct name_s *next;
   24.43 -+        char name[0];
   24.44 -+    };
   24.45 -+    struct inodes_s {
   24.46 -+        struct name_s *names;
   24.47 -+        struct inodes_s *next;
   24.48 -+        struct stat st;
   24.49 -+    } *links = NULL;
   24.50 -+    off_t bytes = 0; // output bytes count
   24.51 -+#if CONFIG_FEATURE_COPYBUF_KB < 1
   24.52 -+    char buf[1024];
   24.53 -+#else
   24.54 -+    char buf[CONFIG_FEATURE_COPYBUF_KB * 1024];
   24.55 -+#endif
   24.56 -+	
   24.57 -+    while (1) {
   24.58 -+        const char *name = "TRAILER!!!";
   24.59 -+        char *line = xmalloc_getline(stdin);
   24.60 -+        // allocate inode struct each loop to avoid struct stat copy
   24.61 -+        struct inodes_s *inode = xzalloc(sizeof(*inode)); // die if fail
   24.62 -+        off_t size;
   24.63 -+
   24.64 -+        inode->st.st_nlink++; // =1
   24.65 -+        if (line) {
   24.66 -+            /* Strip leading `./' from the filename.  */
   24.67 -+            for (name = line; name[0] == '.' && name[1] == '/';) {
   24.68 -+                while (*++name == '/');
   24.69 -+            }
   24.70 -+            if (!*name) goto free_and_continue; // line empty
   24.71 -+            if (lstat(name, &inode->st)) {
   24.72 -+          abort_cpio_o:
   24.73 -+                bb_perror_msg_and_die(name);
   24.74 -+            }
   24.75 -+            if (!S_ISLNK(inode->st.st_mode) && !S_ISREG(inode->st.st_mode))
   24.76 -+                inode->st.st_size = 0;
   24.77 -+        }
   24.78 -+        // hard links will are stored and will be processed later
   24.79 -+        if (!S_ISDIR(inode->st.st_mode) && !S_ISLNK(inode->st.st_mode) && inode->st.st_nlink > 1) {
   24.80 -+            struct name_s *n;
   24.81 -+            struct inodes_s *l;
   24.82 -+
   24.83 -+            for (l = links; l && l->st.st_ino != inode->st.st_ino; l = l->next);
   24.84 -+            if (l == NULL) { // not found: new hard links set
   24.85 -+                l = inode; // l->names = NULL; l->st = inode->st
   24.86 -+                l->next = links;
   24.87 -+                links = l;
   24.88 -+            }
   24.89 -+            n = xmalloc(sizeof(*n) + strlen(name) + 1); // die if fail
   24.90 -+            strcpy(n->name, name);
   24.91 -+            n->next = l->names;
   24.92 -+            l->names = n; // will not free inode if l == inode
   24.93 -+            goto free_and_continue;
   24.94 -+        }
   24.95 -+        size = inode->st.st_size;
   24.96 -+        // no more files ? process hard links
   24.97 -+        if (!line && links) {
   24.98 -+            struct name_s *n;
   24.99 -+
  24.100 -+            free(inode); // trailer pseudo inode
  24.101 -+            inode = links;
  24.102 -+            n = links->names;
  24.103 -+            name = line = xstrdup(n->name);    // line will free *name memory
  24.104 -+            links->names = n->next;
  24.105 -+            if (links->names == NULL) {        // inode will free *links memory
  24.106 -+                size = links->st.st_size;
  24.107 -+                links = links->next;
  24.108 -+            }
  24.109 -+            free(n);
  24.110 -+        }
  24.111 -+        bytes += printf("070701%08lx%08lx%08lx%08lx%08lx%08lx%08lx"
  24.112 -+                        "%08lx%08lx%08lx%08lx%08lx%08lx%s%c",
  24.113 -+                        (unsigned long) inode->st.st_ino,
  24.114 -+                        (unsigned long) inode->st.st_mode, 
  24.115 -+                        (unsigned long) inode->st.st_uid,
  24.116 -+                        (unsigned long) inode->st.st_gid,
  24.117 -+                        (unsigned long) inode->st.st_nlink,
  24.118 -+                        (unsigned long) inode->st.st_mtime,
  24.119 -+                        (unsigned long) size,
  24.120 -+                        (unsigned long) major(inode->st.st_dev),
  24.121 -+                        (unsigned long) minor(inode->st.st_dev),
  24.122 -+                        (unsigned long) major(inode->st.st_rdev), 
  24.123 -+                        (unsigned long) minor(inode->st.st_rdev),
  24.124 -+                        strlen(name) + 1UL, 0UL, name, 0);
  24.125 -+        cpio_pad(&bytes, (line) ? 4-1 : 512-1);
  24.126 -+        if (size) {
  24.127 -+            if (S_ISLNK(inode->st.st_mode)) {
  24.128 -+                char *lpath = xmalloc_readlink_or_warn(name);
  24.129 -+
  24.130 -+                if (!lpath) goto abort_cpio_o;
  24.131 -+                bytes += printf("%s", lpath);
  24.132 -+                free(lpath);
  24.133 -+            }
  24.134 -+            if (S_ISREG(inode->st.st_mode)) {
  24.135 -+                int fd = open_or_warn(name, O_RDONLY);
  24.136 -+
  24.137 -+                while (1) {
  24.138 -+                    int len = full_read(fd, buf, sizeof(buf));
  24.139 -+                    if (len < 0) goto abort_cpio_o;
  24.140 -+                    if (len == 0) break;
  24.141 -+                    bytes += len;
  24.142 -+                    fwrite(buf, 1, len, stdout);
  24.143 -+                }
  24.144 -+                close(fd);
  24.145 -+            }
  24.146 -+            cpio_pad(&bytes, 4-1);
  24.147 -+        }
  24.148 -+
  24.149 -+        if (!line) {
  24.150 -+            fputc('\n', stderr); // GNU cpio do that...
  24.151 -+            return; // was trailer
  24.152 -+        }
  24.153 -+
  24.154 -+    free_and_continue:
  24.155 -+        if (!inode->names) free(inode);
  24.156 -+            free(line);
  24.157 -+    }
  24.158 -+}
  24.159 -+#endif
  24.160 - 
  24.161 - int cpio_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  24.162 - int cpio_main(int argc, char **argv)
  24.163 - {
  24.164 - 	archive_handle_t *archive_handle;
  24.165 - 	char *cpio_filename = NULL;
  24.166 -+#if ENABLE_FEATURE_CPIO_O
  24.167 -+	const char *cpio_fmt = "";
  24.168 -+#endif
  24.169 - 	unsigned opt;
  24.170 - 
  24.171 - 	/* Initialise */
  24.172 -@@ -35,10 +169,26 @@ int cpio_main(int argc, char **argv)
  24.173 - 	archive_handle->seek = seek_by_read;
  24.174 - 	archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE;
  24.175 - 
  24.176 -+#if ENABLE_FEATURE_CPIO_O
  24.177 -+	opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename,&cpio_fmt);
  24.178 -+
  24.179 -+	if (opt & CPIO_OPT_CREATE) {
  24.180 -+		if (*cpio_fmt != 'n')
  24.181 -+			goto cpio_show_usage;
  24.182 -+		if (cpio_filename) {
  24.183 -+			fclose(stdout);
  24.184 -+			stdout = fopen(cpio_filename,"w");
  24.185 -+		}
  24.186 -+		cpio_o();
  24.187 -+		return EXIT_SUCCESS;
  24.188 -+	}
  24.189 -+#else
  24.190 - 	opt = getopt32(argv, "ituvF:dm", &cpio_filename);
  24.191 -+#endif
  24.192 - 
  24.193 - 	/* One of either extract or test options must be given */
  24.194 - 	if ((opt & (CPIO_OPT_TEST | CPIO_OPT_EXTRACT)) == 0) {
  24.195 -+ cpio_show_usage:
  24.196 - 		bb_show_usage();
  24.197 - 	}
  24.198 - 
  24.199 -diff -purN busybox-1.10.0/include/usage.h busybox/include/usage.h
  24.200 ---- busybox-1.10.0/include/usage.h	2008-03-29 21:48:22.000000000 +0100
  24.201 -+++ busybox-1.10.0/include/usage.h	2008-03-29 21:48:22.000000000 +0100
  24.202 -@@ -496,13 +496,19 @@
  24.203 -      "\n	-l,-s	Create (sym)links" \
  24.204 - 
  24.205 - #define cpio_trivial_usage \
  24.206 --       "-[dimtuv][F cpiofile]"
  24.207 -+       "-[dim" USE_FEATURE_CPIO_O("o") "tuv][F cpiofile]" \
  24.208 -+       USE_FEATURE_CPIO_O( "[H newc]" ) 
  24.209 - #define cpio_full_usage \
  24.210 --       "Extract or list files from a cpio archive\n" \
  24.211 -+       "Extract or list files from a cpio archive" \
  24.212 -+       USE_FEATURE_CPIO_O( ", or create a cpio archive" ) "\n" \
  24.213 -        "Main operation mode:" \
  24.214 -      "\n	d	Make leading directories" \
  24.215 -      "\n	i	Extract" \
  24.216 -      "\n	m	Preserve mtime" \
  24.217 -+       USE_FEATURE_CPIO_O( \
  24.218 -+     "\n	o	Create" \
  24.219 -+     "\n	H newc	Define format" \
  24.220 -+       ) \
  24.221 -      "\n	t	List" \
  24.222 -      "\n	v	Verbose" \
  24.223 -      "\n	u	Unconditional overwrite" \
    25.1 --- a/busybox/stuff/busybox-1.10.3-dhcpc.u	Wed May 27 11:52:33 2009 +0200
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,1 +0,0 @@
    25.4 -busybox-1.10.1-dhcpc.u
    25.5 \ No newline at end of file
    26.1 --- a/busybox/stuff/busybox-1.10.3-header_tar.u	Wed May 27 11:52:33 2009 +0200
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,1 +0,0 @@
    26.4 -busybox-1.10.1-header_tar.u
    26.5 \ No newline at end of file
    27.1 --- a/busybox/stuff/busybox-1.10.3-patch.u	Wed May 27 11:52:33 2009 +0200
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,412 +0,0 @@
    27.4 ---- busybox-1.10.3/editors/patch.c	2008-03-24 15:46:20.000000000 +0100
    27.5 -+++ busybox-1.10.3/editors/patch.c	2008-03-24 15:46:20.000000000 +0100
    27.6 -@@ -19,15 +19,11 @@
    27.7 -  *   - Reject file isnt saved
    27.8 -  */
    27.9 - 
   27.10 --#include <getopt.h>
   27.11 --
   27.12 - #include "libbb.h"
   27.13 - 
   27.14 --static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int lines_count)
   27.15 -+static unsigned copy_lines(FILE *src_stream, FILE *dest_stream, unsigned lines_count)
   27.16 - {
   27.17 --	unsigned int i = 0;
   27.18 --
   27.19 --	while (src_stream && (i < lines_count)) {
   27.20 -+	while (src_stream && lines_count) {
   27.21 - 		char *line;
   27.22 - 		line = xmalloc_fgets(src_stream);
   27.23 - 		if (line == NULL) {
   27.24 -@@ -37,60 +33,70 @@
   27.25 - 			bb_perror_msg_and_die("error writing to new file");
   27.26 - 		}
   27.27 - 		free(line);
   27.28 --
   27.29 --		i++;
   27.30 -+		lines_count--;
   27.31 - 	}
   27.32 --	return i;
   27.33 -+	return lines_count;
   27.34 - }
   27.35 - 
   27.36 - /* If patch_level is -1 it will remove all directory names
   27.37 -  * char *line must be greater than 4 chars
   27.38 -  * returns NULL if the file doesnt exist or error
   27.39 -  * returns malloc'ed filename
   27.40 -+ * NB: frees 1st argument!
   27.41 -  */
   27.42 - 
   27.43 --static char *extract_filename(char *line, int patch_level)
   27.44 -+static char *extract_filename(char *line, unsigned patch_level, const char *pat)
   27.45 - {
   27.46 --	char *temp, *filename_start_ptr = line + 4;
   27.47 --	int i;
   27.48 -+	char *temp = NULL, *filename_start_ptr = line + 4;
   27.49 - 
   27.50 --	/* Terminate string at end of source filename */
   27.51 --	temp = strchrnul(filename_start_ptr, '\t');
   27.52 --	*temp = '\0';
   27.53 --
   27.54 --	/* Skip over (patch_level) number of leading directories */
   27.55 --	if (patch_level == -1)
   27.56 --		patch_level = INT_MAX;
   27.57 --	for (i = 0; i < patch_level; i++) {
   27.58 --		temp = strchr(filename_start_ptr, '/');
   27.59 --		if (!temp)
   27.60 --			break;
   27.61 --		filename_start_ptr = temp + 1;
   27.62 -+	if (strncmp(line, pat, 4) == 0) {
   27.63 -+		/* Terminate string at end of source filename */
   27.64 -+		line[strcspn(line,"\t\n\r")] = '\0';
   27.65 -+
   27.66 -+		/* Skip over (patch_level) number of leading directories */
   27.67 -+		while (patch_level--) {
   27.68 -+			temp = strchr(filename_start_ptr, '/');
   27.69 -+			if (!temp)
   27.70 -+				break;
   27.71 -+			filename_start_ptr = temp + 1;
   27.72 -+		}
   27.73 -+		temp = xstrdup(filename_start_ptr);
   27.74 - 	}
   27.75 --
   27.76 --	return xstrdup(filename_start_ptr);
   27.77 -+	free(line);
   27.78 -+	return temp;
   27.79 - }
   27.80 - 
   27.81 - int patch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   27.82 - int patch_main(int argc ATTRIBUTE_UNUSED, char **argv)
   27.83 - {
   27.84 --	int patch_level = -1;
   27.85 --	char *patch_line;
   27.86 --	int ret;
   27.87 --	FILE *patch_file = NULL;
   27.88 - 	struct stat saved_stat;
   27.89 --	
   27.90 -+	char *patch_line;
   27.91 -+	FILE *patch_file;
   27.92 -+	int patch_level;
   27.93 -+	int ret = 0;
   27.94 -+#define ENABLE_FEATURE_PATCH_REVERSE 1
   27.95 -+#if ENABLE_FEATURE_PATCH_REVERSE
   27.96 -+	char minus = '-';
   27.97 -+	char plus = '+';
   27.98 -+#else
   27.99 -+	const char minus = '-';
  27.100 -+	const char plus = '+';
  27.101 -+#endif
  27.102 -+
  27.103 -+	xfunc_error_retval = 2;	
  27.104 - 	{
  27.105 --		char *p, *i;
  27.106 --		ret = getopt32(argv, "p:i:", &p, &i);
  27.107 --		if (ret & 1)
  27.108 --			patch_level = xatol_range(p, -1, USHRT_MAX);
  27.109 --		if (ret & 2) {
  27.110 --			patch_file = xfopen(i, "r");
  27.111 --		} else {
  27.112 --			patch_file = stdin;
  27.113 --		}
  27.114 --		ret = 0;
  27.115 -+		const char *p = "-1";
  27.116 -+		const char *i = "-"; /* compat */
  27.117 -+#if ENABLE_FEATURE_PATCH_REVERSE
  27.118 -+		if (getopt32(argv, "p:i:R", &p, &i) & 4) {
  27.119 -+			minus = '+';
  27.120 -+			plus = '-';
  27.121 -+		}
  27.122 -+#else
  27.123 -+		getopt32(argv, "p:i:", &p, &i);
  27.124 -+#endif
  27.125 -+		patch_level = xatoi(p); /* can be negative! */
  27.126 -+		patch_file = xfopen_stdin(i);
  27.127 - 	}
  27.128 - 
  27.129 - 	patch_line = xmalloc_getline(patch_file);
  27.130 -@@ -100,38 +106,38 @@
  27.131 - 		char *original_filename;
  27.132 - 		char *new_filename;
  27.133 - 		char *backup_filename;
  27.134 --		unsigned int src_cur_line = 1;
  27.135 --		unsigned int dest_cur_line = 0;
  27.136 --		unsigned int dest_beg_line;
  27.137 --		unsigned int bad_hunk_count = 0;
  27.138 --		unsigned int hunk_count = 0;
  27.139 --		char copy_trailing_lines_flag = 0;
  27.140 -+		unsigned src_cur_line = 1;
  27.141 -+		unsigned dest_cur_line = 0;
  27.142 -+		unsigned dest_beg_line;
  27.143 -+		unsigned bad_hunk_count = 0;
  27.144 -+		unsigned hunk_count = 0;
  27.145 -+		smallint copy_trailing_lines_flag = 0;
  27.146 - 
  27.147 - 		/* Skip everything upto the "---" marker
  27.148 - 		 * No need to parse the lines "Only in <dir>", and "diff <args>"
  27.149 - 		 */
  27.150 --		while (patch_line && strncmp(patch_line, "--- ", 4) != 0) {
  27.151 --			free(patch_line);
  27.152 -+		do {
  27.153 -+			/* Extract the filename used before the patch was generated */
  27.154 -+			original_filename = extract_filename(patch_line, patch_level, "--- ");
  27.155 - 			patch_line = xmalloc_getline(patch_file);
  27.156 --		}
  27.157 --		/* FIXME: patch_line NULL check?? */
  27.158 -+			if (!patch_line) goto quit;
  27.159 -+		} while (!original_filename);
  27.160 - 
  27.161 --		/* Extract the filename used before the patch was generated */
  27.162 --		original_filename = extract_filename(patch_line, patch_level);
  27.163 --		free(patch_line);
  27.164 --
  27.165 --		patch_line = xmalloc_getline(patch_file);
  27.166 --		/* FIXME: NULL check?? */
  27.167 --		if (strncmp(patch_line, "+++ ", 4) != 0) {
  27.168 --			ret = 2;
  27.169 --			bb_error_msg("invalid patch");
  27.170 --			continue;
  27.171 -+		new_filename = extract_filename(patch_line, patch_level, "+++ ");
  27.172 -+		if (!new_filename) {
  27.173 -+			bb_error_msg_and_die("invalid patch");
  27.174 -+		}
  27.175 -+#if ENABLE_FEATURE_PATCH_REVERSE
  27.176 -+		if (plus != '+') {
  27.177 -+			/* reverse patch */
  27.178 -+			char *tmp = original_filename;
  27.179 -+			original_filename = new_filename;
  27.180 -+			new_filename = tmp;
  27.181 - 		}
  27.182 --		new_filename = extract_filename(patch_line, patch_level);
  27.183 --		free(patch_line);
  27.184 -+#endif
  27.185 - 		
  27.186 - 		/* Get access rights from the file to be patched, -1 file does not exist */
  27.187 --		if (stat(new_filename, &saved_stat)) {
  27.188 -+		if (stat(new_filename, &saved_stat) != 0) {
  27.189 - 			char *line_ptr;
  27.190 - 			/* Create leading directories */
  27.191 - 			line_ptr = strrchr(new_filename, '/');
  27.192 -@@ -140,132 +146,137 @@
  27.193 - 				bb_make_directory(new_filename, -1, FILEUTILS_RECUR);
  27.194 - 				*line_ptr = '/';
  27.195 - 			}
  27.196 --			dst_stream = xfopen(new_filename, "w+");
  27.197 - 			backup_filename = NULL;
  27.198 -+			saved_stat.st_mode = 0644;
  27.199 - 		} else {
  27.200 --			backup_filename = xmalloc(strlen(new_filename) + 6);
  27.201 --			strcpy(backup_filename, new_filename);
  27.202 --			strcat(backup_filename, ".orig");
  27.203 -+			backup_filename = xasprintf("%s.orig", new_filename);
  27.204 - 			xrename(new_filename, backup_filename);
  27.205 --			dst_stream = xfopen(new_filename, "w");
  27.206 --			fchmod(fileno(dst_stream), saved_stat.st_mode);
  27.207 - 		}
  27.208 --
  27.209 --		if ((backup_filename == NULL) || stat(original_filename, &saved_stat)) {
  27.210 --			src_stream = NULL;
  27.211 --		} else {
  27.212 --			if (strcmp(original_filename, new_filename) == 0) {
  27.213 --				src_stream = xfopen(backup_filename, "r");
  27.214 --			} else {
  27.215 --				src_stream = xfopen(original_filename, "r");
  27.216 --			}
  27.217 -+		dst_stream = xfopen(new_filename, "w");
  27.218 -+		fchmod(fileno(dst_stream), saved_stat.st_mode);
  27.219 -+		src_stream = NULL;
  27.220 -+
  27.221 -+		if (backup_filename && !stat(original_filename, &saved_stat)) {
  27.222 -+			src_stream = xfopen((strcmp(original_filename, new_filename)) ? 
  27.223 -+							    original_filename : backup_filename, "r");
  27.224 - 		}
  27.225 - 
  27.226 - 		printf("patching file %s\n", new_filename);
  27.227 - 
  27.228 --		/* Handle each hunk */
  27.229 -+		/* Handle all hunks for this file */
  27.230 - 		patch_line = xmalloc_fgets(patch_file);
  27.231 - 		while (patch_line) {
  27.232 --			unsigned int count;
  27.233 --			unsigned int src_beg_line;
  27.234 --			unsigned int unused;
  27.235 --			unsigned int hunk_offset_start = 0;
  27.236 --			int hunk_error = 0;
  27.237 --
  27.238 --			/* This bit should be improved */
  27.239 --			if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, &unused, &dest_beg_line, &unused) != 4) &&
  27.240 --				(sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, &unused, &dest_beg_line) != 3) &&
  27.241 --				(sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, &dest_beg_line, &unused) != 3)) {
  27.242 -+			unsigned count;
  27.243 -+			unsigned src_beg_line;
  27.244 -+			unsigned hunk_offset_start;
  27.245 -+			unsigned src_last_line = 1;
  27.246 -+#if ENABLE_FEATURE_PATCH_REVERSE
  27.247 -+			unsigned dst_last_line = 1;
  27.248 -+
  27.249 -+			if ((sscanf(patch_line, "@@ -%d,%d +%d,%d", &src_beg_line, &src_last_line, &dest_beg_line, &dst_last_line) < 3) &&
  27.250 -+				(sscanf(patch_line, "@@ -%d +%d,%d", &src_beg_line, &dest_beg_line, &dst_last_line) < 2)) {
  27.251 - 				/* No more hunks for this file */
  27.252 - 				break;
  27.253 - 			}
  27.254 --			free(patch_line);
  27.255 -+			if (plus != '+') { 
  27.256 -+				/* reverse patch */
  27.257 -+				unsigned tmp = src_last_line;
  27.258 -+				src_last_line = dst_last_line;
  27.259 -+				dst_last_line = tmp;
  27.260 -+				tmp = src_beg_line;
  27.261 -+				src_beg_line = dest_beg_line;
  27.262 -+				dest_beg_line = tmp;
  27.263 -+			}
  27.264 -+#else
  27.265 -+
  27.266 -+			if ((sscanf(patch_line, "@@ -%d,%d +%d", &src_beg_line, &src_last_line, &dest_beg_line) != 3) &&
  27.267 -+				(sscanf(patch_line, "@@ -%d +%d", &src_beg_line, &dest_beg_line) != 2)) {
  27.268 -+				/* No more hunks for this file */
  27.269 -+				break;
  27.270 -+			}
  27.271 -+#endif
  27.272 - 			hunk_count++;
  27.273 - 
  27.274 - 			if (src_beg_line && dest_beg_line) {
  27.275 - 				/* Copy unmodified lines upto start of hunk */
  27.276 --				/* src_beg_line will be 0 if its a new file */
  27.277 -+				/* src_beg_line will be 0 if it's a new file */
  27.278 - 				count = src_beg_line - src_cur_line;
  27.279 --				if (copy_lines(src_stream, dst_stream, count) != count) {
  27.280 -+				if (copy_lines(src_stream, dst_stream, count)) {
  27.281 - 					bb_error_msg_and_die("bad src file");
  27.282 - 				}
  27.283 - 				src_cur_line += count;
  27.284 - 				dest_cur_line += count;
  27.285 - 				copy_trailing_lines_flag = 1;
  27.286 - 			}
  27.287 --			hunk_offset_start = src_cur_line;
  27.288 --
  27.289 --			while ((patch_line = xmalloc_fgets(patch_file)) != NULL) {
  27.290 --				if ((*patch_line == '-') || (*patch_line == ' ')) {
  27.291 -+			src_last_line += hunk_offset_start = src_cur_line;
  27.292 -+#if ENABLE_FEATURE_PATCH_REVERSE
  27.293 -+			dst_last_line += dest_cur_line;
  27.294 -+#endif
  27.295 -+			while (1) {
  27.296 -+				free(patch_line);
  27.297 -+			        patch_line = xmalloc_fgets(patch_file);
  27.298 -+				if (patch_line == NULL) break;
  27.299 -+				if ((*patch_line == minus) || (*patch_line == ' ')) {
  27.300 - 					char *src_line = NULL;
  27.301 -+					if (src_cur_line == src_last_line) break;
  27.302 - 					if (src_stream) {
  27.303 - 						src_line = xmalloc_fgets(src_stream);
  27.304 --						if (!src_line) {
  27.305 --							hunk_error++;
  27.306 --							break;
  27.307 --						} else {
  27.308 -+						if (src_line) {
  27.309 -+							int diff = strcmp(src_line, patch_line + 1);
  27.310 - 							src_cur_line++;
  27.311 -+							free(src_line);
  27.312 -+							if (diff) src_line = NULL;
  27.313 - 						}
  27.314 --						if (strcmp(src_line, patch_line + 1) != 0) {
  27.315 --							bb_error_msg("hunk #%d FAILED at %d", hunk_count, hunk_offset_start);
  27.316 --							hunk_error++;
  27.317 --							free(patch_line);
  27.318 --							/* Probably need to find next hunk, etc... */
  27.319 --							/* but for now we just bail out */
  27.320 --							patch_line = NULL;
  27.321 --							break;
  27.322 --						}
  27.323 --						free(src_line);
  27.324 - 					}
  27.325 --					if (*patch_line == ' ') {
  27.326 --						fputs(patch_line + 1, dst_stream);
  27.327 --						dest_cur_line++;
  27.328 -+					if (!src_line) {
  27.329 -+						bb_error_msg("hunk #%u FAILED at %u", hunk_count, hunk_offset_start);
  27.330 -+						bad_hunk_count++;
  27.331 -+						break;
  27.332 - 					}
  27.333 --				} else if (*patch_line == '+') {
  27.334 --					fputs(patch_line + 1, dst_stream);
  27.335 --					dest_cur_line++;
  27.336 --				} else {
  27.337 -+					if (*patch_line != ' ') {
  27.338 -+						continue;
  27.339 -+					}
  27.340 -+				} else if (*patch_line != plus) {
  27.341 - 					break;
  27.342 - 				}
  27.343 --				free(patch_line);
  27.344 --			}
  27.345 --			if (hunk_error) {
  27.346 --				bad_hunk_count++;
  27.347 --			}
  27.348 --		}
  27.349 -+#if ENABLE_FEATURE_PATCH_REVERSE
  27.350 -+				if (dest_cur_line == dst_last_line) break;
  27.351 -+#endif
  27.352 -+				fputs(patch_line + 1, dst_stream);
  27.353 -+				dest_cur_line++;
  27.354 -+			} /* end of while loop handling one hunk */
  27.355 -+		} /* end of while loop handling one file */
  27.356 - 
  27.357 - 		/* Cleanup last patched file */
  27.358 - 		if (copy_trailing_lines_flag) {
  27.359 --			copy_lines(src_stream, dst_stream, -1);
  27.360 -+			copy_lines(src_stream, dst_stream, (unsigned)(-1));
  27.361 - 		}
  27.362 - 		if (src_stream) {
  27.363 - 			fclose(src_stream);
  27.364 - 		}
  27.365 --		if (dst_stream) {
  27.366 --			fclose(dst_stream);
  27.367 --		}
  27.368 -+		fclose(dst_stream);
  27.369 - 		if (bad_hunk_count) {
  27.370 --			if (!ret) {
  27.371 --				ret = 1;
  27.372 --			}
  27.373 --			bb_error_msg("%d out of %d hunk FAILED", bad_hunk_count, hunk_count);
  27.374 -+			ret = 1;
  27.375 -+			bb_error_msg("%u out of %u hunk FAILED", bad_hunk_count, hunk_count);
  27.376 - 		} else {
  27.377 - 			/* It worked, we can remove the backup */
  27.378 - 			if (backup_filename) {
  27.379 - 				unlink(backup_filename);
  27.380 -+				free(backup_filename);
  27.381 - 			}
  27.382 - 			if ((dest_cur_line == 0) || (dest_beg_line == 0)) {
  27.383 - 				/* The new patched file is empty, remove it */
  27.384 - 				xunlink(new_filename);
  27.385 --				if (strcmp(new_filename, original_filename) != 0)
  27.386 --					xunlink(original_filename);
  27.387 -+				/* original_filename and new_filename may be the same file */
  27.388 -+				unlink(original_filename);
  27.389 - 			}
  27.390 - 		}
  27.391 --	}
  27.392 -+	} /* end of "while there are patch lines" */
  27.393 -+quit:
  27.394 - 
  27.395 - 	/* 0 = SUCCESS
  27.396 - 	 * 1 = Some hunks failed
  27.397 --	 * 2 = More serious problems
  27.398 -+	 * 2 = More serious problems (exited earlier)
  27.399 - 	 */
  27.400 - 	return ret;
  27.401 - }
  27.402 -
  27.403 ---- busybox-1.10.3/include/usage.h	2008-03-24 16:20:43.000000000 +0100
  27.404 -+++ busybox-1.10.3/include/usage.h	2008-03-24 16:22:06.000000000 +0100
  27.405 -@@ -2837,8 +2837,9 @@
  27.406 - 	)
  27.407 - 
  27.408 - #define patch_trivial_usage \
  27.409 --       "[-p NUM] [-i DIFF]"
  27.410 -+       "[-R] [-p NUM] [-i DIFF]"
  27.411 - #define patch_full_usage \
  27.412 -+       "	-R    	Reverse patch\n" \
  27.413 -        "	-p NUM	Strip NUM leading components from file names" \
  27.414 -      "\n	-i DIFF	Read DIFF instead of stdin" \
  27.415 - 
    28.1 --- a/busybox/stuff/busybox-1.10.3-script.u	Wed May 27 11:52:33 2009 +0200
    28.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.3 @@ -1,1 +0,0 @@
    28.4 -busybox-1.10.1-script.u
    28.5 \ No newline at end of file
    29.1 --- a/busybox/stuff/busybox-1.10.3-stat.u	Wed May 27 11:52:33 2009 +0200
    29.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.3 @@ -1,73 +0,0 @@
    29.4 ---- busybox-1.10.1/coreutils/stat.c
    29.5 -+++ busybox-1.10.1/coreutils/stat.c
    29.6 -@@ -14,12 +14,14 @@
    29.7 -  */
    29.8 - 
    29.9 - #include "libbb.h"
   29.10 -+#include <linux/fs.h>
   29.11 - 
   29.12 - /* vars to control behavior */
   29.13 - #define OPT_FILESYS     (1 << 0)
   29.14 - #define OPT_TERSE       (1 << 1)
   29.15 - #define OPT_DEREFERENCE (1 << 2)
   29.16 --#define OPT_SELINUX     (1 << 3)
   29.17 -+#define OPT_MAP         (1 << 3)
   29.18 -+#define OPT_SELINUX     (1 << 4)
   29.19 - 
   29.20 - #if ENABLE_FEATURE_STAT_FORMAT
   29.21 - typedef bool (*statfunc_ptr)(const char *, const char *);
   29.22 -@@ -345,6 +347,26 @@
   29.23 - 
   29.24 - /* Stat the file system and print what we find.  */
   29.25 - #if !ENABLE_FEATURE_STAT_FORMAT
   29.26 -+#define do_mapfile(filename, format) do_mapfile(filename)
   29.27 -+#endif
   29.28 -+static bool do_mapfile(const char *filename, const char *format)
   29.29 -+{
   29.30 -+	int i = 0;
   29.31 -+	int fd = xopen(filename, O_RDONLY);
   29.32 -+
   29.33 -+#if ENABLE_FEATURE_STAT_FORMAT
   29.34 -+	(void) format;
   29.35 -+#endif
   29.36 -+	while (1) {
   29.37 -+		int blk = i++;
   29.38 -+		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   29.39 -+		printf("%u\n",blk);
   29.40 -+	}	
   29.41 -+	return 1;
   29.42 -+}
   29.43 -+
   29.44 -+/* Stat the file system and print what we find.  */
   29.45 -+#if !ENABLE_FEATURE_STAT_FORMAT
   29.46 - #define do_statfs(filename, format) do_statfs(filename)
   29.47 - #endif
   29.48 - static bool do_statfs(const char *filename, const char *format)
   29.49 -@@ -632,13 +654,15 @@
   29.50 - 	int ok = 1;
   29.51 - 	statfunc_ptr statfunc = do_stat;
   29.52 - 
   29.53 --	getopt32(argv, "ftL"
   29.54 -+	getopt32(argv, "ftLm"
   29.55 - 		USE_SELINUX("Z")
   29.56 - 		USE_FEATURE_STAT_FORMAT("c:", &format)
   29.57 - 	);
   29.58 - 
   29.59 - 	if (option_mask32 & OPT_FILESYS) /* -f */
   29.60 - 		statfunc = do_statfs;
   29.61 -+	if (option_mask32 & OPT_MAP) /* -m */
   29.62 -+		statfunc = do_mapfile;
   29.63 - 	if (argc == optind)           /* files */
   29.64 - 		bb_show_usage();
   29.65 - 
   29.66 -
   29.67 ---- busybox-1.10.1/include/usage.h
   29.68 -+++ busybox-1.10.1/include/usage.h
   29.69 -@@ -3589,6 +3589,7 @@
   29.70 - 	) \
   29.71 -      "\n	-f	Display filesystem status" \
   29.72 -      "\n	-L	Dereference links" \
   29.73 -+     "\n	-m	Display block list" \
   29.74 -      "\n	-t	Display info in terse form" \
   29.75 - 	USE_SELINUX( \
   29.76 -      "\n	-Z	Print security context" \
    30.1 --- a/busybox/stuff/busybox-1.10.3-syslogd.u	Wed May 27 11:52:33 2009 +0200
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,11 +0,0 @@
    30.4 ---- busybox-1.10.3/sysklogd/syslogd.c
    30.5 -+++ busybox-1.10.3/sysklogd/syslogd.c
    30.6 -@@ -41,7 +41,7 @@
    30.7 - #undef SYSLOGD_MARK
    30.8 - 
    30.9 - enum {
   30.10 --	MAX_READ = 256,
   30.11 -+	MAX_READ = 1024,
   30.12 - 	DNS_WAIT_SEC = 2 * 60,
   30.13 - };
   30.14 - 
    31.1 --- a/busybox/stuff/busybox-1.10.3-tar.u	Wed May 27 11:52:33 2009 +0200
    31.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.3 @@ -1,1 +0,0 @@
    31.4 -busybox-1.10.1-tar.u
    31.5 \ No newline at end of file
    32.1 --- a/busybox/stuff/busybox-1.10.3-tftp.u	Wed May 27 11:52:33 2009 +0200
    32.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.3 @@ -1,1 +0,0 @@
    32.4 -busybox-1.10.1-tftp.u
    32.5 \ No newline at end of file
    33.1 --- a/busybox/stuff/busybox-1.10.3-unlzma.u	Wed May 27 11:52:33 2009 +0200
    33.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.3 @@ -1,1 +0,0 @@
    33.4 -busybox-1.10.1-unlzma.u
    33.5 \ No newline at end of file
    34.1 --- a/busybox/stuff/busybox-1.10.3-vcsa2txt.u	Wed May 27 11:52:33 2009 +0200
    34.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.3 @@ -1,134 +0,0 @@
    34.4 ---- busybox-1.10.3/include/applets.h	Sat Mar 22 02:31:50 2008
    34.5 -+++ busybox-1.10.3/include/applets.h	Sat Mar 22 02:31:50 2008
    34.6 -@@ -382,6 +382,7 @@
    34.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    34.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    34.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
   34.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   34.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
   34.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
   34.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
   34.14 -
   34.15 ---- busybox-1.10.3/include/usage.h	Sat Mar 22 02:31:50 2008
   34.16 -+++ busybox-1.10.3/include/usage.h	Sat Mar 22 02:31:50 2008
   34.17 -@@ -4318,6 +4318,13 @@
   34.18 -      "\n	set_ingress_map	[vlan-name] [skb_priority] [vlan_qos]" \
   34.19 -      "\n	set_name_type	[name-type]" \
   34.20 - 
   34.21 -+#define vcsa2txt_trivial_usage \
   34.22 -+       "stdin"
   34.23 -+#define vcsa2txt_full_usage \
   34.24 -+       "Filter /dev/vcsa* to ansi escape sequences"
   34.25 -+#define vcsa2txt_example_usage \
   34.26 -+       "# vcsa2txt < /dev/vcsa1\n"
   34.27 -+
   34.28 - #define vi_trivial_usage \
   34.29 -        "[OPTION] [FILE]..."
   34.30 - #define vi_full_usage \
   34.31 -
   34.32 ---- busybox-1.10.3/miscutils/Config.in	Sat Mar 22 02:31:50 2008
   34.33 -+++ busybox-1.10.3/miscutils/Config.in	Sat Mar 22 02:31:50 2008
   34.34 -@@ -461,6 +461,12 @@
   34.35 - 	  only height, or both, in any order. It also does not complain on error,
   34.36 - 	  but returns default 80x24. Usage in shell scripts: width=`ttysize w`.
   34.37 - 
   34.38 -+config VCSA2TXT
   34.39 -+	bool "vcsa2txt"
   34.40 -+	default n
   34.41 -+	help
   34.42 -+	  Filter /dev/vcsa* output to ansi escape sequences.
   34.43 -+
   34.44 - config WATCHDOG
   34.45 - 	bool "watchdog"
   34.46 - 	default n
   34.47 -
   34.48 ---- busybox-1.10.3/util-linux/Kbuild	Sat Mar 22 02:31:53 2008
   34.49 -+++ busybox-1.10.3/util-linux/Kbuild	Sat Mar 22 02:31:53 2008
   34.50 -@@ -33,3 +33,4 @@
   34.51 - lib-$(CONFIG_SWAPONOFF)		+= swaponoff.o
   34.52 - lib-$(CONFIG_SWITCH_ROOT)	+= switch_root.o
   34.53 - lib-$(CONFIG_UMOUNT)		+= umount.o
   34.54 -+lib-$(CONFIG_VCSA2TXT)		+= vcsa2txt.o
   34.55 -
   34.56 ---- busybox-1.10.3/util-linux/vcsa2txt.c	Sat Mar 22 19:40:15 2008
   34.57 -+++ busybox-1.10.3/util-linux/vcsa2txt.c	Sat Mar 22 19:40:15 2008
   34.58 -@@ -0,0 +1,79 @@
   34.59 -+/* vi: set sw=4 ts=4: */
   34.60 -+/*
   34.61 -+ * /dev/vcsa* filter for busybox
   34.62 -+ *
   34.63 -+ * pascal.bellard@ads-lu.com
   34.64 -+ *
   34.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
   34.66 -+ */
   34.67 -+ 
   34.68 -+#include "libbb.h"
   34.69 -+
   34.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE;
   34.71 -+int vcsa2txt_main(int argc)
   34.72 -+{
   34.73 -+    struct {
   34.74 -+	unsigned char l, c, x, y; // man 4 console_codes
   34.75 -+    } scrn;
   34.76 -+    unsigned char last = 0, ch[2];                     // BLGCRMOW
   34.77 -+    static  unsigned char end[5] = "\e[0m\n", color[8] = "04261537";
   34.78 -+    int sp, lf, x;
   34.79 -+    
   34.80 -+    if (safe_read(0, &scrn, 4) < 0) return 1;
   34.81 -+    for (lf = 0; scrn.l; lf++, scrn.l--) {
   34.82 -+	for (sp = x = 0; ++x <= scrn.c;) {
   34.83 -+	    if (safe_read(0, &ch[0], 2) < 0) return 1;
   34.84 -+	    if (argc > 1) ch[1] = 0;
   34.85 -+	    sp++;
   34.86 -+	    if (last == ch[1] && ch[0] == ' ') continue;
   34.87 -+	    for (lf++; --lf;) bb_putchar('\n');
   34.88 -+	    while (--sp) bb_putchar(' ');
   34.89 -+#define ENABLE_VCSA_PACKED 1
   34.90 -+#if ENABLE_VCSA_PACKED
   34.91 -+	    if (last ^= ch[1]) {
   34.92 -+		char esc[16],*s;
   34.93 -+		struct offsets {
   34.94 -+		    char mask, type, shr;
   34.95 -+		} *p;
   34.96 -+		static struct offsets offset[3] = {
   34.97 -+		    {8,0,1}, {0x70,'4',4}, {7,'3',0}
   34.98 -+		};
   34.99 -+		static char init = 0x7F;
  34.100 -+		
  34.101 -+		s = esc+2;
  34.102 -+		*(short *)esc = ntohs(256*'\e'+'[');
  34.103 -+		p = offset;
  34.104 -+		do {
  34.105 -+		    if ((init|last) & p->mask) {
  34.106 -+			int c = (ch[1] & p->mask) >> p->shr;
  34.107 -+		    
  34.108 -+			if ((*s = p->type) != 0) s++;
  34.109 -+			else if (c == 0) {
  34.110 -+			    c = 2;
  34.111 -+			    *s++ = '2'; /* normal */
  34.112 -+			}
  34.113 -+			*s++ = color[c];
  34.114 -+			*s++ = ';'; 
  34.115 -+		    }
  34.116 -+		} while (p++->shr);
  34.117 -+		s[-1] = 'm';
  34.118 -+		init = 0;
  34.119 -+		fwrite(esc,s-esc,1,stdout);
  34.120 -+	    }
  34.121 -+	    last = ch[1];
  34.122 -+#else
  34.123 -+	    if (last != ch[1]) {
  34.124 -+		static char esc[10] = "\e[0;47;37m";
  34.125 -+		
  34.126 -+		esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */;
  34.127 -+		esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7];
  34.128 -+		esc[sizeof(esc)-2] = color[ch[1] & 7];
  34.129 -+		fwrite(esc,sizeof(esc),1,stdout);
  34.130 -+	    }
  34.131 -+#endif
  34.132 -+	    bb_putchar(ch[0]);
  34.133 -+	}
  34.134 -+    }
  34.135 -+    fwrite(end,sizeof(end),1,stdout);
  34.136 -+    return 0;
  34.137 -+}
    35.1 --- a/busybox/stuff/busybox-1.10.3.config	Wed May 27 11:52:33 2009 +0200
    35.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.3 @@ -1,831 +0,0 @@
    35.4 -#
    35.5 -# Automatically generated make config: don't edit
    35.6 -# Busybox version: 1.10.3
    35.7 -# Sat Jul 12 20:22:54 2008
    35.8 -#
    35.9 -CONFIG_HAVE_DOT_CONFIG=y
   35.10 -
   35.11 -#
   35.12 -# Busybox Settings
   35.13 -#
   35.14 -
   35.15 -#
   35.16 -# General Configuration
   35.17 -#
   35.18 -# CONFIG_NITPICK is not set
   35.19 -CONFIG_DESKTOP=y
   35.20 -# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
   35.21 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   35.22 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   35.23 -CONFIG_SHOW_USAGE=y
   35.24 -CONFIG_FEATURE_VERBOSE_USAGE=y
   35.25 -CONFIG_FEATURE_COMPRESS_USAGE=y
   35.26 -CONFIG_FEATURE_INSTALLER=y
   35.27 -CONFIG_LOCALE_SUPPORT=y
   35.28 -CONFIG_GETOPT_LONG=y
   35.29 -CONFIG_FEATURE_DEVPTS=y
   35.30 -# CONFIG_FEATURE_CLEAN_UP is not set
   35.31 -CONFIG_FEATURE_PIDFILE=y
   35.32 -CONFIG_FEATURE_SUID=y
   35.33 -CONFIG_FEATURE_SUID_CONFIG=y
   35.34 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   35.35 -# CONFIG_SELINUX is not set
   35.36 -# CONFIG_FEATURE_PREFER_APPLETS is not set
   35.37 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
   35.38 -CONFIG_FEATURE_SYSLOG=y
   35.39 -CONFIG_FEATURE_HAVE_RPC=y
   35.40 -
   35.41 -#
   35.42 -# Build Options
   35.43 -#
   35.44 -# CONFIG_STATIC is not set
   35.45 -# CONFIG_NOMMU is not set
   35.46 -# CONFIG_BUILD_LIBBUSYBOX is not set
   35.47 -# CONFIG_FEATURE_INDIVIDUAL is not set
   35.48 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   35.49 -CONFIG_LFS=y
   35.50 -
   35.51 -#
   35.52 -# Debugging Options
   35.53 -#
   35.54 -# CONFIG_DEBUG is not set
   35.55 -# CONFIG_WERROR is not set
   35.56 -CONFIG_NO_DEBUG_LIB=y
   35.57 -# CONFIG_DMALLOC is not set
   35.58 -# CONFIG_EFENCE is not set
   35.59 -CONFIG_INCLUDE_SUSv2=y
   35.60 -
   35.61 -#
   35.62 -# Installation Options
   35.63 -#
   35.64 -# CONFIG_INSTALL_NO_USR is not set
   35.65 -CONFIG_INSTALL_APPLET_SYMLINKS=y
   35.66 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set
   35.67 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
   35.68 -# CONFIG_INSTALL_APPLET_DONT is not set
   35.69 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
   35.70 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
   35.71 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
   35.72 -CONFIG_PREFIX="./_install"
   35.73 -
   35.74 -#
   35.75 -# Busybox Library Tuning
   35.76 -#
   35.77 -CONFIG_PASSWORD_MINLEN=6
   35.78 -CONFIG_MD5_SIZE_VS_SPEED=0
   35.79 -# CONFIG_FEATURE_FAST_TOP is not set
   35.80 -# CONFIG_FEATURE_ETC_NETWORKS is not set
   35.81 -CONFIG_FEATURE_EDITING=y
   35.82 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
   35.83 -# CONFIG_FEATURE_EDITING_VI is not set
   35.84 -CONFIG_FEATURE_EDITING_HISTORY=127
   35.85 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y
   35.86 -CONFIG_FEATURE_TAB_COMPLETION=y
   35.87 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
   35.88 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
   35.89 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
   35.90 -CONFIG_FEATURE_COPYBUF_KB=4
   35.91 -CONFIG_MONOTONIC_SYSCALL=y
   35.92 -CONFIG_IOCTL_HEX2STR_ERROR=y
   35.93 -
   35.94 -#
   35.95 -# Applets
   35.96 -#
   35.97 -
   35.98 -#
   35.99 -# Archival Utilities
  35.100 -#
  35.101 -# CONFIG_AR is not set
  35.102 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
  35.103 -CONFIG_BUNZIP2=y
  35.104 -# CONFIG_BZIP2 is not set
  35.105 -CONFIG_CPIO=y
  35.106 -CONFIG_FEATURE_CPIO_O=y
  35.107 -CONFIG_DPKG=y
  35.108 -CONFIG_DPKG_DEB=y
  35.109 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
  35.110 -CONFIG_GUNZIP=y
  35.111 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
  35.112 -CONFIG_GZIP=y
  35.113 -CONFIG_RPM2CPIO=y
  35.114 -CONFIG_RPM=y
  35.115 -CONFIG_FEATURE_RPM_BZ2=y
  35.116 -CONFIG_TAR=y
  35.117 -CONFIG_FEATURE_TAR_CREATE=y
  35.118 -CONFIG_FEATURE_TAR_GZIP=y
  35.119 -CONFIG_FEATURE_TAR_BZIP2=y
  35.120 -CONFIG_FEATURE_TAR_LZMA=y
  35.121 -CONFIG_FEATURE_TAR_COMPRESS=y
  35.122 -CONFIG_FEATURE_TAR_AUTODETECT=y
  35.123 -CONFIG_FEATURE_TAR_FROM=y
  35.124 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
  35.125 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
  35.126 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  35.127 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y
  35.128 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
  35.129 -CONFIG_UNCOMPRESS=y
  35.130 -CONFIG_UNLZMA=y
  35.131 -# CONFIG_FEATURE_LZMA_FAST is not set
  35.132 -CONFIG_UNZIP=y
  35.133 -
  35.134 -#
  35.135 -# Common options for cpio and tar
  35.136 -#
  35.137 -# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
  35.138 -
  35.139 -#
  35.140 -# Common options for dpkg and dpkg_deb
  35.141 -#
  35.142 -CONFIG_FEATURE_DEB_TAR_GZ=y
  35.143 -CONFIG_FEATURE_DEB_TAR_BZ2=y
  35.144 -CONFIG_FEATURE_DEB_TAR_LZMA=y
  35.145 -
  35.146 -#
  35.147 -# Coreutils
  35.148 -#
  35.149 -CONFIG_BASENAME=y
  35.150 -CONFIG_CAL=y
  35.151 -CONFIG_CAT=y
  35.152 -# CONFIG_CATV is not set
  35.153 -CONFIG_CHGRP=y
  35.154 -CONFIG_CHMOD=y
  35.155 -CONFIG_CHOWN=y
  35.156 -CONFIG_CHROOT=y
  35.157 -CONFIG_CKSUM=y
  35.158 -CONFIG_COMM=y
  35.159 -CONFIG_CP=y
  35.160 -CONFIG_CUT=y
  35.161 -CONFIG_DATE=y
  35.162 -CONFIG_FEATURE_DATE_ISOFMT=y
  35.163 -CONFIG_DD=y
  35.164 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  35.165 -CONFIG_FEATURE_DD_IBS_OBS=y
  35.166 -CONFIG_DF=y
  35.167 -CONFIG_FEATURE_DF_INODE=y
  35.168 -CONFIG_DIRNAME=y
  35.169 -CONFIG_DOS2UNIX=y
  35.170 -CONFIG_UNIX2DOS=y
  35.171 -CONFIG_DU=y
  35.172 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  35.173 -CONFIG_ECHO=y
  35.174 -CONFIG_FEATURE_FANCY_ECHO=y
  35.175 -CONFIG_ENV=y
  35.176 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
  35.177 -CONFIG_EXPAND=y
  35.178 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
  35.179 -CONFIG_EXPR=y
  35.180 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  35.181 -CONFIG_FALSE=y
  35.182 -CONFIG_FOLD=y
  35.183 -CONFIG_HEAD=y
  35.184 -CONFIG_FEATURE_FANCY_HEAD=y
  35.185 -CONFIG_HOSTID=y
  35.186 -CONFIG_ID=y
  35.187 -CONFIG_INSTALL=y
  35.188 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
  35.189 -CONFIG_LENGTH=y
  35.190 -CONFIG_LN=y
  35.191 -CONFIG_LOGNAME=y
  35.192 -CONFIG_LS=y
  35.193 -CONFIG_FEATURE_LS_FILETYPES=y
  35.194 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
  35.195 -CONFIG_FEATURE_LS_RECURSIVE=y
  35.196 -CONFIG_FEATURE_LS_SORTFILES=y
  35.197 -CONFIG_FEATURE_LS_TIMESTAMPS=y
  35.198 -CONFIG_FEATURE_LS_USERNAME=y
  35.199 -CONFIG_FEATURE_LS_COLOR=y
  35.200 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  35.201 -CONFIG_MD5SUM=y
  35.202 -CONFIG_MKDIR=y
  35.203 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
  35.204 -CONFIG_MKFIFO=y
  35.205 -CONFIG_MKNOD=y
  35.206 -CONFIG_MV=y
  35.207 -CONFIG_FEATURE_MV_LONG_OPTIONS=y
  35.208 -CONFIG_NICE=y
  35.209 -CONFIG_NOHUP=y
  35.210 -CONFIG_OD=y
  35.211 -CONFIG_PRINTENV=y
  35.212 -CONFIG_PRINTF=y
  35.213 -CONFIG_PWD=y
  35.214 -CONFIG_READLINK=y
  35.215 -CONFIG_FEATURE_READLINK_FOLLOW=y
  35.216 -CONFIG_REALPATH=y
  35.217 -CONFIG_RM=y
  35.218 -CONFIG_RMDIR=y
  35.219 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
  35.220 -CONFIG_SEQ=y
  35.221 -CONFIG_SHA1SUM=y
  35.222 -CONFIG_SLEEP=y
  35.223 -CONFIG_FEATURE_FANCY_SLEEP=y
  35.224 -CONFIG_SORT=y
  35.225 -CONFIG_FEATURE_SORT_BIG=y
  35.226 -CONFIG_SPLIT=y
  35.227 -CONFIG_FEATURE_SPLIT_FANCY=y
  35.228 -CONFIG_STAT=y
  35.229 -CONFIG_FEATURE_STAT_FORMAT=y
  35.230 -CONFIG_STTY=y
  35.231 -CONFIG_SUM=y
  35.232 -CONFIG_SYNC=y
  35.233 -# CONFIG_TAC is not set
  35.234 -CONFIG_TAIL=y
  35.235 -CONFIG_FEATURE_FANCY_TAIL=y
  35.236 -CONFIG_TEE=y
  35.237 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
  35.238 -CONFIG_TEST=y
  35.239 -CONFIG_FEATURE_TEST_64=y
  35.240 -CONFIG_TOUCH=y
  35.241 -CONFIG_TR=y
  35.242 -CONFIG_FEATURE_TR_CLASSES=y
  35.243 -CONFIG_FEATURE_TR_EQUIV=y
  35.244 -CONFIG_TRUE=y
  35.245 -CONFIG_TTY=y
  35.246 -CONFIG_UNAME=y
  35.247 -CONFIG_UNEXPAND=y
  35.248 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
  35.249 -CONFIG_UNIQ=y
  35.250 -CONFIG_USLEEP=y
  35.251 -CONFIG_UUDECODE=y
  35.252 -CONFIG_UUENCODE=y
  35.253 -CONFIG_WC=y
  35.254 -CONFIG_FEATURE_WC_LARGE=y
  35.255 -CONFIG_WHO=y
  35.256 -CONFIG_WHOAMI=y
  35.257 -CONFIG_YES=y
  35.258 -
  35.259 -#
  35.260 -# Common options for cp and mv
  35.261 -#
  35.262 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  35.263 -
  35.264 -#
  35.265 -# Common options for ls, more and telnet
  35.266 -#
  35.267 -CONFIG_FEATURE_AUTOWIDTH=y
  35.268 -
  35.269 -#
  35.270 -# Common options for df, du, ls
  35.271 -#
  35.272 -CONFIG_FEATURE_HUMAN_READABLE=y
  35.273 -
  35.274 -#
  35.275 -# Common options for md5sum, sha1sum
  35.276 -#
  35.277 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  35.278 -
  35.279 -#
  35.280 -# Console Utilities
  35.281 -#
  35.282 -CONFIG_CHVT=y
  35.283 -# CONFIG_CLEAR is not set
  35.284 -CONFIG_DEALLOCVT=y
  35.285 -CONFIG_DUMPKMAP=y
  35.286 -# CONFIG_KBD_MODE is not set
  35.287 -CONFIG_LOADFONT=y
  35.288 -CONFIG_LOADKMAP=y
  35.289 -CONFIG_OPENVT=y
  35.290 -# CONFIG_RESET is not set
  35.291 -# CONFIG_RESIZE is not set
  35.292 -# CONFIG_FEATURE_RESIZE_PRINT is not set
  35.293 -CONFIG_SETCONSOLE=y
  35.294 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  35.295 -CONFIG_SETKEYCODES=y
  35.296 -# CONFIG_SETLOGCONS is not set
  35.297 -
  35.298 -#
  35.299 -# Debian Utilities
  35.300 -#
  35.301 -CONFIG_MKTEMP=y
  35.302 -CONFIG_PIPE_PROGRESS=y
  35.303 -# CONFIG_RUN_PARTS is not set
  35.304 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  35.305 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  35.306 -# CONFIG_START_STOP_DAEMON is not set
  35.307 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  35.308 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  35.309 -CONFIG_WHICH=y
  35.310 -
  35.311 -#
  35.312 -# Editors
  35.313 -#
  35.314 -CONFIG_AWK=y
  35.315 -CONFIG_FEATURE_AWK_MATH=y
  35.316 -CONFIG_CMP=y
  35.317 -CONFIG_DIFF=y
  35.318 -CONFIG_FEATURE_DIFF_BINARY=y
  35.319 -CONFIG_FEATURE_DIFF_DIR=y
  35.320 -CONFIG_FEATURE_DIFF_MINIMAL=y
  35.321 -# CONFIG_ED is not set
  35.322 -CONFIG_PATCH=y
  35.323 -CONFIG_SED=y
  35.324 -CONFIG_VI=y
  35.325 -CONFIG_FEATURE_VI_MAX_LEN=1024
  35.326 -CONFIG_FEATURE_VI_8BIT=y
  35.327 -CONFIG_FEATURE_VI_COLON=y
  35.328 -CONFIG_FEATURE_VI_YANKMARK=y
  35.329 -CONFIG_FEATURE_VI_SEARCH=y
  35.330 -CONFIG_FEATURE_VI_USE_SIGNALS=y
  35.331 -CONFIG_FEATURE_VI_DOT_CMD=y
  35.332 -CONFIG_FEATURE_VI_READONLY=y
  35.333 -CONFIG_FEATURE_VI_SETOPTS=y
  35.334 -CONFIG_FEATURE_VI_SET=y
  35.335 -CONFIG_FEATURE_VI_WIN_RESIZE=y
  35.336 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
  35.337 -CONFIG_FEATURE_ALLOW_EXEC=y
  35.338 -
  35.339 -#
  35.340 -# Finding Utilities
  35.341 -#
  35.342 -CONFIG_FIND=y
  35.343 -CONFIG_FEATURE_FIND_PRINT0=y
  35.344 -CONFIG_FEATURE_FIND_MTIME=y
  35.345 -CONFIG_FEATURE_FIND_MMIN=y
  35.346 -CONFIG_FEATURE_FIND_PERM=y
  35.347 -CONFIG_FEATURE_FIND_TYPE=y
  35.348 -CONFIG_FEATURE_FIND_XDEV=y
  35.349 -CONFIG_FEATURE_FIND_MAXDEPTH=y
  35.350 -CONFIG_FEATURE_FIND_NEWER=y
  35.351 -CONFIG_FEATURE_FIND_INUM=y
  35.352 -CONFIG_FEATURE_FIND_EXEC=y
  35.353 -CONFIG_FEATURE_FIND_USER=y
  35.354 -CONFIG_FEATURE_FIND_GROUP=y
  35.355 -CONFIG_FEATURE_FIND_NOT=y
  35.356 -CONFIG_FEATURE_FIND_DEPTH=y
  35.357 -CONFIG_FEATURE_FIND_PAREN=y
  35.358 -CONFIG_FEATURE_FIND_SIZE=y
  35.359 -CONFIG_FEATURE_FIND_PRUNE=y
  35.360 -CONFIG_FEATURE_FIND_DELETE=y
  35.361 -CONFIG_FEATURE_FIND_PATH=y
  35.362 -CONFIG_FEATURE_FIND_REGEX=y
  35.363 -# CONFIG_FEATURE_FIND_CONTEXT is not set
  35.364 -CONFIG_GREP=y
  35.365 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
  35.366 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
  35.367 -CONFIG_FEATURE_GREP_CONTEXT=y
  35.368 -CONFIG_XARGS=y
  35.369 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  35.370 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  35.371 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  35.372 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  35.373 -
  35.374 -#
  35.375 -# Init Utilities
  35.376 -#
  35.377 -CONFIG_INIT=y
  35.378 -# CONFIG_DEBUG_INIT is not set
  35.379 -CONFIG_FEATURE_USE_INITTAB=y
  35.380 -CONFIG_FEATURE_KILL_REMOVED=y
  35.381 -CONFIG_FEATURE_KILL_DELAY=0
  35.382 -CONFIG_FEATURE_INIT_SCTTY=y
  35.383 -# CONFIG_FEATURE_INIT_SYSLOG is not set
  35.384 -CONFIG_FEATURE_EXTRA_QUIET=y
  35.385 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
  35.386 -CONFIG_FEATURE_INITRD=y
  35.387 -CONFIG_HALT=y
  35.388 -CONFIG_MESG=y
  35.389 -
  35.390 -#
  35.391 -# Login/Password Management Utilities
  35.392 -#
  35.393 -CONFIG_FEATURE_SHADOWPASSWDS=y
  35.394 -# CONFIG_USE_BB_SHADOW is not set
  35.395 -# CONFIG_USE_BB_PWD_GRP is not set
  35.396 -CONFIG_ADDGROUP=y
  35.397 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  35.398 -CONFIG_DELGROUP=y
  35.399 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  35.400 -# CONFIG_FEATURE_CHECK_NAMES is not set
  35.401 -CONFIG_ADDUSER=y
  35.402 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
  35.403 -CONFIG_DELUSER=y
  35.404 -CONFIG_GETTY=y
  35.405 -CONFIG_FEATURE_UTMP=y
  35.406 -CONFIG_FEATURE_WTMP=y
  35.407 -CONFIG_LOGIN=y
  35.408 -# CONFIG_PAM is not set
  35.409 -# CONFIG_LOGIN_SCRIPTS is not set
  35.410 -CONFIG_FEATURE_NOLOGIN=y
  35.411 -CONFIG_FEATURE_SECURETTY=y
  35.412 -CONFIG_PASSWD=y
  35.413 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
  35.414 -CONFIG_CRYPTPW=y
  35.415 -CONFIG_CHPASSWD=y
  35.416 -CONFIG_SU=y
  35.417 -CONFIG_FEATURE_SU_SYSLOG=y
  35.418 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y
  35.419 -CONFIG_SULOGIN=y
  35.420 -CONFIG_VLOCK=y
  35.421 -
  35.422 -#
  35.423 -# Linux Ext2 FS Progs
  35.424 -#
  35.425 -# CONFIG_CHATTR is not set
  35.426 -# CONFIG_FSCK is not set
  35.427 -# CONFIG_LSATTR is not set
  35.428 -
  35.429 -#
  35.430 -# Linux Module Utilities
  35.431 -#
  35.432 -# CONFIG_INSMOD is not set
  35.433 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  35.434 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  35.435 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  35.436 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  35.437 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  35.438 -# CONFIG_RMMOD is not set
  35.439 -# CONFIG_LSMOD is not set
  35.440 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
  35.441 -# CONFIG_MODPROBE is not set
  35.442 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
  35.443 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set
  35.444 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
  35.445 -# CONFIG_FEATURE_2_4_MODULES is not set
  35.446 -# CONFIG_FEATURE_2_6_MODULES is not set
  35.447 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
  35.448 -
  35.449 -#
  35.450 -# Linux System Utilities
  35.451 -#
  35.452 -CONFIG_DMESG=y
  35.453 -CONFIG_FEATURE_DMESG_PRETTY=y
  35.454 -CONFIG_FBSET=y
  35.455 -CONFIG_FEATURE_FBSET_FANCY=y
  35.456 -# CONFIG_FEATURE_FBSET_READMODE is not set
  35.457 -CONFIG_FDFLUSH=y
  35.458 -CONFIG_FDFORMAT=y
  35.459 -CONFIG_FDISK=y
  35.460 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  35.461 -CONFIG_FEATURE_FDISK_WRITABLE=y
  35.462 -# CONFIG_FEATURE_AIX_LABEL is not set
  35.463 -# CONFIG_FEATURE_SGI_LABEL is not set
  35.464 -# CONFIG_FEATURE_SUN_LABEL is not set
  35.465 -# CONFIG_FEATURE_OSF_LABEL is not set
  35.466 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
  35.467 -# CONFIG_FINDFS is not set
  35.468 -CONFIG_FREERAMDISK=y
  35.469 -# CONFIG_FSCK_MINIX is not set
  35.470 -# CONFIG_MKFS_MINIX is not set
  35.471 -# CONFIG_FEATURE_MINIX2 is not set
  35.472 -# CONFIG_GETOPT is not set
  35.473 -CONFIG_HEXDUMP=y
  35.474 -CONFIG_FEATURE_HEXDUMP_REVERSE=y
  35.475 -# CONFIG_HD is not set
  35.476 -CONFIG_HWCLOCK=y
  35.477 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
  35.478 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
  35.479 -CONFIG_IPCRM=y
  35.480 -CONFIG_IPCS=y
  35.481 -CONFIG_LOSETUP=y
  35.482 -CONFIG_MDEV=y
  35.483 -CONFIG_FEATURE_MDEV_CONF=y
  35.484 -# CONFIG_FEATURE_MDEV_RENAME is not set
  35.485 -CONFIG_FEATURE_MDEV_EXEC=y
  35.486 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
  35.487 -CONFIG_MKSWAP=y
  35.488 -# CONFIG_FEATURE_MKSWAP_V0 is not set
  35.489 -CONFIG_MORE=y
  35.490 -CONFIG_FEATURE_USE_TERMIOS=y
  35.491 -CONFIG_VOLUMEID=y
  35.492 -CONFIG_FEATURE_VOLUMEID_EXT=y
  35.493 -CONFIG_FEATURE_VOLUMEID_REISERFS=y
  35.494 -CONFIG_FEATURE_VOLUMEID_FAT=y
  35.495 -# CONFIG_FEATURE_VOLUMEID_HFS is not set
  35.496 -# CONFIG_FEATURE_VOLUMEID_JFS is not set
  35.497 -CONFIG_FEATURE_VOLUMEID_XFS=y
  35.498 -CONFIG_FEATURE_VOLUMEID_NTFS=y
  35.499 -CONFIG_FEATURE_VOLUMEID_ISO9660=y
  35.500 -# CONFIG_FEATURE_VOLUMEID_UDF is not set
  35.501 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set
  35.502 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
  35.503 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
  35.504 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
  35.505 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set
  35.506 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
  35.507 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
  35.508 -CONFIG_MOUNT=y
  35.509 -# CONFIG_FEATURE_MOUNT_FAKE is not set
  35.510 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
  35.511 -# CONFIG_FEATURE_MOUNT_HELPERS is not set
  35.512 -CONFIG_FEATURE_MOUNT_LABEL=y
  35.513 -CONFIG_FEATURE_MOUNT_NFS=y
  35.514 -CONFIG_FEATURE_MOUNT_CIFS=y
  35.515 -CONFIG_FEATURE_MOUNT_FLAGS=y
  35.516 -CONFIG_FEATURE_MOUNT_FSTAB=y
  35.517 -CONFIG_PIVOT_ROOT=y
  35.518 -CONFIG_RDATE=y
  35.519 -CONFIG_READPROFILE=y
  35.520 -# CONFIG_RTCWAKE is not set
  35.521 -CONFIG_SETARCH=y
  35.522 -CONFIG_SWAPONOFF=y
  35.523 -CONFIG_SWITCH_ROOT=y
  35.524 -CONFIG_UMOUNT=y
  35.525 -CONFIG_FEATURE_UMOUNT_ALL=y
  35.526 -
  35.527 -#
  35.528 -# Common options for mount/umount
  35.529 -#
  35.530 -CONFIG_FEATURE_MOUNT_LOOP=y
  35.531 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
  35.532 -
  35.533 -#
  35.534 -# Miscellaneous Utilities
  35.535 -#
  35.536 -CONFIG_ADJTIMEX=y
  35.537 -# CONFIG_BBCONFIG is not set
  35.538 -CONFIG_CHAT=y
  35.539 -CONFIG_FEATURE_CHAT_NOFAIL=y
  35.540 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
  35.541 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
  35.542 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
  35.543 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
  35.544 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
  35.545 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
  35.546 -CONFIG_CHRT=y
  35.547 -CONFIG_CROND=y
  35.548 -# CONFIG_DEBUG_CROND_OPTION is not set
  35.549 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  35.550 -CONFIG_CRONTAB=y
  35.551 -# CONFIG_DC is not set
  35.552 -# CONFIG_DEVFSD is not set
  35.553 -# CONFIG_DEVFSD_MODLOAD is not set
  35.554 -# CONFIG_DEVFSD_FG_NP is not set
  35.555 -# CONFIG_DEVFSD_VERBOSE is not set
  35.556 -# CONFIG_FEATURE_DEVFS is not set
  35.557 -CONFIG_EJECT=y
  35.558 -CONFIG_FEATURE_EJECT_SCSI=y
  35.559 -CONFIG_LAST=y
  35.560 -CONFIG_LESS=y
  35.561 -CONFIG_FEATURE_LESS_MAXLINES=9999999
  35.562 -CONFIG_FEATURE_LESS_BRACKETS=y
  35.563 -CONFIG_FEATURE_LESS_FLAGS=y
  35.564 -CONFIG_FEATURE_LESS_FLAGCS=y
  35.565 -CONFIG_FEATURE_LESS_MARKS=y
  35.566 -CONFIG_FEATURE_LESS_REGEXP=y
  35.567 -CONFIG_HDPARM=y
  35.568 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
  35.569 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  35.570 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  35.571 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  35.572 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  35.573 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  35.574 -# CONFIG_MAKEDEVS is not set
  35.575 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  35.576 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  35.577 -CONFIG_MICROCOM=y
  35.578 -CONFIG_MOUNTPOINT=y
  35.579 -# CONFIG_MT is not set
  35.580 -# CONFIG_RAIDAUTORUN is not set
  35.581 -# CONFIG_READAHEAD is not set
  35.582 -# CONFIG_RUNLEVEL is not set
  35.583 -# CONFIG_RX is not set
  35.584 -CONFIG_SCRIPT=y
  35.585 -CONFIG_STRINGS=y
  35.586 -CONFIG_SETSID=y
  35.587 -CONFIG_TASKSET=y
  35.588 -CONFIG_FEATURE_TASKSET_FANCY=y
  35.589 -CONFIG_TIME=y
  35.590 -# CONFIG_TTYSIZE is not set
  35.591 -CONFIG_VCSA2TXT=y
  35.592 -CONFIG_WATCHDOG=y
  35.593 -
  35.594 -#
  35.595 -# Networking Utilities
  35.596 -#
  35.597 -CONFIG_FEATURE_IPV6=y
  35.598 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
  35.599 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  35.600 -CONFIG_ARP=y
  35.601 -CONFIG_ARPING=y
  35.602 -CONFIG_BRCTL=y
  35.603 -CONFIG_FEATURE_BRCTL_FANCY=y
  35.604 -CONFIG_DNSD=y
  35.605 -CONFIG_ETHER_WAKE=y
  35.606 -CONFIG_FAKEIDENTD=y
  35.607 -CONFIG_FTPGET=y
  35.608 -CONFIG_FTPPUT=y
  35.609 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
  35.610 -CONFIG_HOSTNAME=y
  35.611 -# CONFIG_HTTPD is not set
  35.612 -# CONFIG_FEATURE_HTTPD_RANGES is not set
  35.613 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
  35.614 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
  35.615 -# CONFIG_FEATURE_HTTPD_SETUID is not set
  35.616 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
  35.617 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
  35.618 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
  35.619 -# CONFIG_FEATURE_HTTPD_CGI is not set
  35.620 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
  35.621 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
  35.622 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
  35.623 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
  35.624 -# CONFIG_FEATURE_HTTPD_PROXY is not set
  35.625 -CONFIG_IFCONFIG=y
  35.626 -CONFIG_FEATURE_IFCONFIG_STATUS=y
  35.627 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  35.628 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
  35.629 -CONFIG_FEATURE_IFCONFIG_HW=y
  35.630 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  35.631 -# CONFIG_IFENSLAVE is not set
  35.632 -# CONFIG_IFUPDOWN is not set
  35.633 -CONFIG_IFUPDOWN_IFSTATE_PATH=""
  35.634 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
  35.635 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
  35.636 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
  35.637 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  35.638 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  35.639 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  35.640 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  35.641 -CONFIG_INETD=y
  35.642 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  35.643 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  35.644 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  35.645 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  35.646 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  35.647 -CONFIG_FEATURE_INETD_RPC=y
  35.648 -# CONFIG_IP is not set
  35.649 -# CONFIG_FEATURE_IP_ADDRESS is not set
  35.650 -# CONFIG_FEATURE_IP_LINK is not set
  35.651 -# CONFIG_FEATURE_IP_ROUTE is not set
  35.652 -# CONFIG_FEATURE_IP_TUNNEL is not set
  35.653 -# CONFIG_FEATURE_IP_RULE is not set
  35.654 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set
  35.655 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
  35.656 -# CONFIG_IPADDR is not set
  35.657 -# CONFIG_IPLINK is not set
  35.658 -# CONFIG_IPROUTE is not set
  35.659 -# CONFIG_IPTUNNEL is not set
  35.660 -# CONFIG_IPRULE is not set
  35.661 -CONFIG_IPCALC=y
  35.662 -CONFIG_FEATURE_IPCALC_FANCY=y
  35.663 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
  35.664 -CONFIG_NAMEIF=y
  35.665 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
  35.666 -CONFIG_NC=y
  35.667 -CONFIG_NC_SERVER=y
  35.668 -# CONFIG_NC_EXTRA is not set
  35.669 -CONFIG_NETSTAT=y
  35.670 -CONFIG_FEATURE_NETSTAT_WIDE=y
  35.671 -CONFIG_NSLOOKUP=y
  35.672 -CONFIG_PING=y
  35.673 -CONFIG_PING6=y
  35.674 -CONFIG_FEATURE_FANCY_PING=y
  35.675 -CONFIG_PSCAN=y
  35.676 -CONFIG_ROUTE=y
  35.677 -# CONFIG_SENDMAIL is not set
  35.678 -# CONFIG_FETCHMAIL is not set
  35.679 -# CONFIG_SLATTACH is not set
  35.680 -CONFIG_TELNET=y
  35.681 -CONFIG_FEATURE_TELNET_TTYPE=y
  35.682 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  35.683 -# CONFIG_TELNETD is not set
  35.684 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set
  35.685 -CONFIG_TFTP=y
  35.686 -CONFIG_TFTPD=y
  35.687 -CONFIG_FEATURE_TFTP_GET=y
  35.688 -CONFIG_FEATURE_TFTP_PUT=y
  35.689 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  35.690 -# CONFIG_DEBUG_TFTP is not set
  35.691 -CONFIG_TRACEROUTE=y
  35.692 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
  35.693 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
  35.694 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  35.695 -CONFIG_APP_UDHCPD=y
  35.696 -CONFIG_APP_DHCPRELAY=y
  35.697 -CONFIG_APP_DUMPLEASES=y
  35.698 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
  35.699 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases"
  35.700 -CONFIG_APP_UDHCPC=y
  35.701 -CONFIG_FEATURE_UDHCPC_ARPING=y
  35.702 -# CONFIG_FEATURE_UDHCP_PORT is not set
  35.703 -# CONFIG_FEATURE_UDHCP_DEBUG is not set
  35.704 -# CONFIG_FEATURE_RFC3397 is not set
  35.705 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
  35.706 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
  35.707 -CONFIG_VCONFIG=y
  35.708 -CONFIG_WGET=y
  35.709 -CONFIG_FEATURE_WGET_STATUSBAR=y
  35.710 -CONFIG_FEATURE_WGET_AUTHENTICATION=y
  35.711 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
  35.712 -CONFIG_ZCIP=y
  35.713 -# CONFIG_TCPSVD is not set
  35.714 -# CONFIG_UDPSVD is not set
  35.715 -
  35.716 -#
  35.717 -# Process Utilities
  35.718 -#
  35.719 -CONFIG_FREE=y
  35.720 -CONFIG_FUSER=y
  35.721 -CONFIG_KILL=y
  35.722 -CONFIG_KILLALL=y
  35.723 -CONFIG_KILLALL5=y
  35.724 -CONFIG_NMETER=y
  35.725 -# CONFIG_PGREP is not set
  35.726 -CONFIG_PIDOF=y
  35.727 -CONFIG_FEATURE_PIDOF_SINGLE=y
  35.728 -CONFIG_FEATURE_PIDOF_OMIT=y
  35.729 -# CONFIG_PKILL is not set
  35.730 -CONFIG_PS=y
  35.731 -CONFIG_FEATURE_PS_WIDE=y
  35.732 -# CONFIG_FEATURE_PS_TIME is not set
  35.733 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
  35.734 -CONFIG_RENICE=y
  35.735 -CONFIG_BB_SYSCTL=y
  35.736 -CONFIG_TOP=y
  35.737 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
  35.738 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
  35.739 -# CONFIG_FEATURE_TOP_DECIMALS is not set
  35.740 -CONFIG_FEATURE_TOPMEM=y
  35.741 -CONFIG_UPTIME=y
  35.742 -CONFIG_WATCH=y
  35.743 -
  35.744 -#
  35.745 -# Shells
  35.746 -#
  35.747 -CONFIG_FEATURE_SH_IS_ASH=y
  35.748 -# CONFIG_FEATURE_SH_IS_HUSH is not set
  35.749 -# CONFIG_FEATURE_SH_IS_MSH is not set
  35.750 -# CONFIG_FEATURE_SH_IS_NONE is not set
  35.751 -CONFIG_ASH=y
  35.752 -
  35.753 -#
  35.754 -# Ash Shell Options
  35.755 -#
  35.756 -CONFIG_ASH_JOB_CONTROL=y
  35.757 -CONFIG_ASH_READ_NCHARS=y
  35.758 -CONFIG_ASH_READ_TIMEOUT=y
  35.759 -CONFIG_ASH_ALIAS=y
  35.760 -CONFIG_ASH_MATH_SUPPORT=y
  35.761 -CONFIG_ASH_MATH_SUPPORT_64=y
  35.762 -CONFIG_ASH_GETOPTS=y
  35.763 -CONFIG_ASH_BUILTIN_ECHO=y
  35.764 -CONFIG_ASH_BUILTIN_TEST=y
  35.765 -CONFIG_ASH_CMDCMD=y
  35.766 -# CONFIG_ASH_MAIL is not set
  35.767 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
  35.768 -CONFIG_ASH_RANDOM_SUPPORT=y
  35.769 -# CONFIG_ASH_EXPAND_PRMT is not set
  35.770 -# CONFIG_HUSH is not set
  35.771 -# CONFIG_HUSH_HELP is not set
  35.772 -# CONFIG_HUSH_INTERACTIVE is not set
  35.773 -# CONFIG_HUSH_JOB is not set
  35.774 -# CONFIG_HUSH_TICK is not set
  35.775 -# CONFIG_HUSH_IF is not set
  35.776 -# CONFIG_HUSH_LOOPS is not set
  35.777 -# CONFIG_LASH is not set
  35.778 -# CONFIG_MSH is not set
  35.779 -
  35.780 -#
  35.781 -# Bourne Shell Options
  35.782 -#
  35.783 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
  35.784 -# CONFIG_FEATURE_SH_STANDALONE is not set
  35.785 -# CONFIG_CTTYHACK is not set
  35.786 -
  35.787 -#
  35.788 -# System Logging Utilities
  35.789 -#
  35.790 -CONFIG_SYSLOGD=y
  35.791 -CONFIG_FEATURE_ROTATE_LOGFILE=y
  35.792 -CONFIG_FEATURE_REMOTE_LOG=y
  35.793 -CONFIG_FEATURE_SYSLOGD_DUP=y
  35.794 -# CONFIG_FEATURE_IPC_SYSLOG is not set
  35.795 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=
  35.796 -# CONFIG_LOGREAD is not set
  35.797 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
  35.798 -CONFIG_KLOGD=y
  35.799 -CONFIG_LOGGER=y
  35.800 -
  35.801 -#
  35.802 -# Runit Utilities
  35.803 -#
  35.804 -# CONFIG_RUNSV is not set
  35.805 -# CONFIG_RUNSVDIR is not set
  35.806 -# CONFIG_SV is not set
  35.807 -# CONFIG_SVLOGD is not set
  35.808 -# CONFIG_CHPST is not set
  35.809 -# CONFIG_SETUIDGID is not set
  35.810 -# CONFIG_ENVUIDGID is not set
  35.811 -# CONFIG_ENVDIR is not set
  35.812 -# CONFIG_SOFTLIMIT is not set
  35.813 -# CONFIG_CHCON is not set
  35.814 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
  35.815 -# CONFIG_GETENFORCE is not set
  35.816 -# CONFIG_GETSEBOOL is not set
  35.817 -# CONFIG_LOAD_POLICY is not set
  35.818 -# CONFIG_MATCHPATHCON is not set
  35.819 -# CONFIG_RESTORECON is not set
  35.820 -# CONFIG_RUNCON is not set
  35.821 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
  35.822 -# CONFIG_SELINUXENABLED is not set
  35.823 -# CONFIG_SETENFORCE is not set
  35.824 -# CONFIG_SETFILES is not set
  35.825 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
  35.826 -# CONFIG_SETSEBOOL is not set
  35.827 -# CONFIG_SESTATUS is not set
  35.828 -
  35.829 -#
  35.830 -# Print Utilities
  35.831 -#
  35.832 -CONFIG_LPD=y
  35.833 -CONFIG_LPR=y
  35.834 -CONFIG_LPQ=y
    36.1 --- a/busybox/stuff/busybox-1.11.0-cpio-mkdir.u	Wed May 27 11:52:33 2009 +0200
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,1 +0,0 @@
    36.4 -busybox-1.10.3-cpio-mkdir.u
    36.5 \ No newline at end of file
    37.1 --- a/busybox/stuff/busybox-1.11.0-cpio-mtime.u	Wed May 27 11:52:33 2009 +0200
    37.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.3 @@ -1,21 +0,0 @@
    37.4 ---- busybox-1.11.0/archival/cpio.c
    37.5 -+++ busybox-1.11.0/archival/cpio.c
    37.6 -@@ -204,7 +204,7 @@
    37.7 - 	archive_handle = init_handle();
    37.8 - 	archive_handle->src_fd = STDIN_FILENO;
    37.9 - 	archive_handle->seek = seek_by_read;
   37.10 --	archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE;
   37.11 -+	archive_handle->flags = ARCHIVE_EXTRACT_NEWER;
   37.12 - 
   37.13 - #if ENABLE_FEATURE_CPIO_O
   37.14 - 	opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename, &cpio_fmt);
   37.15 -@@ -258,6 +258,9 @@
   37.16 - 	if (opt & CPIO_OPT_CREATE_LEADING_DIR) {
   37.17 - 		archive_handle->flags |= ARCHIVE_CREATE_LEADING_DIRS;
   37.18 - 	}
   37.19 -+	if (opt & CPIO_OPT_PRESERVE_MTIME) {
   37.20 -+		archive_handle->flags |= ARCHIVE_PRESERVE_DATE;
   37.21 -+	}
   37.22 - 
   37.23 - 	while (*argv) {
   37.24 - 		archive_handle->filter = filter_accept_list;
    38.1 --- a/busybox/stuff/busybox-1.11.0-stat.u	Wed May 27 11:52:33 2009 +0200
    38.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.3 @@ -1,74 +0,0 @@
    38.4 -Add stat -m
    38.5 ---- busybox-1.11.0/coreutils/stat.c
    38.6 -+++ busybox-1.11.0/coreutils/stat.c
    38.7 -@@ -14,12 +14,14 @@
    38.8 -  */
    38.9 - 
   38.10 - #include "libbb.h"
   38.11 -+#include <linux/fs.h>
   38.12 - 
   38.13 - /* vars to control behavior */
   38.14 - #define OPT_FILESYS     (1 << 0)
   38.15 - #define OPT_TERSE       (1 << 1)
   38.16 - #define OPT_DEREFERENCE (1 << 2)
   38.17 --#define OPT_SELINUX     (1 << 3)
   38.18 -+#define OPT_MAP         (1 << 3)
   38.19 -+#define OPT_SELINUX     (1 << 4)
   38.20 - 
   38.21 - #if ENABLE_FEATURE_STAT_FORMAT
   38.22 - typedef bool (*statfunc_ptr)(const char *, const char *);
   38.23 -@@ -345,6 +347,26 @@
   38.24 - 
   38.25 - /* Stat the file system and print what we find.  */
   38.26 - #if !ENABLE_FEATURE_STAT_FORMAT
   38.27 -+#define do_mapfile(filename, format) do_mapfile(filename)
   38.28 -+#endif
   38.29 -+static bool do_mapfile(const char *filename, const char *format)
   38.30 -+{
   38.31 -+	int i = 0;
   38.32 -+	int fd = xopen(filename, O_RDONLY);
   38.33 -+
   38.34 -+#if ENABLE_FEATURE_STAT_FORMAT
   38.35 -+	(void) format;
   38.36 -+#endif
   38.37 -+	while (1) {
   38.38 -+		int blk = i++;
   38.39 -+		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   38.40 -+		printf("%u\n",blk);
   38.41 -+	}	
   38.42 -+	return 1;
   38.43 -+}
   38.44 -+
   38.45 -+/* Stat the file system and print what we find.  */
   38.46 -+#if !ENABLE_FEATURE_STAT_FORMAT
   38.47 - #define do_statfs(filename, format) do_statfs(filename)
   38.48 - #endif
   38.49 - static bool do_statfs(const char *filename, const char *format)
   38.50 -@@ -632,13 +654,15 @@
   38.51 - 	int ok = 1;
   38.52 - 	statfunc_ptr statfunc = do_stat;
   38.53 - 
   38.54 --	getopt32(argv, "ftL"
   38.55 -+	getopt32(argv, "ftLm"
   38.56 - 		USE_SELINUX("Z")
   38.57 - 		USE_FEATURE_STAT_FORMAT("c:", &format)
   38.58 - 	);
   38.59 - 
   38.60 - 	if (option_mask32 & OPT_FILESYS) /* -f */
   38.61 - 		statfunc = do_statfs;
   38.62 -+	if (option_mask32 & OPT_MAP) /* -m */
   38.63 -+		statfunc = do_mapfile;
   38.64 - 	if (argc == optind)           /* files */
   38.65 - 		bb_show_usage();
   38.66 - 
   38.67 -
   38.68 ---- busybox-1.11.0/include/usage.h
   38.69 -+++ busybox-1.11.0/include/usage.h
   38.70 -@@ -3711,6 +3711,7 @@
   38.71 - 	) \
   38.72 -      "\n	-f	Display filesystem status" \
   38.73 -      "\n	-L	Dereference links" \
   38.74 -+     "\n	-m	Display block list" \
   38.75 -      "\n	-t	Display info in terse form" \
   38.76 - 	USE_SELINUX( \
   38.77 -      "\n	-Z	Print security context" \
    39.1 --- a/busybox/stuff/busybox-1.11.0-unlzma.u	Wed May 27 11:52:33 2009 +0200
    39.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.3 @@ -1,30 +0,0 @@
    39.4 ---- busybox-1.11.0/archival/libunarchive/decompress_unlzma.c
    39.5 -+++ busybox-1.11.0/archival/libunarchive/decompress_unlzma.c
    39.6 -@@ -78,7 +78,7 @@
    39.7 - }
    39.8 - 
    39.9 - /* Called once  */
   39.10 --static ALWAYS_INLINE void rc_free(rc_t * rc)
   39.11 -+static ALWAYS_INLINE void rc_free(void * rc)
   39.12 - {
   39.13 - 	if (ENABLE_FEATURE_CLEAN_UP)
   39.14 - 		free(rc);
   39.15 -@@ -491,10 +491,14 @@
   39.16 - 
   39.17 - 	if (full_write(dst_fd, buffer, buffer_pos) != (ssize_t)buffer_pos) {
   39.18 -  bad:
   39.19 --		rc_free(rc);
   39.20 --		return -1;
   39.21 -+		len = -1;
   39.22 -+	}
   39.23 -+	else {
   39.24 -+		USE_DESKTOP(total_written += buffer_pos;)
   39.25 -+		len = USE_DESKTOP(total_written) + 0;
   39.26 - 	}
   39.27 - 	rc_free(rc);
   39.28 --	USE_DESKTOP(total_written += buffer_pos;)
   39.29 --	return USE_DESKTOP(total_written) + 0;
   39.30 -+	rc_free(buffer);
   39.31 -+	rc_free(p);
   39.32 -+	return len;
   39.33 - }
    40.1 --- a/busybox/stuff/busybox-1.11.0-vcsa2txt.u	Wed May 27 11:52:33 2009 +0200
    40.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.3 @@ -1,134 +0,0 @@
    40.4 ---- busybox-1.11.0/include/applets.h
    40.5 -+++ busybox-1.11.0/include/applets.h
    40.6 -@@ -380,6 +380,7 @@
    40.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    40.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    40.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
   40.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   40.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
   40.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
   40.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
   40.14 - 
   40.15 ---- busybox-1.11.0/include/usage.h
   40.16 -+++ busybox-1.11.0/include/usage.h
   40.17 -@@ -4455,6 +4455,13 @@
   40.18 -      "\n	set_ingress_map	[vlan-name] [skb_priority] [vlan_qos]" \
   40.19 -      "\n	set_name_type	[name-type]" \
   40.20 - 
   40.21 -+#define vcsa2txt_trivial_usage \
   40.22 -+       "stdin"
   40.23 -+#define vcsa2txt_full_usage \
   40.24 -+       "Filter /dev/vcsa* to ansi escape sequences"
   40.25 -+#define vcsa2txt_example_usage \
   40.26 -+       "# vcsa2txt < /dev/vcsa1\n"
   40.27 -+
   40.28 - #define vi_trivial_usage \
   40.29 -        "[OPTION] [FILE]..."
   40.30 - #define vi_full_usage "\n\n" \
   40.31 - 
   40.32 ---- busybox-1.11.0/miscutils/Config.in
   40.33 -+++ busybox-1.11.0/miscutils/Config.in
   40.34 -@@ -506,6 +506,12 @@
   40.35 - 	  only height, or both, in any order. It also does not complain on error,
   40.36 - 	  but returns default 80x24. Usage in shell scripts: width=`ttysize w`.
   40.37 - 
   40.38 -+config VCSA2TXT
   40.39 -+	bool "vcsa2txt"
   40.40 -+	default n
   40.41 -+	help
   40.42 -+	  Filter /dev/vcsa* output to ansi escape sequences.
   40.43 -+
   40.44 - config WATCHDOG
   40.45 - 	bool "watchdog"
   40.46 - 	default n
   40.47 -	
   40.48 ---- busybox-1.11.0/util-linux/Kbuild
   40.49 -+++ busybox-1.11.0/util-linux/Kbuild
   40.50 -@@ -33,3 +33,4 @@
   40.51 - lib-$(CONFIG_SWAPONOFF)         += swaponoff.o
   40.52 - lib-$(CONFIG_SWITCH_ROOT)       += switch_root.o
   40.53 - lib-$(CONFIG_UMOUNT)            += umount.o
   40.54 -+lib-$(CONFIG_VCSA2TXT)          += vcsa2txt.o
   40.55 -
   40.56 ---- busybox-1.11.0/util-linux/vcsa2txt.c
   40.57 -+++ busybox-1.11.0/util-linux/vcsa2txt.c
   40.58 -@@ -0,0 +1,79 @@
   40.59 -+/* vi: set sw=4 ts=4: */
   40.60 -+/*
   40.61 -+ * /dev/vcsa* filter for busybox
   40.62 -+ *
   40.63 -+ * pascal.bellard@ads-lu.com
   40.64 -+ *
   40.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
   40.66 -+ */
   40.67 -+ 
   40.68 -+#include "libbb.h"
   40.69 -+
   40.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE;
   40.71 -+int vcsa2txt_main(int argc)
   40.72 -+{
   40.73 -+    struct {
   40.74 -+	unsigned char l, c, x, y; // man 4 console_codes
   40.75 -+    } scrn;
   40.76 -+    unsigned char last = 0, ch[2];                     // BLGCRMOW
   40.77 -+    static  unsigned char end[5] = "\e[0m\n", color[8] = "04261537";
   40.78 -+    int sp, lf, x;
   40.79 -+    
   40.80 -+    if (safe_read(0, &scrn, 4) < 0) return 1;
   40.81 -+    for (lf = 0; scrn.l; lf++, scrn.l--) {
   40.82 -+	for (sp = x = 0; ++x <= scrn.c;) {
   40.83 -+	    if (safe_read(0, &ch[0], 2) < 0) return 1;
   40.84 -+	    if (argc > 1) ch[1] = 0;
   40.85 -+	    sp++;
   40.86 -+	    if (last == ch[1] && ch[0] == ' ') continue;
   40.87 -+	    for (lf++; --lf;) bb_putchar('\n');
   40.88 -+	    while (--sp) bb_putchar(' ');
   40.89 -+#define ENABLE_VCSA_PACKED 1
   40.90 -+#if ENABLE_VCSA_PACKED
   40.91 -+	    if (last ^= ch[1]) {
   40.92 -+		char esc[16],*s;
   40.93 -+		struct offsets {
   40.94 -+		    char mask, type, shr;
   40.95 -+		} *p;
   40.96 -+		static struct offsets offset[3] = {
   40.97 -+		    {8,0,1}, {0x70,'4',4}, {7,'3',0}
   40.98 -+		};
   40.99 -+		static char init = 0x7F;
  40.100 -+		
  40.101 -+		s = esc+2;
  40.102 -+		*(short *)esc = ntohs(256*'\e'+'[');
  40.103 -+		p = offset;
  40.104 -+		do {
  40.105 -+		    if ((init|last) & p->mask) {
  40.106 -+			int c = (ch[1] & p->mask) >> p->shr;
  40.107 -+		    
  40.108 -+			if ((*s = p->type) != 0) s++;
  40.109 -+			else if (c == 0) {
  40.110 -+			    c = 2;
  40.111 -+			    *s++ = '2'; /* normal */
  40.112 -+			}
  40.113 -+			*s++ = color[c];
  40.114 -+			*s++ = ';'; 
  40.115 -+		    }
  40.116 -+		} while (p++->shr);
  40.117 -+		s[-1] = 'm';
  40.118 -+		init = 0;
  40.119 -+		fwrite(esc,s-esc,1,stdout);
  40.120 -+	    }
  40.121 -+	    last = ch[1];
  40.122 -+#else
  40.123 -+	    if (last != ch[1]) {
  40.124 -+		static char esc[10] = "\e[0;47;37m";
  40.125 -+		
  40.126 -+		esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */;
  40.127 -+		esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7];
  40.128 -+		esc[sizeof(esc)-2] = color[ch[1] & 7];
  40.129 -+		fwrite(esc,sizeof(esc),1,stdout);
  40.130 -+	    }
  40.131 -+#endif
  40.132 -+	    bb_putchar(ch[0]);
  40.133 -+	}
  40.134 -+    }
  40.135 -+    fwrite(end,sizeof(end),1,stdout);
  40.136 -+    return 0;
  40.137 -+}
    41.1 --- a/busybox/stuff/busybox-1.11.0.config	Wed May 27 11:52:33 2009 +0200
    41.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.3 @@ -1,853 +0,0 @@
    41.4 -# TODO: add RESET CLEAR RMMOD LSMOD MODPROBE DEPMOD (+gz/lzma)
    41.5 -#
    41.6 -# Automatically generated make config: don't edit
    41.7 -# Busybox version: 1.11.0
    41.8 -# Thu Jun 26 11:34:13 2008
    41.9 -#
   41.10 -CONFIG_HAVE_DOT_CONFIG=y
   41.11 -
   41.12 -#
   41.13 -# Busybox Settings
   41.14 -#
   41.15 -
   41.16 -#
   41.17 -# General Configuration
   41.18 -#
   41.19 -CONFIG_DESKTOP=y
   41.20 -# CONFIG_FEATURE_ASSUME_UNICODE is not set
   41.21 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
   41.22 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   41.23 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   41.24 -CONFIG_SHOW_USAGE=y
   41.25 -CONFIG_FEATURE_VERBOSE_USAGE=y
   41.26 -CONFIG_FEATURE_COMPRESS_USAGE=y
   41.27 -CONFIG_FEATURE_INSTALLER=y
   41.28 -CONFIG_LOCALE_SUPPORT=y
   41.29 -CONFIG_GETOPT_LONG=y
   41.30 -CONFIG_FEATURE_DEVPTS=y
   41.31 -# CONFIG_FEATURE_CLEAN_UP is not set
   41.32 -CONFIG_FEATURE_PIDFILE=y
   41.33 -CONFIG_FEATURE_SUID=y
   41.34 -CONFIG_FEATURE_SUID_CONFIG=y
   41.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   41.36 -# CONFIG_SELINUX is not set
   41.37 -# CONFIG_FEATURE_PREFER_APPLETS is not set
   41.38 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
   41.39 -CONFIG_FEATURE_SYSLOG=y
   41.40 -CONFIG_FEATURE_HAVE_RPC=y
   41.41 -
   41.42 -#
   41.43 -# Build Options
   41.44 -#
   41.45 -# CONFIG_STATIC is not set
   41.46 -# CONFIG_PIE is not set
   41.47 -# CONFIG_NOMMU is not set
   41.48 -# CONFIG_BUILD_LIBBUSYBOX is not set
   41.49 -# CONFIG_FEATURE_INDIVIDUAL is not set
   41.50 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   41.51 -CONFIG_LFS=y
   41.52 -CONFIG_CROSS_COMPILER_PREFIX=""
   41.53 -
   41.54 -#
   41.55 -# Debugging Options
   41.56 -#
   41.57 -# CONFIG_DEBUG is not set
   41.58 -# CONFIG_DEBUG_PESSIMIZE is not set
   41.59 -# CONFIG_WERROR is not set
   41.60 -CONFIG_NO_DEBUG_LIB=y
   41.61 -# CONFIG_DMALLOC is not set
   41.62 -# CONFIG_EFENCE is not set
   41.63 -CONFIG_INCLUDE_SUSv2=y
   41.64 -
   41.65 -#
   41.66 -# Installation Options
   41.67 -#
   41.68 -# CONFIG_INSTALL_NO_USR is not set
   41.69 -CONFIG_INSTALL_APPLET_SYMLINKS=y
   41.70 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set
   41.71 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
   41.72 -# CONFIG_INSTALL_APPLET_DONT is not set
   41.73 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
   41.74 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
   41.75 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
   41.76 -CONFIG_PREFIX="./_install"
   41.77 -
   41.78 -#
   41.79 -# Busybox Library Tuning
   41.80 -#
   41.81 -CONFIG_PASSWORD_MINLEN=6
   41.82 -CONFIG_MD5_SIZE_VS_SPEED=0
   41.83 -# CONFIG_FEATURE_FAST_TOP is not set
   41.84 -# CONFIG_FEATURE_ETC_NETWORKS is not set
   41.85 -CONFIG_FEATURE_EDITING=y
   41.86 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
   41.87 -# CONFIG_FEATURE_EDITING_VI is not set
   41.88 -CONFIG_FEATURE_EDITING_HISTORY=127
   41.89 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y
   41.90 -CONFIG_FEATURE_TAB_COMPLETION=y
   41.91 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
   41.92 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
   41.93 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
   41.94 -CONFIG_FEATURE_COPYBUF_KB=4
   41.95 -CONFIG_MONOTONIC_SYSCALL=y
   41.96 -CONFIG_IOCTL_HEX2STR_ERROR=y
   41.97 -CONFIG_FEATURE_HWIB=y
   41.98 -
   41.99 -#
  41.100 -# Applets
  41.101 -#
  41.102 -
  41.103 -#
  41.104 -# Archival Utilities
  41.105 -#
  41.106 -# CONFIG_AR is not set
  41.107 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
  41.108 -CONFIG_BUNZIP2=y
  41.109 -# CONFIG_BZIP2 is not set
  41.110 -CONFIG_CPIO=y
  41.111 -CONFIG_FEATURE_CPIO_O=y
  41.112 -CONFIG_DPKG=y
  41.113 -CONFIG_DPKG_DEB=y
  41.114 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
  41.115 -CONFIG_GUNZIP=y
  41.116 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
  41.117 -CONFIG_GZIP=y
  41.118 -CONFIG_RPM2CPIO=y
  41.119 -CONFIG_RPM=y
  41.120 -CONFIG_FEATURE_RPM_BZ2=y
  41.121 -CONFIG_TAR=y
  41.122 -CONFIG_FEATURE_TAR_CREATE=y
  41.123 -CONFIG_FEATURE_TAR_GZIP=y
  41.124 -CONFIG_FEATURE_TAR_BZIP2=y
  41.125 -CONFIG_FEATURE_TAR_LZMA=y
  41.126 -CONFIG_FEATURE_TAR_COMPRESS=y
  41.127 -CONFIG_FEATURE_TAR_AUTODETECT=y
  41.128 -CONFIG_FEATURE_TAR_FROM=y
  41.129 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
  41.130 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
  41.131 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  41.132 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y
  41.133 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
  41.134 -CONFIG_UNCOMPRESS=y
  41.135 -CONFIG_UNLZMA=y
  41.136 -# CONFIG_FEATURE_LZMA_FAST is not set
  41.137 -CONFIG_UNZIP=y
  41.138 -
  41.139 -#
  41.140 -# Common options for cpio and tar
  41.141 -#
  41.142 -
  41.143 -#
  41.144 -# Common options for dpkg and dpkg_deb
  41.145 -#
  41.146 -CONFIG_FEATURE_DEB_TAR_GZ=y
  41.147 -CONFIG_FEATURE_DEB_TAR_BZ2=y
  41.148 -CONFIG_FEATURE_DEB_TAR_LZMA=y
  41.149 -
  41.150 -#
  41.151 -# Coreutils
  41.152 -#
  41.153 -CONFIG_BASENAME=y
  41.154 -CONFIG_CAL=y
  41.155 -CONFIG_CAT=y
  41.156 -# CONFIG_CATV is not set
  41.157 -CONFIG_CHGRP=y
  41.158 -CONFIG_CHMOD=y
  41.159 -CONFIG_CHOWN=y
  41.160 -CONFIG_CHROOT=y
  41.161 -CONFIG_CKSUM=y
  41.162 -CONFIG_COMM=y
  41.163 -CONFIG_CP=y
  41.164 -CONFIG_CUT=y
  41.165 -CONFIG_DATE=y
  41.166 -CONFIG_FEATURE_DATE_ISOFMT=y
  41.167 -CONFIG_DD=y
  41.168 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  41.169 -CONFIG_FEATURE_DD_IBS_OBS=y
  41.170 -CONFIG_DF=y
  41.171 -CONFIG_FEATURE_DF_INODE=y
  41.172 -CONFIG_DIRNAME=y
  41.173 -CONFIG_DOS2UNIX=y
  41.174 -CONFIG_UNIX2DOS=y
  41.175 -CONFIG_DU=y
  41.176 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  41.177 -CONFIG_ECHO=y
  41.178 -CONFIG_FEATURE_FANCY_ECHO=y
  41.179 -CONFIG_ENV=y
  41.180 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
  41.181 -CONFIG_EXPAND=y
  41.182 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
  41.183 -CONFIG_EXPR=y
  41.184 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  41.185 -CONFIG_FALSE=y
  41.186 -CONFIG_FOLD=y
  41.187 -CONFIG_HEAD=y
  41.188 -CONFIG_FEATURE_FANCY_HEAD=y
  41.189 -CONFIG_HOSTID=y
  41.190 -CONFIG_ID=y
  41.191 -CONFIG_INSTALL=y
  41.192 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
  41.193 -CONFIG_LENGTH=y
  41.194 -CONFIG_LN=y
  41.195 -CONFIG_LOGNAME=y
  41.196 -CONFIG_LS=y
  41.197 -CONFIG_FEATURE_LS_FILETYPES=y
  41.198 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
  41.199 -CONFIG_FEATURE_LS_RECURSIVE=y
  41.200 -CONFIG_FEATURE_LS_SORTFILES=y
  41.201 -CONFIG_FEATURE_LS_TIMESTAMPS=y
  41.202 -CONFIG_FEATURE_LS_USERNAME=y
  41.203 -CONFIG_FEATURE_LS_COLOR=y
  41.204 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  41.205 -CONFIG_MD5SUM=y
  41.206 -CONFIG_MKDIR=y
  41.207 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
  41.208 -CONFIG_MKFIFO=y
  41.209 -CONFIG_MKNOD=y
  41.210 -CONFIG_MV=y
  41.211 -CONFIG_FEATURE_MV_LONG_OPTIONS=y
  41.212 -CONFIG_NICE=y
  41.213 -CONFIG_NOHUP=y
  41.214 -CONFIG_OD=y
  41.215 -CONFIG_PRINTENV=y
  41.216 -CONFIG_PRINTF=y
  41.217 -CONFIG_PWD=y
  41.218 -CONFIG_READLINK=y
  41.219 -CONFIG_FEATURE_READLINK_FOLLOW=y
  41.220 -CONFIG_REALPATH=y
  41.221 -CONFIG_RM=y
  41.222 -CONFIG_RMDIR=y
  41.223 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
  41.224 -CONFIG_SEQ=y
  41.225 -CONFIG_SHA1SUM=y
  41.226 -CONFIG_SLEEP=y
  41.227 -CONFIG_FEATURE_FANCY_SLEEP=y
  41.228 -CONFIG_SORT=y
  41.229 -CONFIG_FEATURE_SORT_BIG=y
  41.230 -CONFIG_SPLIT=y
  41.231 -CONFIG_FEATURE_SPLIT_FANCY=y
  41.232 -CONFIG_STAT=y
  41.233 -CONFIG_FEATURE_STAT_FORMAT=y
  41.234 -CONFIG_STTY=y
  41.235 -CONFIG_SUM=y
  41.236 -CONFIG_SYNC=y
  41.237 -# CONFIG_TAC is not set
  41.238 -CONFIG_TAIL=y
  41.239 -CONFIG_FEATURE_FANCY_TAIL=y
  41.240 -CONFIG_TEE=y
  41.241 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
  41.242 -CONFIG_TEST=y
  41.243 -CONFIG_FEATURE_TEST_64=y
  41.244 -CONFIG_TOUCH=y
  41.245 -CONFIG_TR=y
  41.246 -CONFIG_FEATURE_TR_CLASSES=y
  41.247 -CONFIG_FEATURE_TR_EQUIV=y
  41.248 -CONFIG_TRUE=y
  41.249 -CONFIG_TTY=y
  41.250 -CONFIG_UNAME=y
  41.251 -CONFIG_UNEXPAND=y
  41.252 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
  41.253 -CONFIG_UNIQ=y
  41.254 -CONFIG_USLEEP=y
  41.255 -CONFIG_UUDECODE=y
  41.256 -CONFIG_UUENCODE=y
  41.257 -CONFIG_WC=y
  41.258 -CONFIG_FEATURE_WC_LARGE=y
  41.259 -CONFIG_WHO=y
  41.260 -CONFIG_WHOAMI=y
  41.261 -CONFIG_YES=y
  41.262 -
  41.263 -#
  41.264 -# Common options for cp and mv
  41.265 -#
  41.266 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  41.267 -
  41.268 -#
  41.269 -# Common options for ls, more and telnet
  41.270 -#
  41.271 -CONFIG_FEATURE_AUTOWIDTH=y
  41.272 -
  41.273 -#
  41.274 -# Common options for df, du, ls
  41.275 -#
  41.276 -CONFIG_FEATURE_HUMAN_READABLE=y
  41.277 -
  41.278 -#
  41.279 -# Common options for md5sum, sha1sum
  41.280 -#
  41.281 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  41.282 -
  41.283 -#
  41.284 -# Console Utilities
  41.285 -#
  41.286 -CONFIG_CHVT=y
  41.287 -# CONFIG_CLEAR is not set
  41.288 -CONFIG_DEALLOCVT=y
  41.289 -CONFIG_DUMPKMAP=y
  41.290 -CONFIG_KBD_MODE=y
  41.291 -CONFIG_LOADFONT=y
  41.292 -CONFIG_LOADKMAP=y
  41.293 -CONFIG_OPENVT=y
  41.294 -# CONFIG_RESET is not set
  41.295 -# CONFIG_RESIZE is not set
  41.296 -# CONFIG_FEATURE_RESIZE_PRINT is not set
  41.297 -CONFIG_SETCONSOLE=y
  41.298 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  41.299 -CONFIG_SETKEYCODES=y
  41.300 -# CONFIG_SETLOGCONS is not set
  41.301 -
  41.302 -#
  41.303 -# Debian Utilities
  41.304 -#
  41.305 -CONFIG_MKTEMP=y
  41.306 -CONFIG_PIPE_PROGRESS=y
  41.307 -# CONFIG_RUN_PARTS is not set
  41.308 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  41.309 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  41.310 -# CONFIG_START_STOP_DAEMON is not set
  41.311 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  41.312 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  41.313 -CONFIG_WHICH=y
  41.314 -
  41.315 -#
  41.316 -# Editors
  41.317 -#
  41.318 -CONFIG_AWK=y
  41.319 -CONFIG_FEATURE_AWK_MATH=y
  41.320 -CONFIG_CMP=y
  41.321 -CONFIG_DIFF=y
  41.322 -CONFIG_FEATURE_DIFF_BINARY=y
  41.323 -CONFIG_FEATURE_DIFF_DIR=y
  41.324 -CONFIG_FEATURE_DIFF_MINIMAL=y
  41.325 -# CONFIG_ED is not set
  41.326 -CONFIG_PATCH=y
  41.327 -CONFIG_SED=y
  41.328 -CONFIG_VI=y
  41.329 -CONFIG_FEATURE_VI_MAX_LEN=1024
  41.330 -CONFIG_FEATURE_VI_8BIT=y
  41.331 -CONFIG_FEATURE_VI_COLON=y
  41.332 -CONFIG_FEATURE_VI_YANKMARK=y
  41.333 -CONFIG_FEATURE_VI_SEARCH=y
  41.334 -CONFIG_FEATURE_VI_USE_SIGNALS=y
  41.335 -CONFIG_FEATURE_VI_DOT_CMD=y
  41.336 -CONFIG_FEATURE_VI_READONLY=y
  41.337 -CONFIG_FEATURE_VI_SETOPTS=y
  41.338 -CONFIG_FEATURE_VI_SET=y
  41.339 -CONFIG_FEATURE_VI_WIN_RESIZE=y
  41.340 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
  41.341 -CONFIG_FEATURE_ALLOW_EXEC=y
  41.342 -
  41.343 -#
  41.344 -# Finding Utilities
  41.345 -#
  41.346 -CONFIG_FIND=y
  41.347 -CONFIG_FEATURE_FIND_PRINT0=y
  41.348 -CONFIG_FEATURE_FIND_MTIME=y
  41.349 -CONFIG_FEATURE_FIND_MMIN=y
  41.350 -CONFIG_FEATURE_FIND_PERM=y
  41.351 -CONFIG_FEATURE_FIND_TYPE=y
  41.352 -CONFIG_FEATURE_FIND_XDEV=y
  41.353 -CONFIG_FEATURE_FIND_MAXDEPTH=y
  41.354 -CONFIG_FEATURE_FIND_NEWER=y
  41.355 -CONFIG_FEATURE_FIND_INUM=y
  41.356 -CONFIG_FEATURE_FIND_EXEC=y
  41.357 -CONFIG_FEATURE_FIND_USER=y
  41.358 -CONFIG_FEATURE_FIND_GROUP=y
  41.359 -CONFIG_FEATURE_FIND_NOT=y
  41.360 -CONFIG_FEATURE_FIND_DEPTH=y
  41.361 -CONFIG_FEATURE_FIND_PAREN=y
  41.362 -CONFIG_FEATURE_FIND_SIZE=y
  41.363 -CONFIG_FEATURE_FIND_PRUNE=y
  41.364 -CONFIG_FEATURE_FIND_DELETE=y
  41.365 -CONFIG_FEATURE_FIND_PATH=y
  41.366 -CONFIG_FEATURE_FIND_REGEX=y
  41.367 -# CONFIG_FEATURE_FIND_CONTEXT is not set
  41.368 -CONFIG_GREP=y
  41.369 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
  41.370 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
  41.371 -CONFIG_FEATURE_GREP_CONTEXT=y
  41.372 -CONFIG_XARGS=y
  41.373 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  41.374 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  41.375 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  41.376 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  41.377 -
  41.378 -#
  41.379 -# Init Utilities
  41.380 -#
  41.381 -CONFIG_INIT=y
  41.382 -# CONFIG_DEBUG_INIT is not set
  41.383 -CONFIG_FEATURE_USE_INITTAB=y
  41.384 -CONFIG_FEATURE_KILL_REMOVED=y
  41.385 -CONFIG_FEATURE_KILL_DELAY=0
  41.386 -CONFIG_FEATURE_INIT_SCTTY=y
  41.387 -# CONFIG_FEATURE_INIT_SYSLOG is not set
  41.388 -CONFIG_FEATURE_EXTRA_QUIET=y
  41.389 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
  41.390 -CONFIG_FEATURE_INITRD=y
  41.391 -CONFIG_HALT=y
  41.392 -CONFIG_MESG=y
  41.393 -
  41.394 -#
  41.395 -# Login/Password Management Utilities
  41.396 -#
  41.397 -CONFIG_FEATURE_SHADOWPASSWDS=y
  41.398 -# CONFIG_USE_BB_PWD_GRP is not set
  41.399 -# CONFIG_USE_BB_SHADOW is not set
  41.400 -CONFIG_USE_BB_CRYPT=y
  41.401 -CONFIG_ADDGROUP=y
  41.402 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  41.403 -CONFIG_DELGROUP=y
  41.404 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  41.405 -# CONFIG_FEATURE_CHECK_NAMES is not set
  41.406 -CONFIG_ADDUSER=y
  41.407 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
  41.408 -CONFIG_DELUSER=y
  41.409 -CONFIG_GETTY=y
  41.410 -CONFIG_FEATURE_UTMP=y
  41.411 -CONFIG_FEATURE_WTMP=y
  41.412 -CONFIG_LOGIN=y
  41.413 -# CONFIG_PAM is not set
  41.414 -# CONFIG_LOGIN_SCRIPTS is not set
  41.415 -CONFIG_FEATURE_NOLOGIN=y
  41.416 -CONFIG_FEATURE_SECURETTY=y
  41.417 -CONFIG_PASSWD=y
  41.418 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
  41.419 -CONFIG_CRYPTPW=y
  41.420 -CONFIG_CHPASSWD=y
  41.421 -CONFIG_SU=y
  41.422 -CONFIG_FEATURE_SU_SYSLOG=y
  41.423 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y
  41.424 -CONFIG_SULOGIN=y
  41.425 -CONFIG_VLOCK=y
  41.426 -
  41.427 -#
  41.428 -# Linux Ext2 FS Progs
  41.429 -#
  41.430 -CONFIG_CHATTR=y
  41.431 -CONFIG_FSCK=y
  41.432 -CONFIG_LSATTR=y
  41.433 -
  41.434 -#
  41.435 -# Linux Module Utilities
  41.436 -#
  41.437 -# CONFIG_DEPMOD is not set
  41.438 -# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set
  41.439 -# CONFIG_FEATURE_DEPMOD_ALIAS is not set
  41.440 -# CONFIG_INSMOD is not set
  41.441 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  41.442 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  41.443 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  41.444 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  41.445 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  41.446 -# CONFIG_RMMOD is not set
  41.447 -# CONFIG_LSMOD is not set
  41.448 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
  41.449 -# CONFIG_MODPROBE is not set
  41.450 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
  41.451 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set
  41.452 -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
  41.453 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
  41.454 -# CONFIG_FEATURE_2_4_MODULES is not set
  41.455 -# CONFIG_FEATURE_2_6_MODULES is not set
  41.456 -CONFIG_DEFAULT_MODULES_DIR=""
  41.457 -CONFIG_DEFAULT_DEPMOD_FILE=""
  41.458 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
  41.459 -
  41.460 -#
  41.461 -# Linux System Utilities
  41.462 -#
  41.463 -CONFIG_DMESG=y
  41.464 -CONFIG_FEATURE_DMESG_PRETTY=y
  41.465 -CONFIG_FBSET=y
  41.466 -CONFIG_FEATURE_FBSET_FANCY=y
  41.467 -# CONFIG_FEATURE_FBSET_READMODE is not set
  41.468 -CONFIG_FDFLUSH=y
  41.469 -CONFIG_FDFORMAT=y
  41.470 -CONFIG_FDISK=y
  41.471 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  41.472 -CONFIG_FEATURE_FDISK_WRITABLE=y
  41.473 -# CONFIG_FEATURE_AIX_LABEL is not set
  41.474 -# CONFIG_FEATURE_SGI_LABEL is not set
  41.475 -# CONFIG_FEATURE_SUN_LABEL is not set
  41.476 -# CONFIG_FEATURE_OSF_LABEL is not set
  41.477 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
  41.478 -CONFIG_FINDFS=y
  41.479 -CONFIG_FREERAMDISK=y
  41.480 -# CONFIG_FSCK_MINIX is not set
  41.481 -# CONFIG_MKFS_MINIX is not set
  41.482 -# CONFIG_FEATURE_MINIX2 is not set
  41.483 -# CONFIG_GETOPT is not set
  41.484 -CONFIG_HEXDUMP=y
  41.485 -CONFIG_FEATURE_HEXDUMP_REVERSE=y
  41.486 -# CONFIG_HD is not set
  41.487 -CONFIG_HWCLOCK=y
  41.488 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
  41.489 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
  41.490 -CONFIG_IPCRM=y
  41.491 -CONFIG_IPCS=y
  41.492 -CONFIG_LOSETUP=y
  41.493 -CONFIG_MDEV=y
  41.494 -CONFIG_FEATURE_MDEV_CONF=y
  41.495 -# CONFIG_FEATURE_MDEV_RENAME is not set
  41.496 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
  41.497 -CONFIG_FEATURE_MDEV_EXEC=y
  41.498 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
  41.499 -CONFIG_MKSWAP=y
  41.500 -# CONFIG_FEATURE_MKSWAP_V0 is not set
  41.501 -CONFIG_MORE=y
  41.502 -CONFIG_FEATURE_USE_TERMIOS=y
  41.503 -CONFIG_VOLUMEID=y
  41.504 -CONFIG_FEATURE_VOLUMEID_EXT=y
  41.505 -CONFIG_FEATURE_VOLUMEID_REISERFS=y
  41.506 -CONFIG_FEATURE_VOLUMEID_FAT=y
  41.507 -# CONFIG_FEATURE_VOLUMEID_HFS is not set
  41.508 -# CONFIG_FEATURE_VOLUMEID_JFS is not set
  41.509 -# CONFIG_FEATURE_VOLUMEID_XFS is not set
  41.510 -CONFIG_FEATURE_VOLUMEID_NTFS=y
  41.511 -CONFIG_FEATURE_VOLUMEID_ISO9660=y
  41.512 -# CONFIG_FEATURE_VOLUMEID_UDF is not set
  41.513 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set
  41.514 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
  41.515 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
  41.516 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
  41.517 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set
  41.518 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
  41.519 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
  41.520 -CONFIG_MOUNT=y
  41.521 -# CONFIG_FEATURE_MOUNT_FAKE is not set
  41.522 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
  41.523 -# CONFIG_FEATURE_MOUNT_HELPERS is not set
  41.524 -CONFIG_FEATURE_MOUNT_LABEL=y
  41.525 -CONFIG_FEATURE_MOUNT_NFS=y
  41.526 -CONFIG_FEATURE_MOUNT_CIFS=y
  41.527 -CONFIG_FEATURE_MOUNT_FLAGS=y
  41.528 -CONFIG_FEATURE_MOUNT_FSTAB=y
  41.529 -CONFIG_PIVOT_ROOT=y
  41.530 -CONFIG_RDATE=y
  41.531 -CONFIG_READPROFILE=y
  41.532 -# CONFIG_RTCWAKE is not set
  41.533 -CONFIG_SCRIPT=y
  41.534 -CONFIG_SETARCH=y
  41.535 -CONFIG_SWAPONOFF=y
  41.536 -# CONFIG_FEATURE_SWAPON_PRI is not set
  41.537 -CONFIG_SWITCH_ROOT=y
  41.538 -CONFIG_UMOUNT=y
  41.539 -CONFIG_FEATURE_UMOUNT_ALL=y
  41.540 -
  41.541 -#
  41.542 -# Common options for mount/umount
  41.543 -#
  41.544 -CONFIG_FEATURE_MOUNT_LOOP=y
  41.545 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
  41.546 -
  41.547 -#
  41.548 -# Miscellaneous Utilities
  41.549 -#
  41.550 -CONFIG_ADJTIMEX=y
  41.551 -# CONFIG_BBCONFIG is not set
  41.552 -CONFIG_CHAT=y
  41.553 -CONFIG_FEATURE_CHAT_NOFAIL=y
  41.554 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
  41.555 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
  41.556 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
  41.557 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
  41.558 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
  41.559 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
  41.560 -CONFIG_CHRT=y
  41.561 -CONFIG_CROND=y
  41.562 -# CONFIG_DEBUG_CROND_OPTION is not set
  41.563 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  41.564 -CONFIG_CRONTAB=y
  41.565 -# CONFIG_DC is not set
  41.566 -# CONFIG_DEVFSD is not set
  41.567 -# CONFIG_DEVFSD_MODLOAD is not set
  41.568 -# CONFIG_DEVFSD_FG_NP is not set
  41.569 -# CONFIG_DEVFSD_VERBOSE is not set
  41.570 -# CONFIG_FEATURE_DEVFS is not set
  41.571 -CONFIG_EJECT=y
  41.572 -CONFIG_FEATURE_EJECT_SCSI=y
  41.573 -# CONFIG_FBSPLASH is not set
  41.574 -# CONFIG_INOTIFYD is not set
  41.575 -CONFIG_LAST=y
  41.576 -CONFIG_FEATURE_LAST_SMALL=y
  41.577 -# CONFIG_FEATURE_LAST_FANCY is not set
  41.578 -CONFIG_LESS=y
  41.579 -CONFIG_FEATURE_LESS_MAXLINES=9999999
  41.580 -CONFIG_FEATURE_LESS_BRACKETS=y
  41.581 -CONFIG_FEATURE_LESS_FLAGS=y
  41.582 -CONFIG_FEATURE_LESS_FLAGCS=y
  41.583 -CONFIG_FEATURE_LESS_MARKS=y
  41.584 -CONFIG_FEATURE_LESS_REGEXP=y
  41.585 -CONFIG_HDPARM=y
  41.586 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
  41.587 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  41.588 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  41.589 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  41.590 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  41.591 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  41.592 -# CONFIG_MAKEDEVS is not set
  41.593 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  41.594 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  41.595 -# CONFIG_MAN is not set
  41.596 -CONFIG_MICROCOM=y
  41.597 -CONFIG_MOUNTPOINT=y
  41.598 -# CONFIG_MT is not set
  41.599 -# CONFIG_RAIDAUTORUN is not set
  41.600 -# CONFIG_READAHEAD is not set
  41.601 -# CONFIG_RUNLEVEL is not set
  41.602 -# CONFIG_RX is not set
  41.603 -CONFIG_SETSID=y
  41.604 -CONFIG_STRINGS=y
  41.605 -CONFIG_TASKSET=y
  41.606 -CONFIG_FEATURE_TASKSET_FANCY=y
  41.607 -CONFIG_TIME=y
  41.608 -# CONFIG_TTYSIZE is not set
  41.609 -CONFIG_VCSA2TXT=y
  41.610 -CONFIG_WATCHDOG=y
  41.611 -
  41.612 -#
  41.613 -# Networking Utilities
  41.614 -#
  41.615 -CONFIG_FEATURE_IPV6=y
  41.616 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
  41.617 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  41.618 -CONFIG_ARP=y
  41.619 -CONFIG_ARPING=y
  41.620 -CONFIG_BRCTL=y
  41.621 -CONFIG_FEATURE_BRCTL_FANCY=y
  41.622 -# CONFIG_FEATURE_BRCTL_SHOW is not set
  41.623 -CONFIG_DNSD=y
  41.624 -CONFIG_ETHER_WAKE=y
  41.625 -CONFIG_FAKEIDENTD=y
  41.626 -CONFIG_FTPGET=y
  41.627 -CONFIG_FTPPUT=y
  41.628 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
  41.629 -CONFIG_HOSTNAME=y
  41.630 -# CONFIG_HTTPD is not set
  41.631 -# CONFIG_FEATURE_HTTPD_RANGES is not set
  41.632 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
  41.633 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
  41.634 -# CONFIG_FEATURE_HTTPD_SETUID is not set
  41.635 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
  41.636 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
  41.637 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
  41.638 -# CONFIG_FEATURE_HTTPD_CGI is not set
  41.639 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
  41.640 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
  41.641 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
  41.642 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
  41.643 -# CONFIG_FEATURE_HTTPD_PROXY is not set
  41.644 -CONFIG_IFCONFIG=y
  41.645 -CONFIG_FEATURE_IFCONFIG_STATUS=y
  41.646 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  41.647 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
  41.648 -CONFIG_FEATURE_IFCONFIG_HW=y
  41.649 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  41.650 -# CONFIG_IFENSLAVE is not set
  41.651 -# CONFIG_IFUPDOWN is not set
  41.652 -CONFIG_IFUPDOWN_IFSTATE_PATH=""
  41.653 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
  41.654 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
  41.655 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
  41.656 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  41.657 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  41.658 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  41.659 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  41.660 -CONFIG_INETD=y
  41.661 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  41.662 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  41.663 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  41.664 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  41.665 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  41.666 -CONFIG_FEATURE_INETD_RPC=y
  41.667 -# CONFIG_IP is not set
  41.668 -# CONFIG_FEATURE_IP_ADDRESS is not set
  41.669 -# CONFIG_FEATURE_IP_LINK is not set
  41.670 -# CONFIG_FEATURE_IP_ROUTE is not set
  41.671 -# CONFIG_FEATURE_IP_TUNNEL is not set
  41.672 -# CONFIG_FEATURE_IP_RULE is not set
  41.673 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set
  41.674 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
  41.675 -# CONFIG_IPADDR is not set
  41.676 -# CONFIG_IPLINK is not set
  41.677 -# CONFIG_IPROUTE is not set
  41.678 -# CONFIG_IPTUNNEL is not set
  41.679 -# CONFIG_IPRULE is not set
  41.680 -CONFIG_IPCALC=y
  41.681 -CONFIG_FEATURE_IPCALC_FANCY=y
  41.682 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
  41.683 -CONFIG_NAMEIF=y
  41.684 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
  41.685 -CONFIG_NC=y
  41.686 -CONFIG_NC_SERVER=y
  41.687 -# CONFIG_NC_EXTRA is not set
  41.688 -CONFIG_NETSTAT=y
  41.689 -CONFIG_FEATURE_NETSTAT_WIDE=y
  41.690 -CONFIG_NSLOOKUP=y
  41.691 -CONFIG_PING=y
  41.692 -CONFIG_PING6=y
  41.693 -CONFIG_FEATURE_FANCY_PING=y
  41.694 -CONFIG_PSCAN=y
  41.695 -CONFIG_ROUTE=y
  41.696 -# CONFIG_SENDMAIL is not set
  41.697 -# CONFIG_FETCHMAIL is not set
  41.698 -# CONFIG_SLATTACH is not set
  41.699 -CONFIG_TELNET=y
  41.700 -CONFIG_FEATURE_TELNET_TTYPE=y
  41.701 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  41.702 -# CONFIG_TELNETD is not set
  41.703 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set
  41.704 -CONFIG_TFTP=y
  41.705 -CONFIG_TFTPD=y
  41.706 -CONFIG_FEATURE_TFTP_GET=y
  41.707 -CONFIG_FEATURE_TFTP_PUT=y
  41.708 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  41.709 -# CONFIG_DEBUG_TFTP is not set
  41.710 -CONFIG_TRACEROUTE=y
  41.711 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
  41.712 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
  41.713 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  41.714 -CONFIG_APP_UDHCPD=y
  41.715 -CONFIG_APP_DHCPRELAY=y
  41.716 -CONFIG_APP_DUMPLEASES=y
  41.717 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
  41.718 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases"
  41.719 -CONFIG_APP_UDHCPC=y
  41.720 -CONFIG_FEATURE_UDHCPC_ARPING=y
  41.721 -# CONFIG_FEATURE_UDHCP_PORT is not set
  41.722 -# CONFIG_FEATURE_UDHCP_DEBUG is not set
  41.723 -# CONFIG_FEATURE_RFC3397 is not set
  41.724 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
  41.725 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
  41.726 -CONFIG_VCONFIG=y
  41.727 -CONFIG_WGET=y
  41.728 -CONFIG_FEATURE_WGET_STATUSBAR=y
  41.729 -CONFIG_FEATURE_WGET_AUTHENTICATION=y
  41.730 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
  41.731 -CONFIG_ZCIP=y
  41.732 -# CONFIG_TCPSVD is not set
  41.733 -# CONFIG_UDPSVD is not set
  41.734 -
  41.735 -#
  41.736 -# Process Utilities
  41.737 -#
  41.738 -CONFIG_FREE=y
  41.739 -CONFIG_FUSER=y
  41.740 -CONFIG_KILL=y
  41.741 -CONFIG_KILLALL=y
  41.742 -CONFIG_KILLALL5=y
  41.743 -CONFIG_NMETER=y
  41.744 -# CONFIG_PGREP is not set
  41.745 -CONFIG_PIDOF=y
  41.746 -CONFIG_FEATURE_PIDOF_SINGLE=y
  41.747 -CONFIG_FEATURE_PIDOF_OMIT=y
  41.748 -# CONFIG_PKILL is not set
  41.749 -CONFIG_PS=y
  41.750 -CONFIG_FEATURE_PS_WIDE=y
  41.751 -# CONFIG_FEATURE_PS_TIME is not set
  41.752 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
  41.753 -CONFIG_RENICE=y
  41.754 -CONFIG_BB_SYSCTL=y
  41.755 -CONFIG_TOP=y
  41.756 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
  41.757 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
  41.758 -# CONFIG_FEATURE_TOP_DECIMALS is not set
  41.759 -CONFIG_FEATURE_TOPMEM=y
  41.760 -CONFIG_UPTIME=y
  41.761 -CONFIG_WATCH=y
  41.762 -
  41.763 -#
  41.764 -# Shells
  41.765 -#
  41.766 -CONFIG_FEATURE_SH_IS_ASH=y
  41.767 -# CONFIG_FEATURE_SH_IS_HUSH is not set
  41.768 -# CONFIG_FEATURE_SH_IS_MSH is not set
  41.769 -# CONFIG_FEATURE_SH_IS_NONE is not set
  41.770 -CONFIG_ASH=y
  41.771 -
  41.772 -#
  41.773 -# Ash Shell Options
  41.774 -#
  41.775 -CONFIG_ASH_BASH_COMPAT=y
  41.776 -CONFIG_ASH_JOB_CONTROL=y
  41.777 -CONFIG_ASH_READ_NCHARS=y
  41.778 -CONFIG_ASH_READ_TIMEOUT=y
  41.779 -CONFIG_ASH_ALIAS=y
  41.780 -CONFIG_ASH_MATH_SUPPORT=y
  41.781 -CONFIG_ASH_MATH_SUPPORT_64=y
  41.782 -CONFIG_ASH_GETOPTS=y
  41.783 -CONFIG_ASH_BUILTIN_ECHO=y
  41.784 -CONFIG_ASH_BUILTIN_PRINTF=y
  41.785 -CONFIG_ASH_BUILTIN_TEST=y
  41.786 -CONFIG_ASH_CMDCMD=y
  41.787 -# CONFIG_ASH_MAIL is not set
  41.788 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
  41.789 -CONFIG_ASH_RANDOM_SUPPORT=y
  41.790 -# CONFIG_ASH_EXPAND_PRMT is not set
  41.791 -# CONFIG_HUSH is not set
  41.792 -# CONFIG_HUSH_HELP is not set
  41.793 -# CONFIG_HUSH_INTERACTIVE is not set
  41.794 -# CONFIG_HUSH_JOB is not set
  41.795 -# CONFIG_HUSH_TICK is not set
  41.796 -# CONFIG_HUSH_IF is not set
  41.797 -# CONFIG_HUSH_LOOPS is not set
  41.798 -# CONFIG_LASH is not set
  41.799 -# CONFIG_MSH is not set
  41.800 -
  41.801 -#
  41.802 -# Bourne Shell Options
  41.803 -#
  41.804 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
  41.805 -# CONFIG_FEATURE_SH_STANDALONE is not set
  41.806 -# CONFIG_FEATURE_SH_NOFORK is not set
  41.807 -# CONFIG_CTTYHACK is not set
  41.808 -
  41.809 -#
  41.810 -# System Logging Utilities
  41.811 -#
  41.812 -CONFIG_SYSLOGD=y
  41.813 -CONFIG_FEATURE_ROTATE_LOGFILE=y
  41.814 -CONFIG_FEATURE_REMOTE_LOG=y
  41.815 -CONFIG_FEATURE_SYSLOGD_DUP=y
  41.816 -# CONFIG_FEATURE_IPC_SYSLOG is not set
  41.817 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=
  41.818 -# CONFIG_LOGREAD is not set
  41.819 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
  41.820 -CONFIG_KLOGD=y
  41.821 -CONFIG_LOGGER=y
  41.822 -
  41.823 -#
  41.824 -# Runit Utilities
  41.825 -#
  41.826 -# CONFIG_RUNSV is not set
  41.827 -# CONFIG_RUNSVDIR is not set
  41.828 -# CONFIG_SV is not set
  41.829 -# CONFIG_SVLOGD is not set
  41.830 -# CONFIG_CHPST is not set
  41.831 -# CONFIG_SETUIDGID is not set
  41.832 -# CONFIG_ENVUIDGID is not set
  41.833 -# CONFIG_ENVDIR is not set
  41.834 -# CONFIG_SOFTLIMIT is not set
  41.835 -# CONFIG_CHCON is not set
  41.836 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
  41.837 -# CONFIG_GETENFORCE is not set
  41.838 -# CONFIG_GETSEBOOL is not set
  41.839 -# CONFIG_LOAD_POLICY is not set
  41.840 -# CONFIG_MATCHPATHCON is not set
  41.841 -# CONFIG_RESTORECON is not set
  41.842 -# CONFIG_RUNCON is not set
  41.843 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
  41.844 -# CONFIG_SELINUXENABLED is not set
  41.845 -# CONFIG_SETENFORCE is not set
  41.846 -# CONFIG_SETFILES is not set
  41.847 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
  41.848 -# CONFIG_SETSEBOOL is not set
  41.849 -# CONFIG_SESTATUS is not set
  41.850 -
  41.851 -#
  41.852 -# Print Utilities
  41.853 -#
  41.854 -CONFIG_LPD=y
  41.855 -CONFIG_LPR=y
  41.856 -CONFIG_LPQ=y
    42.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.2 +++ b/busybox/stuff/busybox-1.12.0-su.u	Wed May 27 18:15:16 2009 +0200
    42.3 @@ -0,0 +1,11 @@
    42.4 +--- busybox-1.12.0/libbb/setup_environment.c
    42.5 ++++ busybox-1.12.0/libbb/setup_environment.c
    42.6 +@@ -59,7 +59,7 @@
    42.7 + 	else if (change_env) {
    42.8 + 		/* Set HOME, SHELL, and if not becoming a super-user,
    42.9 + 		   USER and LOGNAME.  */
   42.10 +-		if (pw->pw_uid) {
   42.11 ++		if (!pw->pw_uid) {
   42.12 +  shortcut:
   42.13 + 			xsetenv("USER",    pw->pw_name);
   42.14 + 			xsetenv("LOGNAME", pw->pw_name);
    43.1 --- a/busybox/stuff/busybox-1.12.0.config	Wed May 27 11:52:33 2009 +0200
    43.2 +++ b/busybox/stuff/busybox-1.12.0.config	Wed May 27 18:15:16 2009 +0200
    43.3 @@ -1,7 +1,7 @@
    43.4  #
    43.5  # Automatically generated make config: don't edit
    43.6  # Busybox version: 1.12.0
    43.7 -# Thu Aug 21 15:12:51 2008
    43.8 +# Wed May 27 18:07:33 2009
    43.9  #
   43.10  CONFIG_HAVE_DOT_CONFIG=y
   43.11  
   43.12 @@ -684,7 +684,7 @@
   43.13  # CONFIG_NC_EXTRA is not set
   43.14  CONFIG_NETSTAT=y
   43.15  CONFIG_FEATURE_NETSTAT_WIDE=y
   43.16 -# CONFIG_FEATURE_NETSTAT_PRG is not set
   43.17 +CONFIG_FEATURE_NETSTAT_PRG=y
   43.18  CONFIG_NSLOOKUP=y
   43.19  CONFIG_PING=y
   43.20  CONFIG_PING6=y
    44.1 --- a/busybox/stuff/busybox-1.7.3-df.u	Wed May 27 11:52:33 2009 +0200
    44.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.3 @@ -1,42 +0,0 @@
    44.4 ---- busybox-1.7.3/coreutils/df.c
    44.5 -+++ busybox-1.7.3/coreutils/df.c
    44.6 -@@ -47,7 +47,7 @@
    44.7 - 
    44.8 - #if ENABLE_FEATURE_HUMAN_READABLE
    44.9 - 	opt_complementary = "h-km:k-hm:m-hk";
   44.10 --	opt = getopt32(argv, "hmk");
   44.11 -+	opt = getopt32(argv, "hmik");
   44.12 - 	if (opt & 1) {
   44.13 - 		df_disp_hr = 0;
   44.14 - 		disp_units_hdr = "     Size";
   44.15 -@@ -56,9 +56,14 @@
   44.16 - 		df_disp_hr = 1024*1024;
   44.17 - 		disp_units_hdr = "1M-blocks";
   44.18 - 	}
   44.19 -+#define OPT_INODE 4
   44.20 - #else
   44.21 -+#define OPT_INODE 1
   44.22 - 	opt = getopt32(argv, "k");
   44.23 - #endif
   44.24 -+	if (opt & OPT_INODE) {
   44.25 -+		disp_units_hdr = "   Inodes";
   44.26 -+	}
   44.27 - 
   44.28 - 	printf("Filesystem%11s%-15sUsed Available Use%% Mounted on\n",
   44.29 - 			  "", disp_units_hdr);
   44.30 -@@ -105,6 +110,15 @@
   44.31 - 		}
   44.32 - 
   44.33 - 		if ((s.f_blocks > 0) || !mount_table){
   44.34 -+			if (opt & OPT_INODE) {
   44.35 -+				s.f_blocks = s.f_files;
   44.36 -+				s.f_bavail = s.f_bfree = s.f_ffree;
   44.37 -+				s.f_bsize = 1;
   44.38 -+#if ENABLE_FEATURE_HUMAN_READABLE
   44.39 -+				if (df_disp_hr)
   44.40 -+					df_disp_hr = 1;
   44.41 -+#endif
   44.42 -+			}
   44.43 - 			blocks_used = s.f_blocks - s.f_bfree;
   44.44 - 			blocks_percent_used = 0;
   44.45 - 			if (blocks_used + s.f_bavail) {
    45.1 --- a/busybox/stuff/busybox-1.7.3-hexdump.u	Wed May 27 11:52:33 2009 +0200
    45.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.3 @@ -1,77 +0,0 @@
    45.4 ---- busybox-1.7.3/util-linux/hexdump.c
    45.5 -+++ busybox-1.7.3/util-linux/hexdump.c
    45.6 -@@ -45,7 +45,7 @@
    45.7 - 
    45.8 - static const char add_first[] ALIGN1 = "\"%07.7_Ax\n\"";
    45.9 - 
   45.10 --static const char hexdump_opts[] ALIGN1 = "bcdoxCe:f:n:s:v";
   45.11 -+static const char hexdump_opts[] ALIGN1 = "bcdoxCe:f:n:s:vR";
   45.12 - 
   45.13 - static const struct suffix_mult suffixes[] = {
   45.14 - 	{ "b", 512 },
   45.15 -@@ -59,6 +59,8 @@
   45.16 - {
   45.17 - 	const char *p;
   45.18 - 	int ch;
   45.19 -+	FILE *fp;
   45.20 -+	smallint rdump = 0;
   45.21 - 
   45.22 - 	bb_dump_vflag = FIRST;
   45.23 - 	bb_dump_length = -1;
   45.24 -@@ -70,7 +72,7 @@
   45.25 - 		if ((p - hexdump_opts) < 5) {
   45.26 - 			bb_dump_add(add_first);
   45.27 - 			bb_dump_add(add_strings[(int)(p - hexdump_opts)]);
   45.28 --		} else if (ch == 'C') {
   45.29 -+		} if (ch == 'C') {
   45.30 - 			bb_dump_add("\"%08.8_Ax\n\"");
   45.31 - 			bb_dump_add("\"%08.8_ax  \" 8/1 \"%02x \" \"  \" 8/1 \"%02x \" ");
   45.32 - 			bb_dump_add("\"  |\" 16/1 \"%_p\" \"|\\n\"");
   45.33 -@@ -90,6 +92,9 @@
   45.34 - 			} /* else */
   45.35 - 			if (ch == 'v') {
   45.36 - 				bb_dump_vflag = ALL;
   45.37 -+			} /* else */
   45.38 -+			if (ch == 'R') {
   45.39 -+				rdump = 1;
   45.40 - 			}
   45.41 - 		}
   45.42 - 	}
   45.43 -@@ -101,5 +106,36 @@
   45.44 - 
   45.45 - 	argv += optind;
   45.46 - 
   45.47 --	return bb_dump_dump(argv);
   45.48 -+	if (!rdump) {
   45.49 -+		return bb_dump_dump(argv);
   45.50 -+	}
   45.51 -+
   45.52 -+	/* -R: reverse of 'hexdump -Cv' */
   45.53 -+	fp = stdin;
   45.54 -+	if (!*argv) {
   45.55 -+		argv--;
   45.56 -+		goto jump_in;
   45.57 -+	}
   45.58 -+
   45.59 -+	do {
   45.60 -+		char *buf;
   45.61 -+		fp = xfopen(*argv, "r");
   45.62 -+ jump_in:
   45.63 -+		while ((buf = xmalloc_getline(fp)) != NULL) {
   45.64 -+			p = buf;
   45.65 -+			while (1) {
   45.66 -+				/* skip address or previous byte */
   45.67 -+				while (isxdigit(*p)) p++;
   45.68 -+				while (*p == ' ') p++;
   45.69 -+				/* '|' char will break the line */
   45.70 -+				if (!isxdigit(*p) || sscanf(p, "%x ", &ch) != 1)
   45.71 -+					break;
   45.72 -+				putchar(ch);
   45.73 -+			}
   45.74 -+			free(buf);
   45.75 -+		}
   45.76 -+		fclose(fp);
   45.77 -+	} while (*++argv);
   45.78 -+
   45.79 -+	fflush_stdout_and_exit(EXIT_SUCCESS);
   45.80 - }
    46.1 --- a/busybox/stuff/busybox-1.7.3-patch.u	Wed May 27 11:52:33 2009 +0200
    46.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.3 @@ -1,258 +0,0 @@
    46.4 ---- busybox-1.7.3/editors/patch.c
    46.5 -+++ busybox-1.7.3/editors/patch.c
    46.6 -@@ -23,11 +23,9 @@
    46.7 - 
    46.8 - #include "libbb.h"
    46.9 - 
   46.10 --static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int lines_count)
   46.11 -+static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, unsigned int lines_count)
   46.12 - {
   46.13 --	unsigned int i = 0;
   46.14 --
   46.15 --	while (src_stream && (i < lines_count)) {
   46.16 -+	while (src_stream && lines_count) {
   46.17 - 		char *line;
   46.18 - 		line = xmalloc_fgets(src_stream);
   46.19 - 		if (line == NULL) {
   46.20 -@@ -37,10 +35,9 @@
   46.21 - 			bb_perror_msg_and_die("error writing to new file");
   46.22 - 		}
   46.23 - 		free(line);
   46.24 --
   46.25 --		i++;
   46.26 -+		lines_count--;
   46.27 - 	}
   46.28 --	return i;
   46.29 -+	return lines_count;
   46.30 - }
   46.31 - 
   46.32 - /* If patch_level is -1 it will remove all directory names
   46.33 -@@ -49,26 +46,24 @@
   46.34 -  * returns malloc'ed filename
   46.35 -  */
   46.36 - 
   46.37 --static char *extract_filename(char *line, int patch_level)
   46.38 -+static char *extract_filename(char *line, unsigned int patch_level)
   46.39 - {
   46.40 - 	char *temp, *filename_start_ptr = line + 4;
   46.41 --	int i;
   46.42 - 
   46.43 - 	/* Terminate string at end of source filename */
   46.44 --	temp = strchrnul(filename_start_ptr, '\t');
   46.45 --	*temp = '\0';
   46.46 -+	line[strcspn(line,"\t\n")] = '\0';
   46.47 - 
   46.48 - 	/* Skip over (patch_level) number of leading directories */
   46.49 --	if (patch_level == -1)
   46.50 --		patch_level = INT_MAX;
   46.51 --	for (i = 0; i < patch_level; i++) {
   46.52 -+	while (patch_level--) {
   46.53 - 		temp = strchr(filename_start_ptr, '/');
   46.54 - 		if (!temp)
   46.55 - 			break;
   46.56 - 		filename_start_ptr = temp + 1;
   46.57 - 	}
   46.58 - 
   46.59 --	return xstrdup(filename_start_ptr);
   46.60 -+	temp = xstrdup(filename_start_ptr);
   46.61 -+	free(line);
   46.62 -+	return temp;
   46.63 - }
   46.64 - 
   46.65 - static int file_doesnt_exist(const char *filename)
   46.66 -@@ -82,22 +77,19 @@
   46.67 - {
   46.68 - 	int patch_level = -1;
   46.69 - 	char *patch_line;
   46.70 --	int ret;
   46.71 --	FILE *patch_file = NULL;
   46.72 -+	FILE *patch_file = stdin;
   46.73 - 
   46.74 - 	{
   46.75 - 		char *p, *i;
   46.76 --		ret = getopt32(argv, "p:i:", &p, &i);
   46.77 -+		int ret = getopt32(argv, "p:i:", &p, &i);
   46.78 - 		if (ret & 1)
   46.79 - 			patch_level = xatol_range(p, -1, USHRT_MAX);
   46.80 - 		if (ret & 2) {
   46.81 - 			patch_file = xfopen(i, "r");
   46.82 --		} else {
   46.83 --			patch_file = stdin;
   46.84 - 		}
   46.85 --		ret = 0;
   46.86 - 	}
   46.87 - 
   46.88 -+	xfunc_error_retval = 2;
   46.89 - 	patch_line = xmalloc_getline(patch_file);
   46.90 - 	while (patch_line) {
   46.91 - 		FILE *src_stream;
   46.92 -@@ -122,18 +114,14 @@
   46.93 - 		/* FIXME: patch_line NULL check?? */
   46.94 - 
   46.95 - 		/* Extract the filename used before the patch was generated */
   46.96 --		original_filename = extract_filename(patch_line, patch_level);
   46.97 --		free(patch_line);
   46.98 -+		original_filename = extract_filename(patch_line, (unsigned int) patch_level);
   46.99 - 
  46.100 - 		patch_line = xmalloc_getline(patch_file);
  46.101 - 		/* FIXME: NULL check?? */
  46.102 - 		if (strncmp(patch_line, "+++ ", 4) != 0) {
  46.103 --			ret = 2;
  46.104 --			bb_error_msg("invalid patch");
  46.105 --			continue;
  46.106 -+			bb_error_msg_and_die("invalid patch: %s\n",patch_line);
  46.107 - 		}
  46.108 --		new_filename = extract_filename(patch_line, patch_level);
  46.109 --		free(patch_line);
  46.110 -+		new_filename = extract_filename(patch_line, (unsigned int) patch_level);
  46.111 - 
  46.112 - 		if (file_doesnt_exist(new_filename)) {
  46.113 - 			char *line_ptr;
  46.114 -@@ -144,7 +132,6 @@
  46.115 - 				bb_make_directory(new_filename, -1, FILEUTILS_RECUR);
  46.116 - 				*line_ptr = '/';
  46.117 - 			}
  46.118 --			dst_stream = xfopen(new_filename, "w+");
  46.119 - 			backup_filename = NULL;
  46.120 - 		} else {
  46.121 - 			backup_filename = xmalloc(strlen(new_filename) + 6);
  46.122 -@@ -154,12 +141,11 @@
  46.123 - 				bb_perror_msg_and_die("cannot create file %s",
  46.124 - 						backup_filename);
  46.125 - 			}
  46.126 --			dst_stream = xfopen(new_filename, "w");
  46.127 - 		}
  46.128 - 
  46.129 --		if ((backup_filename == NULL) || file_doesnt_exist(original_filename)) {
  46.130 --			src_stream = NULL;
  46.131 --		} else {
  46.132 -+ 		dst_stream = xfopen(new_filename, "w");
  46.133 -+ 		src_stream = NULL;
  46.134 -+ 		if (!file_doesnt_exist(original_filename) && backup_filename) {
  46.135 - 			if (strcmp(original_filename, new_filename) == 0) {
  46.136 - 				src_stream = xfopen(backup_filename, "r");
  46.137 - 			} else {
  46.138 -@@ -174,54 +160,59 @@
  46.139 - 		while (patch_line) {
  46.140 - 			unsigned int count;
  46.141 - 			unsigned int src_beg_line;
  46.142 -+			unsigned int src_last_line = 1;
  46.143 - 			unsigned int unused;
  46.144 - 			unsigned int hunk_offset_start = 0;
  46.145 --			int hunk_error = 0;
  46.146 - 
  46.147 - 			/* This bit should be improved */
  46.148 --			if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, &unused, &dest_beg_line, &unused) != 4) &&
  46.149 --				(sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, &unused, &dest_beg_line) != 3) &&
  46.150 --				(sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, &dest_beg_line, &unused) != 3)) {
  46.151 -+			if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, 
  46.152 -+						&src_last_line, &dest_beg_line, &unused) != 4) &&
  46.153 -+				(sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, 
  46.154 -+						&src_last_line, &dest_beg_line) != 3) &&
  46.155 -+				(sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line,
  46.156 -+						&dest_beg_line, &unused) != 3) &&
  46.157 -+				(sscanf(patch_line, "@@ -%d +%d @@", &src_beg_line,
  46.158 -+						&dest_beg_line) != 2)) {
  46.159 - 				/* No more hunks for this file */
  46.160 - 				break;
  46.161 - 			}
  46.162 --			free(patch_line);
  46.163 - 			hunk_count++;
  46.164 - 
  46.165 - 			if (src_beg_line && dest_beg_line) {
  46.166 - 				/* Copy unmodified lines upto start of hunk */
  46.167 - 				/* src_beg_line will be 0 if its a new file */
  46.168 - 				count = src_beg_line - src_cur_line;
  46.169 --				if (copy_lines(src_stream, dst_stream, count) != count) {
  46.170 -+				if (copy_lines(src_stream, dst_stream, count)) {
  46.171 - 					bb_error_msg_and_die("bad src file");
  46.172 - 				}
  46.173 - 				src_cur_line += count;
  46.174 - 				dest_cur_line += count;
  46.175 - 				copy_trailing_lines_flag = 1;
  46.176 - 			}
  46.177 --			hunk_offset_start = src_cur_line;
  46.178 -+			src_last_line += hunk_offset_start = src_cur_line;
  46.179 - 
  46.180 --			while ((patch_line = xmalloc_fgets(patch_file)) != NULL) {
  46.181 -+			for (free(patch_line); 
  46.182 -+				 (patch_line = xmalloc_fgets(patch_file)) != NULL;
  46.183 -+				 free(patch_line)) {
  46.184 - 				if ((*patch_line == '-') || (*patch_line == ' ')) {
  46.185 - 					char *src_line = NULL;
  46.186 -+					if (src_cur_line == src_last_line) break;
  46.187 - 					if (src_stream) {
  46.188 - 						src_line = xmalloc_fgets(src_stream);
  46.189 --						if (!src_line) {
  46.190 --							hunk_error++;
  46.191 --							break;
  46.192 --						} else {
  46.193 -+						if (src_line) {
  46.194 -+							int diff = strcmp(src_line, patch_line + 1);
  46.195 - 							src_cur_line++;
  46.196 -+							free(src_line);
  46.197 -+							if (diff) {
  46.198 -+								src_line = NULL;
  46.199 -+							}
  46.200 - 						}
  46.201 --						if (strcmp(src_line, patch_line + 1) != 0) {
  46.202 --							bb_error_msg("hunk #%d FAILED at %d", hunk_count, hunk_offset_start);
  46.203 --							hunk_error++;
  46.204 --							free(patch_line);
  46.205 --							/* Probably need to find next hunk, etc... */
  46.206 --							/* but for now we just bail out */
  46.207 --							patch_line = NULL;
  46.208 -+						if (!src_line) {
  46.209 -+							bb_error_msg("hunk #%d FAILED at %d",
  46.210 -+										 hunk_count, hunk_offset_start);
  46.211 -+							bad_hunk_count++;
  46.212 - 							break;
  46.213 - 						}
  46.214 --						free(src_line);
  46.215 - 					}
  46.216 - 					if (*patch_line == ' ') {
  46.217 - 						fputs(patch_line + 1, dst_stream);
  46.218 -@@ -233,16 +224,12 @@
  46.219 - 				} else {
  46.220 - 					break;
  46.221 - 				}
  46.222 --				free(patch_line);
  46.223 --			}
  46.224 --			if (hunk_error) {
  46.225 --				bad_hunk_count++;
  46.226 - 			}
  46.227 - 		}
  46.228 - 
  46.229 - 		/* Cleanup last patched file */
  46.230 - 		if (copy_trailing_lines_flag) {
  46.231 --			copy_lines(src_stream, dst_stream, -1);
  46.232 -+			copy_lines(src_stream, dst_stream, (unsigned int) -1);
  46.233 - 		}
  46.234 - 		if (src_stream) {
  46.235 - 			fclose(src_stream);
  46.236 -@@ -251,16 +238,14 @@
  46.237 - 			fclose(dst_stream);
  46.238 - 		}
  46.239 - 		if (bad_hunk_count) {
  46.240 --			if (!ret) {
  46.241 --				ret = 1;
  46.242 --			}
  46.243 - 			bb_error_msg("%d out of %d hunk FAILED", bad_hunk_count, hunk_count);
  46.244 -+			return 1;
  46.245 - 		} else {
  46.246 - 			/* It worked, we can remove the backup */
  46.247 - 			if (backup_filename) {
  46.248 - 				unlink(backup_filename);
  46.249 - 			}
  46.250 --			if ((dest_cur_line == 0) || (dest_beg_line == 0)) {
  46.251 -+			if (dest_cur_line == 0) {
  46.252 - 				/* The new patched file is empty, remove it */
  46.253 - 				xunlink(new_filename);
  46.254 - 				if (strcmp(new_filename, original_filename) != 0)
  46.255 -@@ -273,5 +258,5 @@
  46.256 - 	 * 1 = Some hunks failed
  46.257 - 	 * 2 = More serious problems
  46.258 - 	 */
  46.259 --	return ret;
  46.260 -+	return 0;
  46.261 - }
    47.1 --- a/busybox/stuff/busybox-1.7.3-script.u	Wed May 27 11:52:33 2009 +0200
    47.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.3 @@ -1,357 +0,0 @@
    47.4 ---- busybox-1.7.3/include/applets.h
    47.5 -+++ busybox-1.7.3/include/applets.h
    47.6 -@@ -284,6 +284,7 @@
    47.7 - USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    47.8 - USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    47.9 - USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   47.10 -+USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   47.11 - USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER))
   47.12 - USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
   47.13 - USE_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER, seq))
   47.14 -
   47.15 ---- busybox-1.7.3/include/libbb.h
   47.16 -+++ busybox-1.7.3/include/libbb.h
   47.17 -@@ -225,6 +225,7 @@
   47.18 - 	int (*dirAction) (const char *fileName, struct stat* statbuf, void* userData, int depth),
   47.19 - 	void* userData, unsigned depth);
   47.20 - extern int device_open(const char *device, int mode);
   47.21 -+extern int getpty(char *line, int size);
   47.22 - extern int get_console_fd(void);
   47.23 - extern char *find_block_device(const char *path);
   47.24 - /* bb_copyfd_XX print read/write errors and return -1 if they occur */
   47.25 -
   47.26 ---- busybox-1.7.3/libbb/Kbuild
   47.27 -+++ busybox-1.7.3/libbb/Kbuild
   47.28 -@@ -38,6 +38,7 @@
   47.29 - lib-y += get_last_path_component.o
   47.30 - lib-y += get_line_from_file.o
   47.31 - lib-y += getopt32.o
   47.32 -+lib-y += getpty.o
   47.33 - lib-y += herror_msg.o
   47.34 - lib-y += herror_msg_and_die.o
   47.35 - lib-y += human_readable.o
   47.36 -
   47.37 ---- busybox-1.7.3/libbb/getpty.c
   47.38 -+++ busybox-1.7.3/libbb/getpty.c
   47.39 -@@ -0,0 +1,56 @@
   47.40 -+/* vi: set sw=4 ts=4: */
   47.41 -+/*
   47.42 -+ * Mini getpty implementation for busybox
   47.43 -+ * Bjorn Wesen, Axis Communications AB (bjornw@axis.com)
   47.44 -+ *
   47.45 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
   47.46 -+ */
   47.47 -+
   47.48 -+#include "libbb.h"
   47.49 -+
   47.50 -+int getpty(char *line, int size)
   47.51 -+{
   47.52 -+	int p;
   47.53 -+#if ENABLE_FEATURE_DEVPTS
   47.54 -+	p = open("/dev/ptmx", O_RDWR);
   47.55 -+	if (p > 0) {
   47.56 -+		const char *name;
   47.57 -+		grantpt(p);
   47.58 -+		unlockpt(p);
   47.59 -+		name = ptsname(p);
   47.60 -+		if (!name) {
   47.61 -+			bb_perror_msg("ptsname error (is /dev/pts mounted?)");
   47.62 -+			return -1;
   47.63 -+		}
   47.64 -+		safe_strncpy(line, name, size);
   47.65 -+		return p;
   47.66 -+	}
   47.67 -+#else
   47.68 -+	struct stat stb;
   47.69 -+	int i;
   47.70 -+	int j;
   47.71 -+
   47.72 -+	strcpy(line, "/dev/ptyXX");
   47.73 -+
   47.74 -+	for (i = 0; i < 16; i++) {
   47.75 -+		line[8] = "pqrstuvwxyzabcde"[i];
   47.76 -+		line[9] = '0';
   47.77 -+		if (stat(line, &stb) < 0) {
   47.78 -+			continue;
   47.79 -+		}
   47.80 -+		for (j = 0; j < 16; j++) {
   47.81 -+			line[9] = j < 10 ? j + '0' : j - 10 + 'a';
   47.82 -+			if (DEBUG)
   47.83 -+				fprintf(stderr, "Trying to open device: %s\n", line);
   47.84 -+			p = open(line, O_RDWR | O_NOCTTY);
   47.85 -+			if (p >= 0) {
   47.86 -+				line[5] = 't';
   47.87 -+				return p;
   47.88 -+			}
   47.89 -+		}
   47.90 -+	}
   47.91 -+#endif /* FEATURE_DEVPTS */
   47.92 -+	return -1;
   47.93 -+}
   47.94 -+
   47.95 -+
   47.96 -
   47.97 ---- busybox-1.7.3/miscutils/Config.in
   47.98 -+++ busybox-1.7.3/miscutils/Config.in
   47.99 -@@ -329,6 +329,12 @@
  47.100 - 	help
  47.101 - 	  Receive files using the Xmodem protocol.
  47.102 - 
  47.103 -+config SCRIPT
  47.104 -+	bool "script"
  47.105 -+	default n
  47.106 -+	help
  47.107 -+	  The script makes typescript of terminal session.
  47.108 -+
  47.109 - config STRINGS
  47.110 - 	bool "strings"
  47.111 - 	default n
  47.112 -
  47.113 ---- busybox-1.7.3/networking/telnetd.c
  47.114 -+++ busybox-1.7.3/networking/telnetd.c
  47.115 -@@ -162,54 +162,6 @@
  47.116 - 	return memmove(ptr - num_totty, ptr0, num_totty);
  47.117 - }
  47.118 - 
  47.119 --
  47.120 --static int
  47.121 --getpty(char *line, int size)
  47.122 --{
  47.123 --	int p;
  47.124 --#if ENABLE_FEATURE_DEVPTS
  47.125 --	p = open("/dev/ptmx", O_RDWR);
  47.126 --	if (p > 0) {
  47.127 --		const char *name;
  47.128 --		grantpt(p);
  47.129 --		unlockpt(p);
  47.130 --		name = ptsname(p);
  47.131 --		if (!name) {
  47.132 --			bb_perror_msg("ptsname error (is /dev/pts mounted?)");
  47.133 --			return -1;
  47.134 --		}
  47.135 --		safe_strncpy(line, name, size);
  47.136 --		return p;
  47.137 --	}
  47.138 --#else
  47.139 --	struct stat stb;
  47.140 --	int i;
  47.141 --	int j;
  47.142 --
  47.143 --	strcpy(line, "/dev/ptyXX");
  47.144 --
  47.145 --	for (i = 0; i < 16; i++) {
  47.146 --		line[8] = "pqrstuvwxyzabcde"[i];
  47.147 --		line[9] = '0';
  47.148 --		if (stat(line, &stb) < 0) {
  47.149 --			continue;
  47.150 --		}
  47.151 --		for (j = 0; j < 16; j++) {
  47.152 --			line[9] = j < 10 ? j + '0' : j - 10 + 'a';
  47.153 --			if (DEBUG)
  47.154 --				fprintf(stderr, "Trying to open device: %s\n", line);
  47.155 --			p = open(line, O_RDWR | O_NOCTTY);
  47.156 --			if (p >= 0) {
  47.157 --				line[5] = 't';
  47.158 --				return p;
  47.159 --			}
  47.160 --		}
  47.161 --	}
  47.162 --#endif /* FEATURE_DEVPTS */
  47.163 --	return -1;
  47.164 --}
  47.165 --
  47.166 --
  47.167 - static void
  47.168 - send_iac(struct tsession *ts, unsigned char command, int option)
  47.169 - {
  47.170 -
  47.171 ---- busybox-1.7.3/util-linux/script.c
  47.172 -+++ busybox-1.7.3/util-linux/script.c
  47.173 -@@ -0,0 +1,157 @@
  47.174 -+/* vi: set sw=4 ts=4: */
  47.175 -+/*
  47.176 -+ * script implementation for busybox
  47.177 -+ *
  47.178 -+ * pascal.bellard@ads-lu.com
  47.179 -+ *
  47.180 -+ * Based on code from util-linux v 2.12r
  47.181 -+ * Copyright (c) 1980
  47.182 -+ *	The Regents of the University of California.  All rights reserved.
  47.183 -+ *
  47.184 -+ * Licensed under GPLv2 or later, see file License in this tarball for details.
  47.185 -+ */
  47.186 -+
  47.187 -+#include <getopt.h>
  47.188 -+#include "libbb.h"
  47.189 -+
  47.190 -+struct globals {
  47.191 -+	int	parent, qflg;
  47.192 -+	struct termios tt;
  47.193 -+	const char *fname;
  47.194 -+};
  47.195 -+#define G (*ptr_to_globals)
  47.196 -+#define parent    (G.parent )
  47.197 -+#define qflg      (G.qflg   )
  47.198 -+#define tt        (G.tt     )
  47.199 -+#define fname     (G.fname  )
  47.200 -+#define INIT_G() do { \
  47.201 -+	PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
  47.202 -+	fname = "typescript"; \
  47.203 -+} while (0)
  47.204 -+
  47.205 -+static void done(void)
  47.206 -+{
  47.207 -+	if (parent) {
  47.208 -+		tcsetattr(0, TCSAFLUSH, &tt);
  47.209 -+		if (qflg == 0) printf("Script done, file is %s\n", fname);
  47.210 -+	}
  47.211 -+	exit(0);
  47.212 -+}
  47.213 -+
  47.214 -+static void finish(int sig)
  47.215 -+{
  47.216 -+	(void) sig;
  47.217 -+	done();
  47.218 -+}
  47.219 -+
  47.220 -+#if ENABLE_GETOPT_LONG
  47.221 -+static const char getopt_longopts[] ALIGN1 =
  47.222 -+	"append\0"  No_argument       "a"
  47.223 -+	"command\0" Required_argument "c"
  47.224 -+	"flush\0"   No_argument       "f"
  47.225 -+	"quiet\0"   No_argument       "q"
  47.226 -+	;
  47.227 -+#endif
  47.228 -+
  47.229 -+int script_main(int argc, char *argv[]);
  47.230 -+int script_main(int argc, char *argv[])
  47.231 -+{
  47.232 -+	int opt, child, pty;
  47.233 -+	int mode = O_CREAT|O_TRUNC|O_WRONLY;
  47.234 -+	struct termios rtt;
  47.235 -+	const char	*shell;
  47.236 -+	struct	winsize win;
  47.237 -+	char	line[32];
  47.238 -+	char *cflg = NULL, shell_arg[] = "-i";
  47.239 -+
  47.240 -+	INIT_G();
  47.241 -+#if ENABLE_GETOPT_LONG
  47.242 -+	applet_long_options = getopt_longopts;
  47.243 -+#endif
  47.244 -+	opt = getopt32(argv, "ac:fq", &cflg);
  47.245 -+	if (opt & 1) {
  47.246 -+		mode = O_CREAT|O_APPEND|O_WRONLY;
  47.247 -+	}
  47.248 -+	if (opt & 2) {
  47.249 -+		shell_arg[1] = 'c';
  47.250 -+	}
  47.251 -+#define fflg (opt & 4)
  47.252 -+	if (opt & 8) {
  47.253 -+		qflg++;
  47.254 -+	}
  47.255 -+	argc -= optind;
  47.256 -+	argv += optind;
  47.257 -+	if (argc > 0) {
  47.258 -+		if (--argc > 0) {
  47.259 -+			bb_show_usage();
  47.260 -+		}
  47.261 -+		fname = argv[0];
  47.262 -+	}
  47.263 -+	shell = getenv("SHELL");
  47.264 -+	if (shell == NULL) {
  47.265 -+		shell = _PATH_BSHELL;
  47.266 -+	}
  47.267 -+	pty = getpty(line,sizeof(line));
  47.268 -+	if (pty < 0) {
  47.269 -+		bb_perror_msg_and_die("Out of pty's");
  47.270 -+	}
  47.271 -+	tcgetattr(0, &tt);
  47.272 -+	ioctl(0, TIOCGWINSZ, (char *)&win);
  47.273 -+	if (qflg == 0) {
  47.274 -+		printf("Script started, file is %s\n", fname);
  47.275 -+	}
  47.276 -+
  47.277 -+	rtt = tt;
  47.278 -+	cfmakeraw(&rtt);
  47.279 -+	rtt.c_lflag &= ~ECHO;
  47.280 -+	tcsetattr(0, TCSAFLUSH, &rtt);
  47.281 -+
  47.282 -+	signal(SIGCHLD, finish); /* catch SIGTERM of children */
  47.283 -+	parent = fork(); /* use pid as flag meaning 'I am the parent process' */
  47.284 -+	if (parent < 0) {
  47.285 -+		bb_perror_msg_and_die("fork");
  47.286 -+	}
  47.287 -+	if (parent) { /* parent: link mainshell stdin to pty master input */
  47.288 -+		/* endless copy: stdin will not be closed */
  47.289 -+		bb_copyfd_eof(0, pty);
  47.290 -+		/* not reached, but maybe bb_copyfd_eof behaviour will change ? */
  47.291 -+		done();
  47.292 -+	}
  47.293 -+	else {
  47.294 -+		child = fork();
  47.295 -+		if (child < 0) {
  47.296 -+			bb_perror_msg_and_die("fork");
  47.297 -+		}
  47.298 -+		if (child) { 
  47.299 -+			/* child1: link pty master output to mainshell stdout and file */
  47.300 -+			int		count, fdscript;
  47.301 -+			char	buf[256];
  47.302 -+			close(0);
  47.303 -+			fdscript = xopen(fname, mode);
  47.304 -+			/* copy until pty is close, i.e. child2 exits */
  47.305 -+			while ((count = read(pty, buf, sizeof(buf))) > 0) {
  47.306 -+				write(1, buf, count);
  47.307 -+				write(fdscript, buf, count);
  47.308 -+				if (fflg) {
  47.309 -+					fsync(fdscript);
  47.310 -+				}
  47.311 -+			}
  47.312 -+			done();
  47.313 -+		}
  47.314 -+		else { /* child2: link subshell input, output, error to pty slave */
  47.315 -+			close(pty);					/* close master */
  47.316 -+			pty = xopen(line, O_RDWR);	/* open slave */
  47.317 -+			tcsetattr(pty, TCSAFLUSH, &tt);
  47.318 -+			ioctl(pty, TIOCSWINSZ, (char *)&win);
  47.319 -+			setsid();
  47.320 -+			ioctl(pty, TIOCSCTTY, 0);
  47.321 -+			xmove_fd(pty, 0);
  47.322 -+			xdup2(0, 1);
  47.323 -+			xdup2(0, 2);
  47.324 -+			execl(shell, strrchr(shell, '/') + 1, shell_arg, cflg, NULL);
  47.325 -+			bb_perror_msg_and_die(shell);
  47.326 -+		}
  47.327 -+	}
  47.328 -+	/* not reached */
  47.329 -+	return 0;
  47.330 -+}
  47.331 -
  47.332 ---- busybox-1.7.3/util-linux/Kbuild
  47.333 -+++ busybox-1.7.3/util-linux/Kbuild
  47.334 -@@ -26,6 +26,7 @@
  47.335 - lib-$(CONFIG_PIVOT_ROOT)	+=pivot_root.o
  47.336 - lib-$(CONFIG_RDATE)		+=rdate.o
  47.337 - lib-$(CONFIG_READPROFILE)	+=readprofile.o
  47.338 -+lib-$(CONFIG_SCRIPT)		+=script.o
  47.339 - lib-$(CONFIG_SETARCH)		+=setarch.o
  47.340 - lib-$(CONFIG_SWAPONOFF)		+=swaponoff.o
  47.341 - lib-$(CONFIG_SWITCH_ROOT)	+=switch_root.o
  47.342 -patch bug...   
  47.343 ---- busybox-1.7.3/include/usage.h
  47.344 -+++ busybox-1.7.3/include/usage.h
  47.345 -@@ -2931,5 +2931,15 @@
  47.346 - #define rx_example_usage \
  47.347 -        "$ rx /tmp/foo\n"
  47.348 - 
  47.349 -+#define script_trivial_usage \
  47.350 -+	"[-afq] [-c COMMAND] [file]"
  47.351 -+#define script_full_usage \
  47.352 -+       "Options:\n" \
  47.353 -+       "	-a		append the output to file or typescript\n" \
  47.354 -+       "	-c COMMAND	run the COMMAND rather than an interactive shell.\n" \
  47.355 -+       "	-f		flush output after each write\n" \
  47.356 -+       "	-q		quiet."
  47.357 -+       
  47.358 -+
  47.359 - #define sed_trivial_usage \
  47.360 -        "[-efinr] pattern [files...]"
    48.1 --- a/busybox/stuff/busybox-1.7.3-usage-df.u	Wed May 27 11:52:33 2009 +0200
    48.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.3 @@ -1,12 +0,0 @@
    48.4 ---- busybox-1.7.3/include/usage.h	Fri Feb 29 18:06:12 2008
    48.5 -+++ busybox-1.7.3/include/usage.h	Fri Feb 29 18:05:38 2008
    48.6 -@@ -611,7 +611,8 @@
    48.7 -        "\n\nOptions control size display:" \
    48.8 -        "\n	-h	Human readable (e.g. 1K 243M 2G)" \
    48.9 -        "\n	-m	1024*1024 blocks" \
   48.10 --       "\n	-k	1024 blocks") \
   48.11 -+       "\n	-k	1024 blocks" \
   48.12 -+       "\n	-i	Inodes") \
   48.13 - 	SKIP_FEATURE_HUMAN_READABLE( \
   48.14 -        "\n\nOptions:" \
   48.15 -        "\n	-k	Ignored")
    49.1 --- a/busybox/stuff/busybox-1.7.3-vcsa2txt.u	Wed May 27 11:52:33 2009 +0200
    49.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.3 @@ -1,104 +0,0 @@
    49.4 ---- busybox-1.7.3/include/applets.h	2008-03-01 11:20:49.000000000 +0100
    49.5 -+++ busybox-1.7.3/include/applets.h	2008-03-01 11:24:45.000000000 +0100
    49.6 -@@ -357,6 +357,7 @@ USE_USLEEP(APPLET_NOFORK(usleep, usleep,
    49.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    49.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
    49.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
   49.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
   49.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
   49.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
   49.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
   49.14 -
   49.15 ---- busybox-1.7.3/include/usage.h	2008-03-01 11:22:06.000000000 +0100
   49.16 -+++ busybox-1.7.3/include/usage.h	2008-03-01 11:32:48.000000000 +0100
   49.17 -@@ -3835,6 +3835,13 @@ USE_FEATURE_RUN_PARTS_FANCY("\n	-l	Print
   49.18 -        "	set_ingress_map	[vlan-name] [skb_priority] [vlan_qos]\n" \
   49.19 -        "	set_name_type	[name-type]"
   49.20 - 
   49.21 -+#define vcsa2txt_trivial_usage \
   49.22 -+       "stdin"
   49.23 -+#define vcsa2txt_full_usage \
   49.24 -+       "Filter /dev/vcsa* to ansi escape sequences"
   49.25 -+#define vcsa2txt_example_usage \
   49.26 -+       "# vcsa2txt < /dev/vcsa1\n"
   49.27 -+
   49.28 - #define vi_trivial_usage \
   49.29 -        "[OPTION] [FILE]..."
   49.30 - #define vi_full_usage \
   49.31 -
   49.32 ---- busybox-1.7.3/miscutils/Config.in	2008-03-01 11:21:44.000000000 +0100
   49.33 -+++ busybox-1.7.3/miscutils/Config.in	2008-03-01 11:32:32.000000000 +0100
   49.34 -@@ -380,6 +380,12 @@ config TTYSIZE
   49.35 - 	  only height, or both, in any order. It also does not complain on error,
   49.36 - 	  but returns default 80x24. Usage in shell scripts: width=`ttysize w`.
   49.37 - 
   49.38 -+config VCSA2TXT
   49.39 -+	bool "vcsa2txt"
   49.40 -+	default n
   49.41 -+	help
   49.42 -+	  Filter /dev/vcsa* output to ansi escape sequences.
   49.43 -+
   49.44 - config WATCHDOG
   49.45 - 	bool "watchdog"
   49.46 - 	default n
   49.47 -
   49.48 ---- busybox-1.7.3/util-linux/Kbuild	2008-03-01 11:21:57.000000000 +0100
   49.49 -+++ busybox-1.7.3/util-linux/Kbuild	2008-03-01 11:32:37.000000000 +0100
   49.50 -@@ -30,4 +30,5 @@ lib-$(CONFIG_SCRIPT)		+=script.o
   49.51 - lib-$(CONFIG_SETARCH)		+=setarch.o
   49.52 - lib-$(CONFIG_SWAPONOFF)		+=swaponoff.o
   49.53 - lib-$(CONFIG_SWITCH_ROOT)	+=switch_root.o
   49.54 -+lib-$(CONFIG_VCSA2TXT)		+=vcsa2txt.o
   49.55 - lib-$(CONFIG_UMOUNT)		+=umount.o
   49.56 -
   49.57 ---- busybox-1.7.3/util-linux/vcsa2txt.c	1970-01-01 01:00:00.000000000 +0100
   49.58 -+++ busybox-1.7.3/util-linux/vcsa2txt.c	2008-03-01 11:36:13.000000000 +0100
   49.59 -@@ -0,0 +1,48 @@
   49.60 -+#include "libbb.h"
   49.61 -+
   49.62 -+static void writechar(int c) { (void)write(1,&c,1); }
   49.63 -+
   49.64 -+int vcsa2txt_main(int argc, char *argv[]);
   49.65 -+int vcsa2txt_main(int argc, char *argv[])
   49.66 -+{
   49.67 -+  struct {unsigned char l, c, x, y;} scrn; // man 4 console_codes   BLGCRMOW
   49.68 -+  static unsigned char last, ch[2], end[5] = "\e[0m\n", color[8] = "04261537";
   49.69 -+  int sp, lf, x;
   49.70 -+  if (read(0, &scrn, 4) < 0) return 1;
   49.71 -+  for (lf = 0; scrn.l; lf++, scrn.l--) for (sp = x = 0; ++x <= scrn.c;) {
   49.72 -+    if (read(0, &ch[0], 2) < 0) return 1;
   49.73 -+    if (argc > 1) ch[1] = 0;
   49.74 -+    sp++; if (last == ch[1] && ch[0] == ' ') continue;
   49.75 -+    for (lf++; --lf;) writechar('\n'); while (--sp) writechar(' ');
   49.76 -+#define PACKED
   49.77 -+#ifdef PACKED
   49.78 -+    if (last ^= ch[1]) {
   49.79 -+      char esc[16],*s;
   49.80 -+      struct offsets { char mask, type, shr; } *p;
   49.81 -+      static struct offsets offset[3] = {{8,0,1},{0x70,'4',4},{7,'3',0}};
   49.82 -+      static char init = 0x7F;
   49.83 -+      s = esc+2; *(short *)esc = '\e'+256*'[';
   49.84 -+      p = offset; do if ((init|last) & p->mask) {
   49.85 -+	int c = (ch[1] & p->mask) >> p->shr;
   49.86 -+	if ((*s = p->type) != 0) s++;
   49.87 -+	else if (c == 0) { c = 2; *s++ = '2'; /* normal */}
   49.88 -+	*s++ = color[c]; *s++ = ';'; 
   49.89 -+      } while (p++->shr); s[-1] = 'm';
   49.90 -+      init = 0;
   49.91 -+      (void)write(1,esc,s-esc);
   49.92 -+    }
   49.93 -+    last = ch[1];
   49.94 -+#else
   49.95 -+    if (last != ch[1]) {
   49.96 -+      static char esc[10] = "\e[0;47;37m";
   49.97 -+      esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */;
   49.98 -+      esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7];
   49.99 -+      esc[sizeof(esc)-2] = color[ch[1] & 7];
  49.100 -+      (void)write(1,esc,sizeof(esc));
  49.101 -+    }
  49.102 -+#endif
  49.103 -+    writechar(ch[0]);
  49.104 -+  }
  49.105 -+  (void)write(1,end,sizeof(end));
  49.106 -+  return 0;
  49.107 -+}
    50.1 --- a/busybox/stuff/busybox-1.7.3.config	Wed May 27 11:52:33 2009 +0200
    50.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.3 @@ -1,751 +0,0 @@
    50.4 -#
    50.5 -# Automatically generated make config: don't edit
    50.6 -# Busybox version: 1.7.3
    50.7 -# Sat Mar  1 11:50:42 2008
    50.8 -#
    50.9 -CONFIG_HAVE_DOT_CONFIG=y
   50.10 -
   50.11 -#
   50.12 -# Busybox Settings
   50.13 -#
   50.14 -
   50.15 -#
   50.16 -# General Configuration
   50.17 -#
   50.18 -# CONFIG_NITPICK is not set
   50.19 -CONFIG_DESKTOP=y
   50.20 -# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
   50.21 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   50.22 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   50.23 -CONFIG_SHOW_USAGE=y
   50.24 -CONFIG_FEATURE_VERBOSE_USAGE=y
   50.25 -CONFIG_FEATURE_COMPRESS_USAGE=y
   50.26 -CONFIG_FEATURE_INSTALLER=y
   50.27 -CONFIG_LOCALE_SUPPORT=y
   50.28 -CONFIG_GETOPT_LONG=y
   50.29 -CONFIG_FEATURE_DEVPTS=y
   50.30 -# CONFIG_FEATURE_CLEAN_UP is not set
   50.31 -CONFIG_FEATURE_PIDFILE=y
   50.32 -CONFIG_FEATURE_SUID=y
   50.33 -CONFIG_FEATURE_SUID_CONFIG=y
   50.34 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   50.35 -# CONFIG_SELINUX is not set
   50.36 -# CONFIG_FEATURE_PREFER_APPLETS is not set
   50.37 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
   50.38 -CONFIG_FEATURE_SYSLOG=y
   50.39 -CONFIG_FEATURE_HAVE_RPC=y
   50.40 -
   50.41 -#
   50.42 -# Build Options
   50.43 -#
   50.44 -# CONFIG_STATIC is not set
   50.45 -# CONFIG_BUILD_LIBBUSYBOX is not set
   50.46 -# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
   50.47 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   50.48 -CONFIG_LFS=y
   50.49 -# CONFIG_BUILD_AT_ONCE is not set
   50.50 -
   50.51 -#
   50.52 -# Debugging Options
   50.53 -#
   50.54 -# CONFIG_DEBUG is not set
   50.55 -# CONFIG_WERROR is not set
   50.56 -CONFIG_NO_DEBUG_LIB=y
   50.57 -# CONFIG_DMALLOC is not set
   50.58 -# CONFIG_EFENCE is not set
   50.59 -CONFIG_INCLUDE_SUSv2=y
   50.60 -
   50.61 -#
   50.62 -# Installation Options
   50.63 -#
   50.64 -# CONFIG_INSTALL_NO_USR is not set
   50.65 -CONFIG_INSTALL_APPLET_SYMLINKS=y
   50.66 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set
   50.67 -# CONFIG_INSTALL_APPLET_DONT is not set
   50.68 -CONFIG_PREFIX="./_install"
   50.69 -
   50.70 -#
   50.71 -# Busybox Library Tuning
   50.72 -#
   50.73 -CONFIG_PASSWORD_MINLEN=6
   50.74 -CONFIG_MD5_SIZE_VS_SPEED=0
   50.75 -# CONFIG_FEATURE_FAST_TOP is not set
   50.76 -# CONFIG_FEATURE_ETC_NETWORKS is not set
   50.77 -CONFIG_FEATURE_EDITING=y
   50.78 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
   50.79 -CONFIG_FEATURE_EDITING_FANCY_KEYS=y
   50.80 -# CONFIG_FEATURE_EDITING_VI is not set
   50.81 -CONFIG_FEATURE_EDITING_HISTORY=127
   50.82 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y
   50.83 -CONFIG_FEATURE_TAB_COMPLETION=y
   50.84 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
   50.85 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
   50.86 -CONFIG_MONOTONIC_SYSCALL=y
   50.87 -CONFIG_IOCTL_HEX2STR_ERROR=y
   50.88 -
   50.89 -#
   50.90 -# Applets
   50.91 -#
   50.92 -
   50.93 -#
   50.94 -# Archival Utilities
   50.95 -#
   50.96 -# CONFIG_AR is not set
   50.97 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
   50.98 -CONFIG_BUNZIP2=y
   50.99 -# CONFIG_CPIO is not set
  50.100 -CONFIG_DPKG=y
  50.101 -CONFIG_DPKG_DEB=y
  50.102 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
  50.103 -CONFIG_GUNZIP=y
  50.104 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
  50.105 -CONFIG_GZIP=y
  50.106 -CONFIG_RPM2CPIO=y
  50.107 -CONFIG_RPM=y
  50.108 -CONFIG_FEATURE_RPM_BZ2=y
  50.109 -CONFIG_TAR=y
  50.110 -CONFIG_FEATURE_TAR_CREATE=y
  50.111 -CONFIG_FEATURE_TAR_BZIP2=y
  50.112 -CONFIG_FEATURE_TAR_LZMA=y
  50.113 -CONFIG_FEATURE_TAR_FROM=y
  50.114 -CONFIG_FEATURE_TAR_GZIP=y
  50.115 -CONFIG_FEATURE_TAR_COMPRESS=y
  50.116 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
  50.117 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
  50.118 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  50.119 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y
  50.120 -CONFIG_UNCOMPRESS=y
  50.121 -CONFIG_UNLZMA=y
  50.122 -# CONFIG_FEATURE_LZMA_FAST is not set
  50.123 -CONFIG_UNZIP=y
  50.124 -
  50.125 -#
  50.126 -# Common options for cpio and tar
  50.127 -#
  50.128 -# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
  50.129 -
  50.130 -#
  50.131 -# Common options for dpkg and dpkg_deb
  50.132 -#
  50.133 -CONFIG_FEATURE_DEB_TAR_GZ=y
  50.134 -CONFIG_FEATURE_DEB_TAR_BZ2=y
  50.135 -CONFIG_FEATURE_DEB_TAR_LZMA=y
  50.136 -
  50.137 -#
  50.138 -# Coreutils
  50.139 -#
  50.140 -CONFIG_BASENAME=y
  50.141 -CONFIG_CAL=y
  50.142 -CONFIG_CAT=y
  50.143 -# CONFIG_CATV is not set
  50.144 -CONFIG_CHGRP=y
  50.145 -CONFIG_CHMOD=y
  50.146 -CONFIG_CHOWN=y
  50.147 -CONFIG_CHROOT=y
  50.148 -CONFIG_CKSUM=y
  50.149 -CONFIG_COMM=y
  50.150 -CONFIG_CP=y
  50.151 -CONFIG_CUT=y
  50.152 -CONFIG_DATE=y
  50.153 -CONFIG_FEATURE_DATE_ISOFMT=y
  50.154 -CONFIG_DD=y
  50.155 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  50.156 -CONFIG_FEATURE_DD_IBS_OBS=y
  50.157 -CONFIG_DF=y
  50.158 -CONFIG_DIRNAME=y
  50.159 -CONFIG_DOS2UNIX=y
  50.160 -CONFIG_UNIX2DOS=y
  50.161 -CONFIG_DU=y
  50.162 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  50.163 -CONFIG_ECHO=y
  50.164 -CONFIG_FEATURE_FANCY_ECHO=y
  50.165 -CONFIG_ENV=y
  50.166 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
  50.167 -CONFIG_EXPAND=y
  50.168 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
  50.169 -CONFIG_EXPR=y
  50.170 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  50.171 -CONFIG_FALSE=y
  50.172 -CONFIG_FOLD=y
  50.173 -CONFIG_HEAD=y
  50.174 -CONFIG_FEATURE_FANCY_HEAD=y
  50.175 -CONFIG_HOSTID=y
  50.176 -CONFIG_ID=y
  50.177 -CONFIG_INSTALL=y
  50.178 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
  50.179 -CONFIG_LENGTH=y
  50.180 -CONFIG_LN=y
  50.181 -CONFIG_LOGNAME=y
  50.182 -CONFIG_LS=y
  50.183 -CONFIG_FEATURE_LS_FILETYPES=y
  50.184 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
  50.185 -CONFIG_FEATURE_LS_RECURSIVE=y
  50.186 -CONFIG_FEATURE_LS_SORTFILES=y
  50.187 -CONFIG_FEATURE_LS_TIMESTAMPS=y
  50.188 -CONFIG_FEATURE_LS_USERNAME=y
  50.189 -CONFIG_FEATURE_LS_COLOR=y
  50.190 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  50.191 -CONFIG_MD5SUM=y
  50.192 -CONFIG_MKDIR=y
  50.193 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
  50.194 -CONFIG_MKFIFO=y
  50.195 -CONFIG_MKNOD=y
  50.196 -CONFIG_MV=y
  50.197 -CONFIG_FEATURE_MV_LONG_OPTIONS=y
  50.198 -CONFIG_NICE=y
  50.199 -CONFIG_NOHUP=y
  50.200 -CONFIG_OD=y
  50.201 -CONFIG_PRINTENV=y
  50.202 -CONFIG_PRINTF=y
  50.203 -CONFIG_PWD=y
  50.204 -CONFIG_READLINK=y
  50.205 -CONFIG_FEATURE_READLINK_FOLLOW=y
  50.206 -CONFIG_REALPATH=y
  50.207 -CONFIG_RM=y
  50.208 -CONFIG_RMDIR=y
  50.209 -CONFIG_SEQ=y
  50.210 -CONFIG_SHA1SUM=y
  50.211 -CONFIG_SLEEP=y
  50.212 -CONFIG_FEATURE_FANCY_SLEEP=y
  50.213 -CONFIG_SORT=y
  50.214 -CONFIG_FEATURE_SORT_BIG=y
  50.215 -CONFIG_SPLIT=y
  50.216 -CONFIG_FEATURE_SPLIT_FANCY=y
  50.217 -CONFIG_STAT=y
  50.218 -CONFIG_FEATURE_STAT_FORMAT=y
  50.219 -CONFIG_STTY=y
  50.220 -CONFIG_SUM=y
  50.221 -CONFIG_SYNC=y
  50.222 -CONFIG_TAIL=y
  50.223 -CONFIG_FEATURE_FANCY_TAIL=y
  50.224 -CONFIG_TEE=y
  50.225 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
  50.226 -CONFIG_TEST=y
  50.227 -CONFIG_FEATURE_TEST_64=y
  50.228 -CONFIG_TOUCH=y
  50.229 -CONFIG_TR=y
  50.230 -CONFIG_FEATURE_TR_CLASSES=y
  50.231 -CONFIG_FEATURE_TR_EQUIV=y
  50.232 -CONFIG_TRUE=y
  50.233 -CONFIG_TTY=y
  50.234 -CONFIG_UNAME=y
  50.235 -CONFIG_UNEXPAND=y
  50.236 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
  50.237 -CONFIG_UNIQ=y
  50.238 -CONFIG_USLEEP=y
  50.239 -CONFIG_UUDECODE=y
  50.240 -CONFIG_UUENCODE=y
  50.241 -CONFIG_WC=y
  50.242 -CONFIG_FEATURE_WC_LARGE=y
  50.243 -CONFIG_WHO=y
  50.244 -CONFIG_WHOAMI=y
  50.245 -CONFIG_YES=y
  50.246 -
  50.247 -#
  50.248 -# Common options for cp and mv
  50.249 -#
  50.250 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  50.251 -
  50.252 -#
  50.253 -# Common options for ls, more and telnet
  50.254 -#
  50.255 -CONFIG_FEATURE_AUTOWIDTH=y
  50.256 -
  50.257 -#
  50.258 -# Common options for df, du, ls
  50.259 -#
  50.260 -CONFIG_FEATURE_HUMAN_READABLE=y
  50.261 -
  50.262 -#
  50.263 -# Common options for md5sum, sha1sum
  50.264 -#
  50.265 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  50.266 -
  50.267 -#
  50.268 -# Console Utilities
  50.269 -#
  50.270 -CONFIG_CHVT=y
  50.271 -# CONFIG_CLEAR is not set
  50.272 -CONFIG_DEALLOCVT=y
  50.273 -CONFIG_DUMPKMAP=y
  50.274 -CONFIG_LOADFONT=y
  50.275 -CONFIG_LOADKMAP=y
  50.276 -CONFIG_OPENVT=y
  50.277 -# CONFIG_RESET is not set
  50.278 -# CONFIG_RESIZE is not set
  50.279 -# CONFIG_FEATURE_RESIZE_PRINT is not set
  50.280 -CONFIG_SETCONSOLE=y
  50.281 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  50.282 -CONFIG_SETKEYCODES=y
  50.283 -# CONFIG_SETLOGCONS is not set
  50.284 -
  50.285 -#
  50.286 -# Debian Utilities
  50.287 -#
  50.288 -CONFIG_MKTEMP=y
  50.289 -# CONFIG_PIPE_PROGRESS is not set
  50.290 -# CONFIG_RUN_PARTS is not set
  50.291 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  50.292 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  50.293 -# CONFIG_START_STOP_DAEMON is not set
  50.294 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  50.295 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  50.296 -CONFIG_WHICH=y
  50.297 -
  50.298 -#
  50.299 -# Editors
  50.300 -#
  50.301 -CONFIG_AWK=y
  50.302 -CONFIG_FEATURE_AWK_MATH=y
  50.303 -CONFIG_CMP=y
  50.304 -CONFIG_DIFF=y
  50.305 -CONFIG_FEATURE_DIFF_BINARY=y
  50.306 -CONFIG_FEATURE_DIFF_DIR=y
  50.307 -CONFIG_FEATURE_DIFF_MINIMAL=y
  50.308 -# CONFIG_ED is not set
  50.309 -CONFIG_PATCH=y
  50.310 -CONFIG_SED=y
  50.311 -CONFIG_VI=y
  50.312 -CONFIG_FEATURE_VI_MAX_LEN=1024
  50.313 -CONFIG_FEATURE_VI_COLON=y
  50.314 -CONFIG_FEATURE_VI_YANKMARK=y
  50.315 -CONFIG_FEATURE_VI_SEARCH=y
  50.316 -CONFIG_FEATURE_VI_USE_SIGNALS=y
  50.317 -CONFIG_FEATURE_VI_DOT_CMD=y
  50.318 -CONFIG_FEATURE_VI_READONLY=y
  50.319 -CONFIG_FEATURE_VI_SETOPTS=y
  50.320 -CONFIG_FEATURE_VI_SET=y
  50.321 -CONFIG_FEATURE_VI_WIN_RESIZE=y
  50.322 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
  50.323 -CONFIG_FEATURE_ALLOW_EXEC=y
  50.324 -
  50.325 -#
  50.326 -# Finding Utilities
  50.327 -#
  50.328 -CONFIG_FIND=y
  50.329 -CONFIG_FEATURE_FIND_PRINT0=y
  50.330 -CONFIG_FEATURE_FIND_MTIME=y
  50.331 -CONFIG_FEATURE_FIND_MMIN=y
  50.332 -CONFIG_FEATURE_FIND_PERM=y
  50.333 -CONFIG_FEATURE_FIND_TYPE=y
  50.334 -CONFIG_FEATURE_FIND_XDEV=y
  50.335 -CONFIG_FEATURE_FIND_MAXDEPTH=y
  50.336 -CONFIG_FEATURE_FIND_NEWER=y
  50.337 -CONFIG_FEATURE_FIND_INUM=y
  50.338 -CONFIG_FEATURE_FIND_EXEC=y
  50.339 -CONFIG_FEATURE_FIND_USER=y
  50.340 -CONFIG_FEATURE_FIND_GROUP=y
  50.341 -CONFIG_FEATURE_FIND_NOT=y
  50.342 -CONFIG_FEATURE_FIND_DEPTH=y
  50.343 -CONFIG_FEATURE_FIND_PAREN=y
  50.344 -CONFIG_FEATURE_FIND_SIZE=y
  50.345 -CONFIG_FEATURE_FIND_PRUNE=y
  50.346 -CONFIG_FEATURE_FIND_DELETE=y
  50.347 -CONFIG_FEATURE_FIND_PATH=y
  50.348 -CONFIG_FEATURE_FIND_REGEX=y
  50.349 -# CONFIG_FEATURE_FIND_CONTEXT is not set
  50.350 -CONFIG_GREP=y
  50.351 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
  50.352 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
  50.353 -CONFIG_FEATURE_GREP_CONTEXT=y
  50.354 -CONFIG_XARGS=y
  50.355 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  50.356 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  50.357 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  50.358 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  50.359 -
  50.360 -#
  50.361 -# Init Utilities
  50.362 -#
  50.363 -CONFIG_INIT=y
  50.364 -# CONFIG_DEBUG_INIT is not set
  50.365 -CONFIG_FEATURE_USE_INITTAB=y
  50.366 -CONFIG_FEATURE_INIT_SCTTY=y
  50.367 -# CONFIG_FEATURE_INIT_SYSLOG is not set
  50.368 -CONFIG_FEATURE_EXTRA_QUIET=y
  50.369 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
  50.370 -CONFIG_FEATURE_INITRD=y
  50.371 -CONFIG_HALT=y
  50.372 -CONFIG_MESG=y
  50.373 -
  50.374 -#
  50.375 -# Login/Password Management Utilities
  50.376 -#
  50.377 -CONFIG_FEATURE_SHADOWPASSWDS=y
  50.378 -# CONFIG_USE_BB_SHADOW is not set
  50.379 -# CONFIG_USE_BB_PWD_GRP is not set
  50.380 -CONFIG_ADDGROUP=y
  50.381 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  50.382 -CONFIG_DELGROUP=y
  50.383 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  50.384 -CONFIG_ADDUSER=y
  50.385 -CONFIG_DELUSER=y
  50.386 -CONFIG_GETTY=y
  50.387 -CONFIG_FEATURE_UTMP=y
  50.388 -CONFIG_FEATURE_WTMP=y
  50.389 -CONFIG_LOGIN=y
  50.390 -# CONFIG_PAM is not set
  50.391 -# CONFIG_LOGIN_SCRIPTS is not set
  50.392 -# CONFIG_FEATURE_NOLOGIN is not set
  50.393 -CONFIG_FEATURE_SECURETTY=y
  50.394 -CONFIG_PASSWD=y
  50.395 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
  50.396 -CONFIG_CRYPTPW=y
  50.397 -CONFIG_CHPASSWD=y
  50.398 -CONFIG_SU=y
  50.399 -CONFIG_FEATURE_SU_SYSLOG=y
  50.400 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y
  50.401 -CONFIG_SULOGIN=y
  50.402 -CONFIG_VLOCK=y
  50.403 -
  50.404 -#
  50.405 -# Linux Ext2 FS Progs
  50.406 -#
  50.407 -CONFIG_CHATTR=y
  50.408 -CONFIG_FSCK=y
  50.409 -CONFIG_LSATTR=y
  50.410 -
  50.411 -#
  50.412 -# Linux Module Utilities
  50.413 -#
  50.414 -# CONFIG_INSMOD is not set
  50.415 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  50.416 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  50.417 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  50.418 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  50.419 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  50.420 -# CONFIG_RMMOD is not set
  50.421 -# CONFIG_LSMOD is not set
  50.422 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
  50.423 -# CONFIG_MODPROBE is not set
  50.424 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
  50.425 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set
  50.426 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
  50.427 -# CONFIG_FEATURE_2_4_MODULES is not set
  50.428 -# CONFIG_FEATURE_2_6_MODULES is not set
  50.429 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
  50.430 -
  50.431 -#
  50.432 -# Linux System Utilities
  50.433 -#
  50.434 -CONFIG_DMESG=y
  50.435 -CONFIG_FEATURE_DMESG_PRETTY=y
  50.436 -CONFIG_FBSET=y
  50.437 -CONFIG_FEATURE_FBSET_FANCY=y
  50.438 -# CONFIG_FEATURE_FBSET_READMODE is not set
  50.439 -CONFIG_FDFLUSH=y
  50.440 -CONFIG_FDFORMAT=y
  50.441 -CONFIG_FDISK=y
  50.442 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  50.443 -CONFIG_FEATURE_FDISK_WRITABLE=y
  50.444 -# CONFIG_FEATURE_AIX_LABEL is not set
  50.445 -# CONFIG_FEATURE_SGI_LABEL is not set
  50.446 -# CONFIG_FEATURE_SUN_LABEL is not set
  50.447 -# CONFIG_FEATURE_OSF_LABEL is not set
  50.448 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
  50.449 -CONFIG_FREERAMDISK=y
  50.450 -# CONFIG_FSCK_MINIX is not set
  50.451 -# CONFIG_MKFS_MINIX is not set
  50.452 -# CONFIG_FEATURE_MINIX2 is not set
  50.453 -# CONFIG_GETOPT is not set
  50.454 -CONFIG_HEXDUMP=y
  50.455 -CONFIG_HWCLOCK=y
  50.456 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
  50.457 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
  50.458 -CONFIG_IPCRM=y
  50.459 -CONFIG_IPCS=y
  50.460 -CONFIG_LOSETUP=y
  50.461 -CONFIG_MDEV=y
  50.462 -CONFIG_FEATURE_MDEV_CONF=y
  50.463 -CONFIG_FEATURE_MDEV_EXEC=y
  50.464 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
  50.465 -CONFIG_MKSWAP=y
  50.466 -# CONFIG_FEATURE_MKSWAP_V0 is not set
  50.467 -CONFIG_MORE=y
  50.468 -CONFIG_FEATURE_USE_TERMIOS=y
  50.469 -CONFIG_MOUNT=y
  50.470 -CONFIG_FEATURE_MOUNT_NFS=y
  50.471 -CONFIG_FEATURE_MOUNT_CIFS=y
  50.472 -CONFIG_FEATURE_MOUNT_FLAGS=y
  50.473 -CONFIG_FEATURE_MOUNT_FSTAB=y
  50.474 -CONFIG_PIVOT_ROOT=y
  50.475 -CONFIG_RDATE=y
  50.476 -CONFIG_READPROFILE=y
  50.477 -CONFIG_SETARCH=y
  50.478 -CONFIG_SWAPONOFF=y
  50.479 -CONFIG_SWITCH_ROOT=y
  50.480 -CONFIG_UMOUNT=y
  50.481 -CONFIG_FEATURE_UMOUNT_ALL=y
  50.482 -
  50.483 -#
  50.484 -# Common options for mount/umount
  50.485 -#
  50.486 -CONFIG_FEATURE_MOUNT_LOOP=y
  50.487 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
  50.488 -
  50.489 -#
  50.490 -# Miscellaneous Utilities
  50.491 -#
  50.492 -CONFIG_ADJTIMEX=y
  50.493 -# CONFIG_BBCONFIG is not set
  50.494 -# CONFIG_CHRT is not set
  50.495 -CONFIG_CROND=y
  50.496 -# CONFIG_DEBUG_CROND_OPTION is not set
  50.497 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  50.498 -CONFIG_CRONTAB=y
  50.499 -# CONFIG_DC is not set
  50.500 -# CONFIG_DEVFSD is not set
  50.501 -# CONFIG_DEVFSD_MODLOAD is not set
  50.502 -# CONFIG_DEVFSD_FG_NP is not set
  50.503 -# CONFIG_DEVFSD_VERBOSE is not set
  50.504 -# CONFIG_FEATURE_DEVFS is not set
  50.505 -CONFIG_EJECT=y
  50.506 -CONFIG_LAST=y
  50.507 -CONFIG_LESS=y
  50.508 -CONFIG_FEATURE_LESS_MAXLINES=9999999
  50.509 -CONFIG_FEATURE_LESS_BRACKETS=y
  50.510 -CONFIG_FEATURE_LESS_FLAGS=y
  50.511 -CONFIG_FEATURE_LESS_FLAGCS=y
  50.512 -CONFIG_FEATURE_LESS_MARKS=y
  50.513 -CONFIG_FEATURE_LESS_REGEXP=y
  50.514 -CONFIG_HDPARM=y
  50.515 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
  50.516 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  50.517 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  50.518 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  50.519 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  50.520 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  50.521 -# CONFIG_MAKEDEVS is not set
  50.522 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  50.523 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  50.524 -CONFIG_MOUNTPOINT=y
  50.525 -# CONFIG_MT is not set
  50.526 -# CONFIG_RAIDAUTORUN is not set
  50.527 -# CONFIG_READAHEAD is not set
  50.528 -# CONFIG_RUNLEVEL is not set
  50.529 -# CONFIG_RX is not set
  50.530 -CONFIG_SCRIPT=y
  50.531 -CONFIG_STRINGS=y
  50.532 -CONFIG_SETSID=y
  50.533 -# CONFIG_TASKSET is not set
  50.534 -# CONFIG_FEATURE_TASKSET_FANCY is not set
  50.535 -CONFIG_TIME=y
  50.536 -# CONFIG_TTYSIZE is not set
  50.537 -CONFIG_VCSA2TXT=y
  50.538 -CONFIG_WATCHDOG=y
  50.539 -
  50.540 -#
  50.541 -# Networking Utilities
  50.542 -#
  50.543 -CONFIG_FEATURE_IPV6=y
  50.544 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  50.545 -CONFIG_ARP=y
  50.546 -CONFIG_ARPING=y
  50.547 -CONFIG_DNSD=y
  50.548 -CONFIG_ETHER_WAKE=y
  50.549 -CONFIG_FAKEIDENTD=y
  50.550 -CONFIG_FTPGET=y
  50.551 -CONFIG_FTPPUT=y
  50.552 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
  50.553 -CONFIG_HOSTNAME=y
  50.554 -# CONFIG_HTTPD is not set
  50.555 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
  50.556 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
  50.557 -# CONFIG_FEATURE_HTTPD_SETUID is not set
  50.558 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
  50.559 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
  50.560 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
  50.561 -# CONFIG_FEATURE_HTTPD_CGI is not set
  50.562 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
  50.563 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
  50.564 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
  50.565 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
  50.566 -CONFIG_IFCONFIG=y
  50.567 -CONFIG_FEATURE_IFCONFIG_STATUS=y
  50.568 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  50.569 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
  50.570 -CONFIG_FEATURE_IFCONFIG_HW=y
  50.571 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  50.572 -# CONFIG_IFUPDOWN is not set
  50.573 -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
  50.574 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
  50.575 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
  50.576 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
  50.577 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  50.578 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  50.579 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  50.580 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  50.581 -CONFIG_INETD=y
  50.582 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  50.583 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  50.584 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  50.585 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  50.586 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  50.587 -CONFIG_FEATURE_INETD_RPC=y
  50.588 -# CONFIG_IP is not set
  50.589 -# CONFIG_FEATURE_IP_ADDRESS is not set
  50.590 -# CONFIG_FEATURE_IP_LINK is not set
  50.591 -# CONFIG_FEATURE_IP_ROUTE is not set
  50.592 -# CONFIG_FEATURE_IP_TUNNEL is not set
  50.593 -# CONFIG_FEATURE_IP_RULE is not set
  50.594 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set
  50.595 -# CONFIG_IPADDR is not set
  50.596 -# CONFIG_IPLINK is not set
  50.597 -# CONFIG_IPROUTE is not set
  50.598 -# CONFIG_IPTUNNEL is not set
  50.599 -# CONFIG_IPRULE is not set
  50.600 -CONFIG_IPCALC=y
  50.601 -CONFIG_FEATURE_IPCALC_FANCY=y
  50.602 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
  50.603 -CONFIG_NAMEIF=y
  50.604 -CONFIG_NC=y
  50.605 -CONFIG_NC_SERVER=y
  50.606 -# CONFIG_NC_EXTRA is not set
  50.607 -CONFIG_NETSTAT=y
  50.608 -CONFIG_FEATURE_NETSTAT_WIDE=y
  50.609 -CONFIG_NSLOOKUP=y
  50.610 -CONFIG_PING=y
  50.611 -CONFIG_PING6=y
  50.612 -CONFIG_PSCAN=y
  50.613 -CONFIG_FEATURE_FANCY_PING=y
  50.614 -CONFIG_ROUTE=y
  50.615 -# CONFIG_SLATTACH is not set
  50.616 -CONFIG_TELNET=y
  50.617 -CONFIG_FEATURE_TELNET_TTYPE=y
  50.618 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  50.619 -# CONFIG_TELNETD is not set
  50.620 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set
  50.621 -CONFIG_TFTP=y
  50.622 -CONFIG_FEATURE_TFTP_GET=y
  50.623 -CONFIG_FEATURE_TFTP_PUT=y
  50.624 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  50.625 -# CONFIG_DEBUG_TFTP is not set
  50.626 -CONFIG_TRACEROUTE=y
  50.627 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
  50.628 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
  50.629 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  50.630 -CONFIG_APP_UDHCPD=y
  50.631 -CONFIG_APP_DHCPRELAY=y
  50.632 -# CONFIG_APP_DUMPLEASES is not set
  50.633 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
  50.634 -CONFIG_APP_UDHCPC=y
  50.635 -# CONFIG_FEATURE_UDHCP_DEBUG is not set
  50.636 -# CONFIG_FEATURE_RFC3397 is not set
  50.637 -CONFIG_VCONFIG=y
  50.638 -CONFIG_WGET=y
  50.639 -CONFIG_FEATURE_WGET_STATUSBAR=y
  50.640 -CONFIG_FEATURE_WGET_AUTHENTICATION=y
  50.641 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
  50.642 -CONFIG_ZCIP=y
  50.643 -
  50.644 -#
  50.645 -# Process Utilities
  50.646 -#
  50.647 -CONFIG_FREE=y
  50.648 -CONFIG_FUSER=y
  50.649 -CONFIG_KILL=y
  50.650 -CONFIG_KILLALL=y
  50.651 -CONFIG_KILLALL5=y
  50.652 -CONFIG_NMETER=y
  50.653 -CONFIG_PIDOF=y
  50.654 -CONFIG_FEATURE_PIDOF_SINGLE=y
  50.655 -CONFIG_FEATURE_PIDOF_OMIT=y
  50.656 -CONFIG_PS=y
  50.657 -CONFIG_FEATURE_PS_WIDE=y
  50.658 -CONFIG_RENICE=y
  50.659 -CONFIG_BB_SYSCTL=y
  50.660 -# CONFIG_TOP is not set
  50.661 -# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
  50.662 -# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set
  50.663 -# CONFIG_FEATURE_TOP_DECIMALS is not set
  50.664 -CONFIG_UPTIME=y
  50.665 -CONFIG_WATCH=y
  50.666 -
  50.667 -#
  50.668 -# Shells
  50.669 -#
  50.670 -CONFIG_FEATURE_SH_IS_ASH=y
  50.671 -# CONFIG_FEATURE_SH_IS_HUSH is not set
  50.672 -# CONFIG_FEATURE_SH_IS_LASH is not set
  50.673 -# CONFIG_FEATURE_SH_IS_MSH is not set
  50.674 -# CONFIG_FEATURE_SH_IS_NONE is not set
  50.675 -CONFIG_ASH=y
  50.676 -
  50.677 -#
  50.678 -# Ash Shell Options
  50.679 -#
  50.680 -CONFIG_ASH_JOB_CONTROL=y
  50.681 -CONFIG_ASH_READ_NCHARS=y
  50.682 -CONFIG_ASH_READ_TIMEOUT=y
  50.683 -CONFIG_ASH_ALIAS=y
  50.684 -CONFIG_ASH_MATH_SUPPORT=y
  50.685 -CONFIG_ASH_MATH_SUPPORT_64=y
  50.686 -CONFIG_ASH_GETOPTS=y
  50.687 -CONFIG_ASH_BUILTIN_ECHO=y
  50.688 -CONFIG_ASH_BUILTIN_TEST=y
  50.689 -CONFIG_ASH_CMDCMD=y
  50.690 -# CONFIG_ASH_MAIL is not set
  50.691 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
  50.692 -CONFIG_ASH_RANDOM_SUPPORT=y
  50.693 -# CONFIG_ASH_EXPAND_PRMT is not set
  50.694 -# CONFIG_HUSH is not set
  50.695 -# CONFIG_HUSH_HELP is not set
  50.696 -# CONFIG_HUSH_INTERACTIVE is not set
  50.697 -# CONFIG_HUSH_JOB is not set
  50.698 -# CONFIG_HUSH_TICK is not set
  50.699 -# CONFIG_HUSH_IF is not set
  50.700 -# CONFIG_HUSH_LOOPS is not set
  50.701 -# CONFIG_LASH is not set
  50.702 -# CONFIG_MSH is not set
  50.703 -
  50.704 -#
  50.705 -# Bourne Shell Options
  50.706 -#
  50.707 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
  50.708 -# CONFIG_FEATURE_SH_STANDALONE is not set
  50.709 -# CONFIG_CTTYHACK is not set
  50.710 -
  50.711 -#
  50.712 -# System Logging Utilities
  50.713 -#
  50.714 -CONFIG_SYSLOGD=y
  50.715 -CONFIG_FEATURE_ROTATE_LOGFILE=y
  50.716 -CONFIG_FEATURE_REMOTE_LOG=y
  50.717 -# CONFIG_FEATURE_IPC_SYSLOG is not set
  50.718 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=
  50.719 -# CONFIG_LOGREAD is not set
  50.720 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
  50.721 -CONFIG_KLOGD=y
  50.722 -CONFIG_LOGGER=y
  50.723 -
  50.724 -#
  50.725 -# Runit Utilities
  50.726 -#
  50.727 -# CONFIG_RUNSV is not set
  50.728 -# CONFIG_RUNSVDIR is not set
  50.729 -# CONFIG_SV is not set
  50.730 -# CONFIG_SVLOGD is not set
  50.731 -# CONFIG_CHPST is not set
  50.732 -# CONFIG_SETUIDGID is not set
  50.733 -# CONFIG_ENVUIDGID is not set
  50.734 -# CONFIG_ENVDIR is not set
  50.735 -# CONFIG_SOFTLIMIT is not set
  50.736 -# CONFIG_CHCON is not set
  50.737 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
  50.738 -# CONFIG_GETENFORCE is not set
  50.739 -# CONFIG_GETSEBOOL is not set
  50.740 -# CONFIG_LOAD_POLICY is not set
  50.741 -# CONFIG_MATCHPATHCON is not set
  50.742 -# CONFIG_RESTORECON is not set
  50.743 -# CONFIG_RUNCON is not set
  50.744 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
  50.745 -# CONFIG_SELINUXENABLED is not set
  50.746 -# CONFIG_SETENFORCE is not set
  50.747 -# CONFIG_SETFILES is not set
  50.748 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
  50.749 -
  50.750 -#
  50.751 -# ipsvd utilities
  50.752 -#
  50.753 -# CONFIG_TCPSVD is not set
  50.754 -# CONFIG_UDPSVD is not set