From 79b3d42e13814f984ec35ec632d34db301871567 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 3 Jun 2010 04:29:08 +0200 Subject: ash: rename parsefile->fd to ->pf_fd Signed-off-by: Denys Vlasenko --- shell/ash.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/shell/ash.c b/shell/ash.c index 067feb13d..b2c56f0aa 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -1044,7 +1044,7 @@ struct strpush { struct parsefile { struct parsefile *prev; /* preceding file on stack */ int linno; /* current line */ - int fd; /* file descriptor (or -1 if string) */ + int pf_fd; /* file descriptor (or -1 if string) */ int left_in_line; /* number of chars left in this line */ int left_in_buffer; /* number of chars left in this buffer past the line */ char *next_to_pgetc; /* next char in buffer */ @@ -1070,7 +1070,7 @@ ash_vmsg(const char *msg, va_list ap) if (commandname) { if (strcmp(arg0, commandname)) fprintf(stderr, "%s: ", commandname); - if (!iflag || g_parsefile->fd > 0) + if (!iflag || g_parsefile->pf_fd > 0) fprintf(stderr, "line %d: ", startlinno); } vfprintf(stderr, msg, ap); @@ -5066,15 +5066,15 @@ static int is_hidden_fd(struct redirtab *rp, int fd) /* Check open scripts' fds */ pf = g_parsefile; while (pf) { - /* We skip fd == 0 case because of the following case: + /* We skip pf_fd == 0 case because of the following case: * $ ash # running ash interactively * $ . ./script.sh * and in script.sh: "exec 9>&0". - * Even though top-level fd _is_ 0, + * Even though top-level pf_fd _is_ 0, * it's still ok to use it: "read" builtin uses it, * why should we cripple "exec" builtin? */ - if (pf->fd > 0 && fd == pf->fd) { + if (pf->pf_fd > 0 && fd == pf->pf_fd) { return 1; } pf = pf->prev; @@ -9456,8 +9456,8 @@ preadfd(void) g_parsefile->next_to_pgetc = buf; #if ENABLE_FEATURE_EDITING retry: - if (!iflag || g_parsefile->fd != STDIN_FILENO) - nr = nonblock_safe_read(g_parsefile->fd, buf, IBUFSIZ - 1); + if (!iflag || g_parsefile->pf_fd != STDIN_FILENO) + nr = nonblock_safe_read(g_parsefile->pf_fd, buf, IBUFSIZ - 1); else { #if ENABLE_FEATURE_TAB_COMPLETION line_input_state->path_lookup = pathval(); @@ -9706,7 +9706,7 @@ pushfile(void) pf = ckzalloc(sizeof(*pf)); pf->prev = g_parsefile; - pf->fd = -1; + pf->pf_fd = -1; /*pf->strpush = NULL; - ckzalloc did it */ /*pf->basestrpush.prev = NULL;*/ g_parsefile = pf; @@ -9718,8 +9718,8 @@ popfile(void) struct parsefile *pf = g_parsefile; INT_OFF; - if (pf->fd >= 0) - close(pf->fd); + if (pf->pf_fd >= 0) + close(pf->pf_fd); free(pf->buf); while (pf->strpush) popstring(); @@ -9746,9 +9746,9 @@ static void closescript(void) { popallfiles(); - if (g_parsefile->fd > 0) { - close(g_parsefile->fd); - g_parsefile->fd = 0; + if (g_parsefile->pf_fd > 0) { + close(g_parsefile->pf_fd); + g_parsefile->pf_fd = 0; } } @@ -9764,7 +9764,7 @@ setinputfd(int fd, int push) pushfile(); g_parsefile->buf = NULL; } - g_parsefile->fd = fd; + g_parsefile->pf_fd = fd; if (g_parsefile->buf == NULL) g_parsefile->buf = ckmalloc(IBUFSIZ); g_parsefile->left_in_buffer = 0; @@ -13008,7 +13008,7 @@ int ash_main(int argc UNUSED_PARAM, char **argv) * Ensure we don't falsely claim that 0 (stdin) * is one of stacked source fds. * Testcase: ash -c 'exec 1>&0' must not complain. */ - // if (!sflag) g_parsefile->fd = -1; + // if (!sflag) g_parsefile->pf_fd = -1; // ^^ not necessary since now we special-case fd 0 // in is_hidden_fd() to not be considered "hidden fd" evalstring(minusc, 0); -- cgit v1.2.3-55-g6feb From bf5f99ffb245e9039df62e5d3f77674fd7b3b2a7 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Jun 2010 01:29:52 +0200 Subject: sed: fix a case when one-line range matches past lines. Closes bug 1867. function old new delta process_files 2096 2107 +11 add_cmd 1142 1132 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 11/-10) Total: 1 bytes Signed-off-by: Denys Vlasenko --- editors/sed.c | 43 ++++++++++++++++++++++++++++--------------- testsuite/sed.tests | 5 +++++ 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/editors/sed.c b/editors/sed.c index 4bd6e0168..7fe2809b3 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -119,10 +119,10 @@ struct globals { } pipeline; } FIX_ALIASING; #define G (*(struct globals*)&bb_common_bufsiz1) -void BUG_sed_globals_too_big(void); +struct BUG_G_too_big { + char BUG_G_too_big[sizeof(G) <= COMMON_BUFSIZE ? 1 : -1]; +}; #define INIT_G() do { \ - if (sizeof(struct globals) > COMMON_BUFSIZE) \ - BUG_sed_globals_too_big(); \ G.sed_cmd_tail = &G.sed_cmd_head; \ } while (0) @@ -385,7 +385,8 @@ static int parse_subst_cmd(sed_cmd_t *sed_cmd, const char *substr) break; /* Comment */ case '#': - while (substr[++idx]) /*skip all*/; + // while (substr[++idx]) continue; + idx += strlen(substr + idx); // same /* Fall through */ /* End of command */ case ';': @@ -395,7 +396,7 @@ static int parse_subst_cmd(sed_cmd_t *sed_cmd, const char *substr) bb_error_msg_and_die("bad option in substitution expression"); } } -out: + out: /* compile the match string into a regex */ if (*match != '\0') { /* If match is empty, we use last regex used at runtime */ @@ -896,13 +897,32 @@ static void process_files(void) /* Determine if this command matches this line: */ + //bb_error_msg("match1:%d", sed_cmd->in_match); + //bb_error_msg("match2:%d", (!sed_cmd->beg_line && !sed_cmd->end_line + // && !sed_cmd->beg_match && !sed_cmd->end_match)); + //bb_error_msg("match3:%d", (sed_cmd->beg_line > 0 + // && (sed_cmd->end_line || sed_cmd->end_match + // ? (sed_cmd->beg_line <= linenum) + // : (sed_cmd->beg_line == linenum) + // ) + // ) + //bb_error_msg("match4:%d", (beg_match(sed_cmd, pattern_space))); + //bb_error_msg("match5:%d", (sed_cmd->beg_line == -1 && next_line == NULL)); + /* Are we continuing a previous multi-line match? */ sed_cmd->in_match = sed_cmd->in_match /* Or is no range necessary? */ || (!sed_cmd->beg_line && !sed_cmd->end_line && !sed_cmd->beg_match && !sed_cmd->end_match) /* Or did we match the start of a numerical range? */ - || (sed_cmd->beg_line > 0 && (sed_cmd->beg_line <= linenum)) + || (sed_cmd->beg_line > 0 + && (sed_cmd->end_line || sed_cmd->end_match + /* note: even if end numeric and is < linenum too, + * GNU sed matches! We match too */ + ? (sed_cmd->beg_line <= linenum) /* N,end */ + : (sed_cmd->beg_line == linenum) /* N */ + ) + ) /* Or does this line match our begin address regex? */ || (beg_match(sed_cmd, pattern_space)) /* Or did we match last line of input? */ @@ -976,7 +996,6 @@ static void process_files(void) case 'P': { char *tmp = strchr(pattern_space, '\n'); - if (tmp) { *tmp = '\0'; /* TODO: explain why '\n' below */ @@ -999,11 +1018,8 @@ static void process_files(void) case 'D': { char *tmp = strchr(pattern_space, '\n'); - if (tmp) { - tmp = xstrdup(tmp+1); - free(pattern_space); - pattern_space = tmp; + overlapping_strcpy(pattern_space, tmp + 1); goto restart; } } @@ -1048,7 +1064,6 @@ static void process_files(void) case 'r': { FILE *rfile; - rfile = fopen_for_read(sed_cmd->string); if (rfile) { char *line; @@ -1097,12 +1112,11 @@ static void process_files(void) int len; /* If no next line, jump to end of script and exit. */ if (next_line == NULL) { - /* Jump to end of script and exit */ free(next_line); next_line = NULL; goto discard_line; - /* append next_line, read new next_line. */ } + /* Append next_line, read new next_line. */ len = strlen(pattern_space); pattern_space = xrealloc(pattern_space, len + strlen(next_line) + 2); pattern_space[len] = '\n'; @@ -1131,7 +1145,6 @@ static void process_files(void) case 'y': { int i, j; - for (i = 0; pattern_space[i]; i++) { for (j = 0; sed_cmd->string[j]; j += 2) { if (pattern_space[i] == sed_cmd->string[j]) { diff --git a/testsuite/sed.tests b/testsuite/sed.tests index 88b9c4e4b..3301a25f8 100755 --- a/testsuite/sed.tests +++ b/testsuite/sed.tests @@ -270,6 +270,11 @@ testing "sed a cmd ended by double backslash" \ | two \\ ' +# fisrt three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges +testing "sed with N skipping lines past ranges on next cmds" \ + "sed -n '1{N;N;d};1p;2,3p;3p;4p'" \ + "4\n4\n" "" "1\n2\n3\n4\n" + # testing "description" "arguments" "result" "infile" "stdin" exit $FAILCOUNT -- cgit v1.2.3-55-g6feb From c46792492fa4a0b2631e9c711864f37a493aeef6 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Jun 2010 01:31:48 +0200 Subject: typo fix Signed-off-by: Denys Vlasenko --- editors/sed.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editors/sed.c b/editors/sed.c index 7fe2809b3..a5ef400fc 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -917,7 +917,7 @@ static void process_files(void) /* Or did we match the start of a numerical range? */ || (sed_cmd->beg_line > 0 && (sed_cmd->end_line || sed_cmd->end_match - /* note: even if end numeric and is < linenum too, + /* note: even if end is numeric and is < linenum too, * GNU sed matches! We match too */ ? (sed_cmd->beg_line <= linenum) /* N,end */ : (sed_cmd->beg_line == linenum) /* N */ -- cgit v1.2.3-55-g6feb From 8878c24c7d15fe0d4df73aa8477251c6583f5157 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Jun 2010 15:55:17 +0200 Subject: mkfs_vfat: fix gcc-4.4 warning Signed-off-by: Denys Vlasenko --- util-linux/mkfs_vfat.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/util-linux/mkfs_vfat.c b/util-linux/mkfs_vfat.c index ff3e4165a..c57cd9d5a 100644 --- a/util-linux/mkfs_vfat.c +++ b/util-linux/mkfs_vfat.c @@ -98,8 +98,9 @@ struct msdos_volume_info { /* (offsets are relative to start of boot sector) */ } PACKED; /* 05a end. Total size 26 (0x1a) bytes */ struct msdos_boot_sector { - char boot_jump[3]; /* 000 short or near jump instruction */ - char system_id[8]; /* 003 name - can be used to special case partition manager volumes */ + /* We use strcpy to fill both, and gcc-4.4.x complains if they are separate */ + char boot_jump_and_sys_id[3+8]; /* 000 short or near jump instruction */ + /*char system_id[8];*/ /* 003 name - can be used to special case partition manager volumes */ uint16_t bytes_per_sect; /* 00b bytes per logical sector */ uint8_t sect_per_clust; /* 00d sectors/cluster */ uint16_t reserved_sect; /* 00e reserved sectors (sector offset of 1st FAT relative to volume start) */ @@ -457,7 +458,7 @@ int mkfs_vfat_main(int argc UNUSED_PARAM, char **argv) struct msdos_boot_sector *boot_blk = (void*)buf; struct fat32_fsinfo *info = (void*)(buf + bytes_per_sect); - strcpy(boot_blk->boot_jump, "\xeb\x58\x90" "mkdosfs"); // system_id[8] included :) + strcpy(boot_blk->boot_jump_and_sys_id, "\xeb\x58\x90" "mkdosfs"); STORE_LE(boot_blk->bytes_per_sect, bytes_per_sect); STORE_LE(boot_blk->sect_per_clust, sect_per_clust); // cast in needed on big endian to suppress a warning -- cgit v1.2.3-55-g6feb From 6c2406ac861f42536acb76606c90412324a0e733 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Jun 2010 18:19:15 +0200 Subject: date: optional support for %N. Closes bug 1861. function old new delta date_main 862 1090 +228 clock_gettime - 41 +41 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 1/0 up/down: 269/0) Total: 269 bytes Signed-off-by: Denys Vlasenko --- coreutils/Config.in | 7 +++++++ coreutils/date.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 60 insertions(+), 6 deletions(-) diff --git a/coreutils/Config.in b/coreutils/Config.in index ead632a31..37e885c1c 100644 --- a/coreutils/Config.in +++ b/coreutils/Config.in @@ -115,6 +115,13 @@ config FEATURE_DATE_ISOFMT Enable option (-I) to output an ISO-8601 compliant date/time string. +config FEATURE_DATE_NANO + bool "Support %[num]N nanosecond format specifier" + default y + depends on DATE + help + Support %[num]N format specifier. Adds ~250 bytes of code. + config FEATURE_DATE_COMPAT bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format" default y diff --git a/coreutils/date.c b/coreutils/date.c index 4e5b3b0b8..c1390be76 100644 --- a/coreutils/date.c +++ b/coreutils/date.c @@ -84,9 +84,9 @@ static const char date_longopts[] ALIGN1 = int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int date_main(int argc UNUSED_PARAM, char **argv) { + struct timespec ts; struct tm tm_time; char buf_fmt_dt2str[64]; - time_t tm; unsigned opt; int ifmt = -1; char *date_str; @@ -161,11 +161,18 @@ int date_main(int argc UNUSED_PARAM, char **argv) if (opt & OPT_REFERENCE) { struct stat statbuf; xstat(filename, &statbuf); - tm = statbuf.st_mtime; + ts.tv_sec = statbuf.st_mtime; +#if ENABLE_FEATURE_DATE_NANO + ts.tv_nsec = statbuf.st_mtimensec; //or st_atim.tv_nsec? +#endif } else { - time(&tm); +#if ENABLE_FEATURE_DATE_NANO + clock_gettime(CLOCK_REALTIME, &ts); +#else + time(&ts.tv_nsec); +#endif } - localtime_r(&tm, &tm_time); + localtime_r(&ts.tv_sec, &tm_time); /* If date string is given, update tm_time, and maybe set date */ if (date_str != NULL) { @@ -184,12 +191,12 @@ int date_main(int argc UNUSED_PARAM, char **argv) /* Correct any day of week and day of year etc. fields */ tm_time.tm_isdst = -1; /* Be sure to recheck dst */ - tm = validate_tm_time(date_str, &tm_time); + ts.tv_sec = validate_tm_time(date_str, &tm_time); maybe_set_utc(opt); /* if setting time, set it */ - if ((opt & OPT_SET) && stime(&tm) < 0) { + if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) { bb_perror_msg("can't set date"); } } @@ -222,6 +229,46 @@ int date_main(int argc UNUSED_PARAM, char **argv) fmt_dt2str = (char*)"%a %b %e %H:%M:%S %Z %Y"; } } +#if ENABLE_FEATURE_DATE_NANO + else { + /* User-specified fmt_dt2str */ + /* Search for and process "%N" */ + char *p = fmt_dt2str; + while ((p = strchr(p, '%')) != NULL) { + int n, m; + unsigned pres, scale; + + p++; + if (*p == '%') { + p++; + continue; + } + n = strspn(p, "0123456789"); + if (p[n] != 'N') { + p += n; + continue; + } + /* We have "%[nnn]N" */ + p[-1] = '\0'; + p[n] = '\0'; + scale = 1; + pres = 9; + if (n) { + pres = xatoi_u(p); + if (pres == 0) + pres = 9; + m = 9 - pres; + while (--m >= 0) + scale *= 10; + } + + m = p - fmt_dt2str; + p += n + 1; + fmt_dt2str = xasprintf("%s%0*u%s", fmt_dt2str, pres, (unsigned)ts.tv_nsec / scale, p); + p = fmt_dt2str + m; + } + } +#endif #define date_buf bb_common_bufsiz1 if (*fmt_dt2str == '\0') { -- cgit v1.2.3-55-g6feb From 6db13732954b23bd0f6f55c5b3c3941f0547141c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 4 Jun 2010 13:24:50 -0400 Subject: udhcpd: fix daemonize crash on nommu systems Signed-off-by: Mike Frysinger --- networking/udhcp/dhcpd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c index e48473389..043220de9 100644 --- a/networking/udhcp/dhcpd.c +++ b/networking/udhcp/dhcpd.c @@ -305,11 +305,12 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv) , &dhcp_verbose #endif ); - argv += optind; if (!(opt & 1)) { /* no -f */ bb_daemonize_or_rexec(0, argv); logmode = LOGMODE_NONE; } + /* update argv after the possible vfork+exec in daemonize */ + argv += optind; if (opt & 2) { /* -S */ openlog(applet_name, LOG_PID, LOG_DAEMON); logmode |= LOGMODE_SYSLOG; -- cgit v1.2.3-55-g6feb From e4070cb0d7586037c6fcf0f0f00d8d5b97f649d3 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Jun 2010 19:59:49 +0200 Subject: partially migrate coreutils to Config.src and Kbuild.src Signed-off-by: Denys Vlasenko --- coreutils/Config.in | 900 --------------------------------------------------- coreutils/Config.src | 808 +++++++++++++++++++++++++++++++++++++++++++++ coreutils/Kbuild | 98 ------ coreutils/Kbuild.src | 88 +++++ coreutils/basename.c | 10 + coreutils/cat.c | 12 + coreutils/date.c | 41 +++ coreutils/test.c | 20 ++ coreutils/tr.c | 29 ++ 9 files changed, 1008 insertions(+), 998 deletions(-) delete mode 100644 coreutils/Config.in create mode 100644 coreutils/Config.src delete mode 100644 coreutils/Kbuild create mode 100644 coreutils/Kbuild.src diff --git a/coreutils/Config.in b/coreutils/Config.in deleted file mode 100644 index 37e885c1c..000000000 --- a/coreutils/Config.in +++ /dev/null @@ -1,900 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Coreutils" - -config BASENAME - bool "basename" - default n - help - basename is used to strip the directory and suffix from filenames, - leaving just the filename itself. Enable this option if you wish - to enable the 'basename' utility. - -config CAL - bool "cal" - default n - help - cal is used to display a monthly calender. - -config CAT - bool "cat" - default n - help - cat is used to concatenate files and print them to the standard - output. Enable this option if you wish to enable the 'cat' utility. - -config CATV - bool "catv" - default n - help - Display nonprinting characters as escape sequences (like some - implementations' cat -v option). - -config CHGRP - bool "chgrp" - default n - help - chgrp is used to change the group ownership of files. - -config CHMOD - bool "chmod" - default n - help - chmod is used to change the access permission of files. - -config CHOWN - bool "chown" - default n - help - chown is used to change the user and/or group ownership - of files. - -config FEATURE_CHOWN_LONG_OPTIONS - bool "Enable long options" - default n - depends on CHOWN && LONG_OPTS - help - Enable use of long options - -config CHROOT - bool "chroot" - default n - help - chroot is used to change the root directory and run a command. - The default command is `/bin/sh'. - -config CKSUM - bool "cksum" - default n - help - cksum is used to calculate the CRC32 checksum of a file. - -config COMM - bool "comm" - default n - help - comm is used to compare two files line by line and return - a three-column output. - -config CP - bool "cp" - default n - help - cp is used to copy files and directories. - -config FEATURE_CP_LONG_OPTIONS - bool "Enable long options for cp" - default n - depends on CP && LONG_OPTS - help - Enable long options for cp. - Also add support for --parents option. - -config CUT - bool "cut" - default n - help - cut is used to print selected parts of lines from - each file to stdout. - -config DATE - bool "date" - default n - help - date is used to set the system date or display the - current time in the given format. - -config FEATURE_DATE_ISOFMT - bool "Enable ISO date format output (-I)" - default y - depends on DATE - help - Enable option (-I) to output an ISO-8601 compliant - date/time string. - -config FEATURE_DATE_NANO - bool "Support %[num]N nanosecond format specifier" - default y - depends on DATE - help - Support %[num]N format specifier. Adds ~250 bytes of code. - -config FEATURE_DATE_COMPAT - bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format" - default y - depends on DATE - help - System time can be set by 'date -s DATE' and simply 'date DATE', - but formats of DATE string are different. 'date DATE' accepts - a rather weird MMDDhhmm[[YY]YY][.ss] format with completely - unnatural placement of year between minutes and seconds. - date -s (and other commands like touch -d) use more sensible - formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss). - - With this option off, 'date DATE' is 'date -s DATE' support - the same format. With it on, 'date DATE' additionally supports - MMDDhhmm[[YY]YY][.ss] format. - -config DD - bool "dd" - default n - help - dd copies a file (from standard input to standard output, - by default) using specific input and output blocksizes, - while optionally performing conversions on it. - -config FEATURE_DD_SIGNAL_HANDLING - bool "Enable DD signal handling for status reporting" - default y - depends on DD - help - Sending a SIGUSR1 signal to a running `dd' process makes it - print to standard error the number of records read and written - so far, then to resume copying. - - $ dd if=/dev/zero of=/dev/null& - $ pid=$! kill -USR1 $pid; sleep 1; kill $pid - 10899206+0 records in - 10899206+0 records out - -config FEATURE_DD_THIRD_STATUS_LINE - bool "Enable the third status line upon signal" - default n - depends on DD && FEATURE_DD_SIGNAL_HANDLING - help - Displays a coreutils-like third status line with transferred bytes, - elapsed time and speed. - -config FEATURE_DD_IBS_OBS - bool "Enable ibs, obs and conv options" - default n - depends on DD - help - Enables support for writing a certain number of bytes in and out, - at a time, and performing conversions on the data stream. - -config DF - bool "df" - default n - help - df reports the amount of disk space used and available - on filesystems. - -config FEATURE_DF_FANCY - bool "Enable -a, -i, -B" - default n - depends on DF - help - This option enables -a, -i and -B. - - -a Show all filesystems - -i Inodes - -B Blocksize - -config DIRNAME - bool "dirname" - default n - help - dirname is used to strip a non-directory suffix from - a file name. - -config DOS2UNIX - bool "dos2unix/unix2dos" - default n - help - dos2unix is used to convert a text file from DOS format to - UNIX format, and vice versa. - -config UNIX2DOS - bool - default y - depends on DOS2UNIX - help - unix2dos is used to convert a text file from UNIX format to - DOS format, and vice versa. - -config DU - bool "du (default blocksize of 512 bytes)" - default n - help - du is used to report the amount of disk space used - for specified files. - -config FEATURE_DU_DEFAULT_BLOCKSIZE_1K - bool "Use a default blocksize of 1024 bytes (1K)" - default y - depends on DU - help - Use a blocksize of (1K) instead of the default 512b. - -config ECHO - bool "echo (basic SuSv3 version taking no options)" - default n - help - echo is used to print a specified string to stdout. - -# this entry also appears in shell/Config.in, next to the echo builtin -config FEATURE_FANCY_ECHO - bool "Enable echo options (-n and -e)" - default y - depends on ECHO || ASH_BUILTIN_ECHO || HUSH - help - This adds options (-n and -e) to echo. - -config ENV - bool "env" - default n - help - env is used to set an environment variable and run - a command; without options it displays the current - environment. - -config FEATURE_ENV_LONG_OPTIONS - bool "Enable long options" - default n - depends on ENV && LONG_OPTS - help - Support long options for the env applet. - -config EXPAND - bool "expand" - default n - help - By default, convert all tabs to spaces. - -config FEATURE_EXPAND_LONG_OPTIONS - bool "Enable long options" - default n - depends on EXPAND && LONG_OPTS - help - Support long options for the expand applet. - -config EXPR - bool "expr" - default n - help - expr is used to calculate numbers and print the result - to standard output. - -config EXPR_MATH_SUPPORT_64 - bool "Extend Posix numbers support to 64 bit" - default n - depends on EXPR - help - Enable 64-bit math support in the expr applet. This will make - the applet slightly larger, but will allow computation with very - large numbers. - -config FALSE - bool "false" - default n - help - false returns an exit code of FALSE (1). - -config FOLD - bool "fold" - default n - help - Wrap text to fit a specific width. - -config FSYNC - bool "fsync" - default n - help - fsync is used to flush file-related cached blocks to disk. - -config HEAD - bool "head" - default n - help - head is used to print the first specified number of lines - from files. - -config FEATURE_FANCY_HEAD - bool "Enable head options (-c, -q, and -v)" - default n - depends on HEAD - help - This enables the head options (-c, -q, and -v). - -config HOSTID - bool "hostid" - default n - help - hostid prints the numeric identifier (in hexadecimal) for - the current host. - -config ID - bool "id" - default n - help - id displays the current user and group ID names. - -config INSTALL - bool "install" - default n - help - Copy files and set attributes. - -config FEATURE_INSTALL_LONG_OPTIONS - bool "Enable long options" - default n - depends on INSTALL && LONG_OPTS - help - Support long options for the install applet. - -config LENGTH - bool "length" - default n - help - length is used to print out the length of a specified string. - -config LN - bool "ln" - default n - help - ln is used to create hard or soft links between files. - -config LOGNAME - bool "logname" - default n - help - logname is used to print the current user's login name. - -config LS - bool "ls" - default n - help - ls is used to list the contents of directories. - -config FEATURE_LS_FILETYPES - bool "Enable filetyping options (-p and -F)" - default y - depends on LS - help - Enable the ls options (-p and -F). - -config FEATURE_LS_FOLLOWLINKS - bool "Enable symlinks dereferencing (-L)" - default y - depends on LS - help - Enable the ls option (-L). - -config FEATURE_LS_RECURSIVE - bool "Enable recursion (-R)" - default y - depends on LS - help - Enable the ls option (-R). - -config FEATURE_LS_SORTFILES - bool "Sort the file names" - default y - depends on LS - help - Allow ls to sort file names alphabetically. - -config FEATURE_LS_TIMESTAMPS - bool "Show file timestamps" - default y - depends on LS - help - Allow ls to display timestamps for files. - -config FEATURE_LS_USERNAME - bool "Show username/groupnames" - default y - depends on LS - help - Allow ls to display username/groupname for files. - -config FEATURE_LS_COLOR - bool "Allow use of color to identify file types" - default y - depends on LS && LONG_OPTS - help - This enables the --color option to ls. - -config FEATURE_LS_COLOR_IS_DEFAULT - bool "Produce colored ls output by default" - default n - depends on FEATURE_LS_COLOR - help - Saying yes here will turn coloring on by default, - even if no "--color" option is given to the ls command. - This is not recommended, since the colors are not - configurable, and the output may not be legible on - many output screens. - -config MD5SUM - bool "md5sum" - default n - help - md5sum is used to print or check MD5 checksums. - -config MKDIR - bool "mkdir" - default n - help - mkdir is used to create directories with the specified names. - -config FEATURE_MKDIR_LONG_OPTIONS - bool "Enable long options" - default n - depends on MKDIR && LONG_OPTS - help - Support long options for the mkdir applet. - -config MKFIFO - bool "mkfifo" - default n - help - mkfifo is used to create FIFOs (named pipes). - The `mknod' program can also create FIFOs. - -config MKNOD - bool "mknod" - default n - help - mknod is used to create FIFOs or block/character special - files with the specified names. - -config MV - bool "mv" - default n - help - mv is used to move or rename files or directories. - -config FEATURE_MV_LONG_OPTIONS - bool "Enable long options" - default n - depends on MV && LONG_OPTS - help - Support long options for the mv applet. - -config NICE - bool "nice" - default n - help - nice runs a program with modified scheduling priority. - -config NOHUP - bool "nohup" - default n - help - run a command immune to hangups, with output to a non-tty. - -config OD - bool "od" - default n - help - od is used to dump binary files in octal and other formats. - -config PRINTENV - bool "printenv" - default n - help - printenv is used to print all or part of environment. - -config PRINTF - bool "printf" - default n - help - printf is used to format and print specified strings. - It's similar to `echo' except it has more options. - -config PWD - bool "pwd" - default n - help - pwd is used to print the current directory. - -config READLINK - bool "readlink" - default n - help - This program reads a symbolic link and returns the name - of the file it points to - -config FEATURE_READLINK_FOLLOW - bool "Enable canonicalization by following all symlinks (-f)" - default n - depends on READLINK - help - Enable the readlink option (-f). - -config REALPATH - bool "realpath" - default n - help - Return the canonicalized absolute pathname. - This isn't provided by GNU shellutils, but where else does it belong. - -config RM - bool "rm" - default n - help - rm is used to remove files or directories. - -config RMDIR - bool "rmdir" - default n - help - rmdir is used to remove empty directories. - -config FEATURE_RMDIR_LONG_OPTIONS - bool "Enable long options" - default n - depends on RMDIR && LONG_OPTS - help - Support long options for the rmdir applet, including - --ignore-fail-on-non-empty for compatibility with GNU rmdir. - -config SEQ - bool "seq" - default n - help - print a sequence of numbers - -config SHA1SUM - bool "sha1sum" - default n - help - Compute and check SHA1 message digest - -config SHA256SUM - bool "sha256sum" - default n - help - Compute and check SHA256 message digest - -config SHA512SUM - bool "sha512sum" - default n - help - Compute and check SHA512 message digest - -config SLEEP - bool "sleep" - default n - help - sleep is used to pause for a specified number of seconds. - It comes in 3 versions: - - small: takes one integer parameter - - fancy: takes multiple integer arguments with suffixes: - sleep 1d 2h 3m 15s - - fancy with fractional numbers: - sleep 2.3s 4.5h sleeps for 16202.3 seconds - Last one is "the most compatible" with coreutils sleep, - but it adds around 1k of code. - -config FEATURE_FANCY_SLEEP - bool "Enable multiple arguments and s/m/h/d suffixes" - default n - depends on SLEEP - help - Allow sleep to pause for specified minutes, hours, and days. - -config FEATURE_FLOAT_SLEEP - bool "Enable fractional arguments" - default n - depends on FEATURE_FANCY_SLEEP - help - Allow for fractional numeric parameters. - -config SORT - bool "sort" - default n - help - sort is used to sort lines of text in specified files. - -config FEATURE_SORT_BIG - bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)" - default y - depends on SORT - help - Without this, sort only supports -r, -u, and an integer version - of -n. Selecting this adds sort keys, floating point support, and - more. This adds a little over 3k to a nonstatic build on x86. - - The SuSv3 sort standard is available at: - http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html - -config SPLIT - bool "split" - default n - help - split a file into pieces. - -config FEATURE_SPLIT_FANCY - bool "Fancy extensions" - default n - depends on SPLIT - help - Add support for features not required by SUSv3. - Supports additional suffixes 'b' for 512 bytes, - 'g' for 1GiB for the -b option. - -config STAT - bool "stat" - default n - help - display file or filesystem status. - -config FEATURE_STAT_FORMAT - bool "Enable custom formats (-c)" - default n - depends on STAT - help - Without this, stat will not support the '-c format' option where - users can pass a custom format string for output. This adds about - 7k to a nonstatic build on amd64. - -config STTY - bool "stty" - default n - help - stty is used to change and print terminal line settings. - -config SUM - bool "sum" - default n - help - checksum and count the blocks in a file - -config SYNC - bool "sync" - default n - help - sync is used to flush filesystem buffers. - -config TAC - bool "tac" - default n - help - tac is used to concatenate and print files in reverse. - -config TAIL - bool "tail" - default n - help - tail is used to print the last specified number of lines - from files. - -config FEATURE_FANCY_TAIL - bool "Enable extra tail options (-q, -s, -v, and -F)" - default y - depends on TAIL - help - The options (-q, -s, and -v) are provided by GNU tail, but - are not specific in the SUSv3 standard. - - -q Never output headers giving file names - -s SEC Wait SEC seconds between reads with -f - -v Always output headers giving file names - -config TEE - bool "tee" - default n - help - tee is used to read from standard input and write - to standard output and files. - -config FEATURE_TEE_USE_BLOCK_IO - bool "Enable block I/O (larger/faster) instead of byte I/O" - default n - depends on TEE - help - Enable this option for a faster tee, at expense of size. - -config TEST - bool "test" - default n - help - test is used to check file types and compare values, - returning an appropriate exit code. The bash shell - has test built in, ash can build it in optionally. - -config FEATURE_TEST_64 - bool "Extend test to 64 bit" - default n - depends on TEST || ASH_BUILTIN_TEST || HUSH - help - Enable 64-bit support in test. - -config TOUCH - bool "touch" - default n - help - touch is used to create or change the access and/or - modification timestamp of specified files. - -config TR - bool "tr" - default n - help - tr is used to squeeze, and/or delete characters from standard - input, writing to standard output. - -config FEATURE_TR_CLASSES - bool "Enable character classes (such as [:upper:])" - default n - depends on TR - help - Enable character classes, enabling commands such as: - tr [:upper:] [:lower:] to convert input into lowercase. - -config FEATURE_TR_EQUIV - bool "Enable equivalence classes" - default n - depends on TR - help - Enable equivalence classes, which essentially add the enclosed - character to the current set. For instance, tr [=a=] xyz would - replace all instances of 'a' with 'xyz'. This option is mainly - useful for cases when no other way of expressing a character - is possible. - -config TRUE - bool "true" - default n - help - true returns an exit code of TRUE (0). - -config TTY - bool "tty" - default n - help - tty is used to print the name of the current terminal to - standard output. - -config UNAME - bool "uname" - default n - help - uname is used to print system information. - -config UNEXPAND - bool "unexpand" - default n - help - By default, convert only leading sequences of blanks to tabs. - -config FEATURE_UNEXPAND_LONG_OPTIONS - bool "Enable long options" - default n - depends on UNEXPAND && LONG_OPTS - help - Support long options for the unexpand applet. - -config UNIQ - bool "uniq" - default n - help - uniq is used to remove duplicate lines from a sorted file. - -config USLEEP - bool "usleep" - default n - help - usleep is used to pause for a specified number of microseconds. - -config UUDECODE - bool "uudecode" - default n - help - uudecode is used to decode a uuencoded file. - -config UUENCODE - bool "uuencode" - default n - help - uuencode is used to uuencode a file. - -config WC - bool "wc" - default n - help - wc is used to print the number of bytes, words, and lines, - in specified files. - -config FEATURE_WC_LARGE - bool "Support very large files in wc" - default n - depends on WC - help - Use "unsigned long long" in wc for counter variables. - -config WHO - bool "who" - default n - depends on FEATURE_UTMP - help - who is used to show who is logged on. - -config WHOAMI - bool "whoami" - default n - help - whoami is used to print the username of the current - user id (same as id -un). - -config YES - bool "yes" - default n - help - yes is used to repeatedly output a specific string, or - the default string `y'. - -comment "Common options for cp and mv" - depends on CP || MV - -config FEATURE_PRESERVE_HARDLINKS - bool "Preserve hard links" - default n - depends on CP || MV - help - Allow cp and mv to preserve hard links. - -comment "Common options for ls, more and telnet" - depends on LS || MORE || TELNET - -config FEATURE_AUTOWIDTH - bool "Calculate terminal & column widths" - default y - depends on LS || MORE || TELNET - help - This option allows utilities such as 'ls', 'more' and 'telnet' - to determine the width of the screen, which can allow them to - display additional text or avoid wrapping text onto the next line. - If you leave this disabled, your utilities will be especially - primitive and will be unable to determine the current screen width. - -comment "Common options for df, du, ls" - depends on DF || DU || LS - -config FEATURE_HUMAN_READABLE - bool "Support for human readable output (example 13k, 23M, 235G)" - default n - depends on DF || DU || LS - help - Allow df, du, and ls to have human readable output. - -comment "Common options for md5sum, sha1sum, sha256sum, sha512sum" - depends on MD5SUM || SHA1SUM || SHA256SUM || SHA512SUM - -config FEATURE_MD5_SHA1_SUM_CHECK - bool "Enable -c, -s and -w options" - default n - depends on MD5SUM || SHA1SUM || SHA256SUM || SHA512SUM - help - Enabling the -c options allows files to be checked - against pre-calculated hash values. - - -s and -w are useful options when verifying checksums. - -endmenu diff --git a/coreutils/Config.src b/coreutils/Config.src new file mode 100644 index 000000000..99384e300 --- /dev/null +++ b/coreutils/Config.src @@ -0,0 +1,808 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Coreutils" + +INSERT + +config CAL + bool "cal" + default n + help + cal is used to display a monthly calender. + +config CATV + bool "catv" + default n + help + Display nonprinting characters as escape sequences (like some + implementations' cat -v option). + +config CHGRP + bool "chgrp" + default n + help + chgrp is used to change the group ownership of files. + +config CHMOD + bool "chmod" + default n + help + chmod is used to change the access permission of files. + +config CHOWN + bool "chown" + default n + help + chown is used to change the user and/or group ownership + of files. + +config FEATURE_CHOWN_LONG_OPTIONS + bool "Enable long options" + default n + depends on CHOWN && LONG_OPTS + help + Enable use of long options + +config CHROOT + bool "chroot" + default n + help + chroot is used to change the root directory and run a command. + The default command is `/bin/sh'. + +config CKSUM + bool "cksum" + default n + help + cksum is used to calculate the CRC32 checksum of a file. + +config COMM + bool "comm" + default n + help + comm is used to compare two files line by line and return + a three-column output. + +config CP + bool "cp" + default n + help + cp is used to copy files and directories. + +config FEATURE_CP_LONG_OPTIONS + bool "Enable long options for cp" + default n + depends on CP && LONG_OPTS + help + Enable long options for cp. + Also add support for --parents option. + +config CUT + bool "cut" + default n + help + cut is used to print selected parts of lines from + each file to stdout. + +config DD + bool "dd" + default n + help + dd copies a file (from standard input to standard output, + by default) using specific input and output blocksizes, + while optionally performing conversions on it. + +config FEATURE_DD_SIGNAL_HANDLING + bool "Enable DD signal handling for status reporting" + default y + depends on DD + help + Sending a SIGUSR1 signal to a running `dd' process makes it + print to standard error the number of records read and written + so far, then to resume copying. + + $ dd if=/dev/zero of=/dev/null& + $ pid=$! kill -USR1 $pid; sleep 1; kill $pid + 10899206+0 records in + 10899206+0 records out + +config FEATURE_DD_THIRD_STATUS_LINE + bool "Enable the third status line upon signal" + default n + depends on DD && FEATURE_DD_SIGNAL_HANDLING + help + Displays a coreutils-like third status line with transferred bytes, + elapsed time and speed. + +config FEATURE_DD_IBS_OBS + bool "Enable ibs, obs and conv options" + default n + depends on DD + help + Enables support for writing a certain number of bytes in and out, + at a time, and performing conversions on the data stream. + +config DF + bool "df" + default n + help + df reports the amount of disk space used and available + on filesystems. + +config FEATURE_DF_FANCY + bool "Enable -a, -i, -B" + default n + depends on DF + help + This option enables -a, -i and -B. + + -a Show all filesystems + -i Inodes + -B Blocksize + +config DIRNAME + bool "dirname" + default n + help + dirname is used to strip a non-directory suffix from + a file name. + +config DOS2UNIX + bool "dos2unix/unix2dos" + default n + help + dos2unix is used to convert a text file from DOS format to + UNIX format, and vice versa. + +config UNIX2DOS + bool + default y + depends on DOS2UNIX + help + unix2dos is used to convert a text file from UNIX format to + DOS format, and vice versa. + +config DU + bool "du (default blocksize of 512 bytes)" + default n + help + du is used to report the amount of disk space used + for specified files. + +config FEATURE_DU_DEFAULT_BLOCKSIZE_1K + bool "Use a default blocksize of 1024 bytes (1K)" + default y + depends on DU + help + Use a blocksize of (1K) instead of the default 512b. + +config ECHO + bool "echo (basic SuSv3 version taking no options)" + default n + help + echo is used to print a specified string to stdout. + +# this entry also appears in shell/Config.in, next to the echo builtin +config FEATURE_FANCY_ECHO + bool "Enable echo options (-n and -e)" + default y + depends on ECHO || ASH_BUILTIN_ECHO || HUSH + help + This adds options (-n and -e) to echo. + +config ENV + bool "env" + default n + help + env is used to set an environment variable and run + a command; without options it displays the current + environment. + +config FEATURE_ENV_LONG_OPTIONS + bool "Enable long options" + default n + depends on ENV && LONG_OPTS + help + Support long options for the env applet. + +config EXPAND + bool "expand" + default n + help + By default, convert all tabs to spaces. + +config FEATURE_EXPAND_LONG_OPTIONS + bool "Enable long options" + default n + depends on EXPAND && LONG_OPTS + help + Support long options for the expand applet. + +config EXPR + bool "expr" + default n + help + expr is used to calculate numbers and print the result + to standard output. + +config EXPR_MATH_SUPPORT_64 + bool "Extend Posix numbers support to 64 bit" + default n + depends on EXPR + help + Enable 64-bit math support in the expr applet. This will make + the applet slightly larger, but will allow computation with very + large numbers. + +config FALSE + bool "false" + default n + help + false returns an exit code of FALSE (1). + +config FOLD + bool "fold" + default n + help + Wrap text to fit a specific width. + +config FSYNC + bool "fsync" + default n + help + fsync is used to flush file-related cached blocks to disk. + +config HEAD + bool "head" + default n + help + head is used to print the first specified number of lines + from files. + +config FEATURE_FANCY_HEAD + bool "Enable head options (-c, -q, and -v)" + default n + depends on HEAD + help + This enables the head options (-c, -q, and -v). + +config HOSTID + bool "hostid" + default n + help + hostid prints the numeric identifier (in hexadecimal) for + the current host. + +config ID + bool "id" + default n + help + id displays the current user and group ID names. + +config INSTALL + bool "install" + default n + help + Copy files and set attributes. + +config FEATURE_INSTALL_LONG_OPTIONS + bool "Enable long options" + default n + depends on INSTALL && LONG_OPTS + help + Support long options for the install applet. + +config LENGTH + bool "length" + default n + help + length is used to print out the length of a specified string. + +config LN + bool "ln" + default n + help + ln is used to create hard or soft links between files. + +config LOGNAME + bool "logname" + default n + help + logname is used to print the current user's login name. + +config LS + bool "ls" + default n + help + ls is used to list the contents of directories. + +config FEATURE_LS_FILETYPES + bool "Enable filetyping options (-p and -F)" + default y + depends on LS + help + Enable the ls options (-p and -F). + +config FEATURE_LS_FOLLOWLINKS + bool "Enable symlinks dereferencing (-L)" + default y + depends on LS + help + Enable the ls option (-L). + +config FEATURE_LS_RECURSIVE + bool "Enable recursion (-R)" + default y + depends on LS + help + Enable the ls option (-R). + +config FEATURE_LS_SORTFILES + bool "Sort the file names" + default y + depends on LS + help + Allow ls to sort file names alphabetically. + +config FEATURE_LS_TIMESTAMPS + bool "Show file timestamps" + default y + depends on LS + help + Allow ls to display timestamps for files. + +config FEATURE_LS_USERNAME + bool "Show username/groupnames" + default y + depends on LS + help + Allow ls to display username/groupname for files. + +config FEATURE_LS_COLOR + bool "Allow use of color to identify file types" + default y + depends on LS && LONG_OPTS + help + This enables the --color option to ls. + +config FEATURE_LS_COLOR_IS_DEFAULT + bool "Produce colored ls output by default" + default n + depends on FEATURE_LS_COLOR + help + Saying yes here will turn coloring on by default, + even if no "--color" option is given to the ls command. + This is not recommended, since the colors are not + configurable, and the output may not be legible on + many output screens. + +config MD5SUM + bool "md5sum" + default n + help + md5sum is used to print or check MD5 checksums. + +config MKDIR + bool "mkdir" + default n + help + mkdir is used to create directories with the specified names. + +config FEATURE_MKDIR_LONG_OPTIONS + bool "Enable long options" + default n + depends on MKDIR && LONG_OPTS + help + Support long options for the mkdir applet. + +config MKFIFO + bool "mkfifo" + default n + help + mkfifo is used to create FIFOs (named pipes). + The `mknod' program can also create FIFOs. + +config MKNOD + bool "mknod" + default n + help + mknod is used to create FIFOs or block/character special + files with the specified names. + +config MV + bool "mv" + default n + help + mv is used to move or rename files or directories. + +config FEATURE_MV_LONG_OPTIONS + bool "Enable long options" + default n + depends on MV && LONG_OPTS + help + Support long options for the mv applet. + +config NICE + bool "nice" + default n + help + nice runs a program with modified scheduling priority. + +config NOHUP + bool "nohup" + default n + help + run a command immune to hangups, with output to a non-tty. + +config OD + bool "od" + default n + help + od is used to dump binary files in octal and other formats. + +config PRINTENV + bool "printenv" + default n + help + printenv is used to print all or part of environment. + +config PRINTF + bool "printf" + default n + help + printf is used to format and print specified strings. + It's similar to `echo' except it has more options. + +config PWD + bool "pwd" + default n + help + pwd is used to print the current directory. + +config READLINK + bool "readlink" + default n + help + This program reads a symbolic link and returns the name + of the file it points to + +config FEATURE_READLINK_FOLLOW + bool "Enable canonicalization by following all symlinks (-f)" + default n + depends on READLINK + help + Enable the readlink option (-f). + +config REALPATH + bool "realpath" + default n + help + Return the canonicalized absolute pathname. + This isn't provided by GNU shellutils, but where else does it belong. + +config RM + bool "rm" + default n + help + rm is used to remove files or directories. + +config RMDIR + bool "rmdir" + default n + help + rmdir is used to remove empty directories. + +config FEATURE_RMDIR_LONG_OPTIONS + bool "Enable long options" + default n + depends on RMDIR && LONG_OPTS + help + Support long options for the rmdir applet, including + --ignore-fail-on-non-empty for compatibility with GNU rmdir. + +config SEQ + bool "seq" + default n + help + print a sequence of numbers + +config SHA1SUM + bool "sha1sum" + default n + help + Compute and check SHA1 message digest + +config SHA256SUM + bool "sha256sum" + default n + help + Compute and check SHA256 message digest + +config SHA512SUM + bool "sha512sum" + default n + help + Compute and check SHA512 message digest + +config SLEEP + bool "sleep" + default n + help + sleep is used to pause for a specified number of seconds. + It comes in 3 versions: + - small: takes one integer parameter + - fancy: takes multiple integer arguments with suffixes: + sleep 1d 2h 3m 15s + - fancy with fractional numbers: + sleep 2.3s 4.5h sleeps for 16202.3 seconds + Last one is "the most compatible" with coreutils sleep, + but it adds around 1k of code. + +config FEATURE_FANCY_SLEEP + bool "Enable multiple arguments and s/m/h/d suffixes" + default n + depends on SLEEP + help + Allow sleep to pause for specified minutes, hours, and days. + +config FEATURE_FLOAT_SLEEP + bool "Enable fractional arguments" + default n + depends on FEATURE_FANCY_SLEEP + help + Allow for fractional numeric parameters. + +config SORT + bool "sort" + default n + help + sort is used to sort lines of text in specified files. + +config FEATURE_SORT_BIG + bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)" + default y + depends on SORT + help + Without this, sort only supports -r, -u, and an integer version + of -n. Selecting this adds sort keys, floating point support, and + more. This adds a little over 3k to a nonstatic build on x86. + + The SuSv3 sort standard is available at: + http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html + +config SPLIT + bool "split" + default n + help + split a file into pieces. + +config FEATURE_SPLIT_FANCY + bool "Fancy extensions" + default n + depends on SPLIT + help + Add support for features not required by SUSv3. + Supports additional suffixes 'b' for 512 bytes, + 'g' for 1GiB for the -b option. + +config STAT + bool "stat" + default n + help + display file or filesystem status. + +config FEATURE_STAT_FORMAT + bool "Enable custom formats (-c)" + default n + depends on STAT + help + Without this, stat will not support the '-c format' option where + users can pass a custom format string for output. This adds about + 7k to a nonstatic build on amd64. + +config STTY + bool "stty" + default n + help + stty is used to change and print terminal line settings. + +config SUM + bool "sum" + default n + help + checksum and count the blocks in a file + +config SYNC + bool "sync" + default n + help + sync is used to flush filesystem buffers. + +config TAC + bool "tac" + default n + help + tac is used to concatenate and print files in reverse. + +config TAIL + bool "tail" + default n + help + tail is used to print the last specified number of lines + from files. + +config FEATURE_FANCY_TAIL + bool "Enable extra tail options (-q, -s, -v, and -F)" + default y + depends on TAIL + help + The options (-q, -s, and -v) are provided by GNU tail, but + are not specific in the SUSv3 standard. + + -q Never output headers giving file names + -s SEC Wait SEC seconds between reads with -f + -v Always output headers giving file names + +config TEE + bool "tee" + default n + help + tee is used to read from standard input and write + to standard output and files. + +config FEATURE_TEE_USE_BLOCK_IO + bool "Enable block I/O (larger/faster) instead of byte I/O" + default n + depends on TEE + help + Enable this option for a faster tee, at expense of size. + +config TOUCH + bool "touch" + default n + help + touch is used to create or change the access and/or + modification timestamp of specified files. + +config TRUE + bool "true" + default n + help + true returns an exit code of TRUE (0). + +config TTY + bool "tty" + default n + help + tty is used to print the name of the current terminal to + standard output. + +config UNAME + bool "uname" + default n + help + uname is used to print system information. + +config UNEXPAND + bool "unexpand" + default n + help + By default, convert only leading sequences of blanks to tabs. + +config FEATURE_UNEXPAND_LONG_OPTIONS + bool "Enable long options" + default n + depends on UNEXPAND && LONG_OPTS + help + Support long options for the unexpand applet. + +config UNIQ + bool "uniq" + default n + help + uniq is used to remove duplicate lines from a sorted file. + +config USLEEP + bool "usleep" + default n + help + usleep is used to pause for a specified number of microseconds. + +config UUDECODE + bool "uudecode" + default n + help + uudecode is used to decode a uuencoded file. + +config UUENCODE + bool "uuencode" + default n + help + uuencode is used to uuencode a file. + +config WC + bool "wc" + default n + help + wc is used to print the number of bytes, words, and lines, + in specified files. + +config FEATURE_WC_LARGE + bool "Support very large files in wc" + default n + depends on WC + help + Use "unsigned long long" in wc for counter variables. + +config WHO + bool "who" + default n + depends on FEATURE_UTMP + help + who is used to show who is logged on. + +config WHOAMI + bool "whoami" + default n + help + whoami is used to print the username of the current + user id (same as id -un). + +config YES + bool "yes" + default n + help + yes is used to repeatedly output a specific string, or + the default string `y'. + +comment "Common options for cp and mv" + depends on CP || MV + +config FEATURE_PRESERVE_HARDLINKS + bool "Preserve hard links" + default n + depends on CP || MV + help + Allow cp and mv to preserve hard links. + +comment "Common options for ls, more and telnet" + depends on LS || MORE || TELNET + +config FEATURE_AUTOWIDTH + bool "Calculate terminal & column widths" + default y + depends on LS || MORE || TELNET + help + This option allows utilities such as 'ls', 'more' and 'telnet' + to determine the width of the screen, which can allow them to + display additional text or avoid wrapping text onto the next line. + If you leave this disabled, your utilities will be especially + primitive and will be unable to determine the current screen width. + +comment "Common options for df, du, ls" + depends on DF || DU || LS + +config FEATURE_HUMAN_READABLE + bool "Support for human readable output (example 13k, 23M, 235G)" + default n + depends on DF || DU || LS + help + Allow df, du, and ls to have human readable output. + +comment "Common options for md5sum, sha1sum, sha256sum, sha512sum" + depends on MD5SUM || SHA1SUM || SHA256SUM || SHA512SUM + +config FEATURE_MD5_SHA1_SUM_CHECK + bool "Enable -c, -s and -w options" + default n + depends on MD5SUM || SHA1SUM || SHA256SUM || SHA512SUM + help + Enabling the -c options allows files to be checked + against pre-calculated hash values. + + -s and -w are useful options when verifying checksums. + +endmenu diff --git a/coreutils/Kbuild b/coreutils/Kbuild deleted file mode 100644 index ee22a3f7b..000000000 --- a/coreutils/Kbuild +++ /dev/null @@ -1,98 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -libs-y += libcoreutils/ - -lib-y:= -lib-$(CONFIG_BASENAME) += basename.o -lib-$(CONFIG_CAL) += cal.o -lib-$(CONFIG_CAT) += cat.o -lib-$(CONFIG_MORE) += cat.o # more uses it if stdout isn't a tty -lib-$(CONFIG_LESS) += cat.o # less too -lib-$(CONFIG_CRONTAB) += cat.o # crontab -l -lib-$(CONFIG_CATV) += catv.o -lib-$(CONFIG_CHGRP) += chgrp.o chown.o -lib-$(CONFIG_CHMOD) += chmod.o -lib-$(CONFIG_CHOWN) += chown.o -lib-$(CONFIG_ADDUSER) += chown.o # used by adduser -lib-$(CONFIG_ADDGROUP) += chown.o # used by adduser -lib-$(CONFIG_CHROOT) += chroot.o -lib-$(CONFIG_CKSUM) += cksum.o -lib-$(CONFIG_COMM) += comm.o -lib-$(CONFIG_CP) += cp.o -lib-$(CONFIG_CUT) += cut.o -lib-$(CONFIG_DATE) += date.o -lib-$(CONFIG_DD) += dd.o -lib-$(CONFIG_DF) += df.o -lib-$(CONFIG_DIRNAME) += dirname.o -lib-$(CONFIG_DOS2UNIX) += dos2unix.o -lib-$(CONFIG_DU) += du.o -lib-$(CONFIG_ECHO) += echo.o -lib-$(CONFIG_ASH) += echo.o # used by ash -lib-$(CONFIG_HUSH) += echo.o # used by hush -lib-$(CONFIG_ENV) += env.o -lib-$(CONFIG_EXPR) += expr.o -lib-$(CONFIG_EXPAND) += expand.o -lib-$(CONFIG_FALSE) += false.o -lib-$(CONFIG_FOLD) += fold.o -lib-$(CONFIG_FSYNC) += fsync.o -lib-$(CONFIG_HEAD) += head.o -lib-$(CONFIG_HOSTID) += hostid.o -lib-$(CONFIG_ID) += id.o -lib-$(CONFIG_INSTALL) += install.o -lib-$(CONFIG_LENGTH) += length.o -lib-$(CONFIG_LN) += ln.o -lib-$(CONFIG_LOGNAME) += logname.o -lib-$(CONFIG_LS) += ls.o -lib-$(CONFIG_FTPD) += ls.o -lib-$(CONFIG_MD5SUM) += md5_sha1_sum.o -lib-$(CONFIG_MKDIR) += mkdir.o -lib-$(CONFIG_MKFIFO) += mkfifo.o -lib-$(CONFIG_MKNOD) += mknod.o -lib-$(CONFIG_MV) += mv.o -lib-$(CONFIG_NICE) += nice.o -lib-$(CONFIG_NOHUP) += nohup.o -lib-$(CONFIG_OD) += od.o -lib-$(CONFIG_PRINTENV) += printenv.o -lib-$(CONFIG_PRINTF) += printf.o -lib-$(CONFIG_ASH_BUILTIN_PRINTF) += printf.o -lib-$(CONFIG_PWD) += pwd.o -lib-$(CONFIG_READLINK) += readlink.o -lib-$(CONFIG_REALPATH) += realpath.o -lib-$(CONFIG_RM) += rm.o -lib-$(CONFIG_RMDIR) += rmdir.o -lib-$(CONFIG_SEQ) += seq.o -lib-$(CONFIG_SHA1SUM) += md5_sha1_sum.o -lib-$(CONFIG_SHA256SUM) += md5_sha1_sum.o -lib-$(CONFIG_SHA512SUM) += md5_sha1_sum.o -lib-$(CONFIG_SLEEP) += sleep.o -lib-$(CONFIG_SPLIT) += split.o -lib-$(CONFIG_SORT) += sort.o -lib-$(CONFIG_STAT) += stat.o -lib-$(CONFIG_STTY) += stty.o -lib-$(CONFIG_SUM) += sum.o -lib-$(CONFIG_SYNC) += sync.o -lib-$(CONFIG_TAC) += tac.o -lib-$(CONFIG_TAIL) += tail.o -lib-$(CONFIG_TEE) += tee.o -lib-$(CONFIG_TEST) += test.o test_ptr_hack.o -lib-$(CONFIG_ASH) += test.o test_ptr_hack.o # used by ash -lib-$(CONFIG_HUSH) += test.o test_ptr_hack.o # used by hush -lib-$(CONFIG_MSH) += test.o test_ptr_hack.o # used by msh -lib-$(CONFIG_TOUCH) += touch.o -lib-$(CONFIG_TR) += tr.o -lib-$(CONFIG_TRUE) += true.o -lib-$(CONFIG_TTY) += tty.o -lib-$(CONFIG_UNAME) += uname.o -lib-$(CONFIG_UNEXPAND) += expand.o -lib-$(CONFIG_UNIQ) += uniq.o -lib-$(CONFIG_USLEEP) += usleep.o -lib-$(CONFIG_UUDECODE) += uudecode.o -lib-$(CONFIG_UUENCODE) += uuencode.o -lib-$(CONFIG_WC) += wc.o -lib-$(CONFIG_WHO) += who.o -lib-$(CONFIG_WHOAMI) += whoami.o -lib-$(CONFIG_YES) += yes.o diff --git a/coreutils/Kbuild.src b/coreutils/Kbuild.src new file mode 100644 index 000000000..57ea7d6c4 --- /dev/null +++ b/coreutils/Kbuild.src @@ -0,0 +1,88 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +libs-y += libcoreutils/ + +lib-y:= +INSERT +lib-$(CONFIG_CAL) += cal.o +lib-$(CONFIG_CATV) += catv.o +lib-$(CONFIG_CHGRP) += chgrp.o chown.o +lib-$(CONFIG_CHMOD) += chmod.o +lib-$(CONFIG_CHOWN) += chown.o +lib-$(CONFIG_ADDUSER) += chown.o # used by adduser +lib-$(CONFIG_ADDGROUP) += chown.o # used by adduser +lib-$(CONFIG_CHROOT) += chroot.o +lib-$(CONFIG_CKSUM) += cksum.o +lib-$(CONFIG_COMM) += comm.o +lib-$(CONFIG_CP) += cp.o +lib-$(CONFIG_CUT) += cut.o +lib-$(CONFIG_DD) += dd.o +lib-$(CONFIG_DF) += df.o +lib-$(CONFIG_DIRNAME) += dirname.o +lib-$(CONFIG_DOS2UNIX) += dos2unix.o +lib-$(CONFIG_DU) += du.o +lib-$(CONFIG_ECHO) += echo.o +lib-$(CONFIG_ASH) += echo.o # used by ash +lib-$(CONFIG_HUSH) += echo.o # used by hush +lib-$(CONFIG_ENV) += env.o +lib-$(CONFIG_EXPR) += expr.o +lib-$(CONFIG_EXPAND) += expand.o +lib-$(CONFIG_FALSE) += false.o +lib-$(CONFIG_FOLD) += fold.o +lib-$(CONFIG_FSYNC) += fsync.o +lib-$(CONFIG_HEAD) += head.o +lib-$(CONFIG_HOSTID) += hostid.o +lib-$(CONFIG_ID) += id.o +lib-$(CONFIG_INSTALL) += install.o +lib-$(CONFIG_LENGTH) += length.o +lib-$(CONFIG_LN) += ln.o +lib-$(CONFIG_LOGNAME) += logname.o +lib-$(CONFIG_LS) += ls.o +lib-$(CONFIG_FTPD) += ls.o +lib-$(CONFIG_MD5SUM) += md5_sha1_sum.o +lib-$(CONFIG_MKDIR) += mkdir.o +lib-$(CONFIG_MKFIFO) += mkfifo.o +lib-$(CONFIG_MKNOD) += mknod.o +lib-$(CONFIG_MV) += mv.o +lib-$(CONFIG_NICE) += nice.o +lib-$(CONFIG_NOHUP) += nohup.o +lib-$(CONFIG_OD) += od.o +lib-$(CONFIG_PRINTENV) += printenv.o +lib-$(CONFIG_PRINTF) += printf.o +lib-$(CONFIG_ASH_BUILTIN_PRINTF) += printf.o +lib-$(CONFIG_PWD) += pwd.o +lib-$(CONFIG_READLINK) += readlink.o +lib-$(CONFIG_REALPATH) += realpath.o +lib-$(CONFIG_RM) += rm.o +lib-$(CONFIG_RMDIR) += rmdir.o +lib-$(CONFIG_SEQ) += seq.o +lib-$(CONFIG_SHA1SUM) += md5_sha1_sum.o +lib-$(CONFIG_SHA256SUM) += md5_sha1_sum.o +lib-$(CONFIG_SHA512SUM) += md5_sha1_sum.o +lib-$(CONFIG_SLEEP) += sleep.o +lib-$(CONFIG_SPLIT) += split.o +lib-$(CONFIG_SORT) += sort.o +lib-$(CONFIG_STAT) += stat.o +lib-$(CONFIG_STTY) += stty.o +lib-$(CONFIG_SUM) += sum.o +lib-$(CONFIG_SYNC) += sync.o +lib-$(CONFIG_TAC) += tac.o +lib-$(CONFIG_TAIL) += tail.o +lib-$(CONFIG_TEE) += tee.o +lib-$(CONFIG_TOUCH) += touch.o +lib-$(CONFIG_TRUE) += true.o +lib-$(CONFIG_TTY) += tty.o +lib-$(CONFIG_UNAME) += uname.o +lib-$(CONFIG_UNEXPAND) += expand.o +lib-$(CONFIG_UNIQ) += uniq.o +lib-$(CONFIG_USLEEP) += usleep.o +lib-$(CONFIG_UUDECODE) += uudecode.o +lib-$(CONFIG_UUENCODE) += uuencode.o +lib-$(CONFIG_WC) += wc.o +lib-$(CONFIG_WHO) += who.o +lib-$(CONFIG_WHOAMI) += whoami.o +lib-$(CONFIG_YES) += yes.o diff --git a/coreutils/basename.c b/coreutils/basename.c index 8a5597e65..f35bdf08e 100644 --- a/coreutils/basename.c +++ b/coreutils/basename.c @@ -20,6 +20,16 @@ * 3) Save some space by using strcmp(). Calling strncmp() here was silly. */ +//kbuild:lib-$(CONFIG_BASENAME) += basename.o + +//config:config BASENAME +//config: bool "basename" +//config: default n +//config: help +//config: basename is used to strip the directory and suffix from filenames, +//config: leaving just the filename itself. Enable this option if you wish +//config: to enable the 'basename' utility. + #include "libbb.h" /* This is a NOFORK applet. Be very careful! */ diff --git a/coreutils/cat.c b/coreutils/cat.c index 0024eb8d5..dbb6246ba 100644 --- a/coreutils/cat.c +++ b/coreutils/cat.c @@ -10,6 +10,18 @@ /* BB_AUDIT SUSv3 compliant */ /* http://www.opengroup.org/onlinepubs/007904975/utilities/cat.html */ +//kbuild:lib-$(CONFIG_CAT) += cat.o +//kbuild:lib-$(CONFIG_MORE) += cat.o # more uses it if stdout isn't a tty +//kbuild:lib-$(CONFIG_LESS) += cat.o # less too +//kbuild:lib-$(CONFIG_CRONTAB) += cat.o # crontab -l + +//config:config CAT +//config: bool "cat" +//config: default n +//config: help +//config: cat is used to concatenate files and print them to the standard +//config: output. Enable this option if you wish to enable the 'cat' utility. + #include "libbb.h" /* This is a NOFORK applet. Be very careful! */ diff --git a/coreutils/date.c b/coreutils/date.c index c1390be76..2720a3507 100644 --- a/coreutils/date.c +++ b/coreutils/date.c @@ -51,6 +51,47 @@ * and does not support -Ins * -D FMT is a bbox extension for _input_ conversion of -d DATE */ + +//kbuild:lib-$(CONFIG_DATE) += date.o + +//config:config DATE +//config: bool "date" +//config: default n +//config: help +//config: date is used to set the system date or display the +//config: current time in the given format. +//config: +//config:config FEATURE_DATE_ISOFMT +//config: bool "Enable ISO date format output (-I)" +//config: default y +//config: depends on DATE +//config: help +//config: Enable option (-I) to output an ISO-8601 compliant +//config: date/time string. +//config: +//config:config FEATURE_DATE_NANO +//config: bool "Support %[num]N nanosecond format specifier" +//config: default y +//config: depends on DATE +//config: help +//config: Support %[num]N format specifier. Adds ~250 bytes of code. +//config: +//config:config FEATURE_DATE_COMPAT +//config: bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format" +//config: default y +//config: depends on DATE +//config: help +//config: System time can be set by 'date -s DATE' and simply 'date DATE', +//config: but formats of DATE string are different. 'date DATE' accepts +//config: a rather weird MMDDhhmm[[YY]YY][.ss] format with completely +//config: unnatural placement of year between minutes and seconds. +//config: date -s (and other commands like touch -d) use more sensible +//config: formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss). +//config: +//config: With this option off, 'date DATE' is 'date -s DATE' support +//config: the same format. With it on, 'date DATE' additionally supports +//config: MMDDhhmm[[YY]YY][.ss] format. + #include "libbb.h" enum { diff --git a/coreutils/test.c b/coreutils/test.c index a1d164574..cc4a132a7 100644 --- a/coreutils/test.c +++ b/coreutils/test.c @@ -19,6 +19,26 @@ * Original copyright notice states: * "This program is in the Public Domain." */ + +//kbuild:lib-$(CONFIG_TEST) += test.o test_ptr_hack.o +//kbuild:lib-$(CONFIG_ASH) += test.o test_ptr_hack.o +//kbuild:lib-$(CONFIG_HUSH) += test.o test_ptr_hack.o + +//config:config TEST +//config: bool "test" +//config: default n +//config: help +//config: test is used to check file types and compare values, +//config: returning an appropriate exit code. The bash shell +//config: has test built in, ash can build it in optionally. +//config: +//config:config FEATURE_TEST_64 +//config: bool "Extend test to 64 bit" +//config: default n +//config: depends on TEST || ASH_BUILTIN_TEST || HUSH +//config: help +//config: Enable 64-bit support in test. + #include "libbb.h" #include diff --git a/coreutils/tr.c b/coreutils/tr.c index 6d4cb4a14..12d07152b 100644 --- a/coreutils/tr.c +++ b/coreutils/tr.c @@ -18,6 +18,35 @@ /* http://www.opengroup.org/onlinepubs/009695399/utilities/tr.html * TODO: graph, print */ + +//kbuild:lib-$(CONFIG_TR) += tr.o + +//config:config TR +//config: bool "tr" +//config: default n +//config: help +//config: tr is used to squeeze, and/or delete characters from standard +//config: input, writing to standard output. + +config FEATURE_TR_CLASSES + bool "Enable character classes (such as [:upper:])" + default n + depends on TR + help + Enable character classes, enabling commands such as: + tr [:upper:] [:lower:] to convert input into lowercase. + +config FEATURE_TR_EQUIV + bool "Enable equivalence classes" + default n + depends on TR + help + Enable equivalence classes, which essentially add the enclosed + character to the current set. For instance, tr [=a=] xyz would + replace all instances of 'a' with 'xyz'. This option is mainly + useful for cases when no other way of expressing a character + is possible. + #include "libbb.h" enum { -- cgit v1.2.3-55-g6feb From da929a95aace0e79fbc621af2ab03c76d74d5fcb Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Jun 2010 20:10:51 +0200 Subject: mass renaming Kbuild -> Kbuild.src, Config.in -> Config.src Signed-off-by: Denys Vlasenko --- applets/Kbuild | 44 -- applets/Kbuild.src | 44 ++ archival/Config.in | 368 ----------- archival/Config.src | 368 +++++++++++ archival/Kbuild | 28 - archival/Kbuild.src | 28 + archival/libunarchive/Kbuild | 57 -- archival/libunarchive/Kbuild.src | 57 ++ console-tools/Config.in | 161 ----- console-tools/Config.src | 161 +++++ console-tools/Kbuild | 23 - console-tools/Kbuild.src | 23 + coreutils/libcoreutils/Kbuild | 12 - coreutils/libcoreutils/Kbuild.src | 12 + debianutils/Config.in | 84 --- debianutils/Config.src | 84 +++ debianutils/Kbuild | 12 - debianutils/Kbuild.src | 12 + e2fsprogs/Config.in | 68 -- e2fsprogs/Config.src | 68 ++ e2fsprogs/Kbuild | 13 - e2fsprogs/Kbuild.src | 13 + e2fsprogs/old_e2fsprogs/Config.in | 67 -- e2fsprogs/old_e2fsprogs/Config.src | 67 ++ e2fsprogs/old_e2fsprogs/Kbuild | 16 - e2fsprogs/old_e2fsprogs/Kbuild.src | 16 + e2fsprogs/old_e2fsprogs/blkid/Kbuild | 23 - e2fsprogs/old_e2fsprogs/blkid/Kbuild.src | 23 + e2fsprogs/old_e2fsprogs/e2p/Kbuild | 15 - e2fsprogs/old_e2fsprogs/e2p/Kbuild.src | 15 + e2fsprogs/old_e2fsprogs/ext2fs/Kbuild | 23 - e2fsprogs/old_e2fsprogs/ext2fs/Kbuild.src | 23 + e2fsprogs/old_e2fsprogs/uuid/Kbuild | 14 - e2fsprogs/old_e2fsprogs/uuid/Kbuild.src | 14 + editors/Config.in | 199 ------ editors/Config.src | 199 ++++++ editors/Kbuild | 14 - editors/Kbuild.src | 14 + init/Config.in | 137 ---- init/Config.src | 137 ++++ init/Kbuild | 11 - init/Kbuild.src | 11 + libbb/Config.in | 176 ----- libbb/Config.src | 176 +++++ libbb/Kbuild | 172 ----- libbb/Kbuild.src | 172 +++++ libpwdgrp/Kbuild | 9 - libpwdgrp/Kbuild.src | 9 + loginutils/Config.in | 303 --------- loginutils/Config.src | 303 +++++++++ loginutils/Kbuild | 19 - loginutils/Kbuild.src | 19 + mailutils/Config.in | 53 -- mailutils/Config.src | 53 ++ mailutils/Kbuild | 11 - mailutils/Kbuild.src | 11 + miscutils/Config.in | 650 ------------------ miscutils/Config.src | 650 ++++++++++++++++++ miscutils/Kbuild | 48 -- miscutils/Kbuild.src | 48 ++ modutils/Config.in | 242 ------- modutils/Config.src | 242 +++++++ modutils/Kbuild | 14 - modutils/Kbuild.src | 14 + networking/Config.in | 1020 ----------------------------- networking/Config.src | 1020 +++++++++++++++++++++++++++++ networking/Kbuild | 48 -- networking/Kbuild.src | 48 ++ networking/libiproute/Kbuild | 64 -- networking/libiproute/Kbuild.src | 64 ++ networking/udhcp/Config.in | 128 ---- networking/udhcp/Config.src | 128 ++++ networking/udhcp/Kbuild | 19 - networking/udhcp/Kbuild.src | 19 + printutils/Config.in | 26 - printutils/Config.src | 26 + printutils/Kbuild | 9 - printutils/Kbuild.src | 9 + procps/Config.in | 213 ------ procps/Config.src | 213 ++++++ procps/Kbuild | 21 - procps/Kbuild.src | 21 + runit/Config.in | 83 --- runit/Config.src | 83 +++ runit/Kbuild | 17 - runit/Kbuild.src | 17 + scripts/Kbuild | 7 - scripts/Kbuild.src | 7 + selinux/Config.in | 123 ---- selinux/Config.src | 123 ++++ selinux/Kbuild | 20 - selinux/Kbuild.src | 20 + shell/Config.in | 396 ----------- shell/Config.src | 396 +++++++++++ shell/Kbuild | 14 - shell/Kbuild.src | 14 + sysklogd/Config.in | 128 ---- sysklogd/Config.src | 128 ++++ sysklogd/Kbuild | 11 - sysklogd/Kbuild.src | 11 + util-linux/Config.in | 940 -------------------------- util-linux/Config.src | 940 ++++++++++++++++++++++++++ util-linux/Kbuild | 45 -- util-linux/Kbuild.src | 45 ++ util-linux/volume_id/Kbuild | 43 -- util-linux/volume_id/Kbuild.src | 43 ++ 106 files changed, 6461 insertions(+), 6461 deletions(-) delete mode 100644 applets/Kbuild create mode 100644 applets/Kbuild.src delete mode 100644 archival/Config.in create mode 100644 archival/Config.src delete mode 100644 archival/Kbuild create mode 100644 archival/Kbuild.src delete mode 100644 archival/libunarchive/Kbuild create mode 100644 archival/libunarchive/Kbuild.src delete mode 100644 console-tools/Config.in create mode 100644 console-tools/Config.src delete mode 100644 console-tools/Kbuild create mode 100644 console-tools/Kbuild.src delete mode 100644 coreutils/libcoreutils/Kbuild create mode 100644 coreutils/libcoreutils/Kbuild.src delete mode 100644 debianutils/Config.in create mode 100644 debianutils/Config.src delete mode 100644 debianutils/Kbuild create mode 100644 debianutils/Kbuild.src delete mode 100644 e2fsprogs/Config.in create mode 100644 e2fsprogs/Config.src delete mode 100644 e2fsprogs/Kbuild create mode 100644 e2fsprogs/Kbuild.src delete mode 100644 e2fsprogs/old_e2fsprogs/Config.in create mode 100644 e2fsprogs/old_e2fsprogs/Config.src delete mode 100644 e2fsprogs/old_e2fsprogs/Kbuild create mode 100644 e2fsprogs/old_e2fsprogs/Kbuild.src delete mode 100644 e2fsprogs/old_e2fsprogs/blkid/Kbuild create mode 100644 e2fsprogs/old_e2fsprogs/blkid/Kbuild.src delete mode 100644 e2fsprogs/old_e2fsprogs/e2p/Kbuild create mode 100644 e2fsprogs/old_e2fsprogs/e2p/Kbuild.src delete mode 100644 e2fsprogs/old_e2fsprogs/ext2fs/Kbuild create mode 100644 e2fsprogs/old_e2fsprogs/ext2fs/Kbuild.src delete mode 100644 e2fsprogs/old_e2fsprogs/uuid/Kbuild create mode 100644 e2fsprogs/old_e2fsprogs/uuid/Kbuild.src delete mode 100644 editors/Config.in create mode 100644 editors/Config.src delete mode 100644 editors/Kbuild create mode 100644 editors/Kbuild.src delete mode 100644 init/Config.in create mode 100644 init/Config.src delete mode 100644 init/Kbuild create mode 100644 init/Kbuild.src delete mode 100644 libbb/Config.in create mode 100644 libbb/Config.src delete mode 100644 libbb/Kbuild create mode 100644 libbb/Kbuild.src delete mode 100644 libpwdgrp/Kbuild create mode 100644 libpwdgrp/Kbuild.src delete mode 100644 loginutils/Config.in create mode 100644 loginutils/Config.src delete mode 100644 loginutils/Kbuild create mode 100644 loginutils/Kbuild.src delete mode 100644 mailutils/Config.in create mode 100644 mailutils/Config.src delete mode 100644 mailutils/Kbuild create mode 100644 mailutils/Kbuild.src delete mode 100644 miscutils/Config.in create mode 100644 miscutils/Config.src delete mode 100644 miscutils/Kbuild create mode 100644 miscutils/Kbuild.src delete mode 100644 modutils/Config.in create mode 100644 modutils/Config.src delete mode 100644 modutils/Kbuild create mode 100644 modutils/Kbuild.src delete mode 100644 networking/Config.in create mode 100644 networking/Config.src delete mode 100644 networking/Kbuild create mode 100644 networking/Kbuild.src delete mode 100644 networking/libiproute/Kbuild create mode 100644 networking/libiproute/Kbuild.src delete mode 100644 networking/udhcp/Config.in create mode 100644 networking/udhcp/Config.src delete mode 100644 networking/udhcp/Kbuild create mode 100644 networking/udhcp/Kbuild.src delete mode 100644 printutils/Config.in create mode 100644 printutils/Config.src delete mode 100644 printutils/Kbuild create mode 100644 printutils/Kbuild.src delete mode 100644 procps/Config.in create mode 100644 procps/Config.src delete mode 100644 procps/Kbuild create mode 100644 procps/Kbuild.src delete mode 100644 runit/Config.in create mode 100644 runit/Config.src delete mode 100644 runit/Kbuild create mode 100644 runit/Kbuild.src delete mode 100644 scripts/Kbuild create mode 100644 scripts/Kbuild.src delete mode 100644 selinux/Config.in create mode 100644 selinux/Config.src delete mode 100644 selinux/Kbuild create mode 100644 selinux/Kbuild.src delete mode 100644 shell/Config.in create mode 100644 shell/Config.src delete mode 100644 shell/Kbuild create mode 100644 shell/Kbuild.src delete mode 100644 sysklogd/Config.in create mode 100644 sysklogd/Config.src delete mode 100644 sysklogd/Kbuild create mode 100644 sysklogd/Kbuild.src delete mode 100644 util-linux/Config.in create mode 100644 util-linux/Config.src delete mode 100644 util-linux/Kbuild create mode 100644 util-linux/Kbuild.src delete mode 100644 util-linux/volume_id/Kbuild create mode 100644 util-linux/volume_id/Kbuild.src diff --git a/applets/Kbuild b/applets/Kbuild deleted file mode 100644 index a6b0cf6fb..000000000 --- a/applets/Kbuild +++ /dev/null @@ -1,44 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -obj-y := -obj-y += applets.o - -hostprogs-y:= -hostprogs-y += usage usage_pod applet_tables - -always:= $(hostprogs-y) - -# Generated files need additional love - -# This trick decreases amount of rebuilds -# if tree is merely renamed/copied -ifeq ($(srctree),$(objtree)) -srctree_slash = -else -srctree_slash = $(srctree)/ -endif - -HOSTCFLAGS_usage.o = -I$(srctree_slash)include -Iinclude -HOSTCFLAGS_usage_pod.o = -I$(srctree_slash)include -Iinclude - -applets/applets.o: include/usage_compressed.h include/applet_tables.h - -applets/applet_tables: .config $(srctree_slash)include/applets.h -applets/usage: .config $(srctree_slash)include/applets.h -applets/usage_pod: .config include/applet_tables.h $(srctree_slash)include/applets.h - -quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h - cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets - -include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed - $(call cmd,gen_usage_compressed) - -quiet_cmd_gen_applet_tables = GEN include/applet_tables.h - cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h - -include/applet_tables.h: applets/applet_tables - $(call cmd,gen_applet_tables) diff --git a/applets/Kbuild.src b/applets/Kbuild.src new file mode 100644 index 000000000..a6b0cf6fb --- /dev/null +++ b/applets/Kbuild.src @@ -0,0 +1,44 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +obj-y := +obj-y += applets.o + +hostprogs-y:= +hostprogs-y += usage usage_pod applet_tables + +always:= $(hostprogs-y) + +# Generated files need additional love + +# This trick decreases amount of rebuilds +# if tree is merely renamed/copied +ifeq ($(srctree),$(objtree)) +srctree_slash = +else +srctree_slash = $(srctree)/ +endif + +HOSTCFLAGS_usage.o = -I$(srctree_slash)include -Iinclude +HOSTCFLAGS_usage_pod.o = -I$(srctree_slash)include -Iinclude + +applets/applets.o: include/usage_compressed.h include/applet_tables.h + +applets/applet_tables: .config $(srctree_slash)include/applets.h +applets/usage: .config $(srctree_slash)include/applets.h +applets/usage_pod: .config include/applet_tables.h $(srctree_slash)include/applets.h + +quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h + cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets + +include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed + $(call cmd,gen_usage_compressed) + +quiet_cmd_gen_applet_tables = GEN include/applet_tables.h + cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h + +include/applet_tables.h: applets/applet_tables + $(call cmd,gen_applet_tables) diff --git a/archival/Config.in b/archival/Config.in deleted file mode 100644 index 4f762e860..000000000 --- a/archival/Config.in +++ /dev/null @@ -1,368 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Archival Utilities" - -config FEATURE_SEAMLESS_XZ - bool "Make tar, rpm, modprobe etc understand .xz data" - default n - help - Make tar, rpm, modprobe etc understand .xz data. - -config FEATURE_SEAMLESS_LZMA - bool "Make tar, rpm, modprobe etc understand .lzma data" - default n - help - Make tar, rpm, modprobe etc understand .lzma data. - -config FEATURE_SEAMLESS_BZ2 - bool "Make tar, rpm, modprobe etc understand .bz2 data" - default n - help - Make tar, rpm, modprobe etc understand .bz2 data. - -config FEATURE_SEAMLESS_GZ - bool "Make tar, rpm, modprobe etc understand .gz data" - default n - help - Make tar, rpm, modprobe etc understand .gz data. - -config FEATURE_SEAMLESS_Z - bool "Make tar and gunzip understand .Z data" - default n - help - Make tar and gunzip understand .Z data. - -config AR - bool "ar" - default n - help - ar is an archival utility program used to create, modify, and - extract contents from archives. An archive is a single file holding - a collection of other files in a structure that makes it possible to - retrieve the original individual files (called archive members). - The original files' contents, mode (permissions), timestamp, owner, - and group are preserved in the archive, and can be restored on - extraction. - - The stored filename is limited to 15 characters. (for more information - see long filename support). - ar has 60 bytes of overheads for every stored file. - - This implementation of ar can extract archives, it cannot create or - modify them. - On an x86 system, the ar applet adds about 1K. - - Unless you have a specific application which requires ar, you should - probably say N here. - -config FEATURE_AR_LONG_FILENAMES - bool "Support for long filenames (not needed for debs)" - default n - depends on AR - help - By default the ar format can only store the first 15 characters - of the filename, this option removes that limitation. - It supports the GNU ar long filename method which moves multiple long - filenames into a the data section of a new ar entry. - -config FEATURE_AR_CREATE - bool "Support archive creation" - default n - depends on AR - help - This enables archive creation (-c and -r) with busybox ar. - -config BUNZIP2 - bool "bunzip2" - default n - help - bunzip2 is a compression utility using the Burrows-Wheeler block - sorting text compression algorithm, and Huffman coding. Compression - is generally considerably better than that achieved by more - conventional LZ77/LZ78-based compressors, and approaches the - performance of the PPM family of statistical compressors. - - Unless you have a specific application which requires bunzip2, you - should probably say N here. - -config BZIP2 - bool "bzip2" - default n - help - bzip2 is a compression utility using the Burrows-Wheeler block - sorting text compression algorithm, and Huffman coding. Compression - is generally considerably better than that achieved by more - conventional LZ77/LZ78-based compressors, and approaches the - performance of the PPM family of statistical compressors. - - Unless you have a specific application which requires bzip2, you - should probably say N here. - -config CPIO - bool "cpio" - default n - help - cpio is an archival utility program used to create, modify, and - extract contents from archives. - cpio has 110 bytes of overheads for every stored file. - - This implementation of cpio can extract cpio archives created in the - "newc" or "crc" format, it cannot create or modify them. - - Unless you have a specific application which requires cpio, you - should probably say N here. - -config FEATURE_CPIO_O - bool "Support for archive creation" - default n - depends on CPIO - help - This implementation of cpio can create cpio archives in the "newc" - format only. - -config FEATURE_CPIO_P - bool "Support for passthrough mode" - default n - depends on FEATURE_CPIO_O - help - Passthrough mode. Rarely used. - -config DPKG - bool "dpkg" - default n - select FEATURE_SEAMLESS_GZ - help - dpkg is a medium-level tool to install, build, remove and manage - Debian packages. - - This implementation of dpkg has a number of limitations, - you should use the official dpkg if possible. - -config DPKG_DEB - bool "dpkg_deb" - default n - select FEATURE_SEAMLESS_GZ - help - dpkg-deb unpacks and provides information about Debian archives. - - This implementation of dpkg-deb cannot pack archives. - - Unless you have a specific application which requires dpkg-deb, - say N here. - -config FEATURE_DPKG_DEB_EXTRACT_ONLY - bool "Extract only (-x)" - default n - depends on DPKG_DEB - help - This reduces dpkg-deb to the equivalent of - "ar -p data.tar.gz | tar -zx". However it saves space as none - of the extra dpkg-deb, ar or tar options are needed, they are linked - to internally. - -config GUNZIP - bool "gunzip" - default n - help - gunzip is used to decompress archives created by gzip. - You can use the `-t' option to test the integrity of - an archive, without decompressing it. - -config GZIP - bool "gzip" - default n - help - gzip is used to compress files. - It's probably the most widely used UNIX compression program. - -config FEATURE_GZIP_LONG_OPTIONS - bool "Enable long options" - default n - depends on GZIP && LONG_OPTS - help - Enable use of long options, increases size by about 106 Bytes - -config LZOP - bool "lzop" - default n - help - Lzop compression/decompresion. - -config LZOP_COMPR_HIGH - bool "lzop complession levels 7,8,9 (not very useful)" - default n - depends on LZOP - help - High levels (7,8,9) of lzop compression. These levels - are actually slower than gzip at equivalent compression ratios - and take up 3.2K of code. - -config RPM2CPIO - bool "rpm2cpio" - default n - help - Converts an RPM file into a CPIO archive. - -config RPM - bool "rpm" - default n - help - Mini RPM applet - queries and extracts RPM packages. - -config TAR - bool "tar" - default n - help - tar is an archiving program. It's commonly used with gzip to - create compressed archives. It's probably the most widely used - UNIX archive program. - -config FEATURE_TAR_CREATE - bool "Enable archive creation" - default y - depends on TAR - help - If you enable this option you'll be able to create - tar archives using the `-c' option. - -config FEATURE_TAR_AUTODETECT - bool "Autodetect compressed tarballs" - default n - depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA || FEATURE_SEAMLESS_XZ) - help - With this option tar can automatically detect compressed - tarballs. Currently it works only on files (not pipes etc). - -config FEATURE_TAR_FROM - bool "Enable -X (exclude from) and -T (include from) options)" - default n - depends on TAR - help - If you enable this option you'll be able to specify - a list of files to include or exclude from an archive. - -config FEATURE_TAR_OLDGNU_COMPATIBILITY - bool "Support for old tar header format" - default N - depends on TAR || DPKG - help - This option is required to unpack archives created in - the old GNU format; help to kill this old format by - repacking your ancient archives with the new format. - -config FEATURE_TAR_OLDSUN_COMPATIBILITY - bool "Enable untarring of tarballs with checksums produced by buggy Sun tar" - default N - depends on TAR || DPKG - help - This option is required to unpack archives created by some old - version of Sun's tar (it was calculating checksum using signed - arithmetic). It is said to be fixed in newer Sun tar, but "old" - tarballs still exist. - -config FEATURE_TAR_GNU_EXTENSIONS - bool "Support for GNU tar extensions (long filenames)" - default y - depends on TAR || DPKG - help - With this option busybox supports GNU long filenames and - linknames. - -config FEATURE_TAR_LONG_OPTIONS - bool "Enable long options" - default n - depends on TAR && LONG_OPTS - help - Enable use of long options, increases size by about 400 Bytes - -config FEATURE_TAR_UNAME_GNAME - bool "Enable use of user and group names" - default n - depends on TAR - help - Enables use of user and group names in tar. This affects contents - listings (-t) and preserving permissions when unpacking (-p). - +200 bytes. - -config FEATURE_TAR_NOPRESERVE_TIME - bool "Enable -m (do not preserve time) option" - default n - depends on TAR - help - With this option busybox supports GNU tar -m - (do not preserve time) option. - -config FEATURE_TAR_SELINUX - bool "Support for extracting SELinux labels" - default n - depends on TAR && SELINUX - help - With this option busybox supports restoring SELinux labels - when extracting files from tar archives. - -config UNCOMPRESS - bool "uncompress" - default n - help - uncompress is used to decompress archives created by compress. - Not much used anymore, replaced by gzip/gunzip. - -config UNLZMA - bool "unlzma" - default n - help - unlzma is a compression utility using the Lempel-Ziv-Markov chain - compression algorithm, and range coding. Compression - is generally considerably better than that achieved by the bzip2 - compressors. - - The BusyBox unlzma applet is limited to de-compression only. - On an x86 system, this applet adds about 4K. - - Unless you have a specific application which requires unlzma, you - should probably say N here. - -config FEATURE_LZMA_FAST - bool "Optimize unlzma for speed" - default n - depends on UNLZMA - help - This option reduces decompression time by about 25% at the cost of - a 1K bigger binary. - -config LZMA - bool "Provide lzma alias which supports only unpacking" - default n - depends on UNLZMA - help - Enable this option if you want commands like "lzma -d" to work. - IOW: you'll get lzma applet, but it will always require -d option. - -config UNXZ - bool "unxz" - default n - help - unxz is a unlzma successor. - -config XZ - bool "Provide xz alias which supports only unpacking" - default n - depends on UNXZ - help - Enable this option if you want commands like "xz -d" to work. - IOW: you'll get xz applet, but it will always require -d option. - -config UNZIP - bool "unzip" - default n - help - unzip will list or extract files from a ZIP archive, - commonly found on DOS/WIN systems. The default behavior - (with no options) is to extract the archive into the - current directory. Use the `-d' option to extract to a - directory of your choice. - -endmenu diff --git a/archival/Config.src b/archival/Config.src new file mode 100644 index 000000000..4f762e860 --- /dev/null +++ b/archival/Config.src @@ -0,0 +1,368 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Archival Utilities" + +config FEATURE_SEAMLESS_XZ + bool "Make tar, rpm, modprobe etc understand .xz data" + default n + help + Make tar, rpm, modprobe etc understand .xz data. + +config FEATURE_SEAMLESS_LZMA + bool "Make tar, rpm, modprobe etc understand .lzma data" + default n + help + Make tar, rpm, modprobe etc understand .lzma data. + +config FEATURE_SEAMLESS_BZ2 + bool "Make tar, rpm, modprobe etc understand .bz2 data" + default n + help + Make tar, rpm, modprobe etc understand .bz2 data. + +config FEATURE_SEAMLESS_GZ + bool "Make tar, rpm, modprobe etc understand .gz data" + default n + help + Make tar, rpm, modprobe etc understand .gz data. + +config FEATURE_SEAMLESS_Z + bool "Make tar and gunzip understand .Z data" + default n + help + Make tar and gunzip understand .Z data. + +config AR + bool "ar" + default n + help + ar is an archival utility program used to create, modify, and + extract contents from archives. An archive is a single file holding + a collection of other files in a structure that makes it possible to + retrieve the original individual files (called archive members). + The original files' contents, mode (permissions), timestamp, owner, + and group are preserved in the archive, and can be restored on + extraction. + + The stored filename is limited to 15 characters. (for more information + see long filename support). + ar has 60 bytes of overheads for every stored file. + + This implementation of ar can extract archives, it cannot create or + modify them. + On an x86 system, the ar applet adds about 1K. + + Unless you have a specific application which requires ar, you should + probably say N here. + +config FEATURE_AR_LONG_FILENAMES + bool "Support for long filenames (not needed for debs)" + default n + depends on AR + help + By default the ar format can only store the first 15 characters + of the filename, this option removes that limitation. + It supports the GNU ar long filename method which moves multiple long + filenames into a the data section of a new ar entry. + +config FEATURE_AR_CREATE + bool "Support archive creation" + default n + depends on AR + help + This enables archive creation (-c and -r) with busybox ar. + +config BUNZIP2 + bool "bunzip2" + default n + help + bunzip2 is a compression utility using the Burrows-Wheeler block + sorting text compression algorithm, and Huffman coding. Compression + is generally considerably better than that achieved by more + conventional LZ77/LZ78-based compressors, and approaches the + performance of the PPM family of statistical compressors. + + Unless you have a specific application which requires bunzip2, you + should probably say N here. + +config BZIP2 + bool "bzip2" + default n + help + bzip2 is a compression utility using the Burrows-Wheeler block + sorting text compression algorithm, and Huffman coding. Compression + is generally considerably better than that achieved by more + conventional LZ77/LZ78-based compressors, and approaches the + performance of the PPM family of statistical compressors. + + Unless you have a specific application which requires bzip2, you + should probably say N here. + +config CPIO + bool "cpio" + default n + help + cpio is an archival utility program used to create, modify, and + extract contents from archives. + cpio has 110 bytes of overheads for every stored file. + + This implementation of cpio can extract cpio archives created in the + "newc" or "crc" format, it cannot create or modify them. + + Unless you have a specific application which requires cpio, you + should probably say N here. + +config FEATURE_CPIO_O + bool "Support for archive creation" + default n + depends on CPIO + help + This implementation of cpio can create cpio archives in the "newc" + format only. + +config FEATURE_CPIO_P + bool "Support for passthrough mode" + default n + depends on FEATURE_CPIO_O + help + Passthrough mode. Rarely used. + +config DPKG + bool "dpkg" + default n + select FEATURE_SEAMLESS_GZ + help + dpkg is a medium-level tool to install, build, remove and manage + Debian packages. + + This implementation of dpkg has a number of limitations, + you should use the official dpkg if possible. + +config DPKG_DEB + bool "dpkg_deb" + default n + select FEATURE_SEAMLESS_GZ + help + dpkg-deb unpacks and provides information about Debian archives. + + This implementation of dpkg-deb cannot pack archives. + + Unless you have a specific application which requires dpkg-deb, + say N here. + +config FEATURE_DPKG_DEB_EXTRACT_ONLY + bool "Extract only (-x)" + default n + depends on DPKG_DEB + help + This reduces dpkg-deb to the equivalent of + "ar -p data.tar.gz | tar -zx". However it saves space as none + of the extra dpkg-deb, ar or tar options are needed, they are linked + to internally. + +config GUNZIP + bool "gunzip" + default n + help + gunzip is used to decompress archives created by gzip. + You can use the `-t' option to test the integrity of + an archive, without decompressing it. + +config GZIP + bool "gzip" + default n + help + gzip is used to compress files. + It's probably the most widely used UNIX compression program. + +config FEATURE_GZIP_LONG_OPTIONS + bool "Enable long options" + default n + depends on GZIP && LONG_OPTS + help + Enable use of long options, increases size by about 106 Bytes + +config LZOP + bool "lzop" + default n + help + Lzop compression/decompresion. + +config LZOP_COMPR_HIGH + bool "lzop complession levels 7,8,9 (not very useful)" + default n + depends on LZOP + help + High levels (7,8,9) of lzop compression. These levels + are actually slower than gzip at equivalent compression ratios + and take up 3.2K of code. + +config RPM2CPIO + bool "rpm2cpio" + default n + help + Converts an RPM file into a CPIO archive. + +config RPM + bool "rpm" + default n + help + Mini RPM applet - queries and extracts RPM packages. + +config TAR + bool "tar" + default n + help + tar is an archiving program. It's commonly used with gzip to + create compressed archives. It's probably the most widely used + UNIX archive program. + +config FEATURE_TAR_CREATE + bool "Enable archive creation" + default y + depends on TAR + help + If you enable this option you'll be able to create + tar archives using the `-c' option. + +config FEATURE_TAR_AUTODETECT + bool "Autodetect compressed tarballs" + default n + depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA || FEATURE_SEAMLESS_XZ) + help + With this option tar can automatically detect compressed + tarballs. Currently it works only on files (not pipes etc). + +config FEATURE_TAR_FROM + bool "Enable -X (exclude from) and -T (include from) options)" + default n + depends on TAR + help + If you enable this option you'll be able to specify + a list of files to include or exclude from an archive. + +config FEATURE_TAR_OLDGNU_COMPATIBILITY + bool "Support for old tar header format" + default N + depends on TAR || DPKG + help + This option is required to unpack archives created in + the old GNU format; help to kill this old format by + repacking your ancient archives with the new format. + +config FEATURE_TAR_OLDSUN_COMPATIBILITY + bool "Enable untarring of tarballs with checksums produced by buggy Sun tar" + default N + depends on TAR || DPKG + help + This option is required to unpack archives created by some old + version of Sun's tar (it was calculating checksum using signed + arithmetic). It is said to be fixed in newer Sun tar, but "old" + tarballs still exist. + +config FEATURE_TAR_GNU_EXTENSIONS + bool "Support for GNU tar extensions (long filenames)" + default y + depends on TAR || DPKG + help + With this option busybox supports GNU long filenames and + linknames. + +config FEATURE_TAR_LONG_OPTIONS + bool "Enable long options" + default n + depends on TAR && LONG_OPTS + help + Enable use of long options, increases size by about 400 Bytes + +config FEATURE_TAR_UNAME_GNAME + bool "Enable use of user and group names" + default n + depends on TAR + help + Enables use of user and group names in tar. This affects contents + listings (-t) and preserving permissions when unpacking (-p). + +200 bytes. + +config FEATURE_TAR_NOPRESERVE_TIME + bool "Enable -m (do not preserve time) option" + default n + depends on TAR + help + With this option busybox supports GNU tar -m + (do not preserve time) option. + +config FEATURE_TAR_SELINUX + bool "Support for extracting SELinux labels" + default n + depends on TAR && SELINUX + help + With this option busybox supports restoring SELinux labels + when extracting files from tar archives. + +config UNCOMPRESS + bool "uncompress" + default n + help + uncompress is used to decompress archives created by compress. + Not much used anymore, replaced by gzip/gunzip. + +config UNLZMA + bool "unlzma" + default n + help + unlzma is a compression utility using the Lempel-Ziv-Markov chain + compression algorithm, and range coding. Compression + is generally considerably better than that achieved by the bzip2 + compressors. + + The BusyBox unlzma applet is limited to de-compression only. + On an x86 system, this applet adds about 4K. + + Unless you have a specific application which requires unlzma, you + should probably say N here. + +config FEATURE_LZMA_FAST + bool "Optimize unlzma for speed" + default n + depends on UNLZMA + help + This option reduces decompression time by about 25% at the cost of + a 1K bigger binary. + +config LZMA + bool "Provide lzma alias which supports only unpacking" + default n + depends on UNLZMA + help + Enable this option if you want commands like "lzma -d" to work. + IOW: you'll get lzma applet, but it will always require -d option. + +config UNXZ + bool "unxz" + default n + help + unxz is a unlzma successor. + +config XZ + bool "Provide xz alias which supports only unpacking" + default n + depends on UNXZ + help + Enable this option if you want commands like "xz -d" to work. + IOW: you'll get xz applet, but it will always require -d option. + +config UNZIP + bool "unzip" + default n + help + unzip will list or extract files from a ZIP archive, + commonly found on DOS/WIN systems. The default behavior + (with no options) is to extract the archive into the + current directory. Use the `-d' option to extract to a + directory of your choice. + +endmenu diff --git a/archival/Kbuild b/archival/Kbuild deleted file mode 100644 index 3300ea90f..000000000 --- a/archival/Kbuild +++ /dev/null @@ -1,28 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -libs-y += libunarchive/ - -lib-y:= -lib-$(CONFIG_AR) += ar.o -lib-$(CONFIG_CPIO) += cpio.o -lib-$(CONFIG_DPKG) += dpkg.o -lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o -lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o -lib-$(CONFIG_RPM) += rpm.o -lib-$(CONFIG_TAR) += tar.o -lib-$(CONFIG_UNZIP) += unzip.o - -lib-$(CONFIG_LZOP) += lzop.o lzo1x_1.o lzo1x_1o.o lzo1x_d.o bbunzip.o -lib-$(CONFIG_LZOP_COMPR_HIGH) += lzo1x_9x.o -lib-$(CONFIG_GZIP) += gzip.o bbunzip.o -lib-$(CONFIG_BZIP2) += bzip2.o bbunzip.o - -lib-$(CONFIG_UNXZ) += bbunzip.o -lib-$(CONFIG_UNLZMA) += bbunzip.o -lib-$(CONFIG_BUNZIP2) += bbunzip.o -lib-$(CONFIG_GUNZIP) += bbunzip.o -lib-$(CONFIG_UNCOMPRESS) += bbunzip.o diff --git a/archival/Kbuild.src b/archival/Kbuild.src new file mode 100644 index 000000000..3300ea90f --- /dev/null +++ b/archival/Kbuild.src @@ -0,0 +1,28 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +libs-y += libunarchive/ + +lib-y:= +lib-$(CONFIG_AR) += ar.o +lib-$(CONFIG_CPIO) += cpio.o +lib-$(CONFIG_DPKG) += dpkg.o +lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o +lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o +lib-$(CONFIG_RPM) += rpm.o +lib-$(CONFIG_TAR) += tar.o +lib-$(CONFIG_UNZIP) += unzip.o + +lib-$(CONFIG_LZOP) += lzop.o lzo1x_1.o lzo1x_1o.o lzo1x_d.o bbunzip.o +lib-$(CONFIG_LZOP_COMPR_HIGH) += lzo1x_9x.o +lib-$(CONFIG_GZIP) += gzip.o bbunzip.o +lib-$(CONFIG_BZIP2) += bzip2.o bbunzip.o + +lib-$(CONFIG_UNXZ) += bbunzip.o +lib-$(CONFIG_UNLZMA) += bbunzip.o +lib-$(CONFIG_BUNZIP2) += bbunzip.o +lib-$(CONFIG_GUNZIP) += bbunzip.o +lib-$(CONFIG_UNCOMPRESS) += bbunzip.o diff --git a/archival/libunarchive/Kbuild b/archival/libunarchive/Kbuild deleted file mode 100644 index ed8e85793..000000000 --- a/archival/libunarchive/Kbuild +++ /dev/null @@ -1,57 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2004 by Erik Andersen -# -# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. - -lib-y:= - -COMMON_FILES:= \ -\ - data_skip.o \ - data_extract_all.o \ - data_extract_to_stdout.o \ -\ - filter_accept_all.o \ - filter_accept_list.o \ - filter_accept_reject_list.o \ -\ - header_skip.o \ - header_list.o \ - header_verbose_list.o \ -\ - seek_by_read.o \ - seek_by_jump.o \ -\ - data_align.o \ - find_list_entry.o \ - init_handle.o - -DPKG_FILES:= \ - get_header_ar.o \ - unpack_ar_archive.o \ - get_header_tar.o \ - filter_accept_list_reassign.o - -lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o -lib-$(CONFIG_BUNZIP2) += decompress_bunzip2.o -lib-$(CONFIG_UNLZMA) += decompress_unlzma.o -lib-$(CONFIG_CPIO) += get_header_cpio.o -lib-$(CONFIG_DPKG) += $(DPKG_FILES) -lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES) -lib-$(CONFIG_GUNZIP) += decompress_unzip.o -lib-$(CONFIG_RPM2CPIO) += decompress_unzip.o get_header_cpio.o -lib-$(CONFIG_RPM) += open_transformer.o decompress_unzip.o get_header_cpio.o -lib-$(CONFIG_TAR) += get_header_tar.o -lib-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o -lib-$(CONFIG_UNZIP) += decompress_unzip.o -lib-$(CONFIG_FEATURE_SEAMLESS_Z) += open_transformer.o decompress_uncompress.o -lib-$(CONFIG_FEATURE_SEAMLESS_GZ) += open_transformer.o decompress_unzip.o get_header_tar_gz.o -lib-$(CONFIG_FEATURE_SEAMLESS_BZ2) += open_transformer.o decompress_bunzip2.o get_header_tar_bz2.o -lib-$(CONFIG_FEATURE_SEAMLESS_LZMA) += open_transformer.o decompress_unlzma.o get_header_tar_lzma.o -lib-$(CONFIG_FEATURE_SEAMLESS_XZ) += open_transformer.o decompress_unxz.o -lib-$(CONFIG_FEATURE_COMPRESS_USAGE) += decompress_bunzip2.o - -ifneq ($(lib-y),) -lib-y += $(COMMON_FILES) -endif diff --git a/archival/libunarchive/Kbuild.src b/archival/libunarchive/Kbuild.src new file mode 100644 index 000000000..ed8e85793 --- /dev/null +++ b/archival/libunarchive/Kbuild.src @@ -0,0 +1,57 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2004 by Erik Andersen +# +# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. + +lib-y:= + +COMMON_FILES:= \ +\ + data_skip.o \ + data_extract_all.o \ + data_extract_to_stdout.o \ +\ + filter_accept_all.o \ + filter_accept_list.o \ + filter_accept_reject_list.o \ +\ + header_skip.o \ + header_list.o \ + header_verbose_list.o \ +\ + seek_by_read.o \ + seek_by_jump.o \ +\ + data_align.o \ + find_list_entry.o \ + init_handle.o + +DPKG_FILES:= \ + get_header_ar.o \ + unpack_ar_archive.o \ + get_header_tar.o \ + filter_accept_list_reassign.o + +lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o +lib-$(CONFIG_BUNZIP2) += decompress_bunzip2.o +lib-$(CONFIG_UNLZMA) += decompress_unlzma.o +lib-$(CONFIG_CPIO) += get_header_cpio.o +lib-$(CONFIG_DPKG) += $(DPKG_FILES) +lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES) +lib-$(CONFIG_GUNZIP) += decompress_unzip.o +lib-$(CONFIG_RPM2CPIO) += decompress_unzip.o get_header_cpio.o +lib-$(CONFIG_RPM) += open_transformer.o decompress_unzip.o get_header_cpio.o +lib-$(CONFIG_TAR) += get_header_tar.o +lib-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o +lib-$(CONFIG_UNZIP) += decompress_unzip.o +lib-$(CONFIG_FEATURE_SEAMLESS_Z) += open_transformer.o decompress_uncompress.o +lib-$(CONFIG_FEATURE_SEAMLESS_GZ) += open_transformer.o decompress_unzip.o get_header_tar_gz.o +lib-$(CONFIG_FEATURE_SEAMLESS_BZ2) += open_transformer.o decompress_bunzip2.o get_header_tar_bz2.o +lib-$(CONFIG_FEATURE_SEAMLESS_LZMA) += open_transformer.o decompress_unlzma.o get_header_tar_lzma.o +lib-$(CONFIG_FEATURE_SEAMLESS_XZ) += open_transformer.o decompress_unxz.o +lib-$(CONFIG_FEATURE_COMPRESS_USAGE) += decompress_bunzip2.o + +ifneq ($(lib-y),) +lib-y += $(COMMON_FILES) +endif diff --git a/console-tools/Config.in b/console-tools/Config.in deleted file mode 100644 index a7e995936..000000000 --- a/console-tools/Config.in +++ /dev/null @@ -1,161 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Console Utilities" - -config CHVT - bool "chvt" - default n - help - This program is used to change to another terminal. - Example: chvt 4 (change to terminal /dev/tty4) - -config FGCONSOLE - bool "fgconsole" - default n - help - This program prints active (foreground) console number. - -config CLEAR - bool "clear" - default n - help - This program clears the terminal screen. - -config DEALLOCVT - bool "deallocvt" - default n - help - This program deallocates unused virtual consoles. - -config DUMPKMAP - bool "dumpkmap" - default n - help - This program dumps the kernel's keyboard translation table to - stdout, in binary format. You can then use loadkmap to load it. - -config KBD_MODE - bool "kbd_mode" - default n - help - This program reports and sets keyboard mode. - -config LOADFONT - bool "loadfont" - default n - help - This program loads a console font from standard input. - -config LOADKMAP - bool "loadkmap" - default n - help - This program loads a keyboard translation table from - standard input. - -config OPENVT - bool "openvt" - default n - help - This program is used to start a command on an unused - virtual terminal. - -config RESET - bool "reset" - default n - help - This program is used to reset the terminal screen, if it - gets messed up. - -config RESIZE - bool "resize" - default n - help - This program is used to (re)set the width and height of your current - terminal. - -config FEATURE_RESIZE_PRINT - bool "Print environment variables" - default n - depends on RESIZE - help - Prints the newly set size (number of columns and rows) of - the terminal. - E.g.: - COLUMNS=80;LINES=44;export COLUMNS LINES; - -config SETCONSOLE - bool "setconsole" - default n - help - This program redirects the system console to another device, - like the current tty while logged in via telnet. - -config FEATURE_SETCONSOLE_LONG_OPTIONS - bool "Enable long options" - default n - depends on SETCONSOLE && LONG_OPTS - help - Support long options for the setconsole applet. - -config SETFONT - bool "setfont" - default n - help - Allows to load console screen map. Useful for i18n. - -config FEATURE_SETFONT_TEXTUAL_MAP - bool "Support reading textual screen maps" - default n - depends on SETFONT - help - Support reading textual screen maps. - -config DEFAULT_SETFONT_DIR - string "Default directory for console-tools files" - default "" - depends on SETFONT - help - Directory to use if setfont's params are simple filenames - (not /path/to/file or ./file). Default is "" (no default directory). - -config SETKEYCODES - bool "setkeycodes" - default n - help - This program loads entries into the kernel's scancode-to-keycode - map, allowing unusual keyboards to generate usable keycodes. - -config SETLOGCONS - bool "setlogcons" - default n - help - This program redirects the output console of kernel messages. - -config SHOWKEY - bool "showkey" - default n - help - Shows keys pressed. - -comment "Common options for loadfont and setfont" - depends on LOADFONT || SETFONT - -config FEATURE_LOADFONT_PSF2 - bool "Support for PSF2 console fonts" - default n - depends on LOADFONT || SETFONT - help - Support PSF2 console fonts. - -config FEATURE_LOADFONT_RAW - bool "Support for old (raw) console fonts" - default n - depends on LOADFONT || SETFONT - help - Support old (raw) console fonts. - -endmenu diff --git a/console-tools/Config.src b/console-tools/Config.src new file mode 100644 index 000000000..a7e995936 --- /dev/null +++ b/console-tools/Config.src @@ -0,0 +1,161 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Console Utilities" + +config CHVT + bool "chvt" + default n + help + This program is used to change to another terminal. + Example: chvt 4 (change to terminal /dev/tty4) + +config FGCONSOLE + bool "fgconsole" + default n + help + This program prints active (foreground) console number. + +config CLEAR + bool "clear" + default n + help + This program clears the terminal screen. + +config DEALLOCVT + bool "deallocvt" + default n + help + This program deallocates unused virtual consoles. + +config DUMPKMAP + bool "dumpkmap" + default n + help + This program dumps the kernel's keyboard translation table to + stdout, in binary format. You can then use loadkmap to load it. + +config KBD_MODE + bool "kbd_mode" + default n + help + This program reports and sets keyboard mode. + +config LOADFONT + bool "loadfont" + default n + help + This program loads a console font from standard input. + +config LOADKMAP + bool "loadkmap" + default n + help + This program loads a keyboard translation table from + standard input. + +config OPENVT + bool "openvt" + default n + help + This program is used to start a command on an unused + virtual terminal. + +config RESET + bool "reset" + default n + help + This program is used to reset the terminal screen, if it + gets messed up. + +config RESIZE + bool "resize" + default n + help + This program is used to (re)set the width and height of your current + terminal. + +config FEATURE_RESIZE_PRINT + bool "Print environment variables" + default n + depends on RESIZE + help + Prints the newly set size (number of columns and rows) of + the terminal. + E.g.: + COLUMNS=80;LINES=44;export COLUMNS LINES; + +config SETCONSOLE + bool "setconsole" + default n + help + This program redirects the system console to another device, + like the current tty while logged in via telnet. + +config FEATURE_SETCONSOLE_LONG_OPTIONS + bool "Enable long options" + default n + depends on SETCONSOLE && LONG_OPTS + help + Support long options for the setconsole applet. + +config SETFONT + bool "setfont" + default n + help + Allows to load console screen map. Useful for i18n. + +config FEATURE_SETFONT_TEXTUAL_MAP + bool "Support reading textual screen maps" + default n + depends on SETFONT + help + Support reading textual screen maps. + +config DEFAULT_SETFONT_DIR + string "Default directory for console-tools files" + default "" + depends on SETFONT + help + Directory to use if setfont's params are simple filenames + (not /path/to/file or ./file). Default is "" (no default directory). + +config SETKEYCODES + bool "setkeycodes" + default n + help + This program loads entries into the kernel's scancode-to-keycode + map, allowing unusual keyboards to generate usable keycodes. + +config SETLOGCONS + bool "setlogcons" + default n + help + This program redirects the output console of kernel messages. + +config SHOWKEY + bool "showkey" + default n + help + Shows keys pressed. + +comment "Common options for loadfont and setfont" + depends on LOADFONT || SETFONT + +config FEATURE_LOADFONT_PSF2 + bool "Support for PSF2 console fonts" + default n + depends on LOADFONT || SETFONT + help + Support PSF2 console fonts. + +config FEATURE_LOADFONT_RAW + bool "Support for old (raw) console fonts" + default n + depends on LOADFONT || SETFONT + help + Support old (raw) console fonts. + +endmenu diff --git a/console-tools/Kbuild b/console-tools/Kbuild deleted file mode 100644 index ad8b8ce77..000000000 --- a/console-tools/Kbuild +++ /dev/null @@ -1,23 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_CHVT) += chvt.o -lib-$(CONFIG_FGCONSOLE) += fgconsole.o -lib-$(CONFIG_CLEAR) += clear.o -lib-$(CONFIG_DEALLOCVT) += deallocvt.o -lib-$(CONFIG_DUMPKMAP) += dumpkmap.o -lib-$(CONFIG_SETCONSOLE) += setconsole.o -lib-$(CONFIG_KBD_MODE) += kbd_mode.o -lib-$(CONFIG_LOADFONT) += loadfont.o -lib-$(CONFIG_LOADKMAP) += loadkmap.o -lib-$(CONFIG_OPENVT) += openvt.o -lib-$(CONFIG_RESET) += reset.o -lib-$(CONFIG_RESIZE) += resize.o -lib-$(CONFIG_SETFONT) += loadfont.o -lib-$(CONFIG_SETKEYCODES) += setkeycodes.o -lib-$(CONFIG_SETLOGCONS) += setlogcons.o -lib-$(CONFIG_SHOWKEY) += showkey.o diff --git a/console-tools/Kbuild.src b/console-tools/Kbuild.src new file mode 100644 index 000000000..ad8b8ce77 --- /dev/null +++ b/console-tools/Kbuild.src @@ -0,0 +1,23 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_CHVT) += chvt.o +lib-$(CONFIG_FGCONSOLE) += fgconsole.o +lib-$(CONFIG_CLEAR) += clear.o +lib-$(CONFIG_DEALLOCVT) += deallocvt.o +lib-$(CONFIG_DUMPKMAP) += dumpkmap.o +lib-$(CONFIG_SETCONSOLE) += setconsole.o +lib-$(CONFIG_KBD_MODE) += kbd_mode.o +lib-$(CONFIG_LOADFONT) += loadfont.o +lib-$(CONFIG_LOADKMAP) += loadkmap.o +lib-$(CONFIG_OPENVT) += openvt.o +lib-$(CONFIG_RESET) += reset.o +lib-$(CONFIG_RESIZE) += resize.o +lib-$(CONFIG_SETFONT) += loadfont.o +lib-$(CONFIG_SETKEYCODES) += setkeycodes.o +lib-$(CONFIG_SETLOGCONS) += setlogcons.o +lib-$(CONFIG_SHOWKEY) += showkey.o diff --git a/coreutils/libcoreutils/Kbuild b/coreutils/libcoreutils/Kbuild deleted file mode 100644 index 755d01f86..000000000 --- a/coreutils/libcoreutils/Kbuild +++ /dev/null @@ -1,12 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2004 by Erik Andersen -# -# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_MKFIFO) += getopt_mk_fifo_nod.o -lib-$(CONFIG_MKNOD) += getopt_mk_fifo_nod.o -lib-$(CONFIG_INSTALL) += cp_mv_stat.o -lib-$(CONFIG_CP) += cp_mv_stat.o -lib-$(CONFIG_MV) += cp_mv_stat.o diff --git a/coreutils/libcoreutils/Kbuild.src b/coreutils/libcoreutils/Kbuild.src new file mode 100644 index 000000000..755d01f86 --- /dev/null +++ b/coreutils/libcoreutils/Kbuild.src @@ -0,0 +1,12 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2004 by Erik Andersen +# +# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_MKFIFO) += getopt_mk_fifo_nod.o +lib-$(CONFIG_MKNOD) += getopt_mk_fifo_nod.o +lib-$(CONFIG_INSTALL) += cp_mv_stat.o +lib-$(CONFIG_CP) += cp_mv_stat.o +lib-$(CONFIG_MV) += cp_mv_stat.o diff --git a/debianutils/Config.in b/debianutils/Config.in deleted file mode 100644 index 9146f3ef4..000000000 --- a/debianutils/Config.in +++ /dev/null @@ -1,84 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Debian Utilities" - -config MKTEMP - bool "mktemp" - default n - help - mktemp is used to create unique temporary files - -config PIPE_PROGRESS - bool "pipe_progress" - default n - help - Display a dot to indicate pipe activity. - -config RUN_PARTS - bool "run-parts" - default n - help - run-parts is a utility designed to run all the scripts in a directory. - - It is useful to set up a directory like cron.daily, where you need to - execute all the scripts in that directory. - - In this implementation of run-parts some features (such as report - mode) are not implemented. - - Unless you know that run-parts is used in some of your scripts - you can safely say N here. - -config FEATURE_RUN_PARTS_LONG_OPTIONS - bool "Enable long options" - default n - depends on RUN_PARTS && LONG_OPTS - help - Support long options for the run-parts applet. - -config FEATURE_RUN_PARTS_FANCY - bool "Support additional arguments" - default n - depends on RUN_PARTS - help - Support additional options: - -l --list print the names of the all matching files (not - limited to executables), but don't actually run them. - -config START_STOP_DAEMON - bool "start-stop-daemon" - default n - help - start-stop-daemon is used to control the creation and - termination of system-level processes, usually the ones - started during the startup of the system. - -config FEATURE_START_STOP_DAEMON_FANCY - bool "Support additional arguments" - default n - depends on START_STOP_DAEMON - help - Support additional arguments. - -o|--oknodo ignored since we exit with 0 anyway - -v|--verbose - -N|--nicelevel N - -config FEATURE_START_STOP_DAEMON_LONG_OPTIONS - bool "Enable long options" - default n - depends on START_STOP_DAEMON && LONG_OPTS - help - Support long options for the start-stop-daemon applet. - -config WHICH - bool "which" - default n - help - which is used to find programs in your PATH and - print out their pathnames. - -endmenu - diff --git a/debianutils/Config.src b/debianutils/Config.src new file mode 100644 index 000000000..9146f3ef4 --- /dev/null +++ b/debianutils/Config.src @@ -0,0 +1,84 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Debian Utilities" + +config MKTEMP + bool "mktemp" + default n + help + mktemp is used to create unique temporary files + +config PIPE_PROGRESS + bool "pipe_progress" + default n + help + Display a dot to indicate pipe activity. + +config RUN_PARTS + bool "run-parts" + default n + help + run-parts is a utility designed to run all the scripts in a directory. + + It is useful to set up a directory like cron.daily, where you need to + execute all the scripts in that directory. + + In this implementation of run-parts some features (such as report + mode) are not implemented. + + Unless you know that run-parts is used in some of your scripts + you can safely say N here. + +config FEATURE_RUN_PARTS_LONG_OPTIONS + bool "Enable long options" + default n + depends on RUN_PARTS && LONG_OPTS + help + Support long options for the run-parts applet. + +config FEATURE_RUN_PARTS_FANCY + bool "Support additional arguments" + default n + depends on RUN_PARTS + help + Support additional options: + -l --list print the names of the all matching files (not + limited to executables), but don't actually run them. + +config START_STOP_DAEMON + bool "start-stop-daemon" + default n + help + start-stop-daemon is used to control the creation and + termination of system-level processes, usually the ones + started during the startup of the system. + +config FEATURE_START_STOP_DAEMON_FANCY + bool "Support additional arguments" + default n + depends on START_STOP_DAEMON + help + Support additional arguments. + -o|--oknodo ignored since we exit with 0 anyway + -v|--verbose + -N|--nicelevel N + +config FEATURE_START_STOP_DAEMON_LONG_OPTIONS + bool "Enable long options" + default n + depends on START_STOP_DAEMON && LONG_OPTS + help + Support long options for the start-stop-daemon applet. + +config WHICH + bool "which" + default n + help + which is used to find programs in your PATH and + print out their pathnames. + +endmenu + diff --git a/debianutils/Kbuild b/debianutils/Kbuild deleted file mode 100644 index bcf6126ad..000000000 --- a/debianutils/Kbuild +++ /dev/null @@ -1,12 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_MKTEMP) += mktemp.o -lib-$(CONFIG_PIPE_PROGRESS) += pipe_progress.o -lib-$(CONFIG_RUN_PARTS) += run_parts.o -lib-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o -lib-$(CONFIG_WHICH) += which.o diff --git a/debianutils/Kbuild.src b/debianutils/Kbuild.src new file mode 100644 index 000000000..bcf6126ad --- /dev/null +++ b/debianutils/Kbuild.src @@ -0,0 +1,12 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_MKTEMP) += mktemp.o +lib-$(CONFIG_PIPE_PROGRESS) += pipe_progress.o +lib-$(CONFIG_RUN_PARTS) += run_parts.o +lib-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o +lib-$(CONFIG_WHICH) += which.o diff --git a/e2fsprogs/Config.in b/e2fsprogs/Config.in deleted file mode 100644 index 964d08e4c..000000000 --- a/e2fsprogs/Config.in +++ /dev/null @@ -1,68 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Linux Ext2 FS Progs" - -config CHATTR - bool "chattr" - default n - help - chattr changes the file attributes on a second extended file system. - -### config E2FSCK -### bool "e2fsck" -### default n -### help -### e2fsck is used to check Linux second extended file systems (ext2fs). -### e2fsck also supports ext2 filesystems countaining a journal (ext3). -### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also -### provided. - -config FSCK - bool "fsck" - default n - help - fsck is used to check and optionally repair one or more filesystems. - In actuality, fsck is simply a front-end for the various file system - checkers (fsck.fstype) available under Linux. - -config LSATTR - bool "lsattr" - default n - help - lsattr lists the file attributes on a second extended file system. - -### config MKE2FS -### bool "mke2fs" -### default n -### help -### mke2fs is used to create an ext2/ext3 filesystem. The normal compat -### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. - -config TUNE2FS - bool "tune2fs" - default n - help - tune2fs allows the system administrator to adjust various tunable - filesystem parameters on Linux ext2/ext3 filesystems. - -### config E2LABEL -### bool "e2label" -### default n -### depends on TUNE2FS -### help -### e2label will display or change the filesystem label on the ext2 -### filesystem located on device. - -### NB: this one is now provided by util-linux/volume_id/* -### config FINDFS -### bool "findfs" -### default n -### depends on TUNE2FS -### help -### findfs will search the disks in the system looking for a filesystem -### which has a label matching label or a UUID equal to uuid. - -endmenu diff --git a/e2fsprogs/Config.src b/e2fsprogs/Config.src new file mode 100644 index 000000000..964d08e4c --- /dev/null +++ b/e2fsprogs/Config.src @@ -0,0 +1,68 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Linux Ext2 FS Progs" + +config CHATTR + bool "chattr" + default n + help + chattr changes the file attributes on a second extended file system. + +### config E2FSCK +### bool "e2fsck" +### default n +### help +### e2fsck is used to check Linux second extended file systems (ext2fs). +### e2fsck also supports ext2 filesystems countaining a journal (ext3). +### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also +### provided. + +config FSCK + bool "fsck" + default n + help + fsck is used to check and optionally repair one or more filesystems. + In actuality, fsck is simply a front-end for the various file system + checkers (fsck.fstype) available under Linux. + +config LSATTR + bool "lsattr" + default n + help + lsattr lists the file attributes on a second extended file system. + +### config MKE2FS +### bool "mke2fs" +### default n +### help +### mke2fs is used to create an ext2/ext3 filesystem. The normal compat +### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. + +config TUNE2FS + bool "tune2fs" + default n + help + tune2fs allows the system administrator to adjust various tunable + filesystem parameters on Linux ext2/ext3 filesystems. + +### config E2LABEL +### bool "e2label" +### default n +### depends on TUNE2FS +### help +### e2label will display or change the filesystem label on the ext2 +### filesystem located on device. + +### NB: this one is now provided by util-linux/volume_id/* +### config FINDFS +### bool "findfs" +### default n +### depends on TUNE2FS +### help +### findfs will search the disks in the system looking for a filesystem +### which has a label matching label or a UUID equal to uuid. + +endmenu diff --git a/e2fsprogs/Kbuild b/e2fsprogs/Kbuild deleted file mode 100644 index 0fdc9d215..000000000 --- a/e2fsprogs/Kbuild +++ /dev/null @@ -1,13 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= - -lib-$(CONFIG_CHATTR) += chattr.o e2fs_lib.o -lib-$(CONFIG_LSATTR) += lsattr.o e2fs_lib.o - -lib-$(CONFIG_FSCK) += fsck.o -lib-$(CONFIG_TUNE2FS) += tune2fs.o diff --git a/e2fsprogs/Kbuild.src b/e2fsprogs/Kbuild.src new file mode 100644 index 000000000..0fdc9d215 --- /dev/null +++ b/e2fsprogs/Kbuild.src @@ -0,0 +1,13 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= + +lib-$(CONFIG_CHATTR) += chattr.o e2fs_lib.o +lib-$(CONFIG_LSATTR) += lsattr.o e2fs_lib.o + +lib-$(CONFIG_FSCK) += fsck.o +lib-$(CONFIG_TUNE2FS) += tune2fs.o diff --git a/e2fsprogs/old_e2fsprogs/Config.in b/e2fsprogs/old_e2fsprogs/Config.in deleted file mode 100644 index 5990f556c..000000000 --- a/e2fsprogs/old_e2fsprogs/Config.in +++ /dev/null @@ -1,67 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Linux Ext2 FS Progs" - -config CHATTR - bool "chattr" - default n - help - chattr changes the file attributes on a second extended file system. - -config E2FSCK - bool "e2fsck" - default n - help - e2fsck is used to check Linux second extended file systems (ext2fs). - e2fsck also supports ext2 filesystems countaining a journal (ext3). - The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also - provided. - -config FSCK - bool "fsck" - default n - help - fsck is used to check and optionally repair one or more filesystems. - In actuality, fsck is simply a front-end for the various file system - checkers (fsck.fstype) available under Linux. - -config LSATTR - bool "lsattr" - default n - help - lsattr lists the file attributes on a second extended file system. - -config MKE2FS - bool "mke2fs" - default n - help - mke2fs is used to create an ext2/ext3 filesystem. The normal compat - symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. - -config TUNE2FS - bool "tune2fs" - default n - help - tune2fs allows the system administrator to adjust various tunable - filesystem parameters on Linux ext2/ext3 filesystems. - -config E2LABEL - bool "e2label" - default n - depends on TUNE2FS - help - e2label will display or change the filesystem label on the ext2 - filesystem located on device. - -config FINDFS - bool "findfs" - default n - depends on TUNE2FS - help - findfs will search the disks in the system looking for a filesystem - which has a label matching label or a UUID equal to uuid. - -endmenu diff --git a/e2fsprogs/old_e2fsprogs/Config.src b/e2fsprogs/old_e2fsprogs/Config.src new file mode 100644 index 000000000..5990f556c --- /dev/null +++ b/e2fsprogs/old_e2fsprogs/Config.src @@ -0,0 +1,67 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Linux Ext2 FS Progs" + +config CHATTR + bool "chattr" + default n + help + chattr changes the file attributes on a second extended file system. + +config E2FSCK + bool "e2fsck" + default n + help + e2fsck is used to check Linux second extended file systems (ext2fs). + e2fsck also supports ext2 filesystems countaining a journal (ext3). + The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also + provided. + +config FSCK + bool "fsck" + default n + help + fsck is used to check and optionally repair one or more filesystems. + In actuality, fsck is simply a front-end for the various file system + checkers (fsck.fstype) available under Linux. + +config LSATTR + bool "lsattr" + default n + help + lsattr lists the file attributes on a second extended file system. + +config MKE2FS + bool "mke2fs" + default n + help + mke2fs is used to create an ext2/ext3 filesystem. The normal compat + symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. + +config TUNE2FS + bool "tune2fs" + default n + help + tune2fs allows the system administrator to adjust various tunable + filesystem parameters on Linux ext2/ext3 filesystems. + +config E2LABEL + bool "e2label" + default n + depends on TUNE2FS + help + e2label will display or change the filesystem label on the ext2 + filesystem located on device. + +config FINDFS + bool "findfs" + default n + depends on TUNE2FS + help + findfs will search the disks in the system looking for a filesystem + which has a label matching label or a UUID equal to uuid. + +endmenu diff --git a/e2fsprogs/old_e2fsprogs/Kbuild b/e2fsprogs/old_e2fsprogs/Kbuild deleted file mode 100644 index b05bb92e1..000000000 --- a/e2fsprogs/old_e2fsprogs/Kbuild +++ /dev/null @@ -1,16 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= - -lib-$(CONFIG_CHATTR) += chattr.o -lib-$(CONFIG_E2FSCK) += e2fsck.o util.o -lib-$(CONFIG_FSCK) += fsck.o util.o -lib-$(CONFIG_LSATTR) += lsattr.o -lib-$(CONFIG_MKE2FS) += mke2fs.o util.o -lib-$(CONFIG_TUNE2FS) += tune2fs.o util.o - -CFLAGS += -include $(srctree)/e2fsprogs/e2fsbb.h diff --git a/e2fsprogs/old_e2fsprogs/Kbuild.src b/e2fsprogs/old_e2fsprogs/Kbuild.src new file mode 100644 index 000000000..b05bb92e1 --- /dev/null +++ b/e2fsprogs/old_e2fsprogs/Kbuild.src @@ -0,0 +1,16 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= + +lib-$(CONFIG_CHATTR) += chattr.o +lib-$(CONFIG_E2FSCK) += e2fsck.o util.o +lib-$(CONFIG_FSCK) += fsck.o util.o +lib-$(CONFIG_LSATTR) += lsattr.o +lib-$(CONFIG_MKE2FS) += mke2fs.o util.o +lib-$(CONFIG_TUNE2FS) += tune2fs.o util.o + +CFLAGS += -include $(srctree)/e2fsprogs/e2fsbb.h diff --git a/e2fsprogs/old_e2fsprogs/blkid/Kbuild b/e2fsprogs/old_e2fsprogs/blkid/Kbuild deleted file mode 100644 index ddcfdfd9a..000000000 --- a/e2fsprogs/old_e2fsprogs/blkid/Kbuild +++ /dev/null @@ -1,23 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -NEEDED-$(CONFIG_E2FSCK) = y -NEEDED-$(CONFIG_FSCK) = y -NEEDED-$(CONFIG_MKE2FS) = y -NEEDED-$(CONFIG_TUNE2FS) = y - -lib-y:= -lib-$(NEEDED-y) += cache.o dev.o devname.o devno.o blkid_getsize.o \ - probe.o read.o resolve.o save.o tag.o list.o - -CFLAGS_dev.o := -include $(srctree)/include/busybox.h -CFLAGS_devname.o := -include $(srctree)/include/busybox.h -CFLAGS_devno.o := -include $(srctree)/include/busybox.h -CFLAGS_blkid_getsize.o := -include $(srctree)/include/busybox.h -CFLAGS_probe.o := -include $(srctree)/include/busybox.h -CFLAGS_save.o := -include $(srctree)/include/busybox.h -CFLAGS_tag.o := -include $(srctree)/include/busybox.h -CFLAGS_list.o := -include $(srctree)/include/busybox.h diff --git a/e2fsprogs/old_e2fsprogs/blkid/Kbuild.src b/e2fsprogs/old_e2fsprogs/blkid/Kbuild.src new file mode 100644 index 000000000..ddcfdfd9a --- /dev/null +++ b/e2fsprogs/old_e2fsprogs/blkid/Kbuild.src @@ -0,0 +1,23 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +NEEDED-$(CONFIG_E2FSCK) = y +NEEDED-$(CONFIG_FSCK) = y +NEEDED-$(CONFIG_MKE2FS) = y +NEEDED-$(CONFIG_TUNE2FS) = y + +lib-y:= +lib-$(NEEDED-y) += cache.o dev.o devname.o devno.o blkid_getsize.o \ + probe.o read.o resolve.o save.o tag.o list.o + +CFLAGS_dev.o := -include $(srctree)/include/busybox.h +CFLAGS_devname.o := -include $(srctree)/include/busybox.h +CFLAGS_devno.o := -include $(srctree)/include/busybox.h +CFLAGS_blkid_getsize.o := -include $(srctree)/include/busybox.h +CFLAGS_probe.o := -include $(srctree)/include/busybox.h +CFLAGS_save.o := -include $(srctree)/include/busybox.h +CFLAGS_tag.o := -include $(srctree)/include/busybox.h +CFLAGS_list.o := -include $(srctree)/include/busybox.h diff --git a/e2fsprogs/old_e2fsprogs/e2p/Kbuild b/e2fsprogs/old_e2fsprogs/e2p/Kbuild deleted file mode 100644 index c0ff824e3..000000000 --- a/e2fsprogs/old_e2fsprogs/e2p/Kbuild +++ /dev/null @@ -1,15 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -NEEDED-$(CONFIG_CHATTR) = y -NEEDED-$(CONFIG_LSATTR) = y -NEEDED-$(CONFIG_MKE2FS) = y -NEEDED-$(CONFIG_TUNE2FS) = y - -lib-y:= -lib-$(NEEDED-y) += fgetsetflags.o fgetsetversion.o pf.o iod.o mntopts.o \ - feature.o ls.o uuid.o pe.o ostype.o ps.o hashstr.o \ - parse_num.o diff --git a/e2fsprogs/old_e2fsprogs/e2p/Kbuild.src b/e2fsprogs/old_e2fsprogs/e2p/Kbuild.src new file mode 100644 index 000000000..c0ff824e3 --- /dev/null +++ b/e2fsprogs/old_e2fsprogs/e2p/Kbuild.src @@ -0,0 +1,15 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +NEEDED-$(CONFIG_CHATTR) = y +NEEDED-$(CONFIG_LSATTR) = y +NEEDED-$(CONFIG_MKE2FS) = y +NEEDED-$(CONFIG_TUNE2FS) = y + +lib-y:= +lib-$(NEEDED-y) += fgetsetflags.o fgetsetversion.o pf.o iod.o mntopts.o \ + feature.o ls.o uuid.o pe.o ostype.o ps.o hashstr.o \ + parse_num.o diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/Kbuild b/e2fsprogs/old_e2fsprogs/ext2fs/Kbuild deleted file mode 100644 index 185887a44..000000000 --- a/e2fsprogs/old_e2fsprogs/ext2fs/Kbuild +++ /dev/null @@ -1,23 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -NEEDED-$(CONFIG_E2FSCK) = y -NEEDED-$(CONFIG_FSCK) = y -NEEDED-$(CONFIG_MKE2FS) = y -NEEDED-$(CONFIG_TUNE2FS) = y - -lib-y:= -lib-$(NEEDED-y) += gen_bitmap.o bitops.o ismounted.o mkjournal.o unix_io.o \ - rw_bitmaps.o initialize.o bitmaps.o block.o \ - ind_block.o inode.o freefs.o alloc_stats.o closefs.o \ - openfs.o io_manager.o finddev.o read_bb.o alloc.o badblocks.o \ - getsize.o getsectsize.o alloc_tables.o read_bb_file.o mkdir.o \ - bb_inode.o newdir.o alloc_sb.o lookup.o dirblock.o expanddir.o \ - dir_iterate.o link.o res_gdt.o icount.o get_pathname.o dblist.o \ - dirhash.o version.o flushb.o unlink.o check_desc.o valid_blk.o \ - ext_attr.o bmap.o dblist_dir.o ext2fs_inline.o swapfs.o - -CFLAGS += -include $(srctree)/e2fsprogs/e2fsbb.h diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/Kbuild.src b/e2fsprogs/old_e2fsprogs/ext2fs/Kbuild.src new file mode 100644 index 000000000..185887a44 --- /dev/null +++ b/e2fsprogs/old_e2fsprogs/ext2fs/Kbuild.src @@ -0,0 +1,23 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +NEEDED-$(CONFIG_E2FSCK) = y +NEEDED-$(CONFIG_FSCK) = y +NEEDED-$(CONFIG_MKE2FS) = y +NEEDED-$(CONFIG_TUNE2FS) = y + +lib-y:= +lib-$(NEEDED-y) += gen_bitmap.o bitops.o ismounted.o mkjournal.o unix_io.o \ + rw_bitmaps.o initialize.o bitmaps.o block.o \ + ind_block.o inode.o freefs.o alloc_stats.o closefs.o \ + openfs.o io_manager.o finddev.o read_bb.o alloc.o badblocks.o \ + getsize.o getsectsize.o alloc_tables.o read_bb_file.o mkdir.o \ + bb_inode.o newdir.o alloc_sb.o lookup.o dirblock.o expanddir.o \ + dir_iterate.o link.o res_gdt.o icount.o get_pathname.o dblist.o \ + dirhash.o version.o flushb.o unlink.o check_desc.o valid_blk.o \ + ext_attr.o bmap.o dblist_dir.o ext2fs_inline.o swapfs.o + +CFLAGS += -include $(srctree)/e2fsprogs/e2fsbb.h diff --git a/e2fsprogs/old_e2fsprogs/uuid/Kbuild b/e2fsprogs/old_e2fsprogs/uuid/Kbuild deleted file mode 100644 index dde981840..000000000 --- a/e2fsprogs/old_e2fsprogs/uuid/Kbuild +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -NEEDED-$(CONFIG_E2FSCK) = y -NEEDED-$(CONFIG_FSCK) = y -NEEDED-$(CONFIG_MKE2FS) = y -NEEDED-$(CONFIG_TUNE2FS) = y - -lib-y:= -lib-$(NEEDED-y) += compare.o gen_uuid.o pack.o parse.o unpack.o unparse.o \ - uuid_time.o diff --git a/e2fsprogs/old_e2fsprogs/uuid/Kbuild.src b/e2fsprogs/old_e2fsprogs/uuid/Kbuild.src new file mode 100644 index 000000000..dde981840 --- /dev/null +++ b/e2fsprogs/old_e2fsprogs/uuid/Kbuild.src @@ -0,0 +1,14 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +NEEDED-$(CONFIG_E2FSCK) = y +NEEDED-$(CONFIG_FSCK) = y +NEEDED-$(CONFIG_MKE2FS) = y +NEEDED-$(CONFIG_TUNE2FS) = y + +lib-y:= +lib-$(NEEDED-y) += compare.o gen_uuid.o pack.o parse.o unpack.o unparse.o \ + uuid_time.o diff --git a/editors/Config.in b/editors/Config.in deleted file mode 100644 index 5f9566f0a..000000000 --- a/editors/Config.in +++ /dev/null @@ -1,199 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Editors" - -config AWK - bool "awk" - default n - help - Awk is used as a pattern scanning and processing language. This is - the BusyBox implementation of that programming language. - -config FEATURE_AWK_LIBM - bool "Enable math functions (requires libm)" - default n - depends on AWK - help - Enable math functions of the Awk programming language. - NOTE: This will require libm to be present for linking. - -config CMP - bool "cmp" - default n - help - cmp is used to compare two files and returns the result - to standard output. - -config DIFF - bool "diff" - default n - help - diff compares two files or directories and outputs the - differences between them in a form that can be given to - the patch command. - -config FEATURE_DIFF_LONG_OPTIONS - bool "Enable long options" - default n - depends on DIFF && LONG_OPTS - help - Enable use of long options. - -config FEATURE_DIFF_DIR - bool "Enable directory support" - default y - depends on DIFF - help - This option enables support for directory and subdirectory - comparison. - -config ED - bool "ed" - default n - help - The original 1970's Unix text editor, from the days of teletypes. - Small, simple, evil. Part of SUSv3. If you're not already using - this, you don't need it. - -config PATCH - bool "patch" - default n - help - Apply a unified diff formatted patch. - -config SED - bool "sed" - default n - help - sed is used to perform text transformations on a file - or input from a pipeline. - -config VI - bool "vi" - default n - help - 'vi' is a text editor. More specifically, it is the One True - text editor . It does, however, have a rather steep - learning curve. If you are not already comfortable with 'vi' - you may wish to use something else. - -config FEATURE_VI_MAX_LEN - int "Maximum screen width in vi" - range 256 16384 - default 4096 - depends on VI - help - Contrary to what you may think, this is not eating much. - Make it smaller than 4k only if you are very limited on memory. - -config FEATURE_VI_8BIT - bool "Allow vi to display 8-bit chars (otherwise shows dots)" - default y - depends on VI - help - If your terminal can display characters with high bit set, - you may want to enable this. Note: vi is not Unicode-capable. - If your terminal combines several 8-bit bytes into one character - (as in Unicode mode), this will not work properly. - -config FEATURE_VI_COLON - bool "Enable \":\" colon commands (no \"ex\" mode)" - default y - depends on VI - help - Enable a limited set of colon commands for vi. This does not - provide an "ex" mode. - -config FEATURE_VI_YANKMARK - bool "Enable yank/put commands and mark cmds" - default y - depends on VI - help - This will enable you to use yank and put, as well as mark in - busybox vi. - -config FEATURE_VI_SEARCH - bool "Enable search and replace cmds" - default y - depends on VI - help - Select this if you wish to be able to do search and replace in - busybox vi. - -config FEATURE_VI_USE_SIGNALS - bool "Catch signals" - default y - depends on VI - help - Selecting this option will make busybox vi signal aware. This will - make busybox vi support SIGWINCH to deal with Window Changes, catch - Ctrl-Z and Ctrl-C and alarms. - -config FEATURE_VI_DOT_CMD - bool "Remember previous cmd and \".\" cmd" - default y - depends on VI - help - Make busybox vi remember the last command and be able to repeat it. - -config FEATURE_VI_READONLY - bool "Enable -R option and \"view\" mode" - default y - depends on VI - help - Enable the read-only command line option, which allows the user to - open a file in read-only mode. - -config FEATURE_VI_SETOPTS - bool "Enable set-able options, ai ic showmatch" - default y - depends on VI - help - Enable the editor to set some (ai, ic, showmatch) options. - -config FEATURE_VI_SET - bool "Support for :set" - default y - depends on VI - help - Support for ":set". - -config FEATURE_VI_WIN_RESIZE - bool "Handle window resize" - default y - depends on VI - help - Make busybox vi behave nicely with terminals that get resized. - -config FEATURE_VI_ASK_TERMINAL - bool "Use 'tell me cursor position' ESC sequence to measure window" - default n - depends on VI - help - If terminal size can't be retrieved and $LINES/$COLUMNS are not set, - this option makes vi perform a last-ditch effort to find it: - vi positions cursor to 999,999 and asks terminal to report real - cursor position using "ESC [ 6 n" escape sequence, then reads stdin. - - This is not clean but helps a lot on serial lines and such. - -config FEATURE_VI_OPTIMIZE_CURSOR - bool "Optimize cursor movement" - default y - depends on VI - help - This will make the cursor movement faster, but requires more memory - and it makes the applet a tiny bit larger. - -config FEATURE_ALLOW_EXEC - bool "Allow vi and awk to execute shell commands" - default y - depends on VI || AWK - help - Enables vi and awk features which allows user to execute - shell commands (using system() C call). - -endmenu diff --git a/editors/Config.src b/editors/Config.src new file mode 100644 index 000000000..5f9566f0a --- /dev/null +++ b/editors/Config.src @@ -0,0 +1,199 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Editors" + +config AWK + bool "awk" + default n + help + Awk is used as a pattern scanning and processing language. This is + the BusyBox implementation of that programming language. + +config FEATURE_AWK_LIBM + bool "Enable math functions (requires libm)" + default n + depends on AWK + help + Enable math functions of the Awk programming language. + NOTE: This will require libm to be present for linking. + +config CMP + bool "cmp" + default n + help + cmp is used to compare two files and returns the result + to standard output. + +config DIFF + bool "diff" + default n + help + diff compares two files or directories and outputs the + differences between them in a form that can be given to + the patch command. + +config FEATURE_DIFF_LONG_OPTIONS + bool "Enable long options" + default n + depends on DIFF && LONG_OPTS + help + Enable use of long options. + +config FEATURE_DIFF_DIR + bool "Enable directory support" + default y + depends on DIFF + help + This option enables support for directory and subdirectory + comparison. + +config ED + bool "ed" + default n + help + The original 1970's Unix text editor, from the days of teletypes. + Small, simple, evil. Part of SUSv3. If you're not already using + this, you don't need it. + +config PATCH + bool "patch" + default n + help + Apply a unified diff formatted patch. + +config SED + bool "sed" + default n + help + sed is used to perform text transformations on a file + or input from a pipeline. + +config VI + bool "vi" + default n + help + 'vi' is a text editor. More specifically, it is the One True + text editor . It does, however, have a rather steep + learning curve. If you are not already comfortable with 'vi' + you may wish to use something else. + +config FEATURE_VI_MAX_LEN + int "Maximum screen width in vi" + range 256 16384 + default 4096 + depends on VI + help + Contrary to what you may think, this is not eating much. + Make it smaller than 4k only if you are very limited on memory. + +config FEATURE_VI_8BIT + bool "Allow vi to display 8-bit chars (otherwise shows dots)" + default y + depends on VI + help + If your terminal can display characters with high bit set, + you may want to enable this. Note: vi is not Unicode-capable. + If your terminal combines several 8-bit bytes into one character + (as in Unicode mode), this will not work properly. + +config FEATURE_VI_COLON + bool "Enable \":\" colon commands (no \"ex\" mode)" + default y + depends on VI + help + Enable a limited set of colon commands for vi. This does not + provide an "ex" mode. + +config FEATURE_VI_YANKMARK + bool "Enable yank/put commands and mark cmds" + default y + depends on VI + help + This will enable you to use yank and put, as well as mark in + busybox vi. + +config FEATURE_VI_SEARCH + bool "Enable search and replace cmds" + default y + depends on VI + help + Select this if you wish to be able to do search and replace in + busybox vi. + +config FEATURE_VI_USE_SIGNALS + bool "Catch signals" + default y + depends on VI + help + Selecting this option will make busybox vi signal aware. This will + make busybox vi support SIGWINCH to deal with Window Changes, catch + Ctrl-Z and Ctrl-C and alarms. + +config FEATURE_VI_DOT_CMD + bool "Remember previous cmd and \".\" cmd" + default y + depends on VI + help + Make busybox vi remember the last command and be able to repeat it. + +config FEATURE_VI_READONLY + bool "Enable -R option and \"view\" mode" + default y + depends on VI + help + Enable the read-only command line option, which allows the user to + open a file in read-only mode. + +config FEATURE_VI_SETOPTS + bool "Enable set-able options, ai ic showmatch" + default y + depends on VI + help + Enable the editor to set some (ai, ic, showmatch) options. + +config FEATURE_VI_SET + bool "Support for :set" + default y + depends on VI + help + Support for ":set". + +config FEATURE_VI_WIN_RESIZE + bool "Handle window resize" + default y + depends on VI + help + Make busybox vi behave nicely with terminals that get resized. + +config FEATURE_VI_ASK_TERMINAL + bool "Use 'tell me cursor position' ESC sequence to measure window" + default n + depends on VI + help + If terminal size can't be retrieved and $LINES/$COLUMNS are not set, + this option makes vi perform a last-ditch effort to find it: + vi positions cursor to 999,999 and asks terminal to report real + cursor position using "ESC [ 6 n" escape sequence, then reads stdin. + + This is not clean but helps a lot on serial lines and such. + +config FEATURE_VI_OPTIMIZE_CURSOR + bool "Optimize cursor movement" + default y + depends on VI + help + This will make the cursor movement faster, but requires more memory + and it makes the applet a tiny bit larger. + +config FEATURE_ALLOW_EXEC + bool "Allow vi and awk to execute shell commands" + default y + depends on VI || AWK + help + Enables vi and awk features which allows user to execute + shell commands (using system() C call). + +endmenu diff --git a/editors/Kbuild b/editors/Kbuild deleted file mode 100644 index 76302aa76..000000000 --- a/editors/Kbuild +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_AWK) += awk.o -lib-$(CONFIG_CMP) += cmp.o -lib-$(CONFIG_DIFF) += diff.o -lib-$(CONFIG_ED) += ed.o -lib-$(CONFIG_PATCH) += patch.o -lib-$(CONFIG_SED) += sed.o -lib-$(CONFIG_VI) += vi.o diff --git a/editors/Kbuild.src b/editors/Kbuild.src new file mode 100644 index 000000000..76302aa76 --- /dev/null +++ b/editors/Kbuild.src @@ -0,0 +1,14 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_AWK) += awk.o +lib-$(CONFIG_CMP) += cmp.o +lib-$(CONFIG_DIFF) += diff.o +lib-$(CONFIG_ED) += ed.o +lib-$(CONFIG_PATCH) += patch.o +lib-$(CONFIG_SED) += sed.o +lib-$(CONFIG_VI) += vi.o diff --git a/init/Config.in b/init/Config.in deleted file mode 100644 index 76d509207..000000000 --- a/init/Config.in +++ /dev/null @@ -1,137 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Init Utilities" - -config INIT - bool "init" - default n - select FEATURE_SYSLOG - help - init is the first program run when the system boots. - -config FEATURE_USE_INITTAB - bool "Support reading an inittab file" - default y - depends on INIT - help - Allow init to read an inittab file when the system boot. - -config FEATURE_KILL_REMOVED - bool "Support killing processes that have been removed from inittab" - default y - depends on FEATURE_USE_INITTAB - help - When respawn entries are removed from inittab and a SIGHUP is - sent to init, this feature will kill the processes that have - been removed. - -config FEATURE_KILL_DELAY - int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED - range 0 1024 - default 0 - depends on FEATURE_KILL_REMOVED - help - With nonzero setting, init sends TERM, forks, child waits N - seconds, sends KILL and exits. Setting it too high is unwise - (child will hang around for too long and could actually kill - the wrong process!) - -config FEATURE_INIT_SCTTY - bool "Run commands with leading dash with controlling tty" - default n - depends on INIT - help - If this option is enabled, init will try to give a controlling - tty to any command which has leading hyphen (often it's "-/bin/sh"). - More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)". - If device attached to STDIN_FILENO can be a ctty but is not yet - a ctty for other session, it will become this process' ctty. - This is not the traditional init behavour, but is often what you want - in an embedded system where the console is only accessed during - development or for maintenance. - NB: using cttyhack applet may work better. - -config FEATURE_INIT_SYSLOG - bool "Enable init to write to syslog" - default n - depends on INIT - -config FEATURE_EXTRA_QUIET - bool "Be _extra_ quiet on boot" - default y - depends on INIT - help - Prevent init from logging some messages to the console during boot. - -config FEATURE_INIT_COREDUMPS - bool "Support dumping core for child processes (debugging only)" - default n - depends on INIT - help - If this option is enabled and the file /.init_enable_core - exists, then init will call setrlimit() to allow unlimited - core file sizes. If this option is disabled, processes - will not generate any core files. - -config FEATURE_INITRD - bool "Support running init from within an initrd (not initramfs)" - default y - depends on INIT - help - Legacy support for running init under the old-style initrd. Allows - the name linuxrc to act as init, and it doesn't assume init is PID 1. - - This does not apply to initramfs, which runs /init as PID 1 and - requires no special support. - -config HALT - bool "poweroff, halt, and reboot" - default n - help - Stop all processes and either halt, reboot, or power off the system. - -config FEATURE_CALL_TELINIT - bool "Call telinit on shutdown and reboot" - default n - depends on HALT && !INIT - help - Call an external program (normally telinit) to facilitate - a switch to a proper runlevel. - - This option is only available if you selected halt and friends, - but did not select init. - -config TELINIT_PATH - string "Path to telinit executable" - default "/sbin/telinit" - depends on FEATURE_CALL_TELINIT - help - When busybox halt and friends have to call external telinit - to facilitate proper shutdown, this path is to be used when - locating telinit executable. - -config MESG - bool "mesg" - default n - help - Mesg controls access to your terminal by others. It is typically - used to allow or disallow other users to write to your terminal - -config BOOTCHARTD - bool "bootchartd" - default n - help - bootchartd is commonly used to profile the boot process - for the purpose of speeding it up. In this case, it is started - by the kernel as the init process. This is configured by adding - the init=/sbin/bootchartd option to the kernel command line. - - It can also be used to monitor the resource usage of a specific - application or the running system in general. In this case, - bootchartd is started interactively by running bootchartd start - and stopped using bootchartd stop. - -endmenu diff --git a/init/Config.src b/init/Config.src new file mode 100644 index 000000000..76d509207 --- /dev/null +++ b/init/Config.src @@ -0,0 +1,137 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Init Utilities" + +config INIT + bool "init" + default n + select FEATURE_SYSLOG + help + init is the first program run when the system boots. + +config FEATURE_USE_INITTAB + bool "Support reading an inittab file" + default y + depends on INIT + help + Allow init to read an inittab file when the system boot. + +config FEATURE_KILL_REMOVED + bool "Support killing processes that have been removed from inittab" + default y + depends on FEATURE_USE_INITTAB + help + When respawn entries are removed from inittab and a SIGHUP is + sent to init, this feature will kill the processes that have + been removed. + +config FEATURE_KILL_DELAY + int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED + range 0 1024 + default 0 + depends on FEATURE_KILL_REMOVED + help + With nonzero setting, init sends TERM, forks, child waits N + seconds, sends KILL and exits. Setting it too high is unwise + (child will hang around for too long and could actually kill + the wrong process!) + +config FEATURE_INIT_SCTTY + bool "Run commands with leading dash with controlling tty" + default n + depends on INIT + help + If this option is enabled, init will try to give a controlling + tty to any command which has leading hyphen (often it's "-/bin/sh"). + More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)". + If device attached to STDIN_FILENO can be a ctty but is not yet + a ctty for other session, it will become this process' ctty. + This is not the traditional init behavour, but is often what you want + in an embedded system where the console is only accessed during + development or for maintenance. + NB: using cttyhack applet may work better. + +config FEATURE_INIT_SYSLOG + bool "Enable init to write to syslog" + default n + depends on INIT + +config FEATURE_EXTRA_QUIET + bool "Be _extra_ quiet on boot" + default y + depends on INIT + help + Prevent init from logging some messages to the console during boot. + +config FEATURE_INIT_COREDUMPS + bool "Support dumping core for child processes (debugging only)" + default n + depends on INIT + help + If this option is enabled and the file /.init_enable_core + exists, then init will call setrlimit() to allow unlimited + core file sizes. If this option is disabled, processes + will not generate any core files. + +config FEATURE_INITRD + bool "Support running init from within an initrd (not initramfs)" + default y + depends on INIT + help + Legacy support for running init under the old-style initrd. Allows + the name linuxrc to act as init, and it doesn't assume init is PID 1. + + This does not apply to initramfs, which runs /init as PID 1 and + requires no special support. + +config HALT + bool "poweroff, halt, and reboot" + default n + help + Stop all processes and either halt, reboot, or power off the system. + +config FEATURE_CALL_TELINIT + bool "Call telinit on shutdown and reboot" + default n + depends on HALT && !INIT + help + Call an external program (normally telinit) to facilitate + a switch to a proper runlevel. + + This option is only available if you selected halt and friends, + but did not select init. + +config TELINIT_PATH + string "Path to telinit executable" + default "/sbin/telinit" + depends on FEATURE_CALL_TELINIT + help + When busybox halt and friends have to call external telinit + to facilitate proper shutdown, this path is to be used when + locating telinit executable. + +config MESG + bool "mesg" + default n + help + Mesg controls access to your terminal by others. It is typically + used to allow or disallow other users to write to your terminal + +config BOOTCHARTD + bool "bootchartd" + default n + help + bootchartd is commonly used to profile the boot process + for the purpose of speeding it up. In this case, it is started + by the kernel as the init process. This is configured by adding + the init=/sbin/bootchartd option to the kernel command line. + + It can also be used to monitor the resource usage of a specific + application or the running system in general. In this case, + bootchartd is started interactively by running bootchartd start + and stopped using bootchartd stop. + +endmenu diff --git a/init/Kbuild b/init/Kbuild deleted file mode 100644 index ce3f30256..000000000 --- a/init/Kbuild +++ /dev/null @@ -1,11 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_HALT) += halt.o -lib-$(CONFIG_INIT) += init.o -lib-$(CONFIG_MESG) += mesg.o -lib-$(CONFIG_BOOTCHARTD) += bootchartd.o diff --git a/init/Kbuild.src b/init/Kbuild.src new file mode 100644 index 000000000..ce3f30256 --- /dev/null +++ b/init/Kbuild.src @@ -0,0 +1,11 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_HALT) += halt.o +lib-$(CONFIG_INIT) += init.o +lib-$(CONFIG_MESG) += mesg.o +lib-$(CONFIG_BOOTCHARTD) += bootchartd.o diff --git a/libbb/Config.in b/libbb/Config.in deleted file mode 100644 index 55367b21b..000000000 --- a/libbb/Config.in +++ /dev/null @@ -1,176 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Busybox Library Tuning" - -config PASSWORD_MINLEN - int "Minimum password length" - default 6 - range 5 32 - help - Minimum allowable password length. - -config MD5_SIZE_VS_SPEED - int "MD5: Trade bytes for speed (0:fast, 3:slow)" - default 2 - range 0 3 - help - Trade binary size versus speed for the md5sum algorithm. - Approximate values running uClibc and hashing - linux-2.4.4.tar.bz2 were: - user times (sec) text size (386) - 0 (fastest) 1.1 6144 - 1 1.4 5392 - 2 3.0 5088 - 3 (smallest) 5.1 4912 - -config FEATURE_FAST_TOP - bool "Faster /proc scanning code (+100 bytes)" - default n - help - This option makes top (and ps) ~20% faster (or 20% less CPU hungry), - but code size is slightly bigger. - -config FEATURE_ETC_NETWORKS - bool "Support for /etc/networks" - default n - help - Enable support for network names in /etc/networks. This is - a rarely used feature which allows you to use names - instead of IP/mask pairs in route command. - -config FEATURE_EDITING - bool "Command line editing" - default n - help - Enable line editing (mainly for shell command line). - -config FEATURE_EDITING_MAX_LEN - int "Maximum length of input" - range 128 8192 - default 1024 - depends on FEATURE_EDITING - help - Line editing code uses on-stack buffers for storage. - You may want to decrease this parameter if your target machine - benefits from smaller stack usage. - -config FEATURE_EDITING_VI - bool "vi-style line editing commands" - default n - depends on FEATURE_EDITING - help - Enable vi-style line editing. In shells, this mode can be - turned on and off with "set -o vi" and "set +o vi". - -config FEATURE_EDITING_HISTORY - int "History size" - range 0 99999 - default 15 - depends on FEATURE_EDITING - help - Specify command history size. - -config FEATURE_EDITING_SAVEHISTORY - bool "History saving" - default n - depends on ASH && FEATURE_EDITING - help - Enable history saving in ash shell. - -config FEATURE_TAB_COMPLETION - bool "Tab completion" - default n - depends on FEATURE_EDITING - help - Enable tab completion. - -config FEATURE_USERNAME_COMPLETION - bool "Username completion" - default n - depends on FEATURE_TAB_COMPLETION - help - Enable username completion. - -config FEATURE_EDITING_FANCY_PROMPT - bool "Fancy shell prompts" - default n - depends on FEATURE_EDITING - help - Setting this option allows for prompts to use things like \w and - \$ and escape codes. - -config FEATURE_EDITING_ASK_TERMINAL - bool "Query cursor position from terminal" - default n - depends on FEATURE_EDITING - help - Allow usage of "ESC [ 6 n" sequence. Terminal answers back with - current cursor position. This information is used to make line - editing more robust in some cases. - If you are not sure whether your terminals respond to this code - correctly, or want to save on code size (about 400 bytes), - then do not turn this option on. - -config FEATURE_NON_POSIX_CP - bool "Non-POSIX, but safer, copying to special nodes" - default y - help - With this option, "cp file symlink" will delete symlink - and create a regular file. This does not conform to POSIX, - but prevents a symlink attack. - Similarly, "cp file device" will not send file's data - to the device. - -config FEATURE_VERBOSE_CP_MESSAGE - bool "Give more precise messages when copy fails (cp, mv etc)" - default n - help - Error messages with this feature enabled: - $ cp file /does_not_exist/file - cp: cannot create '/does_not_exist/file': Path does not exist - $ cp file /vmlinuz/file - cp: cannot stat '/vmlinuz/file': Path has non-directory component - If this feature is not enabled, they will be, respectively: - cp: cannot create '/does_not_exist/file': No such file or directory - cp: cannot stat '/vmlinuz/file': Not a directory - This will cost you ~60 bytes. - -config FEATURE_COPYBUF_KB - int "Copy buffer size, in kilobytes" - range 1 1024 - default 4 - help - Size of buffer used by cp, mv, install etc. - Buffers which are 4 kb or less will be allocated on stack. - Bigger buffers will be allocated with mmap, with fallback to 4 kb - stack buffer if mmap fails. - -config MONOTONIC_SYSCALL - bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" - default y - help - Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring - time intervals (time, ping, traceroute etc need this). - Probably requires Linux 2.6+. If not selected, gettimeofday - will be used instead (which gives wrong results if date/time - is reset). - -config IOCTL_HEX2STR_ERROR - bool "Use ioctl names rather than hex values in error messages" - default y - help - Use ioctl names rather than hex values in error messages - (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this - saves about 1400 bytes. - -config FEATURE_HWIB - bool "Support infiniband HW" - default y - help - Support for printing infiniband addresses in - network applets. - -endmenu diff --git a/libbb/Config.src b/libbb/Config.src new file mode 100644 index 000000000..55367b21b --- /dev/null +++ b/libbb/Config.src @@ -0,0 +1,176 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Busybox Library Tuning" + +config PASSWORD_MINLEN + int "Minimum password length" + default 6 + range 5 32 + help + Minimum allowable password length. + +config MD5_SIZE_VS_SPEED + int "MD5: Trade bytes for speed (0:fast, 3:slow)" + default 2 + range 0 3 + help + Trade binary size versus speed for the md5sum algorithm. + Approximate values running uClibc and hashing + linux-2.4.4.tar.bz2 were: + user times (sec) text size (386) + 0 (fastest) 1.1 6144 + 1 1.4 5392 + 2 3.0 5088 + 3 (smallest) 5.1 4912 + +config FEATURE_FAST_TOP + bool "Faster /proc scanning code (+100 bytes)" + default n + help + This option makes top (and ps) ~20% faster (or 20% less CPU hungry), + but code size is slightly bigger. + +config FEATURE_ETC_NETWORKS + bool "Support for /etc/networks" + default n + help + Enable support for network names in /etc/networks. This is + a rarely used feature which allows you to use names + instead of IP/mask pairs in route command. + +config FEATURE_EDITING + bool "Command line editing" + default n + help + Enable line editing (mainly for shell command line). + +config FEATURE_EDITING_MAX_LEN + int "Maximum length of input" + range 128 8192 + default 1024 + depends on FEATURE_EDITING + help + Line editing code uses on-stack buffers for storage. + You may want to decrease this parameter if your target machine + benefits from smaller stack usage. + +config FEATURE_EDITING_VI + bool "vi-style line editing commands" + default n + depends on FEATURE_EDITING + help + Enable vi-style line editing. In shells, this mode can be + turned on and off with "set -o vi" and "set +o vi". + +config FEATURE_EDITING_HISTORY + int "History size" + range 0 99999 + default 15 + depends on FEATURE_EDITING + help + Specify command history size. + +config FEATURE_EDITING_SAVEHISTORY + bool "History saving" + default n + depends on ASH && FEATURE_EDITING + help + Enable history saving in ash shell. + +config FEATURE_TAB_COMPLETION + bool "Tab completion" + default n + depends on FEATURE_EDITING + help + Enable tab completion. + +config FEATURE_USERNAME_COMPLETION + bool "Username completion" + default n + depends on FEATURE_TAB_COMPLETION + help + Enable username completion. + +config FEATURE_EDITING_FANCY_PROMPT + bool "Fancy shell prompts" + default n + depends on FEATURE_EDITING + help + Setting this option allows for prompts to use things like \w and + \$ and escape codes. + +config FEATURE_EDITING_ASK_TERMINAL + bool "Query cursor position from terminal" + default n + depends on FEATURE_EDITING + help + Allow usage of "ESC [ 6 n" sequence. Terminal answers back with + current cursor position. This information is used to make line + editing more robust in some cases. + If you are not sure whether your terminals respond to this code + correctly, or want to save on code size (about 400 bytes), + then do not turn this option on. + +config FEATURE_NON_POSIX_CP + bool "Non-POSIX, but safer, copying to special nodes" + default y + help + With this option, "cp file symlink" will delete symlink + and create a regular file. This does not conform to POSIX, + but prevents a symlink attack. + Similarly, "cp file device" will not send file's data + to the device. + +config FEATURE_VERBOSE_CP_MESSAGE + bool "Give more precise messages when copy fails (cp, mv etc)" + default n + help + Error messages with this feature enabled: + $ cp file /does_not_exist/file + cp: cannot create '/does_not_exist/file': Path does not exist + $ cp file /vmlinuz/file + cp: cannot stat '/vmlinuz/file': Path has non-directory component + If this feature is not enabled, they will be, respectively: + cp: cannot create '/does_not_exist/file': No such file or directory + cp: cannot stat '/vmlinuz/file': Not a directory + This will cost you ~60 bytes. + +config FEATURE_COPYBUF_KB + int "Copy buffer size, in kilobytes" + range 1 1024 + default 4 + help + Size of buffer used by cp, mv, install etc. + Buffers which are 4 kb or less will be allocated on stack. + Bigger buffers will be allocated with mmap, with fallback to 4 kb + stack buffer if mmap fails. + +config MONOTONIC_SYSCALL + bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" + default y + help + Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring + time intervals (time, ping, traceroute etc need this). + Probably requires Linux 2.6+. If not selected, gettimeofday + will be used instead (which gives wrong results if date/time + is reset). + +config IOCTL_HEX2STR_ERROR + bool "Use ioctl names rather than hex values in error messages" + default y + help + Use ioctl names rather than hex values in error messages + (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this + saves about 1400 bytes. + +config FEATURE_HWIB + bool "Support infiniband HW" + default y + help + Support for printing infiniband addresses in + network applets. + +endmenu diff --git a/libbb/Kbuild b/libbb/Kbuild deleted file mode 100644 index 1b11d5d39..000000000 --- a/libbb/Kbuild +++ /dev/null @@ -1,172 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= - -lib-y += appletlib.o -lib-y += ask_confirmation.o -lib-y += bb_askpass.o -lib-y += bb_basename.o -lib-y += bb_do_delay.o -lib-y += bb_pwd.o -lib-y += bb_qsort.o -#lib-y += bb_strtod.o -lib-y += bb_strtonum.o -lib-y += change_identity.o -lib-y += chomp.o -lib-y += compare_string_array.o -lib-y += concat_path_file.o -lib-y += concat_subpath_file.o -lib-y += copy_file.o -lib-y += copyfd.o -lib-y += crc32.o -lib-y += create_icmp6_socket.o -lib-y += create_icmp_socket.o -lib-y += default_error_retval.o -lib-y += device_open.o -lib-y += dump.o -lib-y += error_msg.o -lib-y += error_msg_and_die.o -lib-y += execable.o -lib-y += fclose_nonstdin.o -lib-y += fflush_stdout_and_exit.o -lib-y += fgets_str.o -lib-y += find_pid_by_name.o -lib-y += find_root_device.o -lib-y += full_write.o -lib-y += get_console.o -lib-y += get_last_path_component.o -lib-y += get_line_from_file.o -lib-y += getopt32.o -lib-y += getpty.o -lib-y += get_volsize.o -lib-y += herror_msg.o -lib-y += herror_msg_and_die.o -lib-y += human_readable.o -lib-y += inet_common.o -lib-y += info_msg.o -lib-y += inode_hash.o -lib-y += isdirectory.o -lib-y += kernel_version.o -lib-y += last_char_is.o -lib-y += lineedit.o lineedit_ptr_hack.o -lib-y += llist.o -lib-y += login.o -lib-y += make_directory.o -lib-y += makedev.o -lib-y += match_fstype.o -lib-y += md5.o -# Alternative (disabled) implementation -#lib-y += md5prime.o -lib-y += messages.o -lib-y += mode_string.o -lib-y += mtab_file.o -lib-y += obscure.o -lib-y += parse_mode.o -lib-y += parse_config.o -lib-y += perror_msg.o -lib-y += perror_msg_and_die.o -lib-y += perror_nomsg.o -lib-y += perror_nomsg_and_die.o -lib-y += pidfile.o -lib-y += platform.o -lib-y += printable.o -lib-y += printable_string.o -lib-y += print_flags.o -lib-y += process_escape_sequence.o -lib-y += procps.o -lib-y += progress.o -lib-y += ptr_to_globals.o -lib-y += read.o -lib-y += read_key.o -lib-y += recursive_action.o -lib-y += remove_file.o -lib-y += run_shell.o -lib-y += safe_gethostname.o -lib-y += safe_poll.o -lib-y += safe_strncpy.o -lib-y += safe_write.o -lib-y += setup_environment.o -lib-y += sha1.o -lib-y += signals.o -lib-y += simplify_path.o -lib-y += single_argv.o -lib-y += skip_whitespace.o -lib-y += speed_table.o -lib-y += str_tolower.o -lib-y += strrstr.o -lib-y += time.o -lib-y += trim.o -lib-y += u_signal_names.o -lib-y += udp_io.o -lib-y += uuencode.o -lib-y += vdprintf.o -lib-y += verror_msg.o -lib-y += vfork_daemon_rexec.o -lib-y += warn_ignoring_args.o -lib-y += wfopen.o -lib-y += wfopen_input.o -lib-y += write.o -lib-y += xatonum.o -lib-y += xconnect.o -lib-y += xfuncs.o -lib-y += xfuncs_printf.o -lib-y += xfunc_die.o -lib-y += xgetcwd.o -lib-y += xgethostbyname.o -lib-y += xreadlink.o -lib-y += xrealloc_vector.o - -lib-$(CONFIG_FEATURE_UTMP) += utmp.o - -# A mix of optimizations (why build stuff we know won't be used) -# and objects which may fail to build (SELinux on selinux-less system) -lib-$(CONFIG_SELINUX) += selinux_common.o -lib-$(CONFIG_FEATURE_MTAB_SUPPORT) += mtab.o -lib-$(CONFIG_UNICODE_SUPPORT) += unicode.o -lib-$(CONFIG_FEATURE_CHECK_NAMES) += die_if_bad_username.o - -lib-$(CONFIG_LOSETUP) += loop.o -lib-$(CONFIG_FEATURE_MOUNT_LOOP) += loop.o - -lib-$(CONFIG_ADDGROUP) += update_passwd.o -lib-$(CONFIG_ADDUSER) += update_passwd.o -lib-$(CONFIG_DELGROUP) += update_passwd.o -lib-$(CONFIG_DELUSER) += update_passwd.o - -lib-$(CONFIG_PASSWD) += pw_encrypt.o update_passwd.o -lib-$(CONFIG_CHPASSWD) += pw_encrypt.o update_passwd.o -lib-$(CONFIG_CRYPTPW) += pw_encrypt.o -lib-$(CONFIG_SULOGIN) += pw_encrypt.o -lib-$(CONFIG_VLOCK) += pw_encrypt.o correct_password.o -lib-$(CONFIG_SU) += pw_encrypt.o correct_password.o -lib-$(CONFIG_LOGIN) += pw_encrypt.o correct_password.o -lib-$(CONFIG_FEATURE_HTTPD_AUTH_MD5) += pw_encrypt.o - -lib-$(CONFIG_DF) += find_mount_point.o -lib-$(CONFIG_MKFS_MINIX) += find_mount_point.o -lib-$(CONFIG_MKFS_EXT2) += find_mount_point.o -lib-$(CONFIG_MKFS_REISER) += find_mount_point.o -lib-$(CONFIG_FSCK_MINIX) += find_mount_point.o -lib-$(CONFIG_MOUNT) += find_mount_point.o - -lib-$(CONFIG_HWCLOCK) += rtc.o -lib-$(CONFIG_RTCWAKE) += rtc.o - -# We shouldn't build xregcomp.c if we don't need it - this ensures we don't -# require regex.h to be in the include dir even if we don't need it thereby -# allowing us to build busybox even if uclibc regex support is disabled. - -lib-$(CONFIG_AWK) += xregcomp.o -lib-$(CONFIG_SED) += xregcomp.o -lib-$(CONFIG_GREP) += xregcomp.o -lib-$(CONFIG_EXPR) += xregcomp.o -lib-$(CONFIG_MDEV) += xregcomp.o -lib-$(CONFIG_LESS) += xregcomp.o -lib-$(CONFIG_PGREP) += xregcomp.o -lib-$(CONFIG_PKILL) += xregcomp.o -lib-$(CONFIG_DEVFSD) += xregcomp.o -lib-$(CONFIG_FEATURE_FIND_REGEX) += xregcomp.o diff --git a/libbb/Kbuild.src b/libbb/Kbuild.src new file mode 100644 index 000000000..1b11d5d39 --- /dev/null +++ b/libbb/Kbuild.src @@ -0,0 +1,172 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= + +lib-y += appletlib.o +lib-y += ask_confirmation.o +lib-y += bb_askpass.o +lib-y += bb_basename.o +lib-y += bb_do_delay.o +lib-y += bb_pwd.o +lib-y += bb_qsort.o +#lib-y += bb_strtod.o +lib-y += bb_strtonum.o +lib-y += change_identity.o +lib-y += chomp.o +lib-y += compare_string_array.o +lib-y += concat_path_file.o +lib-y += concat_subpath_file.o +lib-y += copy_file.o +lib-y += copyfd.o +lib-y += crc32.o +lib-y += create_icmp6_socket.o +lib-y += create_icmp_socket.o +lib-y += default_error_retval.o +lib-y += device_open.o +lib-y += dump.o +lib-y += error_msg.o +lib-y += error_msg_and_die.o +lib-y += execable.o +lib-y += fclose_nonstdin.o +lib-y += fflush_stdout_and_exit.o +lib-y += fgets_str.o +lib-y += find_pid_by_name.o +lib-y += find_root_device.o +lib-y += full_write.o +lib-y += get_console.o +lib-y += get_last_path_component.o +lib-y += get_line_from_file.o +lib-y += getopt32.o +lib-y += getpty.o +lib-y += get_volsize.o +lib-y += herror_msg.o +lib-y += herror_msg_and_die.o +lib-y += human_readable.o +lib-y += inet_common.o +lib-y += info_msg.o +lib-y += inode_hash.o +lib-y += isdirectory.o +lib-y += kernel_version.o +lib-y += last_char_is.o +lib-y += lineedit.o lineedit_ptr_hack.o +lib-y += llist.o +lib-y += login.o +lib-y += make_directory.o +lib-y += makedev.o +lib-y += match_fstype.o +lib-y += md5.o +# Alternative (disabled) implementation +#lib-y += md5prime.o +lib-y += messages.o +lib-y += mode_string.o +lib-y += mtab_file.o +lib-y += obscure.o +lib-y += parse_mode.o +lib-y += parse_config.o +lib-y += perror_msg.o +lib-y += perror_msg_and_die.o +lib-y += perror_nomsg.o +lib-y += perror_nomsg_and_die.o +lib-y += pidfile.o +lib-y += platform.o +lib-y += printable.o +lib-y += printable_string.o +lib-y += print_flags.o +lib-y += process_escape_sequence.o +lib-y += procps.o +lib-y += progress.o +lib-y += ptr_to_globals.o +lib-y += read.o +lib-y += read_key.o +lib-y += recursive_action.o +lib-y += remove_file.o +lib-y += run_shell.o +lib-y += safe_gethostname.o +lib-y += safe_poll.o +lib-y += safe_strncpy.o +lib-y += safe_write.o +lib-y += setup_environment.o +lib-y += sha1.o +lib-y += signals.o +lib-y += simplify_path.o +lib-y += single_argv.o +lib-y += skip_whitespace.o +lib-y += speed_table.o +lib-y += str_tolower.o +lib-y += strrstr.o +lib-y += time.o +lib-y += trim.o +lib-y += u_signal_names.o +lib-y += udp_io.o +lib-y += uuencode.o +lib-y += vdprintf.o +lib-y += verror_msg.o +lib-y += vfork_daemon_rexec.o +lib-y += warn_ignoring_args.o +lib-y += wfopen.o +lib-y += wfopen_input.o +lib-y += write.o +lib-y += xatonum.o +lib-y += xconnect.o +lib-y += xfuncs.o +lib-y += xfuncs_printf.o +lib-y += xfunc_die.o +lib-y += xgetcwd.o +lib-y += xgethostbyname.o +lib-y += xreadlink.o +lib-y += xrealloc_vector.o + +lib-$(CONFIG_FEATURE_UTMP) += utmp.o + +# A mix of optimizations (why build stuff we know won't be used) +# and objects which may fail to build (SELinux on selinux-less system) +lib-$(CONFIG_SELINUX) += selinux_common.o +lib-$(CONFIG_FEATURE_MTAB_SUPPORT) += mtab.o +lib-$(CONFIG_UNICODE_SUPPORT) += unicode.o +lib-$(CONFIG_FEATURE_CHECK_NAMES) += die_if_bad_username.o + +lib-$(CONFIG_LOSETUP) += loop.o +lib-$(CONFIG_FEATURE_MOUNT_LOOP) += loop.o + +lib-$(CONFIG_ADDGROUP) += update_passwd.o +lib-$(CONFIG_ADDUSER) += update_passwd.o +lib-$(CONFIG_DELGROUP) += update_passwd.o +lib-$(CONFIG_DELUSER) += update_passwd.o + +lib-$(CONFIG_PASSWD) += pw_encrypt.o update_passwd.o +lib-$(CONFIG_CHPASSWD) += pw_encrypt.o update_passwd.o +lib-$(CONFIG_CRYPTPW) += pw_encrypt.o +lib-$(CONFIG_SULOGIN) += pw_encrypt.o +lib-$(CONFIG_VLOCK) += pw_encrypt.o correct_password.o +lib-$(CONFIG_SU) += pw_encrypt.o correct_password.o +lib-$(CONFIG_LOGIN) += pw_encrypt.o correct_password.o +lib-$(CONFIG_FEATURE_HTTPD_AUTH_MD5) += pw_encrypt.o + +lib-$(CONFIG_DF) += find_mount_point.o +lib-$(CONFIG_MKFS_MINIX) += find_mount_point.o +lib-$(CONFIG_MKFS_EXT2) += find_mount_point.o +lib-$(CONFIG_MKFS_REISER) += find_mount_point.o +lib-$(CONFIG_FSCK_MINIX) += find_mount_point.o +lib-$(CONFIG_MOUNT) += find_mount_point.o + +lib-$(CONFIG_HWCLOCK) += rtc.o +lib-$(CONFIG_RTCWAKE) += rtc.o + +# We shouldn't build xregcomp.c if we don't need it - this ensures we don't +# require regex.h to be in the include dir even if we don't need it thereby +# allowing us to build busybox even if uclibc regex support is disabled. + +lib-$(CONFIG_AWK) += xregcomp.o +lib-$(CONFIG_SED) += xregcomp.o +lib-$(CONFIG_GREP) += xregcomp.o +lib-$(CONFIG_EXPR) += xregcomp.o +lib-$(CONFIG_MDEV) += xregcomp.o +lib-$(CONFIG_LESS) += xregcomp.o +lib-$(CONFIG_PGREP) += xregcomp.o +lib-$(CONFIG_PKILL) += xregcomp.o +lib-$(CONFIG_DEVFSD) += xregcomp.o +lib-$(CONFIG_FEATURE_FIND_REGEX) += xregcomp.o diff --git a/libpwdgrp/Kbuild b/libpwdgrp/Kbuild deleted file mode 100644 index f9f1ddbf3..000000000 --- a/libpwdgrp/Kbuild +++ /dev/null @@ -1,9 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y := uidgid_get.o - -lib-$(CONFIG_USE_BB_PWD_GRP) += pwd_grp.o diff --git a/libpwdgrp/Kbuild.src b/libpwdgrp/Kbuild.src new file mode 100644 index 000000000..f9f1ddbf3 --- /dev/null +++ b/libpwdgrp/Kbuild.src @@ -0,0 +1,9 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y := uidgid_get.o + +lib-$(CONFIG_USE_BB_PWD_GRP) += pwd_grp.o diff --git a/loginutils/Config.in b/loginutils/Config.in deleted file mode 100644 index a9b5f5a9f..000000000 --- a/loginutils/Config.in +++ /dev/null @@ -1,303 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Login/Password Management Utilities" - -config FEATURE_SHADOWPASSWDS - bool "Support for shadow passwords" - default n - help - Build support for shadow password in /etc/shadow. This file is only - readable by root and thus the encrypted passwords are no longer - publicly readable. - -config USE_BB_PWD_GRP - bool "Use internal password and group functions rather than system functions" - default n - help - If you leave this disabled, busybox will use the system's password - and group functions. And if you are using the GNU C library - (glibc), you will then need to install the /etc/nsswitch.conf - configuration file and the required /lib/libnss_* libraries in - order for the password and group functions to work. This generally - makes your embedded system quite a bit larger. - - Enabling this option will cause busybox to directly access the - system's /etc/password, /etc/group files (and your system will be - smaller, and I will get fewer emails asking about how glibc NSS - works). When this option is enabled, you will not be able to use - PAM to access remote LDAP password servers and whatnot. And if you - want hostname resolution to work with glibc, you still need the - /lib/libnss_* libraries. - - If you need to use glibc's nsswitch.conf mechanism - (e.g. if user/group database is NOT stored in /etc/passwd etc), - you must NOT use this option. - - If you enable this option, it will add about 1.5k. - -config USE_BB_SHADOW - bool "Use internal shadow password functions" - default y - depends on USE_BB_PWD_GRP && FEATURE_SHADOWPASSWDS - help - If you leave this disabled, busybox will use the system's shadow - password handling functions. And if you are using the GNU C library - (glibc), you will then need to install the /etc/nsswitch.conf - configuration file and the required /lib/libnss_* libraries in - order for the shadow password functions to work. This generally - makes your embedded system quite a bit larger. - - Enabling this option will cause busybox to directly access the - system's /etc/shadow file when handling shadow passwords. This - makes your system smaller (and I will get fewer emails asking about - how glibc NSS works). When this option is enabled, you will not be - able to use PAM to access shadow passwords from remote LDAP - password servers and whatnot. - -config USE_BB_CRYPT - bool "Use internal crypt functions" - default y - help - Busybox has internal DES and MD5 crypt functions. - They produce results which are identical to corresponding - standard C library functions. - - If you leave this disabled, busybox will use the system's - crypt functions. Most C libraries use large (~70k) - static buffers there, and also combine them with more general - DES encryption/decryption. - - For busybox, having large static buffers is undesirable, - especially on NOMMU machines. Busybox also doesn't need - DES encryption/decryption and can do with smaller code. - - If you enable this option, it will add about 4.8k of code - if you are building dynamically linked executable. - In static build, it makes code _smaller_ by about 1.2k, - and likely many kilobytes less of bss. - -config USE_BB_CRYPT_SHA - bool "Enable SHA256/512 crypt functions" - default n - depends on USE_BB_CRYPT - help - Enable this if you have passwords starting with "$5$" or "$6$" - in your /etc/passwd or /etc/shadow files. These passwords - are hashed using SHA256 and SHA512 algorithms. Support for them - was added to glibc in 2008. - With this option off, login will fail password check for any - user which has password encrypted with these algorithms. - -config ADDGROUP - bool "addgroup" - default n - help - Utility for creating a new group account. - -config FEATURE_ADDGROUP_LONG_OPTIONS - bool "Enable long options" - default n - depends on ADDGROUP && LONG_OPTS - help - Support long options for the addgroup applet. - -config FEATURE_ADDUSER_TO_GROUP - bool "Support for adding users to groups" - default n - depends on ADDGROUP - help - If called with two non-option arguments, - addgroup will add an existing user to an - existing group. - -config DELGROUP - bool "delgroup" - default n - help - Utility for deleting a group account. - -config FEATURE_DEL_USER_FROM_GROUP - bool "Support for removing users from groups" - default n - depends on DELGROUP - help - If called with two non-option arguments, deluser - or delgroup will remove an user from a specified group. - -config FEATURE_CHECK_NAMES - bool "Enable sanity check on user/group names in adduser and addgroup" - default n - depends on ADDUSER || ADDGROUP - help - Enable sanity check on user and group names in adduser and addgroup. - To avoid problems, the user or group name should consist only of - letters, digits, underscores, periods, at signs and dashes, - and not start with a dash (as defined by IEEE Std 1003.1-2001). - For compatibility with Samba machine accounts "$" is also supported - at the end of the user or group name. - -config ADDUSER - bool "adduser" - default n - help - Utility for creating a new user account. - -config FEATURE_ADDUSER_LONG_OPTIONS - bool "Enable long options" - default n - depends on ADDUSER && LONG_OPTS - help - Support long options for the adduser applet. - -config FIRST_SYSTEM_ID - int "First valid system uid or gid for adduser and addgroup" - depends on ADDUSER || ADDGROUP - range 0 64900 - default 100 - help - First valid system uid or gid for adduser and addgroup - -config LAST_SYSTEM_ID - int "Last valid system uid or gid for adduser and addgroup" - depends on ADDUSER || ADDGROUP - range 0 64900 - default 999 - help - Last valid system uid or gid for adduser and addgroup - -config DELUSER - bool "deluser" - default n - help - Utility for deleting a user account. - -config GETTY - bool "getty" - default n - select FEATURE_SYSLOG - help - getty lets you log in on a tty, it is normally invoked by init. - -config LOGIN - bool "login" - default n - select FEATURE_SUID - select FEATURE_SYSLOG - help - login is used when signing onto a system. - - Note that Busybox binary must be setuid root for this applet to - work properly. - -config PAM - bool "Support for PAM (Pluggable Authentication Modules)" - default n - depends on LOGIN - help - Use PAM in login(1) instead of direct access to password database. - -config LOGIN_SCRIPTS - bool "Support for login scripts" - depends on LOGIN - default n - help - Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT - just prior to switching from root to logged-in user. - -config FEATURE_NOLOGIN - bool "Support for /etc/nologin" - default y - depends on LOGIN - help - The file /etc/nologin is used by (some versions of) login(1). - If it exists, non-root logins are prohibited. - -config FEATURE_SECURETTY - bool "Support for /etc/securetty" - default y - depends on LOGIN - help - The file /etc/securetty is used by (some versions of) login(1). - The file contains the device names of tty lines (one per line, - without leading /dev/) on which root is allowed to login. - -config PASSWD - bool "passwd" - default n - select FEATURE_SUID - select FEATURE_SYSLOG - help - passwd changes passwords for user and group accounts. A normal user - may only change the password for his/her own account, the super user - may change the password for any account. The administrator of a group - may change the password for the group. - - Note that Busybox binary must be setuid root for this applet to - work properly. - -config FEATURE_PASSWD_WEAK_CHECK - bool "Check new passwords for weakness" - default y - depends on PASSWD - help - With this option passwd will refuse new passwords which are "weak". - -config CRYPTPW - bool "cryptpw" - default n - help - Encrypts the given password with the crypt(3) libc function - using the given salt. Debian has this utility under mkpasswd - name. Busybox provides mkpasswd as an alias for cryptpw. - -config CHPASSWD - bool "chpasswd" - default n - help - Reads a file of user name and password pairs from standard input - and uses this information to update a group of existing users. - -config SU - bool "su" - default n - select FEATURE_SUID - select FEATURE_SYSLOG - help - su is used to become another user during a login session. - Invoked without a username, su defaults to becoming the super user. - - Note that Busybox binary must be setuid root for this applet to - work properly. - -config FEATURE_SU_SYSLOG - bool "Enable su to write to syslog" - default y - depends on SU - -config FEATURE_SU_CHECKS_SHELLS - bool "Enable su to check user's shell to be listed in /etc/shells" - depends on SU - default y - -config SULOGIN - bool "sulogin" - default n - select FEATURE_SYSLOG - help - sulogin is invoked when the system goes into single user - mode (this is done through an entry in inittab). - -config VLOCK - bool "vlock" - default n - select FEATURE_SUID - help - Build the "vlock" applet which allows you to lock (virtual) terminals. - - Note that Busybox binary must be setuid root for this applet to - work properly. - -endmenu diff --git a/loginutils/Config.src b/loginutils/Config.src new file mode 100644 index 000000000..a9b5f5a9f --- /dev/null +++ b/loginutils/Config.src @@ -0,0 +1,303 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Login/Password Management Utilities" + +config FEATURE_SHADOWPASSWDS + bool "Support for shadow passwords" + default n + help + Build support for shadow password in /etc/shadow. This file is only + readable by root and thus the encrypted passwords are no longer + publicly readable. + +config USE_BB_PWD_GRP + bool "Use internal password and group functions rather than system functions" + default n + help + If you leave this disabled, busybox will use the system's password + and group functions. And if you are using the GNU C library + (glibc), you will then need to install the /etc/nsswitch.conf + configuration file and the required /lib/libnss_* libraries in + order for the password and group functions to work. This generally + makes your embedded system quite a bit larger. + + Enabling this option will cause busybox to directly access the + system's /etc/password, /etc/group files (and your system will be + smaller, and I will get fewer emails asking about how glibc NSS + works). When this option is enabled, you will not be able to use + PAM to access remote LDAP password servers and whatnot. And if you + want hostname resolution to work with glibc, you still need the + /lib/libnss_* libraries. + + If you need to use glibc's nsswitch.conf mechanism + (e.g. if user/group database is NOT stored in /etc/passwd etc), + you must NOT use this option. + + If you enable this option, it will add about 1.5k. + +config USE_BB_SHADOW + bool "Use internal shadow password functions" + default y + depends on USE_BB_PWD_GRP && FEATURE_SHADOWPASSWDS + help + If you leave this disabled, busybox will use the system's shadow + password handling functions. And if you are using the GNU C library + (glibc), you will then need to install the /etc/nsswitch.conf + configuration file and the required /lib/libnss_* libraries in + order for the shadow password functions to work. This generally + makes your embedded system quite a bit larger. + + Enabling this option will cause busybox to directly access the + system's /etc/shadow file when handling shadow passwords. This + makes your system smaller (and I will get fewer emails asking about + how glibc NSS works). When this option is enabled, you will not be + able to use PAM to access shadow passwords from remote LDAP + password servers and whatnot. + +config USE_BB_CRYPT + bool "Use internal crypt functions" + default y + help + Busybox has internal DES and MD5 crypt functions. + They produce results which are identical to corresponding + standard C library functions. + + If you leave this disabled, busybox will use the system's + crypt functions. Most C libraries use large (~70k) + static buffers there, and also combine them with more general + DES encryption/decryption. + + For busybox, having large static buffers is undesirable, + especially on NOMMU machines. Busybox also doesn't need + DES encryption/decryption and can do with smaller code. + + If you enable this option, it will add about 4.8k of code + if you are building dynamically linked executable. + In static build, it makes code _smaller_ by about 1.2k, + and likely many kilobytes less of bss. + +config USE_BB_CRYPT_SHA + bool "Enable SHA256/512 crypt functions" + default n + depends on USE_BB_CRYPT + help + Enable this if you have passwords starting with "$5$" or "$6$" + in your /etc/passwd or /etc/shadow files. These passwords + are hashed using SHA256 and SHA512 algorithms. Support for them + was added to glibc in 2008. + With this option off, login will fail password check for any + user which has password encrypted with these algorithms. + +config ADDGROUP + bool "addgroup" + default n + help + Utility for creating a new group account. + +config FEATURE_ADDGROUP_LONG_OPTIONS + bool "Enable long options" + default n + depends on ADDGROUP && LONG_OPTS + help + Support long options for the addgroup applet. + +config FEATURE_ADDUSER_TO_GROUP + bool "Support for adding users to groups" + default n + depends on ADDGROUP + help + If called with two non-option arguments, + addgroup will add an existing user to an + existing group. + +config DELGROUP + bool "delgroup" + default n + help + Utility for deleting a group account. + +config FEATURE_DEL_USER_FROM_GROUP + bool "Support for removing users from groups" + default n + depends on DELGROUP + help + If called with two non-option arguments, deluser + or delgroup will remove an user from a specified group. + +config FEATURE_CHECK_NAMES + bool "Enable sanity check on user/group names in adduser and addgroup" + default n + depends on ADDUSER || ADDGROUP + help + Enable sanity check on user and group names in adduser and addgroup. + To avoid problems, the user or group name should consist only of + letters, digits, underscores, periods, at signs and dashes, + and not start with a dash (as defined by IEEE Std 1003.1-2001). + For compatibility with Samba machine accounts "$" is also supported + at the end of the user or group name. + +config ADDUSER + bool "adduser" + default n + help + Utility for creating a new user account. + +config FEATURE_ADDUSER_LONG_OPTIONS + bool "Enable long options" + default n + depends on ADDUSER && LONG_OPTS + help + Support long options for the adduser applet. + +config FIRST_SYSTEM_ID + int "First valid system uid or gid for adduser and addgroup" + depends on ADDUSER || ADDGROUP + range 0 64900 + default 100 + help + First valid system uid or gid for adduser and addgroup + +config LAST_SYSTEM_ID + int "Last valid system uid or gid for adduser and addgroup" + depends on ADDUSER || ADDGROUP + range 0 64900 + default 999 + help + Last valid system uid or gid for adduser and addgroup + +config DELUSER + bool "deluser" + default n + help + Utility for deleting a user account. + +config GETTY + bool "getty" + default n + select FEATURE_SYSLOG + help + getty lets you log in on a tty, it is normally invoked by init. + +config LOGIN + bool "login" + default n + select FEATURE_SUID + select FEATURE_SYSLOG + help + login is used when signing onto a system. + + Note that Busybox binary must be setuid root for this applet to + work properly. + +config PAM + bool "Support for PAM (Pluggable Authentication Modules)" + default n + depends on LOGIN + help + Use PAM in login(1) instead of direct access to password database. + +config LOGIN_SCRIPTS + bool "Support for login scripts" + depends on LOGIN + default n + help + Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT + just prior to switching from root to logged-in user. + +config FEATURE_NOLOGIN + bool "Support for /etc/nologin" + default y + depends on LOGIN + help + The file /etc/nologin is used by (some versions of) login(1). + If it exists, non-root logins are prohibited. + +config FEATURE_SECURETTY + bool "Support for /etc/securetty" + default y + depends on LOGIN + help + The file /etc/securetty is used by (some versions of) login(1). + The file contains the device names of tty lines (one per line, + without leading /dev/) on which root is allowed to login. + +config PASSWD + bool "passwd" + default n + select FEATURE_SUID + select FEATURE_SYSLOG + help + passwd changes passwords for user and group accounts. A normal user + may only change the password for his/her own account, the super user + may change the password for any account. The administrator of a group + may change the password for the group. + + Note that Busybox binary must be setuid root for this applet to + work properly. + +config FEATURE_PASSWD_WEAK_CHECK + bool "Check new passwords for weakness" + default y + depends on PASSWD + help + With this option passwd will refuse new passwords which are "weak". + +config CRYPTPW + bool "cryptpw" + default n + help + Encrypts the given password with the crypt(3) libc function + using the given salt. Debian has this utility under mkpasswd + name. Busybox provides mkpasswd as an alias for cryptpw. + +config CHPASSWD + bool "chpasswd" + default n + help + Reads a file of user name and password pairs from standard input + and uses this information to update a group of existing users. + +config SU + bool "su" + default n + select FEATURE_SUID + select FEATURE_SYSLOG + help + su is used to become another user during a login session. + Invoked without a username, su defaults to becoming the super user. + + Note that Busybox binary must be setuid root for this applet to + work properly. + +config FEATURE_SU_SYSLOG + bool "Enable su to write to syslog" + default y + depends on SU + +config FEATURE_SU_CHECKS_SHELLS + bool "Enable su to check user's shell to be listed in /etc/shells" + depends on SU + default y + +config SULOGIN + bool "sulogin" + default n + select FEATURE_SYSLOG + help + sulogin is invoked when the system goes into single user + mode (this is done through an entry in inittab). + +config VLOCK + bool "vlock" + default n + select FEATURE_SUID + help + Build the "vlock" applet which allows you to lock (virtual) terminals. + + Note that Busybox binary must be setuid root for this applet to + work properly. + +endmenu diff --git a/loginutils/Kbuild b/loginutils/Kbuild deleted file mode 100644 index 3d0d777e8..000000000 --- a/loginutils/Kbuild +++ /dev/null @@ -1,19 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_ADDGROUP) += addgroup.o -lib-$(CONFIG_ADDUSER) += adduser.o -lib-$(CONFIG_CRYPTPW) += cryptpw.o -lib-$(CONFIG_CHPASSWD) += chpasswd.o -lib-$(CONFIG_GETTY) += getty.o -lib-$(CONFIG_LOGIN) += login.o -lib-$(CONFIG_PASSWD) += passwd.o -lib-$(CONFIG_SU) += su.o -lib-$(CONFIG_SULOGIN) += sulogin.o -lib-$(CONFIG_VLOCK) += vlock.o -lib-$(CONFIG_DELUSER) += deluser.o -lib-$(CONFIG_DELGROUP) += deluser.o diff --git a/loginutils/Kbuild.src b/loginutils/Kbuild.src new file mode 100644 index 000000000..3d0d777e8 --- /dev/null +++ b/loginutils/Kbuild.src @@ -0,0 +1,19 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_ADDGROUP) += addgroup.o +lib-$(CONFIG_ADDUSER) += adduser.o +lib-$(CONFIG_CRYPTPW) += cryptpw.o +lib-$(CONFIG_CHPASSWD) += chpasswd.o +lib-$(CONFIG_GETTY) += getty.o +lib-$(CONFIG_LOGIN) += login.o +lib-$(CONFIG_PASSWD) += passwd.o +lib-$(CONFIG_SU) += su.o +lib-$(CONFIG_SULOGIN) += sulogin.o +lib-$(CONFIG_VLOCK) += vlock.o +lib-$(CONFIG_DELUSER) += deluser.o +lib-$(CONFIG_DELGROUP) += deluser.o diff --git a/mailutils/Config.in b/mailutils/Config.in deleted file mode 100644 index 519d562ae..000000000 --- a/mailutils/Config.in +++ /dev/null @@ -1,53 +0,0 @@ -menu "Mail Utilities" - -config MAKEMIME - bool "makemime" - default n - help - Create MIME-formatted messages. - -config FEATURE_MIME_CHARSET - string "Default charset" - default "us-ascii" - depends on MAKEMIME || REFORMIME || SENDMAIL - help - Default charset of the message. - -config POPMAILDIR - bool "popmaildir" - default n - help - Simple yet powerful POP3 mail popper. Delivers content - of remote mailboxes to local Maildir. - -config FEATURE_POPMAILDIR_DELIVERY - bool "Allow message filters and custom delivery program" - default n - depends on POPMAILDIR - help - Allow to use a custom program to filter the content - of the message before actual delivery (-F "prog [args...]"). - Allow to use a custom program for message actual delivery - (-M "prog [args...]"). - -config REFORMIME - bool "reformime" - default n - help - Parse MIME-formatted messages. - -config FEATURE_REFORMIME_COMPAT - bool "Accept and ignore options other than -x and -X" - default y - depends on REFORMIME - help - Accept (for compatibility only) and ignore options - other than -x and -X. - -config SENDMAIL - bool "sendmail" - default n - help - Barebones sendmail. - -endmenu diff --git a/mailutils/Config.src b/mailutils/Config.src new file mode 100644 index 000000000..519d562ae --- /dev/null +++ b/mailutils/Config.src @@ -0,0 +1,53 @@ +menu "Mail Utilities" + +config MAKEMIME + bool "makemime" + default n + help + Create MIME-formatted messages. + +config FEATURE_MIME_CHARSET + string "Default charset" + default "us-ascii" + depends on MAKEMIME || REFORMIME || SENDMAIL + help + Default charset of the message. + +config POPMAILDIR + bool "popmaildir" + default n + help + Simple yet powerful POP3 mail popper. Delivers content + of remote mailboxes to local Maildir. + +config FEATURE_POPMAILDIR_DELIVERY + bool "Allow message filters and custom delivery program" + default n + depends on POPMAILDIR + help + Allow to use a custom program to filter the content + of the message before actual delivery (-F "prog [args...]"). + Allow to use a custom program for message actual delivery + (-M "prog [args...]"). + +config REFORMIME + bool "reformime" + default n + help + Parse MIME-formatted messages. + +config FEATURE_REFORMIME_COMPAT + bool "Accept and ignore options other than -x and -X" + default y + depends on REFORMIME + help + Accept (for compatibility only) and ignore options + other than -x and -X. + +config SENDMAIL + bool "sendmail" + default n + help + Barebones sendmail. + +endmenu diff --git a/mailutils/Kbuild b/mailutils/Kbuild deleted file mode 100644 index 871e87981..000000000 --- a/mailutils/Kbuild +++ /dev/null @@ -1,11 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_MAKEMIME) += mime.o mail.o -lib-$(CONFIG_POPMAILDIR) += popmaildir.o mail.o -lib-$(CONFIG_REFORMIME) += mime.o mail.o -lib-$(CONFIG_SENDMAIL) += sendmail.o mail.o diff --git a/mailutils/Kbuild.src b/mailutils/Kbuild.src new file mode 100644 index 000000000..871e87981 --- /dev/null +++ b/mailutils/Kbuild.src @@ -0,0 +1,11 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_MAKEMIME) += mime.o mail.o +lib-$(CONFIG_POPMAILDIR) += popmaildir.o mail.o +lib-$(CONFIG_REFORMIME) += mime.o mail.o +lib-$(CONFIG_SENDMAIL) += sendmail.o mail.o diff --git a/miscutils/Config.in b/miscutils/Config.in deleted file mode 100644 index 7a69dd10f..000000000 --- a/miscutils/Config.in +++ /dev/null @@ -1,650 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Miscellaneous Utilities" - -config ADJTIMEX - bool "adjtimex" - default n - help - Adjtimex reads and optionally sets adjustment parameters for - the Linux clock adjustment algorithm. - -config BBCONFIG - bool "bbconfig" - default n - help - The bbconfig applet will print the config file with which - busybox was built. - -config BEEP - bool "beep" - default n - help - The beep applets beeps in a given freq/Hz. - -config FEATURE_BEEP_FREQ - int "default frequency" - range 0 2147483647 - default 4000 - depends on BEEP - help - Frequency for default beep. - -config FEATURE_BEEP_LENGTH_MS - int "default length" - range 0 2147483647 - default 30 - depends on BEEP - help - Length in ms for default beep. - -config CHAT - bool "chat" - default n - help - Simple chat utility. - -config FEATURE_CHAT_NOFAIL - bool "Enable NOFAIL expect strings" - depends on CHAT - default y - help - When enabled expect strings which are started with a dash trigger - no-fail mode. That is when expectation is not met within timeout - the script is not terminated but sends next SEND string and waits - for next EXPECT string. This allows to compose far more flexible - scripts. - -config FEATURE_CHAT_TTY_HIFI - bool "Force STDIN to be a TTY" - depends on CHAT - default n - help - Original chat always treats STDIN as a TTY device and sets for it - so-called raw mode. This option turns on such behaviour. - -config FEATURE_CHAT_IMPLICIT_CR - bool "Enable implicit Carriage Return" - depends on CHAT - default y - help - When enabled make chat to terminate all SEND strings with a "\r" - unless "\c" is met anywhere in the string. - -config FEATURE_CHAT_SWALLOW_OPTS - bool "Swallow options" - depends on CHAT - default n - help - Busybox chat require no options. To make it not fail when used - in place of original chat (which has a bunch of options) turn - this on. - -config FEATURE_CHAT_SEND_ESCAPES - bool "Support weird SEND escapes" - depends on CHAT - default n - help - Original chat uses some escape sequences in SEND arguments which - are not sent to device but rather performs special actions. - E.g. "\K" means to send a break sequence to device. - "\d" delays execution for a second, "\p" -- for a 1/100 of second. - Before turning this option on think twice: do you really need them? - -config FEATURE_CHAT_VAR_ABORT_LEN - bool "Support variable-length ABORT conditions" - depends on CHAT - default n - help - Original chat uses fixed 50-bytes length ABORT conditions. Say N here. - -config FEATURE_CHAT_CLR_ABORT - bool "Support revoking of ABORT conditions" - depends on CHAT - default n - help - Support CLR_ABORT directive. - -config CHRT - bool "chrt" - default n - help - manipulate real-time attributes of a process. - This requires sched_{g,s}etparam support in your libc. - -config CROND - bool "crond" - default n - select FEATURE_SUID - select FEATURE_SYSLOG - help - Crond is a background daemon that parses individual crontab - files and executes commands on behalf of the users in question. - This is a port of dcron from slackware. It uses files of the - format /var/spool/cron/crontabs/ files, for example: - $ cat /var/spool/cron/crontabs/root - # Run daily cron jobs at 4:40 every day: - 40 4 * * * /etc/cron/daily > /dev/null 2>&1 - -config FEATURE_CROND_D - bool "Support option -d to redirect output to stderr" - depends on CROND - default n - help - -d sets loglevel to 0 (most verbose) and directs all output to stderr. - -config FEATURE_CROND_CALL_SENDMAIL - bool "Report command output via email (using sendmail)" - default n - depends on CROND - help - Command output will be sent to corresponding user via email. - -config FEATURE_CROND_DIR - string "crond spool directory" - default "/var/spool/cron" - depends on CROND || CRONTAB - help - Location of crond spool. - -config CRONTAB - bool "crontab" - default n - select FEATURE_SUID - help - Crontab manipulates the crontab for a particular user. Only - the superuser may specify a different user and/or crontab directory. - Note that Busybox binary must be setuid root for this applet to - work properly. - -config DC - bool "dc" - default n - help - Dc is a reverse-polish desk calculator which supports unlimited - precision arithmetic. - -config FEATURE_DC_LIBM - bool "Enable power and exp functions (requires libm)" - default n - depends on DC - help - Enable power and exp functions. - NOTE: This will require libm to be present for linking. - -config DEVFSD - bool "devfsd (obsolete)" - default n - select FEATURE_SYSLOG - help - This is deprecated and should NOT be used anymore. - Use linux >= 2.6 (optionally with hotplug) and mdev instead! - See docs/mdev.txt for detailed instructions on how to use mdev - instead. - - Provides compatibility with old device names on a devfs systems. - You should set it to true if you have devfs enabled. - The following keywords in devsfd.conf are supported: - "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE", - "PERMISSIONS", "EXECUTE", "COPY", "IGNORE", - "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT". - - But only if they are written UPPERCASE!!!!!!!! - -config DEVFSD_MODLOAD - bool "Adds support for MODLOAD keyword in devsfd.conf" - default n - depends on DEVFSD - help - This actually doesn't work with busybox modutils but needs - the external modutils. - -config DEVFSD_FG_NP - bool "Enables the -fg and -np options" - default n - depends on DEVFSD - help - -fg Run the daemon in the foreground. - -np Exit after parsing the configuration file. - Do not poll for events. - -config DEVFSD_VERBOSE - bool "Increases logging (and size)" - default n - depends on DEVFSD - help - Increases logging to stderr or syslog. - -config FEATURE_DEVFS - bool "Use devfs names for all devices (obsolete)" - default n - help - This is obsolete and should NOT be used anymore. - Use linux >= 2.6 (optionally with hotplug) and mdev instead! - - For legacy systems -- if there is no way around devfsd -- this - tells busybox to look for names like /dev/loop/0 instead of - /dev/loop0. If your /dev directory has normal names instead of - devfs names, you don't want this. - -config DEVMEM - bool "devmem" - default n - help - devmem is a small program that reads and writes from physical - memory using /dev/mem. - -config EJECT - bool "eject" - default n - help - Used to eject cdroms. (defaults to /dev/cdrom) - -config FEATURE_EJECT_SCSI - bool "SCSI support" - default n - depends on EJECT - help - Add the -s option to eject, this allows to eject SCSI-Devices and - usb-storage devices. - -config FBSPLASH - bool "fbsplash" - default n - help - Shows splash image and progress bar on framebuffer device. - Can be used during boot phase of an embedded device. ~2kb. - Usage: - - use kernel option 'vga=xxx' or otherwise enable fb device. - - put somewhere fbsplash.cfg file and an image in .ppm format. - - $ setsid fbsplash [params] & - -c: hide cursor - -d /dev/fbN: framebuffer device (if not /dev/fb0) - -s path_to_image_file (can be "-" for stdin) - -i path_to_cfg_file (can be "-" for stdin) - -f path_to_fifo (can be "-" for stdin) - - if you want to run it only in presence of kernel parameter: - grep -q "fbsplash=on" = 2.6.13 - -config INOTIFYD - bool "inotifyd" - default n - help - Simple inotify daemon. Reports filesystem changes. Requires - kernel >= 2.6.13 - -config LAST - bool "last" - default n - depends on FEATURE_WTMP - help - 'last' displays a list of the last users that logged into the system. - -choice - prompt "Choose last implementation" - depends on LAST - default FEATURE_LAST_SMALL - -config FEATURE_LAST_SMALL - bool "small" - help - This is a small version of last with just the basic set of - features. - -config FEATURE_LAST_FANCY - bool "huge" - help - 'last' displays detailed information about the last users that - logged into the system (mimics sysvinit last). +900 bytes. -endchoice - -config LESS - bool "less" - default n - help - 'less' is a pager, meaning that it displays text files. It possesses - a wide array of features, and is an improvement over 'more'. - -config FEATURE_LESS_MAXLINES - int "Max number of input lines less will try to eat" - default 9999999 - depends on LESS - -config FEATURE_LESS_BRACKETS - bool "Enable bracket searching" - default y - depends on LESS - help - This option adds the capability to search for matching left and right - brackets, facilitating programming. - -config FEATURE_LESS_FLAGS - bool "Enable extra flags" - default y - depends on LESS - help - The extra flags provided do the following: - - The -M flag enables a more sophisticated status line. - The -m flag enables a simpler status line with a percentage. - -config FEATURE_LESS_MARKS - bool "Enable marks" - default n - depends on LESS - help - Marks enable positions in a file to be stored for easy reference. - -config FEATURE_LESS_REGEXP - bool "Enable regular expressions" - default n - depends on LESS - help - Enable regular expressions, allowing complex file searches. - -config FEATURE_LESS_WINCH - bool "Enable automatic resizing on window size changes" - default n - depends on LESS - help - Makes less track window size changes. - -config FEATURE_LESS_DASHCMD - bool "Enable flag changes ('-' command)" - default n - depends on LESS - help - This enables the ability to change command-line flags within - less itself ('-' keyboard command). - -config FEATURE_LESS_LINENUMS - bool "Enable dynamic switching of line numbers" - default n - depends on FEATURE_LESS_DASHCMD - help - Enable "-N" command. - -config HDPARM - bool "hdparm" - default n - help - Get/Set hard drive parameters. Primarily intended for ATA - drives. Adds about 13k (or around 30k if you enable the - FEATURE_HDPARM_GET_IDENTITY option).... - -config FEATURE_HDPARM_GET_IDENTITY - bool "Support obtaining detailed information directly from drives" - default y - depends on HDPARM - help - Enables the -I and -i options to obtain detailed information - directly from drives about their capabilities and supported ATA - feature set. If no device name is specified, hdparm will read - identify data from stdin. Enabling this option will add about 16k... - -config FEATURE_HDPARM_HDIO_SCAN_HWIF - bool "Register an IDE interface (DANGEROUS)" - default n - depends on HDPARM - help - Enables the 'hdparm -R' option to register an IDE interface. - This is dangerous stuff, so you should probably say N. - -config FEATURE_HDPARM_HDIO_UNREGISTER_HWIF - bool "Un-register an IDE interface (DANGEROUS)" - default n - depends on HDPARM - help - Enables the 'hdparm -U' option to un-register an IDE interface. - This is dangerous stuff, so you should probably say N. - -config FEATURE_HDPARM_HDIO_DRIVE_RESET - bool "Perform device reset (DANGEROUS)" - default n - depends on HDPARM - help - Enables the 'hdparm -w' option to perform a device reset. - This is dangerous stuff, so you should probably say N. - -config FEATURE_HDPARM_HDIO_TRISTATE_HWIF - bool "Tristate device for hotswap (DANGEROUS)" - default n - depends on HDPARM - help - Enables the 'hdparm -x' option to tristate device for hotswap, - and the '-b' option to get/set bus state. This is dangerous - stuff, so you should probably say N. - -config FEATURE_HDPARM_HDIO_GETSET_DMA - bool "Get/set using_dma flag" - default n - depends on HDPARM - help - Enables the 'hdparm -d' option to get/set using_dma flag. - -config MAKEDEVS - bool "makedevs" - default n - help - 'makedevs' is a utility used to create a batch of devices with - one command. - . - There are two choices for command line behaviour, the interface - as used by LEAF/Linux Router Project, or a device table file. - . - 'leaf' is traditionally what busybox follows, it allows multiple - devices of a particluar type to be created per command. - e.g. /dev/hda[0-9] - Device properties are passed as command line arguments. - . - 'table' reads device properties from a file or stdin, allowing - a batch of unrelated devices to be made with one command. - User/group names are allowed as an alternative to uid/gid. - -choice - prompt "Choose makedevs behaviour" - depends on MAKEDEVS - default FEATURE_MAKEDEVS_TABLE - -config FEATURE_MAKEDEVS_LEAF - bool "leaf" - -config FEATURE_MAKEDEVS_TABLE - bool "table" - -endchoice - -config MAN - bool "man" - default n - help - Format and display manual pages. - -config MICROCOM - bool "microcom" - default n - help - The poor man's minicom utility for chatting with serial port devices. - -config MOUNTPOINT - bool "mountpoint" - default n - help - mountpoint checks if the directory is a mountpoint. - -config MT - bool "mt" - default n - help - mt is used to control tape devices. You can use the mt utility - to advance or rewind a tape past a specified number of archive - files on the tape. - -config RAIDAUTORUN - bool "raidautorun" - default n - help - raidautorun tells the kernel md driver to - search and start RAID arrays. - -config READAHEAD - bool "readahead" - default n - depends on LFS - help - Preload the files listed on the command line into RAM cache so that - subsequent reads on these files will not block on disk I/O. - - This applet just calls the readahead(2) system call on each file. - It is mainly useful in system startup scripts to preload files - or executables before they are used. When used at the right time - (in particular when a CPU bound process is running) it can - significantly speed up system startup. - - As readahead(2) blocks until each file has been read, it is best to - run this applet as a background job. - -config RFKILL - bool "rfkill" - default n - help - Enable/disable wireless devices. - - rfkill list : list all wireless devices - rfkill list bluetooth : list all bluetooth devices - rfkill list 1 : list device corresponding to the given index - rfkill block|unblock wlan : block/unblock all wlan(wifi) devices - -config RUNLEVEL - bool "runlevel" - default n - help - find the current and previous system runlevel. - - This applet uses utmp but does not rely on busybox supporing - utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc. - -config RX - bool "rx" - default n - help - Receive files using the Xmodem protocol. - -config SETSID - bool "setsid" - default n - help - setsid runs a program in a new session - -config STRINGS - bool "strings" - default n - help - strings prints the printable character sequences for each file - specified. - -config TASKSET - bool "taskset" - default n - help - Retrieve or set a processes's CPU affinity. - This requires sched_{g,s}etaffinity support in your libc. - -config FEATURE_TASKSET_FANCY - bool "Fancy output" - default y - depends on TASKSET - help - Add code for fancy output. This merely silences a compiler-warning - and adds about 135 Bytes. May be needed for machines with alot - of CPUs. - -config TIME - bool "time" - default n - help - The time command runs the specified program with the given arguments. - When the command finishes, time writes a message to standard output - giving timing statistics about this program run. - -config TIMEOUT - bool "timeout" - default n - help - Runs a program and watches it. If it does not terminate in - specified number of seconds, it is sent a signal. - -config TTYSIZE - bool "ttysize" - default n - help - A replacement for "stty size". Unlike stty, can report only width, - only height, or both, in any order. It also does not complain on - error, but returns default 80x24. - Usage in shell scripts: width=`ttysize w`. - -config VOLNAME - bool "volname" - default n - help - Prints a CD-ROM volume name. - -config WALL - bool "wall" - default n - help - Write a message to all users that are logged in. - -config WATCHDOG - bool "watchdog" - default n - help - The watchdog utility is used with hardware or software watchdog - device drivers. It opens the specified watchdog device special file - and periodically writes a magic character to the device. If the - watchdog applet ever fails to write the magic character within a - certain amount of time, the watchdog device assumes the system has - hung, and will cause the hardware to reboot. - -endmenu diff --git a/miscutils/Config.src b/miscutils/Config.src new file mode 100644 index 000000000..7a69dd10f --- /dev/null +++ b/miscutils/Config.src @@ -0,0 +1,650 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Miscellaneous Utilities" + +config ADJTIMEX + bool "adjtimex" + default n + help + Adjtimex reads and optionally sets adjustment parameters for + the Linux clock adjustment algorithm. + +config BBCONFIG + bool "bbconfig" + default n + help + The bbconfig applet will print the config file with which + busybox was built. + +config BEEP + bool "beep" + default n + help + The beep applets beeps in a given freq/Hz. + +config FEATURE_BEEP_FREQ + int "default frequency" + range 0 2147483647 + default 4000 + depends on BEEP + help + Frequency for default beep. + +config FEATURE_BEEP_LENGTH_MS + int "default length" + range 0 2147483647 + default 30 + depends on BEEP + help + Length in ms for default beep. + +config CHAT + bool "chat" + default n + help + Simple chat utility. + +config FEATURE_CHAT_NOFAIL + bool "Enable NOFAIL expect strings" + depends on CHAT + default y + help + When enabled expect strings which are started with a dash trigger + no-fail mode. That is when expectation is not met within timeout + the script is not terminated but sends next SEND string and waits + for next EXPECT string. This allows to compose far more flexible + scripts. + +config FEATURE_CHAT_TTY_HIFI + bool "Force STDIN to be a TTY" + depends on CHAT + default n + help + Original chat always treats STDIN as a TTY device and sets for it + so-called raw mode. This option turns on such behaviour. + +config FEATURE_CHAT_IMPLICIT_CR + bool "Enable implicit Carriage Return" + depends on CHAT + default y + help + When enabled make chat to terminate all SEND strings with a "\r" + unless "\c" is met anywhere in the string. + +config FEATURE_CHAT_SWALLOW_OPTS + bool "Swallow options" + depends on CHAT + default n + help + Busybox chat require no options. To make it not fail when used + in place of original chat (which has a bunch of options) turn + this on. + +config FEATURE_CHAT_SEND_ESCAPES + bool "Support weird SEND escapes" + depends on CHAT + default n + help + Original chat uses some escape sequences in SEND arguments which + are not sent to device but rather performs special actions. + E.g. "\K" means to send a break sequence to device. + "\d" delays execution for a second, "\p" -- for a 1/100 of second. + Before turning this option on think twice: do you really need them? + +config FEATURE_CHAT_VAR_ABORT_LEN + bool "Support variable-length ABORT conditions" + depends on CHAT + default n + help + Original chat uses fixed 50-bytes length ABORT conditions. Say N here. + +config FEATURE_CHAT_CLR_ABORT + bool "Support revoking of ABORT conditions" + depends on CHAT + default n + help + Support CLR_ABORT directive. + +config CHRT + bool "chrt" + default n + help + manipulate real-time attributes of a process. + This requires sched_{g,s}etparam support in your libc. + +config CROND + bool "crond" + default n + select FEATURE_SUID + select FEATURE_SYSLOG + help + Crond is a background daemon that parses individual crontab + files and executes commands on behalf of the users in question. + This is a port of dcron from slackware. It uses files of the + format /var/spool/cron/crontabs/ files, for example: + $ cat /var/spool/cron/crontabs/root + # Run daily cron jobs at 4:40 every day: + 40 4 * * * /etc/cron/daily > /dev/null 2>&1 + +config FEATURE_CROND_D + bool "Support option -d to redirect output to stderr" + depends on CROND + default n + help + -d sets loglevel to 0 (most verbose) and directs all output to stderr. + +config FEATURE_CROND_CALL_SENDMAIL + bool "Report command output via email (using sendmail)" + default n + depends on CROND + help + Command output will be sent to corresponding user via email. + +config FEATURE_CROND_DIR + string "crond spool directory" + default "/var/spool/cron" + depends on CROND || CRONTAB + help + Location of crond spool. + +config CRONTAB + bool "crontab" + default n + select FEATURE_SUID + help + Crontab manipulates the crontab for a particular user. Only + the superuser may specify a different user and/or crontab directory. + Note that Busybox binary must be setuid root for this applet to + work properly. + +config DC + bool "dc" + default n + help + Dc is a reverse-polish desk calculator which supports unlimited + precision arithmetic. + +config FEATURE_DC_LIBM + bool "Enable power and exp functions (requires libm)" + default n + depends on DC + help + Enable power and exp functions. + NOTE: This will require libm to be present for linking. + +config DEVFSD + bool "devfsd (obsolete)" + default n + select FEATURE_SYSLOG + help + This is deprecated and should NOT be used anymore. + Use linux >= 2.6 (optionally with hotplug) and mdev instead! + See docs/mdev.txt for detailed instructions on how to use mdev + instead. + + Provides compatibility with old device names on a devfs systems. + You should set it to true if you have devfs enabled. + The following keywords in devsfd.conf are supported: + "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE", + "PERMISSIONS", "EXECUTE", "COPY", "IGNORE", + "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT". + + But only if they are written UPPERCASE!!!!!!!! + +config DEVFSD_MODLOAD + bool "Adds support for MODLOAD keyword in devsfd.conf" + default n + depends on DEVFSD + help + This actually doesn't work with busybox modutils but needs + the external modutils. + +config DEVFSD_FG_NP + bool "Enables the -fg and -np options" + default n + depends on DEVFSD + help + -fg Run the daemon in the foreground. + -np Exit after parsing the configuration file. + Do not poll for events. + +config DEVFSD_VERBOSE + bool "Increases logging (and size)" + default n + depends on DEVFSD + help + Increases logging to stderr or syslog. + +config FEATURE_DEVFS + bool "Use devfs names for all devices (obsolete)" + default n + help + This is obsolete and should NOT be used anymore. + Use linux >= 2.6 (optionally with hotplug) and mdev instead! + + For legacy systems -- if there is no way around devfsd -- this + tells busybox to look for names like /dev/loop/0 instead of + /dev/loop0. If your /dev directory has normal names instead of + devfs names, you don't want this. + +config DEVMEM + bool "devmem" + default n + help + devmem is a small program that reads and writes from physical + memory using /dev/mem. + +config EJECT + bool "eject" + default n + help + Used to eject cdroms. (defaults to /dev/cdrom) + +config FEATURE_EJECT_SCSI + bool "SCSI support" + default n + depends on EJECT + help + Add the -s option to eject, this allows to eject SCSI-Devices and + usb-storage devices. + +config FBSPLASH + bool "fbsplash" + default n + help + Shows splash image and progress bar on framebuffer device. + Can be used during boot phase of an embedded device. ~2kb. + Usage: + - use kernel option 'vga=xxx' or otherwise enable fb device. + - put somewhere fbsplash.cfg file and an image in .ppm format. + - $ setsid fbsplash [params] & + -c: hide cursor + -d /dev/fbN: framebuffer device (if not /dev/fb0) + -s path_to_image_file (can be "-" for stdin) + -i path_to_cfg_file (can be "-" for stdin) + -f path_to_fifo (can be "-" for stdin) + - if you want to run it only in presence of kernel parameter: + grep -q "fbsplash=on" = 2.6.13 + +config INOTIFYD + bool "inotifyd" + default n + help + Simple inotify daemon. Reports filesystem changes. Requires + kernel >= 2.6.13 + +config LAST + bool "last" + default n + depends on FEATURE_WTMP + help + 'last' displays a list of the last users that logged into the system. + +choice + prompt "Choose last implementation" + depends on LAST + default FEATURE_LAST_SMALL + +config FEATURE_LAST_SMALL + bool "small" + help + This is a small version of last with just the basic set of + features. + +config FEATURE_LAST_FANCY + bool "huge" + help + 'last' displays detailed information about the last users that + logged into the system (mimics sysvinit last). +900 bytes. +endchoice + +config LESS + bool "less" + default n + help + 'less' is a pager, meaning that it displays text files. It possesses + a wide array of features, and is an improvement over 'more'. + +config FEATURE_LESS_MAXLINES + int "Max number of input lines less will try to eat" + default 9999999 + depends on LESS + +config FEATURE_LESS_BRACKETS + bool "Enable bracket searching" + default y + depends on LESS + help + This option adds the capability to search for matching left and right + brackets, facilitating programming. + +config FEATURE_LESS_FLAGS + bool "Enable extra flags" + default y + depends on LESS + help + The extra flags provided do the following: + + The -M flag enables a more sophisticated status line. + The -m flag enables a simpler status line with a percentage. + +config FEATURE_LESS_MARKS + bool "Enable marks" + default n + depends on LESS + help + Marks enable positions in a file to be stored for easy reference. + +config FEATURE_LESS_REGEXP + bool "Enable regular expressions" + default n + depends on LESS + help + Enable regular expressions, allowing complex file searches. + +config FEATURE_LESS_WINCH + bool "Enable automatic resizing on window size changes" + default n + depends on LESS + help + Makes less track window size changes. + +config FEATURE_LESS_DASHCMD + bool "Enable flag changes ('-' command)" + default n + depends on LESS + help + This enables the ability to change command-line flags within + less itself ('-' keyboard command). + +config FEATURE_LESS_LINENUMS + bool "Enable dynamic switching of line numbers" + default n + depends on FEATURE_LESS_DASHCMD + help + Enable "-N" command. + +config HDPARM + bool "hdparm" + default n + help + Get/Set hard drive parameters. Primarily intended for ATA + drives. Adds about 13k (or around 30k if you enable the + FEATURE_HDPARM_GET_IDENTITY option).... + +config FEATURE_HDPARM_GET_IDENTITY + bool "Support obtaining detailed information directly from drives" + default y + depends on HDPARM + help + Enables the -I and -i options to obtain detailed information + directly from drives about their capabilities and supported ATA + feature set. If no device name is specified, hdparm will read + identify data from stdin. Enabling this option will add about 16k... + +config FEATURE_HDPARM_HDIO_SCAN_HWIF + bool "Register an IDE interface (DANGEROUS)" + default n + depends on HDPARM + help + Enables the 'hdparm -R' option to register an IDE interface. + This is dangerous stuff, so you should probably say N. + +config FEATURE_HDPARM_HDIO_UNREGISTER_HWIF + bool "Un-register an IDE interface (DANGEROUS)" + default n + depends on HDPARM + help + Enables the 'hdparm -U' option to un-register an IDE interface. + This is dangerous stuff, so you should probably say N. + +config FEATURE_HDPARM_HDIO_DRIVE_RESET + bool "Perform device reset (DANGEROUS)" + default n + depends on HDPARM + help + Enables the 'hdparm -w' option to perform a device reset. + This is dangerous stuff, so you should probably say N. + +config FEATURE_HDPARM_HDIO_TRISTATE_HWIF + bool "Tristate device for hotswap (DANGEROUS)" + default n + depends on HDPARM + help + Enables the 'hdparm -x' option to tristate device for hotswap, + and the '-b' option to get/set bus state. This is dangerous + stuff, so you should probably say N. + +config FEATURE_HDPARM_HDIO_GETSET_DMA + bool "Get/set using_dma flag" + default n + depends on HDPARM + help + Enables the 'hdparm -d' option to get/set using_dma flag. + +config MAKEDEVS + bool "makedevs" + default n + help + 'makedevs' is a utility used to create a batch of devices with + one command. + . + There are two choices for command line behaviour, the interface + as used by LEAF/Linux Router Project, or a device table file. + . + 'leaf' is traditionally what busybox follows, it allows multiple + devices of a particluar type to be created per command. + e.g. /dev/hda[0-9] + Device properties are passed as command line arguments. + . + 'table' reads device properties from a file or stdin, allowing + a batch of unrelated devices to be made with one command. + User/group names are allowed as an alternative to uid/gid. + +choice + prompt "Choose makedevs behaviour" + depends on MAKEDEVS + default FEATURE_MAKEDEVS_TABLE + +config FEATURE_MAKEDEVS_LEAF + bool "leaf" + +config FEATURE_MAKEDEVS_TABLE + bool "table" + +endchoice + +config MAN + bool "man" + default n + help + Format and display manual pages. + +config MICROCOM + bool "microcom" + default n + help + The poor man's minicom utility for chatting with serial port devices. + +config MOUNTPOINT + bool "mountpoint" + default n + help + mountpoint checks if the directory is a mountpoint. + +config MT + bool "mt" + default n + help + mt is used to control tape devices. You can use the mt utility + to advance or rewind a tape past a specified number of archive + files on the tape. + +config RAIDAUTORUN + bool "raidautorun" + default n + help + raidautorun tells the kernel md driver to + search and start RAID arrays. + +config READAHEAD + bool "readahead" + default n + depends on LFS + help + Preload the files listed on the command line into RAM cache so that + subsequent reads on these files will not block on disk I/O. + + This applet just calls the readahead(2) system call on each file. + It is mainly useful in system startup scripts to preload files + or executables before they are used. When used at the right time + (in particular when a CPU bound process is running) it can + significantly speed up system startup. + + As readahead(2) blocks until each file has been read, it is best to + run this applet as a background job. + +config RFKILL + bool "rfkill" + default n + help + Enable/disable wireless devices. + + rfkill list : list all wireless devices + rfkill list bluetooth : list all bluetooth devices + rfkill list 1 : list device corresponding to the given index + rfkill block|unblock wlan : block/unblock all wlan(wifi) devices + +config RUNLEVEL + bool "runlevel" + default n + help + find the current and previous system runlevel. + + This applet uses utmp but does not rely on busybox supporing + utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc. + +config RX + bool "rx" + default n + help + Receive files using the Xmodem protocol. + +config SETSID + bool "setsid" + default n + help + setsid runs a program in a new session + +config STRINGS + bool "strings" + default n + help + strings prints the printable character sequences for each file + specified. + +config TASKSET + bool "taskset" + default n + help + Retrieve or set a processes's CPU affinity. + This requires sched_{g,s}etaffinity support in your libc. + +config FEATURE_TASKSET_FANCY + bool "Fancy output" + default y + depends on TASKSET + help + Add code for fancy output. This merely silences a compiler-warning + and adds about 135 Bytes. May be needed for machines with alot + of CPUs. + +config TIME + bool "time" + default n + help + The time command runs the specified program with the given arguments. + When the command finishes, time writes a message to standard output + giving timing statistics about this program run. + +config TIMEOUT + bool "timeout" + default n + help + Runs a program and watches it. If it does not terminate in + specified number of seconds, it is sent a signal. + +config TTYSIZE + bool "ttysize" + default n + help + A replacement for "stty size". Unlike stty, can report only width, + only height, or both, in any order. It also does not complain on + error, but returns default 80x24. + Usage in shell scripts: width=`ttysize w`. + +config VOLNAME + bool "volname" + default n + help + Prints a CD-ROM volume name. + +config WALL + bool "wall" + default n + help + Write a message to all users that are logged in. + +config WATCHDOG + bool "watchdog" + default n + help + The watchdog utility is used with hardware or software watchdog + device drivers. It opens the specified watchdog device special file + and periodically writes a magic character to the device. If the + watchdog applet ever fails to write the magic character within a + certain amount of time, the watchdog device assumes the system has + hung, and will cause the hardware to reboot. + +endmenu diff --git a/miscutils/Kbuild b/miscutils/Kbuild deleted file mode 100644 index 3c8ce42ba..000000000 --- a/miscutils/Kbuild +++ /dev/null @@ -1,48 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_ADJTIMEX) += adjtimex.o -lib-$(CONFIG_BBCONFIG) += bbconfig.o -lib-$(CONFIG_BEEP) += beep.o -lib-$(CONFIG_CHAT) += chat.o -lib-$(CONFIG_CHRT) += chrt.o -lib-$(CONFIG_CROND) += crond.o -lib-$(CONFIG_CRONTAB) += crontab.o -lib-$(CONFIG_DC) += dc.o -lib-$(CONFIG_DEVFSD) += devfsd.o -lib-$(CONFIG_DEVMEM) += devmem.o -lib-$(CONFIG_EJECT) += eject.o -lib-$(CONFIG_FBSPLASH) += fbsplash.o -lib-$(CONFIG_FLASHCP) += flashcp.o -lib-$(CONFIG_FLASH_ERASEALL) += flash_eraseall.o -lib-$(CONFIG_FLASH_LOCK) += flash_lock_unlock.o -lib-$(CONFIG_FLASH_UNLOCK) += flash_lock_unlock.o -lib-$(CONFIG_IONICE) += ionice.o -lib-$(CONFIG_HDPARM) += hdparm.o -lib-$(CONFIG_INOTIFYD) += inotifyd.o -lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o -lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o -lib-$(CONFIG_LESS) += less.o -lib-$(CONFIG_MAKEDEVS) += makedevs.o -lib-$(CONFIG_MAN) += man.o -lib-$(CONFIG_MICROCOM) += microcom.o -lib-$(CONFIG_MOUNTPOINT) += mountpoint.o -lib-$(CONFIG_MT) += mt.o -lib-$(CONFIG_RAIDAUTORUN) += raidautorun.o -lib-$(CONFIG_READAHEAD) += readahead.o -lib-$(CONFIG_RFKILL) += rfkill.o -lib-$(CONFIG_RUNLEVEL) += runlevel.o -lib-$(CONFIG_RX) += rx.o -lib-$(CONFIG_SETSID) += setsid.o -lib-$(CONFIG_STRINGS) += strings.o -lib-$(CONFIG_TASKSET) += taskset.o -lib-$(CONFIG_TIME) += time.o -lib-$(CONFIG_TIMEOUT) += timeout.o -lib-$(CONFIG_TTYSIZE) += ttysize.o -lib-$(CONFIG_VOLNAME) += volname.o -lib-$(CONFIG_WALL) += wall.o -lib-$(CONFIG_WATCHDOG) += watchdog.o diff --git a/miscutils/Kbuild.src b/miscutils/Kbuild.src new file mode 100644 index 000000000..3c8ce42ba --- /dev/null +++ b/miscutils/Kbuild.src @@ -0,0 +1,48 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_ADJTIMEX) += adjtimex.o +lib-$(CONFIG_BBCONFIG) += bbconfig.o +lib-$(CONFIG_BEEP) += beep.o +lib-$(CONFIG_CHAT) += chat.o +lib-$(CONFIG_CHRT) += chrt.o +lib-$(CONFIG_CROND) += crond.o +lib-$(CONFIG_CRONTAB) += crontab.o +lib-$(CONFIG_DC) += dc.o +lib-$(CONFIG_DEVFSD) += devfsd.o +lib-$(CONFIG_DEVMEM) += devmem.o +lib-$(CONFIG_EJECT) += eject.o +lib-$(CONFIG_FBSPLASH) += fbsplash.o +lib-$(CONFIG_FLASHCP) += flashcp.o +lib-$(CONFIG_FLASH_ERASEALL) += flash_eraseall.o +lib-$(CONFIG_FLASH_LOCK) += flash_lock_unlock.o +lib-$(CONFIG_FLASH_UNLOCK) += flash_lock_unlock.o +lib-$(CONFIG_IONICE) += ionice.o +lib-$(CONFIG_HDPARM) += hdparm.o +lib-$(CONFIG_INOTIFYD) += inotifyd.o +lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o +lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o +lib-$(CONFIG_LESS) += less.o +lib-$(CONFIG_MAKEDEVS) += makedevs.o +lib-$(CONFIG_MAN) += man.o +lib-$(CONFIG_MICROCOM) += microcom.o +lib-$(CONFIG_MOUNTPOINT) += mountpoint.o +lib-$(CONFIG_MT) += mt.o +lib-$(CONFIG_RAIDAUTORUN) += raidautorun.o +lib-$(CONFIG_READAHEAD) += readahead.o +lib-$(CONFIG_RFKILL) += rfkill.o +lib-$(CONFIG_RUNLEVEL) += runlevel.o +lib-$(CONFIG_RX) += rx.o +lib-$(CONFIG_SETSID) += setsid.o +lib-$(CONFIG_STRINGS) += strings.o +lib-$(CONFIG_TASKSET) += taskset.o +lib-$(CONFIG_TIME) += time.o +lib-$(CONFIG_TIMEOUT) += timeout.o +lib-$(CONFIG_TTYSIZE) += ttysize.o +lib-$(CONFIG_VOLNAME) += volname.o +lib-$(CONFIG_WALL) += wall.o +lib-$(CONFIG_WATCHDOG) += watchdog.o diff --git a/modutils/Config.in b/modutils/Config.in deleted file mode 100644 index 83c12b67f..000000000 --- a/modutils/Config.in +++ /dev/null @@ -1,242 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Linux Module Utilities" - -config MODPROBE_SMALL - bool "Simplified modutils" - default n - help - Simplified modutils. - - With this option modprobe does not require modules.dep file - and does not use /etc/modules.conf file. - It scans module files in /lib/modules/`uname -r` and - determines dependencies and module alias names on the fly. - This may make module loading slower, most notably - when one needs to load module by alias (this requires - scanning through module _bodies_). - - At the first attempt to load a module by alias modprobe - will try to generate modules.dep.bb file in order to speed up - future loads by alias. Failure to do so (read-only /lib/modules, - etc) is not reported, and future modprobes will be slow too. - - NB: modules.dep.bb file format is not compatible - with modules.dep file as created/used by standard module tools. - - Additional module parameters can be stored in - /etc/modules/$module_name files. - - Apart from modprobe, other utilities are also provided: - - insmod is an alias to modprobe - - rmmod is an alias to modprobe -r - - depmod generates modules.dep.bb - - As of 2008-07, this code is experimental. It is 14kb smaller - than "non-small" modutils. - -config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE - bool "Accept module options on modprobe command line" - default n - depends on MODPROBE_SMALL - help - Allow insmod and modprobe take module options from command line. - -config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED - bool "Skip loading of already loaded modules" - default n - depends on MODPROBE_SMALL - help - Check if the module is already loaded. - -config INSMOD - bool "insmod" - default n - depends on !MODPROBE_SMALL - help - insmod is used to load specified modules in the running kernel. - -config RMMOD - bool "rmmod" - default n - depends on !MODPROBE_SMALL - help - rmmod is used to unload specified modules from the kernel. - -config LSMOD - bool "lsmod" - default n - depends on !MODPROBE_SMALL - help - lsmod is used to display a list of loaded modules. - -config FEATURE_LSMOD_PRETTY_2_6_OUTPUT - bool "Pretty output" - default n - depends on LSMOD - help - This option makes output format of lsmod adjusted to - the format of module-init-tools for Linux kernel 2.6. - Increases size somewhat. - -config MODPROBE - bool "modprobe" - default n - depends on !MODPROBE_SMALL - help - Handle the loading of modules, and their dependencies on a high - level. - -config FEATURE_MODPROBE_BLACKLIST - bool "Blacklist support" - default n - depends on MODPROBE - help - Say 'y' here to enable support for the 'blacklist' command in - modprobe.conf. This prevents the alias resolver to resolve - blacklisted modules. This is useful if you want to prevent your - hardware autodetection scripts to load modules like evdev, frame - buffer drivers etc. - -config DEPMOD - bool "depmod" - default n - depends on !MODPROBE_SMALL - help - depmod generates modules.dep (and potentially modules.alias - and modules.symbols) that contain dependency information - for modprobe. - -comment "Options common to multiple modutils" - -config FEATURE_2_4_MODULES - bool "Support version 2.2/2.4 Linux kernels" - default n - depends on INSMOD || RMMOD || LSMOD - help - Support module loading for 2.2.x and 2.4.x Linux kernels. - This increases size considerably. Say N unless you plan - to run ancient kernels. - -config FEATURE_INSMOD_TRY_MMAP - bool "Try to load module from a mmap'ed area" - default n - depends on INSMOD || MODPROBE_SMALL - help - This option causes module loading code to try to mmap - module first. If it does not work (for example, - it does not work for compressed modules), module will be read - (and unpacked if needed) into a memory block allocated by malloc. - - The only case when mmap works but malloc does not is when - you are trying to load a big module on a very memory-constrained - machine. Malloc will momentarily need 2x as much memory as mmap. - - Choosing N saves about 250 bytes of code (on 32-bit x86). - -config FEATURE_INSMOD_VERSION_CHECKING - bool "Enable module version checking" - default n - depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) - help - Support checking of versions for modules. This is used to - ensure that the kernel and module are made for each other. - -config FEATURE_INSMOD_KSYMOOPS_SYMBOLS - bool "Add module symbols to kernel symbol table" - default n - depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) - help - By adding module symbols to the kernel symbol table, Oops messages - occuring within kernel modules can be properly debugged. By enabling - this feature, module symbols will always be added to the kernel symbol - table for proper debugging support. If you are not interested in - Oops messages from kernel modules, say N. - -config FEATURE_INSMOD_LOADINKMEM - bool "In kernel memory optimization (uClinux only)" - default n - depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) - help - This is a special uClinux only memory optimization that lets insmod - load the specified kernel module directly into kernel space, reducing - memory usage by preventing the need for two copies of the module - being loaded into memory. - -config FEATURE_INSMOD_LOAD_MAP - bool "Enable insmod load map (-m) option" - default n - depends on FEATURE_2_4_MODULES && INSMOD - help - Enabling this, one would be able to get a load map - output on stdout. This makes kernel module debugging - easier. - If you don't plan to debug kernel modules, you - don't need this option. - -config FEATURE_INSMOD_LOAD_MAP_FULL - bool "Symbols in load map" - default y - depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL - help - Without this option, -m will only output section - load map. With this option, -m will also output - symbols load map. - -config FEATURE_CHECK_TAINTED_MODULE - bool "Support tainted module checking with new kernels" - default y - depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL - help - Support checking for tainted modules. These are usually binary - only modules that will make the linux-kernel list ignore your - support request. - This option is required to support GPLONLY modules. - -config FEATURE_MODUTILS_ALIAS - bool "Support for module.aliases file" - default y - depends on DEPMOD || MODPROBE - help - Generate and parse modules.alias containing aliases for bus - identifiers: - alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs - - and aliases for logical modules names e.g.: - alias padlock_aes aes - alias aes_i586 aes - alias aes_generic aes - - Say Y if unsure. - -config FEATURE_MODUTILS_SYMBOLS - bool "Support for module.symbols file" - default y - depends on DEPMOD || MODPROBE - help - Generate and parse modules.symbols containing aliases for - symbol_request() kernel calls, such as: - alias symbol:usb_sg_init usbcore - - Say Y if unsure. - -config DEFAULT_MODULES_DIR - string "Default directory containing modules" - default "/lib/modules" - depends on DEPMOD || MODPROBE || MODPROBE_SMALL - help - Directory that contains kernel modules. - Defaults to "/lib/modules" - -config DEFAULT_DEPMOD_FILE - string "Default name of modules.dep" - default "modules.dep" - depends on DEPMOD || MODPROBE || MODPROBE_SMALL - help - Filename that contains kernel modules dependencies. - Defaults to "modules.dep" - -endmenu diff --git a/modutils/Config.src b/modutils/Config.src new file mode 100644 index 000000000..83c12b67f --- /dev/null +++ b/modutils/Config.src @@ -0,0 +1,242 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Linux Module Utilities" + +config MODPROBE_SMALL + bool "Simplified modutils" + default n + help + Simplified modutils. + + With this option modprobe does not require modules.dep file + and does not use /etc/modules.conf file. + It scans module files in /lib/modules/`uname -r` and + determines dependencies and module alias names on the fly. + This may make module loading slower, most notably + when one needs to load module by alias (this requires + scanning through module _bodies_). + + At the first attempt to load a module by alias modprobe + will try to generate modules.dep.bb file in order to speed up + future loads by alias. Failure to do so (read-only /lib/modules, + etc) is not reported, and future modprobes will be slow too. + + NB: modules.dep.bb file format is not compatible + with modules.dep file as created/used by standard module tools. + + Additional module parameters can be stored in + /etc/modules/$module_name files. + + Apart from modprobe, other utilities are also provided: + - insmod is an alias to modprobe + - rmmod is an alias to modprobe -r + - depmod generates modules.dep.bb + + As of 2008-07, this code is experimental. It is 14kb smaller + than "non-small" modutils. + +config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE + bool "Accept module options on modprobe command line" + default n + depends on MODPROBE_SMALL + help + Allow insmod and modprobe take module options from command line. + +config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED + bool "Skip loading of already loaded modules" + default n + depends on MODPROBE_SMALL + help + Check if the module is already loaded. + +config INSMOD + bool "insmod" + default n + depends on !MODPROBE_SMALL + help + insmod is used to load specified modules in the running kernel. + +config RMMOD + bool "rmmod" + default n + depends on !MODPROBE_SMALL + help + rmmod is used to unload specified modules from the kernel. + +config LSMOD + bool "lsmod" + default n + depends on !MODPROBE_SMALL + help + lsmod is used to display a list of loaded modules. + +config FEATURE_LSMOD_PRETTY_2_6_OUTPUT + bool "Pretty output" + default n + depends on LSMOD + help + This option makes output format of lsmod adjusted to + the format of module-init-tools for Linux kernel 2.6. + Increases size somewhat. + +config MODPROBE + bool "modprobe" + default n + depends on !MODPROBE_SMALL + help + Handle the loading of modules, and their dependencies on a high + level. + +config FEATURE_MODPROBE_BLACKLIST + bool "Blacklist support" + default n + depends on MODPROBE + help + Say 'y' here to enable support for the 'blacklist' command in + modprobe.conf. This prevents the alias resolver to resolve + blacklisted modules. This is useful if you want to prevent your + hardware autodetection scripts to load modules like evdev, frame + buffer drivers etc. + +config DEPMOD + bool "depmod" + default n + depends on !MODPROBE_SMALL + help + depmod generates modules.dep (and potentially modules.alias + and modules.symbols) that contain dependency information + for modprobe. + +comment "Options common to multiple modutils" + +config FEATURE_2_4_MODULES + bool "Support version 2.2/2.4 Linux kernels" + default n + depends on INSMOD || RMMOD || LSMOD + help + Support module loading for 2.2.x and 2.4.x Linux kernels. + This increases size considerably. Say N unless you plan + to run ancient kernels. + +config FEATURE_INSMOD_TRY_MMAP + bool "Try to load module from a mmap'ed area" + default n + depends on INSMOD || MODPROBE_SMALL + help + This option causes module loading code to try to mmap + module first. If it does not work (for example, + it does not work for compressed modules), module will be read + (and unpacked if needed) into a memory block allocated by malloc. + + The only case when mmap works but malloc does not is when + you are trying to load a big module on a very memory-constrained + machine. Malloc will momentarily need 2x as much memory as mmap. + + Choosing N saves about 250 bytes of code (on 32-bit x86). + +config FEATURE_INSMOD_VERSION_CHECKING + bool "Enable module version checking" + default n + depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) + help + Support checking of versions for modules. This is used to + ensure that the kernel and module are made for each other. + +config FEATURE_INSMOD_KSYMOOPS_SYMBOLS + bool "Add module symbols to kernel symbol table" + default n + depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) + help + By adding module symbols to the kernel symbol table, Oops messages + occuring within kernel modules can be properly debugged. By enabling + this feature, module symbols will always be added to the kernel symbol + table for proper debugging support. If you are not interested in + Oops messages from kernel modules, say N. + +config FEATURE_INSMOD_LOADINKMEM + bool "In kernel memory optimization (uClinux only)" + default n + depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) + help + This is a special uClinux only memory optimization that lets insmod + load the specified kernel module directly into kernel space, reducing + memory usage by preventing the need for two copies of the module + being loaded into memory. + +config FEATURE_INSMOD_LOAD_MAP + bool "Enable insmod load map (-m) option" + default n + depends on FEATURE_2_4_MODULES && INSMOD + help + Enabling this, one would be able to get a load map + output on stdout. This makes kernel module debugging + easier. + If you don't plan to debug kernel modules, you + don't need this option. + +config FEATURE_INSMOD_LOAD_MAP_FULL + bool "Symbols in load map" + default y + depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL + help + Without this option, -m will only output section + load map. With this option, -m will also output + symbols load map. + +config FEATURE_CHECK_TAINTED_MODULE + bool "Support tainted module checking with new kernels" + default y + depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL + help + Support checking for tainted modules. These are usually binary + only modules that will make the linux-kernel list ignore your + support request. + This option is required to support GPLONLY modules. + +config FEATURE_MODUTILS_ALIAS + bool "Support for module.aliases file" + default y + depends on DEPMOD || MODPROBE + help + Generate and parse modules.alias containing aliases for bus + identifiers: + alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs + + and aliases for logical modules names e.g.: + alias padlock_aes aes + alias aes_i586 aes + alias aes_generic aes + + Say Y if unsure. + +config FEATURE_MODUTILS_SYMBOLS + bool "Support for module.symbols file" + default y + depends on DEPMOD || MODPROBE + help + Generate and parse modules.symbols containing aliases for + symbol_request() kernel calls, such as: + alias symbol:usb_sg_init usbcore + + Say Y if unsure. + +config DEFAULT_MODULES_DIR + string "Default directory containing modules" + default "/lib/modules" + depends on DEPMOD || MODPROBE || MODPROBE_SMALL + help + Directory that contains kernel modules. + Defaults to "/lib/modules" + +config DEFAULT_DEPMOD_FILE + string "Default name of modules.dep" + default "modules.dep" + depends on DEPMOD || MODPROBE || MODPROBE_SMALL + help + Filename that contains kernel modules dependencies. + Defaults to "modules.dep" + +endmenu diff --git a/modutils/Kbuild b/modutils/Kbuild deleted file mode 100644 index 31f7cbf93..000000000 --- a/modutils/Kbuild +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_MODPROBE_SMALL) += modprobe-small.o -lib-$(CONFIG_DEPMOD) += depmod.o modutils.o -lib-$(CONFIG_INSMOD) += insmod.o modutils.o -lib-$(CONFIG_LSMOD) += lsmod.o modutils.o -lib-$(CONFIG_MODPROBE) += modprobe.o modutils.o -lib-$(CONFIG_RMMOD) += rmmod.o modutils.o -lib-$(CONFIG_FEATURE_2_4_MODULES) += modutils-24.o diff --git a/modutils/Kbuild.src b/modutils/Kbuild.src new file mode 100644 index 000000000..31f7cbf93 --- /dev/null +++ b/modutils/Kbuild.src @@ -0,0 +1,14 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_MODPROBE_SMALL) += modprobe-small.o +lib-$(CONFIG_DEPMOD) += depmod.o modutils.o +lib-$(CONFIG_INSMOD) += insmod.o modutils.o +lib-$(CONFIG_LSMOD) += lsmod.o modutils.o +lib-$(CONFIG_MODPROBE) += modprobe.o modutils.o +lib-$(CONFIG_RMMOD) += rmmod.o modutils.o +lib-$(CONFIG_FEATURE_2_4_MODULES) += modutils-24.o diff --git a/networking/Config.in b/networking/Config.in deleted file mode 100644 index ce7166f98..000000000 --- a/networking/Config.in +++ /dev/null @@ -1,1020 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Networking Utilities" - -config FEATURE_IPV6 - bool "Enable IPv6 support" - default n - help - Enable IPv6 support in busybox. - This adds IPv6 support in the networking applets. - -config FEATURE_UNIX_LOCAL - bool "Enable Unix domain socket support (usually not needed)" - default n - help - Enable Unix domain socket support in all busybox networking - applets. Address of the form local:/path/to/unix/socket - will be recognized. - - This extension is almost never used in real world usage. - You most likely want to say N. - -config FEATURE_PREFER_IPV4_ADDRESS - bool "Prefer IPv4 addresses from DNS queries" - default y - depends on FEATURE_IPV6 - help - Use IPv4 address of network host if it has one. - - If this option is off, the first returned address will be used. - This may cause problems when your DNS server is IPv6-capable and - is returning IPv6 host addresses too. If IPv6 address - precedes IPv4 one in DNS reply, busybox network applets - (e.g. wget) will use IPv6 address. On an IPv6-incapable host - or network applets will fail to connect to the host - using IPv6 address. - -config VERBOSE_RESOLUTION_ERRORS - bool "Verbose resolution errors" - default n - help - Enable if you are not satisfied with simplistic - "can't resolve 'hostname.com'" and want to know more. - This may increase size of your executable a bit. - -config ARP - bool "arp" - default n - help - Manipulate the system ARP cache. - -config ARPING - bool "arping" - default n - help - Ping hosts by ARP packets. - -config BRCTL - bool "brctl" - default n - help - Manage ethernet bridges. - Supports addbr/delbr and addif/delif. - -config FEATURE_BRCTL_FANCY - bool "Fancy options" - default n - depends on BRCTL - help - Add support for extended option like: - setageing, setfd, sethello, setmaxage, - setpathcost, setportprio, setbridgeprio, - stp - This adds about 600 bytes. - -config FEATURE_BRCTL_SHOW - bool "Support show, showmac and showstp" - default n - depends on BRCTL && FEATURE_BRCTL_FANCY - help - Add support for option which prints the current config: - showmacs, showstp, show - -config DNSD - bool "dnsd" - default n - help - Small and static DNS server daemon. - -config ETHER_WAKE - bool "ether-wake" - default n - help - Send a magic packet to wake up sleeping machines. - -config FAKEIDENTD - bool "fakeidentd" - default n - select FEATURE_SYSLOG - help - fakeidentd listens on the ident port and returns a predefined - fake value on any query. - -config FTPD - bool "ftpd" - default n - help - simple FTP daemon. You have to run it via inetd. - -config FEATURE_FTP_WRITE - bool "Enable upload commands" - default y - depends on FTPD - help - Enable all kinds of FTP upload commands (-w option) - -config FEATURE_FTPD_ACCEPT_BROKEN_LIST - bool "Enable workaround for RFC-violating clients" - default y - depends on FTPD - help - Some ftp clients (among them KDE's Konqueror) issue illegal - "LIST -l" requests. This option works around such problems. - It might prevent you from listing files starting with "-" and - it increases the code size by ~40 bytes. - Most other ftp servers seem to behave similar to this. - -config FTPGET - bool "ftpget" - default n - help - Retrieve a remote file via FTP. - -config FTPPUT - bool "ftpput" - default n - help - Store a remote file via FTP. - -config FEATURE_FTPGETPUT_LONG_OPTIONS - bool "Enable long options in ftpget/ftpput" - default n - depends on LONG_OPTS && (FTPGET || FTPPUT) - help - Support long options for the ftpget/ftpput applet. - -config HOSTNAME - bool "hostname" - default n - help - Show or set the system's host name. - -config HTTPD - bool "httpd" - default n - help - Serve web pages via an HTTP server. - -config FEATURE_HTTPD_RANGES - bool "Support 'Ranges:' header" - default n - depends on HTTPD - help - Makes httpd emit "Accept-Ranges: bytes" header and understand - "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted - downloads, seeking in multimedia players etc. - -config FEATURE_HTTPD_USE_SENDFILE - bool "Use sendfile system call" - default n - depends on HTTPD - help - When enabled, httpd will use the kernel sendfile() function - instead of read/write loop. - -config FEATURE_HTTPD_SETUID - bool "Enable -u option" - default n - depends on HTTPD - help - This option allows the server to run as a specific user - rather than defaulting to the user that starts the server. - Use of this option requires special privileges to change to a - different user. - -config FEATURE_HTTPD_BASIC_AUTH - bool "Enable Basic http Authentication" - default y - depends on HTTPD - help - Utilizes password settings from /etc/httpd.conf for basic - authentication on a per url basis. - -config FEATURE_HTTPD_AUTH_MD5 - bool "Support MD5 crypted passwords for http Authentication" - default n - depends on FEATURE_HTTPD_BASIC_AUTH - help - Enables basic per URL authentication from /etc/httpd.conf - using md5 passwords. - -config FEATURE_HTTPD_CGI - bool "Support Common Gateway Interface (CGI)" - default y - depends on HTTPD - help - This option allows scripts and executables to be invoked - when specific URLs are requested. - -config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR - bool "Support for running scripts through an interpreter" - default n - depends on FEATURE_HTTPD_CGI - help - This option enables support for running scripts through an - interpreter. Turn this on if you want PHP scripts to work - properly. You need to supply an additional line in your httpd - config file: - *.php:/path/to/your/php - -config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV - bool "Set REMOTE_PORT environment variable for CGI" - default n - depends on FEATURE_HTTPD_CGI - help - Use of this option can assist scripts in generating - references that contain a unique port number. - -config FEATURE_HTTPD_ENCODE_URL_STR - bool "Enable -e option (useful for CGIs written as shell scripts)" - default y - depends on HTTPD - help - This option allows html encoding of arbitrary strings for display - by the browser. Output goes to stdout. - For example, httpd -e "" produces - "<Hello World>". - -config FEATURE_HTTPD_ERROR_PAGES - bool "Support for custom error pages" - default n - depends on HTTPD - help - This option allows you to define custom error pages in - the configuration file instead of the default HTTP status - error pages. For instance, if you add the line: - E404:/path/e404.html - in the config file, the server will respond the specified - '/path/e404.html' file instead of the terse '404 NOT FOUND' - message. - -config FEATURE_HTTPD_PROXY - bool "Support for reverse proxy" - default n - depends on HTTPD - help - This option allows you to define URLs that will be forwarded - to another HTTP server. To setup add the following line to the - configuration file - P:/url/:http://hostname[:port]/new/path/ - Then a request to /url/myfile will be forwarded to - http://hostname[:port]/new/path/myfile. - -config IFCONFIG - bool "ifconfig" - default n - help - Ifconfig is used to configure the kernel-resident network interfaces. - -config FEATURE_IFCONFIG_STATUS - bool "Enable status reporting output (+7k)" - default y - depends on IFCONFIG - help - If ifconfig is called with no arguments it will display the status - of the currently active interfaces. - -config FEATURE_IFCONFIG_SLIP - bool "Enable slip-specific options \"keepalive\" and \"outfill\"" - default n - depends on IFCONFIG - help - Allow "keepalive" and "outfill" support for SLIP. If you're not - planning on using serial lines, leave this unchecked. - -config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ - bool "Enable options \"mem_start\", \"io_addr\", and \"irq\"" - default n - depends on IFCONFIG - help - Allow the start address for shared memory, start address for I/O, - and/or the interrupt line used by the specified device. - -config FEATURE_IFCONFIG_HW - bool "Enable option \"hw\" (ether only)" - default y - depends on IFCONFIG - help - Set the hardware address of this interface, if the device driver - supports this operation. Currently, we only support the 'ether' - class. - -config FEATURE_IFCONFIG_BROADCAST_PLUS - bool "Set the broadcast automatically" - default n - depends on IFCONFIG - help - Setting this will make ifconfig attempt to find the broadcast - automatically if the value '+' is used. - -config IFENSLAVE - bool "ifenslave" - default n - help - Userspace application to bind several interfaces - to a logical interface (use with kernel bonding driver). - -config IFPLUGD - bool "ifplugd" - default n - help - Network interface plug detection daemon. - -config IFUPDOWN - bool "ifupdown" - default n - help - Activate or deactivate the specified interfaces. This applet makes - use of either "ifconfig" and "route" or the "ip" command to actually - configure network interfaces. Therefore, you will probably also want - to enable either IFCONFIG and ROUTE, or enable - FEATURE_IFUPDOWN_IP and the various IP options. Of - course you could use non-busybox versions of these programs, so - against my better judgement (since this will surely result in plenty - of support questions on the mailing list), I do not force you to - enable these additional options. It is up to you to supply either - "ifconfig", "route" and "run-parts" or the "ip" command, either - via busybox or via standalone utilities. - -config IFUPDOWN_IFSTATE_PATH - string "Absolute path to ifstate file" - default "/var/run/ifstate" - depends on IFUPDOWN - help - ifupdown keeps state information in a file called ifstate. - Typically it is located in /var/run/ifstate, however - some distributions tend to put it in other places - (debian, for example, uses /etc/network/run/ifstate). - This config option defines location of ifstate. - -config FEATURE_IFUPDOWN_IP - bool "Use ip applet" - default n - depends on IFUPDOWN - help - Use the iproute "ip" command to implement "ifup" and "ifdown", rather - than the default of using the older 'ifconfig' and 'route' utilities. - -config FEATURE_IFUPDOWN_IP_BUILTIN - bool "Use busybox ip applet" - default y - depends on FEATURE_IFUPDOWN_IP - select IP - select FEATURE_IP_ADDRESS - select FEATURE_IP_LINK - select FEATURE_IP_ROUTE - help - Use the busybox iproute "ip" applet to implement "ifupdown". - - If left disabled, you must install the full-blown iproute2 - utility or the "ifup" and "ifdown" applets will not work. - -config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN - bool "Use busybox ifconfig and route applets" - default y - depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP - select IFCONFIG - select ROUTE - help - Use the busybox iproute "ifconfig" and "route" applets to - implement the "ifup" and "ifdown" utilities. - - If left disabled, you must install the full-blown ifconfig - and route utilities, or the "ifup" and "ifdown" applets will not - work. - -config FEATURE_IFUPDOWN_IPV4 - bool "Support for IPv4" - default y - depends on IFUPDOWN - help - If you want ifup/ifdown to talk IPv4, leave this on. - -config FEATURE_IFUPDOWN_IPV6 - bool "Support for IPv6" - default n - depends on IFUPDOWN && FEATURE_IPV6 - help - If you need support for IPv6, turn this option on. - -### UNUSED -###config FEATURE_IFUPDOWN_IPX -### bool "Support for IPX" -### default n -### depends on IFUPDOWN -### help -### If this option is selected you can use busybox to work with IPX -### networks. - -config FEATURE_IFUPDOWN_MAPPING - bool "Enable mapping support" - default n - depends on IFUPDOWN - help - This enables support for the "mapping" stanza, unless you have - a weird network setup you don't need it. - -config FEATURE_IFUPDOWN_EXTERNAL_DHCP - bool "Support for external dhcp clients" - default n - depends on IFUPDOWN - help - This enables support for the external dhcp clients. Clients are - tried in the following order: dhcpcd, dhclient, pump and udhcpc. - Otherwise, if udhcpc applet is enabled, it is used. - Otherwise, ifup/ifdown will have no support for DHCP. - -config INETD - bool "inetd" - default n - select FEATURE_SYSLOG - help - Internet superserver daemon - -config FEATURE_INETD_SUPPORT_BUILTIN_ECHO - bool "Support echo service" - default y - depends on INETD - help - Echo received data internal inetd service - -config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD - bool "Support discard service" - default y - depends on INETD - help - Internet /dev/null internal inetd service - -config FEATURE_INETD_SUPPORT_BUILTIN_TIME - bool "Support time service" - default y - depends on INETD - help - Return 32 bit time since 1900 internal inetd service - -config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME - bool "Support daytime service" - default y - depends on INETD - help - Return human-readable time internal inetd service - -config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN - bool "Support chargen service" - default y - depends on INETD - help - Familiar character generator internal inetd service - -config FEATURE_INETD_RPC - bool "Support RPC services" - default n - depends on INETD - select FEATURE_HAVE_RPC - help - Support Sun-RPC based services - -config IP - bool "ip" - default n - help - The "ip" applet is a TCP/IP interface configuration and routing - utility. You generally don't need "ip" to use busybox with - TCP/IP. - -config FEATURE_IP_ADDRESS - bool "ip address" - default y - depends on IP - help - Address manipulation support for the "ip" applet. - -config FEATURE_IP_LINK - bool "ip link" - default y - depends on IP - help - Configure network devices with "ip". - -config FEATURE_IP_ROUTE - bool "ip route" - default y - depends on IP - help - Add support for routing table management to "ip". - -config FEATURE_IP_TUNNEL - bool "ip tunnel" - default n - depends on IP - help - Add support for tunneling commands to "ip". - -config FEATURE_IP_RULE - bool "ip rule" - default n - depends on IP - help - Add support for rule commands to "ip". - -config FEATURE_IP_SHORT_FORMS - bool "Support short forms of ip commands" - default n - depends on IP - help - Also support short-form of ip commands: - ip addr -> ipaddr - ip link -> iplink - ip route -> iproute - ip tunnel -> iptunnel - ip rule -> iprule - - Say N unless you desparately need the short form of the ip - object commands. - -config FEATURE_IP_RARE_PROTOCOLS - bool "Support displaying rarely used link types" - default n - depends on IP - help - If you are not going to use links of type "frad", "econet", - "bif" etc, you probably don't need to enable this. - Ethernet, wireless, infrared, ppp/slip, ip tunnelling - link types are supported without this option selected. - -config IPADDR - bool - default y - depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS - -config IPLINK - bool - default y - depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK - -config IPROUTE - bool - default y - depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE - -config IPTUNNEL - bool - default y - depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL - -config IPRULE - bool - default y - depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE - -config IPCALC - bool "ipcalc" - default n - help - ipcalc takes an IP address and netmask and calculates the - resulting broadcast, network, and host range. - -config FEATURE_IPCALC_FANCY - bool "Fancy IPCALC, more options, adds 1 kbyte" - default y - depends on IPCALC - help - Adds the options hostname, prefix and silent to the output of - "ipcalc". - -config FEATURE_IPCALC_LONG_OPTIONS - bool "Enable long options" - default n - depends on IPCALC && LONG_OPTS - help - Support long options for the ipcalc applet. - -config NAMEIF - bool "nameif" - default n - select FEATURE_SYSLOG - help - nameif is used to rename network interface by its MAC address. - Renamed interfaces MUST be in the down state. - It is possible to use a file (default: /etc/mactab) - with list of new interface names and MACs. - Maximum interface name length: IFNAMSIZ = 16 - File fields are separated by space or tab. - File format: - # Comment - new_interface_name XX:XX:XX:XX:XX:XX - -config FEATURE_NAMEIF_EXTENDED - bool "Extended nameif" - default n - depends on NAMEIF - help - This extends the nameif syntax to support the bus_info and driver - checks. The syntax is compatible to the normal nameif. - File format: - new_interface_name driver=asix bus=usb-0000:00:08.2-3 - new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5 - new_interface_name mac=00:80:C8:38:91:B5 - new_interface_name 00:80:C8:38:91:B5 - -config NC - bool "nc" - default n - help - A simple Unix utility which reads and writes data across network - connections. - -config NC_SERVER - bool "Netcat server options (-l)" - default n - depends on NC - help - Allow netcat to act as a server. - -config NC_EXTRA - bool "Netcat extensions (-eiw and filename)" - default n - depends on NC - help - Add -e (support for executing the rest of the command line after - making or receiving a successful connection), -i (delay interval for - lines sent), -w (timeout for initial connection). - -config NETSTAT - bool "netstat" - default n - help - netstat prints information about the Linux networking subsystem. - -config FEATURE_NETSTAT_WIDE - bool "Enable wide netstat output" - default n - depends on NETSTAT - help - Add support for wide columns. Useful when displaying IPv6 addresses - (-W option). - -config FEATURE_NETSTAT_PRG - bool "Enable PID/Program name output" - default n - depends on NETSTAT - help - Add support for -p flag to print out PID and program name. - +700 bytes of code. - -config NSLOOKUP - bool "nslookup" - default n - help - nslookup is a tool to query Internet name servers. - -config NTPD - bool "ntpd" - default n - help - The NTP client/server daemon. - -config FEATURE_NTPD_SERVER - bool "Make ntpd usable as a NTP server" - default y - depends on NTPD - help - Make ntpd usable as a NTP server. If you disable this option - ntpd will be usable only as a NTP client. - -config PING - bool "ping" - default n - help - ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to - elicit an ICMP ECHO_RESPONSE from a host or gateway. - -config PING6 - bool "ping6" - default n - depends on FEATURE_IPV6 && PING - help - This will give you a ping that can talk IPv6. - -config FEATURE_FANCY_PING - bool "Enable fancy ping output" - default y - depends on PING - help - Make the output from the ping applet include statistics, and at the - same time provide full support for ICMP packets. - -config PSCAN - bool "pscan" - default n - help - Simple network port scanner. - -config ROUTE - bool "route" - default n - help - Route displays or manipulates the kernel's IP routing tables. - -config SLATTACH - bool "slattach" - default n - help - slattach is a small utility to attach network interfaces to serial - lines. - -#config TC -# bool "tc" -# default n -# help -# show / manipulate traffic control settings -# -#config FEATURE_TC_INGRESS -# def_bool n -# depends on TC - -config TCPSVD - bool "tcpsvd" - default n - help - tcpsvd listens on a TCP port and runs a program for each new - connection. - -config TELNET - bool "telnet" - default n - help - Telnet is an interface to the TELNET protocol, but is also commonly - used to test other simple protocols. - -config FEATURE_TELNET_TTYPE - bool "Pass TERM type to remote host" - default y - depends on TELNET - help - Setting this option will forward the TERM environment variable to the - remote host you are connecting to. This is useful to make sure that - things like ANSI colors and other control sequences behave. - -config FEATURE_TELNET_AUTOLOGIN - bool "Pass USER type to remote host" - default y - depends on TELNET - help - Setting this option will forward the USER environment variable to the - remote host you are connecting to. This is useful when you need to - log into a machine without telling the username (autologin). This - option enables `-a' and `-l USER' arguments. - -config TELNETD - bool "telnetd" - default n - select FEATURE_SYSLOG - help - A daemon for the TELNET protocol, allowing you to log onto the host - running the daemon. Please keep in mind that the TELNET protocol - sends passwords in plain text. If you can't afford the space for an - SSH daemon and you trust your network, you may say 'y' here. As a - more secure alternative, you should seriously consider installing the - very small Dropbear SSH daemon instead: - http://matt.ucc.asn.au/dropbear/dropbear.html - - Note that for busybox telnetd to work you need several things: - First of all, your kernel needs: - UNIX98_PTYS=y - DEVPTS_FS=y - - Next, you need a /dev/pts directory on your root filesystem: - - $ ls -ld /dev/pts - drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/ - - Next you need the pseudo terminal master multiplexer /dev/ptmx: - - $ ls -la /dev/ptmx - crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx - - Any /dev/ttyp[0-9]* files you may have can be removed. - Next, you need to mount the devpts filesystem on /dev/pts using: - - mount -t devpts devpts /dev/pts - - You need to be sure that Busybox has LOGIN and - FEATURE_SUID enabled. And finally, you should make - certain that Busybox has been installed setuid root: - - chown root.root /bin/busybox - chmod 4755 /bin/busybox - - with all that done, telnetd _should_ work.... - - -config FEATURE_TELNETD_STANDALONE - bool "Support standalone telnetd (not inetd only)" - default n - depends on TELNETD - help - Selecting this will make telnetd able to run standalone. - -config FEATURE_TELNETD_INETD_WAIT - bool "Support -w SEC option (inetd wait mode)" - default n - depends on FEATURE_TELNETD_STANDALONE - help - This option allows you to run telnetd in "inet wait" mode. - Example inetd.conf line (note "wait", not usual "nowait"): - - telnet stream tcp wait root /bin/telnetd telnetd -w10 - - In this example, inetd passes _listening_ socket_ as fd 0 - to telnetd when connection appears. - telnetd will wait for connections until all existing - connections are closed, and no new connections - appear during 10 seconds. Then it exits, and inetd continues - to listen for new connections. - - This option is rarely used. "tcp nowait" is much more usual - way of running tcp services, including telnetd. - You most probably want to say N here. - -config TFTP - bool "tftp" - default n - help - This enables the Trivial File Transfer Protocol client program. TFTP - is usually used for simple, small transfers such as a root image - for a network-enabled bootloader. - -config TFTPD - bool "tftpd" - default n - help - This enables the Trivial File Transfer Protocol server program. - It expects that stdin is a datagram socket and a packet - is already pending on it. It will exit after one transfer. - In other words: it should be run from inetd in nowait mode, - or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR" - -config FEATURE_TFTP_GET - bool "Enable 'tftp get' and/or tftpd upload code" - default y - depends on TFTP || TFTPD - help - Add support for the GET command within the TFTP client. This allows - a client to retrieve a file from a TFTP server. - Also enable upload support in tftpd, if tftpd is selected. - - Note: this option does _not_ make tftpd capable of download - (the usual operation people need from it)! - -config FEATURE_TFTP_PUT - bool "Enable 'tftp put' and/or tftpd download code" - default y - depends on TFTP || TFTPD - help - Add support for the PUT command within the TFTP client. This allows - a client to transfer a file to a TFTP server. - Also enable download support in tftpd, if tftpd is selected. - -config FEATURE_TFTP_BLOCKSIZE - bool "Enable 'blksize' and 'tsize' protocol options" - default n - depends on TFTP || TFTPD - help - Allow tftp to specify block size, and tftpd to understand - "blksize" and "tsize" options. - -config FEATURE_TFTP_PROGRESS_BAR - bool "Enable tftp progress meter" - default n - depends on TFTP && FEATURE_TFTP_BLOCKSIZE - help - Show progress bar. - -config TFTP_DEBUG - bool "Enable debug" - default n - depends on TFTP || TFTPD - help - Make tftp[d] print debugging messages on stderr. - This is useful if you are diagnosing a bug in tftp[d]. - -config TRACEROUTE - bool "traceroute" - default n - help - Utility to trace the route of IP packets. - -config TRACEROUTE6 - bool "traceroute6" - default n - depends on FEATURE_IPV6 && TRACEROUTE - help - Utility to trace the route of IPv6 packets. - -config FEATURE_TRACEROUTE_VERBOSE - bool "Enable verbose output" - default n - depends on TRACEROUTE - help - Add some verbosity to traceroute. This includes among other things - hostnames and ICMP response types. - -config FEATURE_TRACEROUTE_SOURCE_ROUTE - bool "Enable loose source route" - default n - depends on TRACEROUTE - help - Add option to specify a loose source route gateway - (8 maximum). - -config FEATURE_TRACEROUTE_USE_ICMP - bool "Use ICMP instead of UDP" - default n - depends on TRACEROUTE - help - Add option -I to use ICMP ECHO instead of UDP datagrams. - -config TUNCTL - bool "tunctl" - default n - help - tunctl creates or deletes tun devices. - -config FEATURE_TUNCTL_UG - bool "Support owner:group assignment" - default n - depends on TUNCTL - help - Allow to specify owner and group of newly created interface. - 340 bytes of pure bloat. Say no here. - -source networking/udhcp/Config.in - -config IFUPDOWN_UDHCPC_CMD_OPTIONS - string "ifup udhcpc command line options" - default "-R -n" - depends on IFUPDOWN && UDHCPC - help - Command line options to pass to udhcpc from ifup. - Intended to alter options not available in /etc/network/interfaces. - (IE: --syslog --background etc...) - -config UDPSVD - bool "udpsvd" - default n - help - udpsvd listens on an UDP port and runs a program for each new - connection. - -config VCONFIG - bool "vconfig" - default n - help - Creates, removes, and configures VLAN interfaces - -config WGET - bool "wget" - default n - help - wget is a utility for non-interactive download of files from HTTP, - HTTPS, and FTP servers. - -config FEATURE_WGET_STATUSBAR - bool "Enable a nifty process meter (+2k)" - default y - depends on WGET - help - Enable the transfer progress bar for wget transfers. - -config FEATURE_WGET_AUTHENTICATION - bool "Enable HTTP authentication" - default y - depends on WGET - help - Support authenticated HTTP transfers. - -config FEATURE_WGET_LONG_OPTIONS - bool "Enable long options" - default n - depends on WGET && LONG_OPTS - help - Support long options for the wget applet. - -config ZCIP - bool "zcip" - default n - select FEATURE_SYSLOG - help - ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. - It's a daemon that allocates and defends a dynamically assigned - address on the 169.254/16 network, requiring no system administrator. - - See http://www.zeroconf.org for further details, and "zcip.script" - in the busybox examples. - -endmenu diff --git a/networking/Config.src b/networking/Config.src new file mode 100644 index 000000000..ce7166f98 --- /dev/null +++ b/networking/Config.src @@ -0,0 +1,1020 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Networking Utilities" + +config FEATURE_IPV6 + bool "Enable IPv6 support" + default n + help + Enable IPv6 support in busybox. + This adds IPv6 support in the networking applets. + +config FEATURE_UNIX_LOCAL + bool "Enable Unix domain socket support (usually not needed)" + default n + help + Enable Unix domain socket support in all busybox networking + applets. Address of the form local:/path/to/unix/socket + will be recognized. + + This extension is almost never used in real world usage. + You most likely want to say N. + +config FEATURE_PREFER_IPV4_ADDRESS + bool "Prefer IPv4 addresses from DNS queries" + default y + depends on FEATURE_IPV6 + help + Use IPv4 address of network host if it has one. + + If this option is off, the first returned address will be used. + This may cause problems when your DNS server is IPv6-capable and + is returning IPv6 host addresses too. If IPv6 address + precedes IPv4 one in DNS reply, busybox network applets + (e.g. wget) will use IPv6 address. On an IPv6-incapable host + or network applets will fail to connect to the host + using IPv6 address. + +config VERBOSE_RESOLUTION_ERRORS + bool "Verbose resolution errors" + default n + help + Enable if you are not satisfied with simplistic + "can't resolve 'hostname.com'" and want to know more. + This may increase size of your executable a bit. + +config ARP + bool "arp" + default n + help + Manipulate the system ARP cache. + +config ARPING + bool "arping" + default n + help + Ping hosts by ARP packets. + +config BRCTL + bool "brctl" + default n + help + Manage ethernet bridges. + Supports addbr/delbr and addif/delif. + +config FEATURE_BRCTL_FANCY + bool "Fancy options" + default n + depends on BRCTL + help + Add support for extended option like: + setageing, setfd, sethello, setmaxage, + setpathcost, setportprio, setbridgeprio, + stp + This adds about 600 bytes. + +config FEATURE_BRCTL_SHOW + bool "Support show, showmac and showstp" + default n + depends on BRCTL && FEATURE_BRCTL_FANCY + help + Add support for option which prints the current config: + showmacs, showstp, show + +config DNSD + bool "dnsd" + default n + help + Small and static DNS server daemon. + +config ETHER_WAKE + bool "ether-wake" + default n + help + Send a magic packet to wake up sleeping machines. + +config FAKEIDENTD + bool "fakeidentd" + default n + select FEATURE_SYSLOG + help + fakeidentd listens on the ident port and returns a predefined + fake value on any query. + +config FTPD + bool "ftpd" + default n + help + simple FTP daemon. You have to run it via inetd. + +config FEATURE_FTP_WRITE + bool "Enable upload commands" + default y + depends on FTPD + help + Enable all kinds of FTP upload commands (-w option) + +config FEATURE_FTPD_ACCEPT_BROKEN_LIST + bool "Enable workaround for RFC-violating clients" + default y + depends on FTPD + help + Some ftp clients (among them KDE's Konqueror) issue illegal + "LIST -l" requests. This option works around such problems. + It might prevent you from listing files starting with "-" and + it increases the code size by ~40 bytes. + Most other ftp servers seem to behave similar to this. + +config FTPGET + bool "ftpget" + default n + help + Retrieve a remote file via FTP. + +config FTPPUT + bool "ftpput" + default n + help + Store a remote file via FTP. + +config FEATURE_FTPGETPUT_LONG_OPTIONS + bool "Enable long options in ftpget/ftpput" + default n + depends on LONG_OPTS && (FTPGET || FTPPUT) + help + Support long options for the ftpget/ftpput applet. + +config HOSTNAME + bool "hostname" + default n + help + Show or set the system's host name. + +config HTTPD + bool "httpd" + default n + help + Serve web pages via an HTTP server. + +config FEATURE_HTTPD_RANGES + bool "Support 'Ranges:' header" + default n + depends on HTTPD + help + Makes httpd emit "Accept-Ranges: bytes" header and understand + "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted + downloads, seeking in multimedia players etc. + +config FEATURE_HTTPD_USE_SENDFILE + bool "Use sendfile system call" + default n + depends on HTTPD + help + When enabled, httpd will use the kernel sendfile() function + instead of read/write loop. + +config FEATURE_HTTPD_SETUID + bool "Enable -u option" + default n + depends on HTTPD + help + This option allows the server to run as a specific user + rather than defaulting to the user that starts the server. + Use of this option requires special privileges to change to a + different user. + +config FEATURE_HTTPD_BASIC_AUTH + bool "Enable Basic http Authentication" + default y + depends on HTTPD + help + Utilizes password settings from /etc/httpd.conf for basic + authentication on a per url basis. + +config FEATURE_HTTPD_AUTH_MD5 + bool "Support MD5 crypted passwords for http Authentication" + default n + depends on FEATURE_HTTPD_BASIC_AUTH + help + Enables basic per URL authentication from /etc/httpd.conf + using md5 passwords. + +config FEATURE_HTTPD_CGI + bool "Support Common Gateway Interface (CGI)" + default y + depends on HTTPD + help + This option allows scripts and executables to be invoked + when specific URLs are requested. + +config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR + bool "Support for running scripts through an interpreter" + default n + depends on FEATURE_HTTPD_CGI + help + This option enables support for running scripts through an + interpreter. Turn this on if you want PHP scripts to work + properly. You need to supply an additional line in your httpd + config file: + *.php:/path/to/your/php + +config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV + bool "Set REMOTE_PORT environment variable for CGI" + default n + depends on FEATURE_HTTPD_CGI + help + Use of this option can assist scripts in generating + references that contain a unique port number. + +config FEATURE_HTTPD_ENCODE_URL_STR + bool "Enable -e option (useful for CGIs written as shell scripts)" + default y + depends on HTTPD + help + This option allows html encoding of arbitrary strings for display + by the browser. Output goes to stdout. + For example, httpd -e "" produces + "<Hello World>". + +config FEATURE_HTTPD_ERROR_PAGES + bool "Support for custom error pages" + default n + depends on HTTPD + help + This option allows you to define custom error pages in + the configuration file instead of the default HTTP status + error pages. For instance, if you add the line: + E404:/path/e404.html + in the config file, the server will respond the specified + '/path/e404.html' file instead of the terse '404 NOT FOUND' + message. + +config FEATURE_HTTPD_PROXY + bool "Support for reverse proxy" + default n + depends on HTTPD + help + This option allows you to define URLs that will be forwarded + to another HTTP server. To setup add the following line to the + configuration file + P:/url/:http://hostname[:port]/new/path/ + Then a request to /url/myfile will be forwarded to + http://hostname[:port]/new/path/myfile. + +config IFCONFIG + bool "ifconfig" + default n + help + Ifconfig is used to configure the kernel-resident network interfaces. + +config FEATURE_IFCONFIG_STATUS + bool "Enable status reporting output (+7k)" + default y + depends on IFCONFIG + help + If ifconfig is called with no arguments it will display the status + of the currently active interfaces. + +config FEATURE_IFCONFIG_SLIP + bool "Enable slip-specific options \"keepalive\" and \"outfill\"" + default n + depends on IFCONFIG + help + Allow "keepalive" and "outfill" support for SLIP. If you're not + planning on using serial lines, leave this unchecked. + +config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ + bool "Enable options \"mem_start\", \"io_addr\", and \"irq\"" + default n + depends on IFCONFIG + help + Allow the start address for shared memory, start address for I/O, + and/or the interrupt line used by the specified device. + +config FEATURE_IFCONFIG_HW + bool "Enable option \"hw\" (ether only)" + default y + depends on IFCONFIG + help + Set the hardware address of this interface, if the device driver + supports this operation. Currently, we only support the 'ether' + class. + +config FEATURE_IFCONFIG_BROADCAST_PLUS + bool "Set the broadcast automatically" + default n + depends on IFCONFIG + help + Setting this will make ifconfig attempt to find the broadcast + automatically if the value '+' is used. + +config IFENSLAVE + bool "ifenslave" + default n + help + Userspace application to bind several interfaces + to a logical interface (use with kernel bonding driver). + +config IFPLUGD + bool "ifplugd" + default n + help + Network interface plug detection daemon. + +config IFUPDOWN + bool "ifupdown" + default n + help + Activate or deactivate the specified interfaces. This applet makes + use of either "ifconfig" and "route" or the "ip" command to actually + configure network interfaces. Therefore, you will probably also want + to enable either IFCONFIG and ROUTE, or enable + FEATURE_IFUPDOWN_IP and the various IP options. Of + course you could use non-busybox versions of these programs, so + against my better judgement (since this will surely result in plenty + of support questions on the mailing list), I do not force you to + enable these additional options. It is up to you to supply either + "ifconfig", "route" and "run-parts" or the "ip" command, either + via busybox or via standalone utilities. + +config IFUPDOWN_IFSTATE_PATH + string "Absolute path to ifstate file" + default "/var/run/ifstate" + depends on IFUPDOWN + help + ifupdown keeps state information in a file called ifstate. + Typically it is located in /var/run/ifstate, however + some distributions tend to put it in other places + (debian, for example, uses /etc/network/run/ifstate). + This config option defines location of ifstate. + +config FEATURE_IFUPDOWN_IP + bool "Use ip applet" + default n + depends on IFUPDOWN + help + Use the iproute "ip" command to implement "ifup" and "ifdown", rather + than the default of using the older 'ifconfig' and 'route' utilities. + +config FEATURE_IFUPDOWN_IP_BUILTIN + bool "Use busybox ip applet" + default y + depends on FEATURE_IFUPDOWN_IP + select IP + select FEATURE_IP_ADDRESS + select FEATURE_IP_LINK + select FEATURE_IP_ROUTE + help + Use the busybox iproute "ip" applet to implement "ifupdown". + + If left disabled, you must install the full-blown iproute2 + utility or the "ifup" and "ifdown" applets will not work. + +config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN + bool "Use busybox ifconfig and route applets" + default y + depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP + select IFCONFIG + select ROUTE + help + Use the busybox iproute "ifconfig" and "route" applets to + implement the "ifup" and "ifdown" utilities. + + If left disabled, you must install the full-blown ifconfig + and route utilities, or the "ifup" and "ifdown" applets will not + work. + +config FEATURE_IFUPDOWN_IPV4 + bool "Support for IPv4" + default y + depends on IFUPDOWN + help + If you want ifup/ifdown to talk IPv4, leave this on. + +config FEATURE_IFUPDOWN_IPV6 + bool "Support for IPv6" + default n + depends on IFUPDOWN && FEATURE_IPV6 + help + If you need support for IPv6, turn this option on. + +### UNUSED +###config FEATURE_IFUPDOWN_IPX +### bool "Support for IPX" +### default n +### depends on IFUPDOWN +### help +### If this option is selected you can use busybox to work with IPX +### networks. + +config FEATURE_IFUPDOWN_MAPPING + bool "Enable mapping support" + default n + depends on IFUPDOWN + help + This enables support for the "mapping" stanza, unless you have + a weird network setup you don't need it. + +config FEATURE_IFUPDOWN_EXTERNAL_DHCP + bool "Support for external dhcp clients" + default n + depends on IFUPDOWN + help + This enables support for the external dhcp clients. Clients are + tried in the following order: dhcpcd, dhclient, pump and udhcpc. + Otherwise, if udhcpc applet is enabled, it is used. + Otherwise, ifup/ifdown will have no support for DHCP. + +config INETD + bool "inetd" + default n + select FEATURE_SYSLOG + help + Internet superserver daemon + +config FEATURE_INETD_SUPPORT_BUILTIN_ECHO + bool "Support echo service" + default y + depends on INETD + help + Echo received data internal inetd service + +config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD + bool "Support discard service" + default y + depends on INETD + help + Internet /dev/null internal inetd service + +config FEATURE_INETD_SUPPORT_BUILTIN_TIME + bool "Support time service" + default y + depends on INETD + help + Return 32 bit time since 1900 internal inetd service + +config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME + bool "Support daytime service" + default y + depends on INETD + help + Return human-readable time internal inetd service + +config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN + bool "Support chargen service" + default y + depends on INETD + help + Familiar character generator internal inetd service + +config FEATURE_INETD_RPC + bool "Support RPC services" + default n + depends on INETD + select FEATURE_HAVE_RPC + help + Support Sun-RPC based services + +config IP + bool "ip" + default n + help + The "ip" applet is a TCP/IP interface configuration and routing + utility. You generally don't need "ip" to use busybox with + TCP/IP. + +config FEATURE_IP_ADDRESS + bool "ip address" + default y + depends on IP + help + Address manipulation support for the "ip" applet. + +config FEATURE_IP_LINK + bool "ip link" + default y + depends on IP + help + Configure network devices with "ip". + +config FEATURE_IP_ROUTE + bool "ip route" + default y + depends on IP + help + Add support for routing table management to "ip". + +config FEATURE_IP_TUNNEL + bool "ip tunnel" + default n + depends on IP + help + Add support for tunneling commands to "ip". + +config FEATURE_IP_RULE + bool "ip rule" + default n + depends on IP + help + Add support for rule commands to "ip". + +config FEATURE_IP_SHORT_FORMS + bool "Support short forms of ip commands" + default n + depends on IP + help + Also support short-form of ip commands: + ip addr -> ipaddr + ip link -> iplink + ip route -> iproute + ip tunnel -> iptunnel + ip rule -> iprule + + Say N unless you desparately need the short form of the ip + object commands. + +config FEATURE_IP_RARE_PROTOCOLS + bool "Support displaying rarely used link types" + default n + depends on IP + help + If you are not going to use links of type "frad", "econet", + "bif" etc, you probably don't need to enable this. + Ethernet, wireless, infrared, ppp/slip, ip tunnelling + link types are supported without this option selected. + +config IPADDR + bool + default y + depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS + +config IPLINK + bool + default y + depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK + +config IPROUTE + bool + default y + depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE + +config IPTUNNEL + bool + default y + depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL + +config IPRULE + bool + default y + depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_RULE + +config IPCALC + bool "ipcalc" + default n + help + ipcalc takes an IP address and netmask and calculates the + resulting broadcast, network, and host range. + +config FEATURE_IPCALC_FANCY + bool "Fancy IPCALC, more options, adds 1 kbyte" + default y + depends on IPCALC + help + Adds the options hostname, prefix and silent to the output of + "ipcalc". + +config FEATURE_IPCALC_LONG_OPTIONS + bool "Enable long options" + default n + depends on IPCALC && LONG_OPTS + help + Support long options for the ipcalc applet. + +config NAMEIF + bool "nameif" + default n + select FEATURE_SYSLOG + help + nameif is used to rename network interface by its MAC address. + Renamed interfaces MUST be in the down state. + It is possible to use a file (default: /etc/mactab) + with list of new interface names and MACs. + Maximum interface name length: IFNAMSIZ = 16 + File fields are separated by space or tab. + File format: + # Comment + new_interface_name XX:XX:XX:XX:XX:XX + +config FEATURE_NAMEIF_EXTENDED + bool "Extended nameif" + default n + depends on NAMEIF + help + This extends the nameif syntax to support the bus_info and driver + checks. The syntax is compatible to the normal nameif. + File format: + new_interface_name driver=asix bus=usb-0000:00:08.2-3 + new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5 + new_interface_name mac=00:80:C8:38:91:B5 + new_interface_name 00:80:C8:38:91:B5 + +config NC + bool "nc" + default n + help + A simple Unix utility which reads and writes data across network + connections. + +config NC_SERVER + bool "Netcat server options (-l)" + default n + depends on NC + help + Allow netcat to act as a server. + +config NC_EXTRA + bool "Netcat extensions (-eiw and filename)" + default n + depends on NC + help + Add -e (support for executing the rest of the command line after + making or receiving a successful connection), -i (delay interval for + lines sent), -w (timeout for initial connection). + +config NETSTAT + bool "netstat" + default n + help + netstat prints information about the Linux networking subsystem. + +config FEATURE_NETSTAT_WIDE + bool "Enable wide netstat output" + default n + depends on NETSTAT + help + Add support for wide columns. Useful when displaying IPv6 addresses + (-W option). + +config FEATURE_NETSTAT_PRG + bool "Enable PID/Program name output" + default n + depends on NETSTAT + help + Add support for -p flag to print out PID and program name. + +700 bytes of code. + +config NSLOOKUP + bool "nslookup" + default n + help + nslookup is a tool to query Internet name servers. + +config NTPD + bool "ntpd" + default n + help + The NTP client/server daemon. + +config FEATURE_NTPD_SERVER + bool "Make ntpd usable as a NTP server" + default y + depends on NTPD + help + Make ntpd usable as a NTP server. If you disable this option + ntpd will be usable only as a NTP client. + +config PING + bool "ping" + default n + help + ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to + elicit an ICMP ECHO_RESPONSE from a host or gateway. + +config PING6 + bool "ping6" + default n + depends on FEATURE_IPV6 && PING + help + This will give you a ping that can talk IPv6. + +config FEATURE_FANCY_PING + bool "Enable fancy ping output" + default y + depends on PING + help + Make the output from the ping applet include statistics, and at the + same time provide full support for ICMP packets. + +config PSCAN + bool "pscan" + default n + help + Simple network port scanner. + +config ROUTE + bool "route" + default n + help + Route displays or manipulates the kernel's IP routing tables. + +config SLATTACH + bool "slattach" + default n + help + slattach is a small utility to attach network interfaces to serial + lines. + +#config TC +# bool "tc" +# default n +# help +# show / manipulate traffic control settings +# +#config FEATURE_TC_INGRESS +# def_bool n +# depends on TC + +config TCPSVD + bool "tcpsvd" + default n + help + tcpsvd listens on a TCP port and runs a program for each new + connection. + +config TELNET + bool "telnet" + default n + help + Telnet is an interface to the TELNET protocol, but is also commonly + used to test other simple protocols. + +config FEATURE_TELNET_TTYPE + bool "Pass TERM type to remote host" + default y + depends on TELNET + help + Setting this option will forward the TERM environment variable to the + remote host you are connecting to. This is useful to make sure that + things like ANSI colors and other control sequences behave. + +config FEATURE_TELNET_AUTOLOGIN + bool "Pass USER type to remote host" + default y + depends on TELNET + help + Setting this option will forward the USER environment variable to the + remote host you are connecting to. This is useful when you need to + log into a machine without telling the username (autologin). This + option enables `-a' and `-l USER' arguments. + +config TELNETD + bool "telnetd" + default n + select FEATURE_SYSLOG + help + A daemon for the TELNET protocol, allowing you to log onto the host + running the daemon. Please keep in mind that the TELNET protocol + sends passwords in plain text. If you can't afford the space for an + SSH daemon and you trust your network, you may say 'y' here. As a + more secure alternative, you should seriously consider installing the + very small Dropbear SSH daemon instead: + http://matt.ucc.asn.au/dropbear/dropbear.html + + Note that for busybox telnetd to work you need several things: + First of all, your kernel needs: + UNIX98_PTYS=y + DEVPTS_FS=y + + Next, you need a /dev/pts directory on your root filesystem: + + $ ls -ld /dev/pts + drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/ + + Next you need the pseudo terminal master multiplexer /dev/ptmx: + + $ ls -la /dev/ptmx + crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx + + Any /dev/ttyp[0-9]* files you may have can be removed. + Next, you need to mount the devpts filesystem on /dev/pts using: + + mount -t devpts devpts /dev/pts + + You need to be sure that Busybox has LOGIN and + FEATURE_SUID enabled. And finally, you should make + certain that Busybox has been installed setuid root: + + chown root.root /bin/busybox + chmod 4755 /bin/busybox + + with all that done, telnetd _should_ work.... + + +config FEATURE_TELNETD_STANDALONE + bool "Support standalone telnetd (not inetd only)" + default n + depends on TELNETD + help + Selecting this will make telnetd able to run standalone. + +config FEATURE_TELNETD_INETD_WAIT + bool "Support -w SEC option (inetd wait mode)" + default n + depends on FEATURE_TELNETD_STANDALONE + help + This option allows you to run telnetd in "inet wait" mode. + Example inetd.conf line (note "wait", not usual "nowait"): + + telnet stream tcp wait root /bin/telnetd telnetd -w10 + + In this example, inetd passes _listening_ socket_ as fd 0 + to telnetd when connection appears. + telnetd will wait for connections until all existing + connections are closed, and no new connections + appear during 10 seconds. Then it exits, and inetd continues + to listen for new connections. + + This option is rarely used. "tcp nowait" is much more usual + way of running tcp services, including telnetd. + You most probably want to say N here. + +config TFTP + bool "tftp" + default n + help + This enables the Trivial File Transfer Protocol client program. TFTP + is usually used for simple, small transfers such as a root image + for a network-enabled bootloader. + +config TFTPD + bool "tftpd" + default n + help + This enables the Trivial File Transfer Protocol server program. + It expects that stdin is a datagram socket and a packet + is already pending on it. It will exit after one transfer. + In other words: it should be run from inetd in nowait mode, + or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR" + +config FEATURE_TFTP_GET + bool "Enable 'tftp get' and/or tftpd upload code" + default y + depends on TFTP || TFTPD + help + Add support for the GET command within the TFTP client. This allows + a client to retrieve a file from a TFTP server. + Also enable upload support in tftpd, if tftpd is selected. + + Note: this option does _not_ make tftpd capable of download + (the usual operation people need from it)! + +config FEATURE_TFTP_PUT + bool "Enable 'tftp put' and/or tftpd download code" + default y + depends on TFTP || TFTPD + help + Add support for the PUT command within the TFTP client. This allows + a client to transfer a file to a TFTP server. + Also enable download support in tftpd, if tftpd is selected. + +config FEATURE_TFTP_BLOCKSIZE + bool "Enable 'blksize' and 'tsize' protocol options" + default n + depends on TFTP || TFTPD + help + Allow tftp to specify block size, and tftpd to understand + "blksize" and "tsize" options. + +config FEATURE_TFTP_PROGRESS_BAR + bool "Enable tftp progress meter" + default n + depends on TFTP && FEATURE_TFTP_BLOCKSIZE + help + Show progress bar. + +config TFTP_DEBUG + bool "Enable debug" + default n + depends on TFTP || TFTPD + help + Make tftp[d] print debugging messages on stderr. + This is useful if you are diagnosing a bug in tftp[d]. + +config TRACEROUTE + bool "traceroute" + default n + help + Utility to trace the route of IP packets. + +config TRACEROUTE6 + bool "traceroute6" + default n + depends on FEATURE_IPV6 && TRACEROUTE + help + Utility to trace the route of IPv6 packets. + +config FEATURE_TRACEROUTE_VERBOSE + bool "Enable verbose output" + default n + depends on TRACEROUTE + help + Add some verbosity to traceroute. This includes among other things + hostnames and ICMP response types. + +config FEATURE_TRACEROUTE_SOURCE_ROUTE + bool "Enable loose source route" + default n + depends on TRACEROUTE + help + Add option to specify a loose source route gateway + (8 maximum). + +config FEATURE_TRACEROUTE_USE_ICMP + bool "Use ICMP instead of UDP" + default n + depends on TRACEROUTE + help + Add option -I to use ICMP ECHO instead of UDP datagrams. + +config TUNCTL + bool "tunctl" + default n + help + tunctl creates or deletes tun devices. + +config FEATURE_TUNCTL_UG + bool "Support owner:group assignment" + default n + depends on TUNCTL + help + Allow to specify owner and group of newly created interface. + 340 bytes of pure bloat. Say no here. + +source networking/udhcp/Config.in + +config IFUPDOWN_UDHCPC_CMD_OPTIONS + string "ifup udhcpc command line options" + default "-R -n" + depends on IFUPDOWN && UDHCPC + help + Command line options to pass to udhcpc from ifup. + Intended to alter options not available in /etc/network/interfaces. + (IE: --syslog --background etc...) + +config UDPSVD + bool "udpsvd" + default n + help + udpsvd listens on an UDP port and runs a program for each new + connection. + +config VCONFIG + bool "vconfig" + default n + help + Creates, removes, and configures VLAN interfaces + +config WGET + bool "wget" + default n + help + wget is a utility for non-interactive download of files from HTTP, + HTTPS, and FTP servers. + +config FEATURE_WGET_STATUSBAR + bool "Enable a nifty process meter (+2k)" + default y + depends on WGET + help + Enable the transfer progress bar for wget transfers. + +config FEATURE_WGET_AUTHENTICATION + bool "Enable HTTP authentication" + default y + depends on WGET + help + Support authenticated HTTP transfers. + +config FEATURE_WGET_LONG_OPTIONS + bool "Enable long options" + default n + depends on WGET && LONG_OPTS + help + Support long options for the wget applet. + +config ZCIP + bool "zcip" + default n + select FEATURE_SYSLOG + help + ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. + It's a daemon that allocates and defends a dynamically assigned + address on the 169.254/16 network, requiring no system administrator. + + See http://www.zeroconf.org for further details, and "zcip.script" + in the busybox examples. + +endmenu diff --git a/networking/Kbuild b/networking/Kbuild deleted file mode 100644 index b0765bcf6..000000000 --- a/networking/Kbuild +++ /dev/null @@ -1,48 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_ARP) += arp.o interface.o -lib-$(CONFIG_ARPING) += arping.o -lib-$(CONFIG_BRCTL) += brctl.o -lib-$(CONFIG_DNSD) += dnsd.o -lib-$(CONFIG_ETHER_WAKE) += ether-wake.o -lib-$(CONFIG_FAKEIDENTD) += isrv_identd.o isrv.o -lib-$(CONFIG_FTPD) += ftpd.o -lib-$(CONFIG_FTPGET) += ftpgetput.o -lib-$(CONFIG_FTPPUT) += ftpgetput.o -lib-$(CONFIG_HOSTNAME) += hostname.o -lib-$(CONFIG_HTTPD) += httpd.o -lib-$(CONFIG_IFCONFIG) += ifconfig.o interface.o -lib-$(CONFIG_IFENSLAVE) += ifenslave.o interface.o -lib-$(CONFIG_IFPLUGD) += ifplugd.o -lib-$(CONFIG_IFUPDOWN) += ifupdown.o -lib-$(CONFIG_INETD) += inetd.o -lib-$(CONFIG_IP) += ip.o -lib-$(CONFIG_IPCALC) += ipcalc.o -lib-$(CONFIG_NAMEIF) += nameif.o -lib-$(CONFIG_NC) += nc.o -lib-$(CONFIG_NETSTAT) += netstat.o -lib-$(CONFIG_NSLOOKUP) += nslookup.o -lib-$(CONFIG_NTPD) += ntpd.o -lib-$(CONFIG_PING) += ping.o -lib-$(CONFIG_PING6) += ping.o -lib-$(CONFIG_PSCAN) += pscan.o -lib-$(CONFIG_ROUTE) += route.o -lib-$(CONFIG_SLATTACH) += slattach.o -lib-$(CONFIG_TC) += tc.o -lib-$(CONFIG_TELNET) += telnet.o -lib-$(CONFIG_TELNETD) += telnetd.o -lib-$(CONFIG_TFTP) += tftp.o -lib-$(CONFIG_TFTPD) += tftp.o -lib-$(CONFIG_TRACEROUTE) += traceroute.o -lib-$(CONFIG_TUNCTL) += tunctl.o -lib-$(CONFIG_VCONFIG) += vconfig.o -lib-$(CONFIG_WGET) += wget.o -lib-$(CONFIG_ZCIP) += zcip.o - -lib-$(CONFIG_TCPSVD) += tcpudp.o tcpudp_perhost.o -lib-$(CONFIG_UDPSVD) += tcpudp.o tcpudp_perhost.o diff --git a/networking/Kbuild.src b/networking/Kbuild.src new file mode 100644 index 000000000..b0765bcf6 --- /dev/null +++ b/networking/Kbuild.src @@ -0,0 +1,48 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_ARP) += arp.o interface.o +lib-$(CONFIG_ARPING) += arping.o +lib-$(CONFIG_BRCTL) += brctl.o +lib-$(CONFIG_DNSD) += dnsd.o +lib-$(CONFIG_ETHER_WAKE) += ether-wake.o +lib-$(CONFIG_FAKEIDENTD) += isrv_identd.o isrv.o +lib-$(CONFIG_FTPD) += ftpd.o +lib-$(CONFIG_FTPGET) += ftpgetput.o +lib-$(CONFIG_FTPPUT) += ftpgetput.o +lib-$(CONFIG_HOSTNAME) += hostname.o +lib-$(CONFIG_HTTPD) += httpd.o +lib-$(CONFIG_IFCONFIG) += ifconfig.o interface.o +lib-$(CONFIG_IFENSLAVE) += ifenslave.o interface.o +lib-$(CONFIG_IFPLUGD) += ifplugd.o +lib-$(CONFIG_IFUPDOWN) += ifupdown.o +lib-$(CONFIG_INETD) += inetd.o +lib-$(CONFIG_IP) += ip.o +lib-$(CONFIG_IPCALC) += ipcalc.o +lib-$(CONFIG_NAMEIF) += nameif.o +lib-$(CONFIG_NC) += nc.o +lib-$(CONFIG_NETSTAT) += netstat.o +lib-$(CONFIG_NSLOOKUP) += nslookup.o +lib-$(CONFIG_NTPD) += ntpd.o +lib-$(CONFIG_PING) += ping.o +lib-$(CONFIG_PING6) += ping.o +lib-$(CONFIG_PSCAN) += pscan.o +lib-$(CONFIG_ROUTE) += route.o +lib-$(CONFIG_SLATTACH) += slattach.o +lib-$(CONFIG_TC) += tc.o +lib-$(CONFIG_TELNET) += telnet.o +lib-$(CONFIG_TELNETD) += telnetd.o +lib-$(CONFIG_TFTP) += tftp.o +lib-$(CONFIG_TFTPD) += tftp.o +lib-$(CONFIG_TRACEROUTE) += traceroute.o +lib-$(CONFIG_TUNCTL) += tunctl.o +lib-$(CONFIG_VCONFIG) += vconfig.o +lib-$(CONFIG_WGET) += wget.o +lib-$(CONFIG_ZCIP) += zcip.o + +lib-$(CONFIG_TCPSVD) += tcpudp.o tcpudp_perhost.o +lib-$(CONFIG_UDPSVD) += tcpudp.o tcpudp_perhost.o diff --git a/networking/libiproute/Kbuild b/networking/libiproute/Kbuild deleted file mode 100644 index 5f9dd32b6..000000000 --- a/networking/libiproute/Kbuild +++ /dev/null @@ -1,64 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2004 by Erik Andersen -# -# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. -# - -lib-y:= - -lib-$(CONFIG_SLATTACH) += \ - utils.o - -lib-$(CONFIG_IP) += \ - ip_parse_common_args.o \ - libnetlink.o \ - ll_addr.o \ - ll_map.o \ - ll_proto.o \ - ll_types.o \ - rt_names.o \ - rtm_map.o \ - utils.o - -lib-$(CONFIG_FEATURE_IP_ADDRESS) += \ - ip_parse_common_args.o \ - ipaddress.o \ - libnetlink.o \ - ll_addr.o \ - ll_map.o \ - ll_types.o \ - rt_names.o \ - utils.o - -lib-$(CONFIG_FEATURE_IP_LINK) += \ - ip_parse_common_args.o \ - ipaddress.o \ - iplink.o \ - libnetlink.o \ - ll_addr.o \ - ll_map.o \ - ll_types.o \ - rt_names.o \ - utils.o - -lib-$(CONFIG_FEATURE_IP_ROUTE) += \ - ip_parse_common_args.o \ - iproute.o \ - libnetlink.o \ - ll_map.o \ - rt_names.o \ - rtm_map.o \ - utils.o - -lib-$(CONFIG_FEATURE_IP_TUNNEL) += \ - ip_parse_common_args.o \ - iptunnel.o \ - rt_names.o \ - utils.o - -lib-$(CONFIG_FEATURE_IP_RULE) += \ - ip_parse_common_args.o \ - iprule.o \ - rt_names.o \ - utils.o diff --git a/networking/libiproute/Kbuild.src b/networking/libiproute/Kbuild.src new file mode 100644 index 000000000..5f9dd32b6 --- /dev/null +++ b/networking/libiproute/Kbuild.src @@ -0,0 +1,64 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2004 by Erik Andersen +# +# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. +# + +lib-y:= + +lib-$(CONFIG_SLATTACH) += \ + utils.o + +lib-$(CONFIG_IP) += \ + ip_parse_common_args.o \ + libnetlink.o \ + ll_addr.o \ + ll_map.o \ + ll_proto.o \ + ll_types.o \ + rt_names.o \ + rtm_map.o \ + utils.o + +lib-$(CONFIG_FEATURE_IP_ADDRESS) += \ + ip_parse_common_args.o \ + ipaddress.o \ + libnetlink.o \ + ll_addr.o \ + ll_map.o \ + ll_types.o \ + rt_names.o \ + utils.o + +lib-$(CONFIG_FEATURE_IP_LINK) += \ + ip_parse_common_args.o \ + ipaddress.o \ + iplink.o \ + libnetlink.o \ + ll_addr.o \ + ll_map.o \ + ll_types.o \ + rt_names.o \ + utils.o + +lib-$(CONFIG_FEATURE_IP_ROUTE) += \ + ip_parse_common_args.o \ + iproute.o \ + libnetlink.o \ + ll_map.o \ + rt_names.o \ + rtm_map.o \ + utils.o + +lib-$(CONFIG_FEATURE_IP_TUNNEL) += \ + ip_parse_common_args.o \ + iptunnel.o \ + rt_names.o \ + utils.o + +lib-$(CONFIG_FEATURE_IP_RULE) += \ + ip_parse_common_args.o \ + iprule.o \ + rt_names.o \ + utils.o diff --git a/networking/udhcp/Config.in b/networking/udhcp/Config.in deleted file mode 100644 index 34adf35fe..000000000 --- a/networking/udhcp/Config.in +++ /dev/null @@ -1,128 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -config UDHCPD - bool "udhcp server (udhcpd)" - default n - help - udhcpd is a DHCP server geared primarily toward embedded systems, - while striving to be fully functional and RFC compliant. - -config DHCPRELAY - bool "dhcprelay" - default n - depends on UDHCPD - help - dhcprelay listens for dhcp requests on one or more interfaces - and forwards these requests to a different interface or dhcp - server. - -config DUMPLEASES - bool "Lease display utility (dumpleases)" - default n - depends on UDHCPD - help - dumpleases displays the leases written out by the udhcpd server. - Lease times are stored in the file by time remaining in lease, or - by the absolute time that it expires in seconds from epoch. - -config FEATURE_UDHCPD_WRITE_LEASES_EARLY - bool "Rewrite the lease file at every new acknowledge" - default n - depends on UDHCPD - help - If selected, udhcpd will write a new file with leases every - time a new lease has been accepted, thus eliminating the need - to send SIGUSR1 for the initial writing or updating. Any timed - rewriting remains undisturbed - -config DHCPD_LEASES_FILE - string "Absolute path to lease file" - default "/var/lib/misc/udhcpd.leases" - depends on UDHCPD - help - udhcpd stores addresses in a lease file. This is the absolute path - of the file. Normally it is safe to leave it untouched. - -config UDHCPC - bool "udhcp client (udhcpc)" - default n - help - udhcpc is a DHCP client geared primarily toward embedded systems, - while striving to be fully functional and RFC compliant. - - The udhcp client negotiates a lease with the DHCP server and - runs a script when a lease is obtained or lost. - -config FEATURE_UDHCPC_ARPING - bool "Verify that the offered address is free, using ARP ping" - default y - depends on UDHCPC - help - If selected, udhcpc will send ARP probes and make sure - the offered address is really not in use by anyone. The client - will DHCPDECLINE the offer if the address is in use, - and restart the discover process. - -config FEATURE_UDHCP_PORT - bool "Enable '-P port' option for udhcpd and udhcpc" - default n - depends on UDHCPD || UDHCPC - help - At the cost of ~300 bytes, enables -P port option. - This feature is typically not needed. - -config UDHCP_DEBUG - int "Maximum verbosity level for udhcp applets (0..9)" - default 0 - range 0 9 - depends on UDHCPD || UDHCPC || DHCPRELAY - help - Verbosity can be increased with multiple -v options. - This options controls how high it can be cranked up. - - Bigger values result in bigger code. Levels above 1 - are very verbose and useful for debugging only. - -config FEATURE_UDHCP_RFC3397 - bool "Support for RFC3397 domain search (experimental)" - default n - depends on UDHCPD || UDHCPC - help - If selected, both client and server will support passing of domain - search lists via option 119, specified in RFC 3397, - and SIP servers option 120, specified in RFC 3361. - -config UDHCPC_DEFAULT_SCRIPT - string "Absolute path to config script" - default "/usr/share/udhcpc/default.script" - depends on UDHCPC - help - This script is called after udhcpc receives an answer. See - examples/udhcp for a working example. Normally it is safe - to leave this untouched. - -config UDHCPC_SLACK_FOR_BUGGY_SERVERS - int "DHCP options slack buffer size" - default 80 - range 0 924 - depends on UDHCPD || UDHCPC - help - Some buggy DHCP servers send DHCP offer packets with option - field larger than we expect (which might also be considered a - buffer overflow attempt). These packets are normally discarded. - If circumstances beyond your control force you to support such - servers, this may help. The upper limit (924) makes dhcpc accept - even 1500 byte packets (maximum-sized ethernet packets). - - This option does not make dhcp[cd] emit non-standard - sized packets. - - Known buggy DHCP servers: - 3Com OfficeConnect Remote 812 ADSL Router: - seems to confuse maximum allowed UDP packet size with - maximum size of entire IP packet, and sends packets which are - 28 bytes too large. - Seednet (ISP) VDSL: sends packets 2 bytes too large. diff --git a/networking/udhcp/Config.src b/networking/udhcp/Config.src new file mode 100644 index 000000000..34adf35fe --- /dev/null +++ b/networking/udhcp/Config.src @@ -0,0 +1,128 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +config UDHCPD + bool "udhcp server (udhcpd)" + default n + help + udhcpd is a DHCP server geared primarily toward embedded systems, + while striving to be fully functional and RFC compliant. + +config DHCPRELAY + bool "dhcprelay" + default n + depends on UDHCPD + help + dhcprelay listens for dhcp requests on one or more interfaces + and forwards these requests to a different interface or dhcp + server. + +config DUMPLEASES + bool "Lease display utility (dumpleases)" + default n + depends on UDHCPD + help + dumpleases displays the leases written out by the udhcpd server. + Lease times are stored in the file by time remaining in lease, or + by the absolute time that it expires in seconds from epoch. + +config FEATURE_UDHCPD_WRITE_LEASES_EARLY + bool "Rewrite the lease file at every new acknowledge" + default n + depends on UDHCPD + help + If selected, udhcpd will write a new file with leases every + time a new lease has been accepted, thus eliminating the need + to send SIGUSR1 for the initial writing or updating. Any timed + rewriting remains undisturbed + +config DHCPD_LEASES_FILE + string "Absolute path to lease file" + default "/var/lib/misc/udhcpd.leases" + depends on UDHCPD + help + udhcpd stores addresses in a lease file. This is the absolute path + of the file. Normally it is safe to leave it untouched. + +config UDHCPC + bool "udhcp client (udhcpc)" + default n + help + udhcpc is a DHCP client geared primarily toward embedded systems, + while striving to be fully functional and RFC compliant. + + The udhcp client negotiates a lease with the DHCP server and + runs a script when a lease is obtained or lost. + +config FEATURE_UDHCPC_ARPING + bool "Verify that the offered address is free, using ARP ping" + default y + depends on UDHCPC + help + If selected, udhcpc will send ARP probes and make sure + the offered address is really not in use by anyone. The client + will DHCPDECLINE the offer if the address is in use, + and restart the discover process. + +config FEATURE_UDHCP_PORT + bool "Enable '-P port' option for udhcpd and udhcpc" + default n + depends on UDHCPD || UDHCPC + help + At the cost of ~300 bytes, enables -P port option. + This feature is typically not needed. + +config UDHCP_DEBUG + int "Maximum verbosity level for udhcp applets (0..9)" + default 0 + range 0 9 + depends on UDHCPD || UDHCPC || DHCPRELAY + help + Verbosity can be increased with multiple -v options. + This options controls how high it can be cranked up. + + Bigger values result in bigger code. Levels above 1 + are very verbose and useful for debugging only. + +config FEATURE_UDHCP_RFC3397 + bool "Support for RFC3397 domain search (experimental)" + default n + depends on UDHCPD || UDHCPC + help + If selected, both client and server will support passing of domain + search lists via option 119, specified in RFC 3397, + and SIP servers option 120, specified in RFC 3361. + +config UDHCPC_DEFAULT_SCRIPT + string "Absolute path to config script" + default "/usr/share/udhcpc/default.script" + depends on UDHCPC + help + This script is called after udhcpc receives an answer. See + examples/udhcp for a working example. Normally it is safe + to leave this untouched. + +config UDHCPC_SLACK_FOR_BUGGY_SERVERS + int "DHCP options slack buffer size" + default 80 + range 0 924 + depends on UDHCPD || UDHCPC + help + Some buggy DHCP servers send DHCP offer packets with option + field larger than we expect (which might also be considered a + buffer overflow attempt). These packets are normally discarded. + If circumstances beyond your control force you to support such + servers, this may help. The upper limit (924) makes dhcpc accept + even 1500 byte packets (maximum-sized ethernet packets). + + This option does not make dhcp[cd] emit non-standard + sized packets. + + Known buggy DHCP servers: + 3Com OfficeConnect Remote 812 ADSL Router: + seems to confuse maximum allowed UDP packet size with + maximum size of entire IP packet, and sends packets which are + 28 bytes too large. + Seednet (ISP) VDSL: sends packets 2 bytes too large. diff --git a/networking/udhcp/Kbuild b/networking/udhcp/Kbuild deleted file mode 100644 index 1803903f0..000000000 --- a/networking/udhcp/Kbuild +++ /dev/null @@ -1,19 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2004 by Erik Andersen -# -# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. -# - -lib-y:= - -lib-$(CONFIG_UDHCPC) += common.o packet.o signalpipe.o socket.o -lib-$(CONFIG_UDHCPD) += common.o packet.o signalpipe.o socket.o - -lib-$(CONFIG_UDHCPC) += dhcpc.o -lib-$(CONFIG_UDHCPD) += dhcpd.o arpping.o files.o leases.o static_leases.o -lib-$(CONFIG_DUMPLEASES) += dumpleases.o -lib-$(CONFIG_DHCPRELAY) += dhcprelay.o - -lib-$(CONFIG_FEATURE_UDHCPC_ARPING) += arpping.o -lib-$(CONFIG_FEATURE_UDHCP_RFC3397) += domain_codec.o diff --git a/networking/udhcp/Kbuild.src b/networking/udhcp/Kbuild.src new file mode 100644 index 000000000..1803903f0 --- /dev/null +++ b/networking/udhcp/Kbuild.src @@ -0,0 +1,19 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2004 by Erik Andersen +# +# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. +# + +lib-y:= + +lib-$(CONFIG_UDHCPC) += common.o packet.o signalpipe.o socket.o +lib-$(CONFIG_UDHCPD) += common.o packet.o signalpipe.o socket.o + +lib-$(CONFIG_UDHCPC) += dhcpc.o +lib-$(CONFIG_UDHCPD) += dhcpd.o arpping.o files.o leases.o static_leases.o +lib-$(CONFIG_DUMPLEASES) += dumpleases.o +lib-$(CONFIG_DHCPRELAY) += dhcprelay.o + +lib-$(CONFIG_FEATURE_UDHCPC_ARPING) += arpping.o +lib-$(CONFIG_FEATURE_UDHCP_RFC3397) += domain_codec.o diff --git a/printutils/Config.in b/printutils/Config.in deleted file mode 100644 index 6912ece6c..000000000 --- a/printutils/Config.in +++ /dev/null @@ -1,26 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Print Utilities" - -config LPD - bool "lpd" - default n - help - lpd is a print spooling daemon. - -config LPR - bool "lpr" - default n - help - lpr sends files (or standard input) to a print spooling daemon. - -config LPQ - bool "lpq" - default n - help - lpq is a print spool queue examination and manipulation program. - -endmenu diff --git a/printutils/Config.src b/printutils/Config.src new file mode 100644 index 000000000..6912ece6c --- /dev/null +++ b/printutils/Config.src @@ -0,0 +1,26 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Print Utilities" + +config LPD + bool "lpd" + default n + help + lpd is a print spooling daemon. + +config LPR + bool "lpr" + default n + help + lpr sends files (or standard input) to a print spooling daemon. + +config LPQ + bool "lpq" + default n + help + lpq is a print spool queue examination and manipulation program. + +endmenu diff --git a/printutils/Kbuild b/printutils/Kbuild deleted file mode 100644 index 008290ee9..000000000 --- a/printutils/Kbuild +++ /dev/null @@ -1,9 +0,0 @@ -# Makefile for busybox -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y := - -lib-$(CONFIG_LPD) += lpd.o -lib-$(CONFIG_LPR) += lpr.o -lib-$(CONFIG_LPQ) += lpr.o diff --git a/printutils/Kbuild.src b/printutils/Kbuild.src new file mode 100644 index 000000000..008290ee9 --- /dev/null +++ b/printutils/Kbuild.src @@ -0,0 +1,9 @@ +# Makefile for busybox +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y := + +lib-$(CONFIG_LPD) += lpd.o +lib-$(CONFIG_LPR) += lpr.o +lib-$(CONFIG_LPQ) += lpr.o diff --git a/procps/Config.in b/procps/Config.in deleted file mode 100644 index 6a9a36638..000000000 --- a/procps/Config.in +++ /dev/null @@ -1,213 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Process Utilities" - -config FREE - bool "free" - default n - help - free displays the total amount of free and used physical and swap - memory in the system, as well as the buffers used by the kernel. - The shared memory column should be ignored; it is obsolete. - -config FUSER - bool "fuser" - default n - help - fuser lists all PIDs (Process IDs) that currently have a given - file open. fuser can also list all PIDs that have a given network - (TCP or UDP) port open. - -config KILL - bool "kill" - default n - help - The command kill sends the specified signal to the specified - process or process group. If no signal is specified, the TERM - signal is sent. - -config KILLALL - bool "killall" - default n - depends on KILL - help - killall sends a signal to all processes running any of the - specified commands. If no signal name is specified, SIGTERM is - sent. - -config KILLALL5 - bool "killall5" - default n - depends on KILL - -config NMETER - bool "nmeter" - default n - help - Prints selected system stats continuously, one line per update. - -config PGREP - bool "pgrep" - default n - help - Look for processes by name. - -config PIDOF - bool "pidof" - default n - help - Pidof finds the process id's (pids) of the named programs. It prints - those id's on the standard output. - -config FEATURE_PIDOF_SINGLE - bool "Enable argument for single shot (-s)" - default n - depends on PIDOF - help - Support argument '-s' for returning only the first pid found. - -config FEATURE_PIDOF_OMIT - bool "Enable argument for omitting pids (-o)" - default n - depends on PIDOF - help - Support argument '-o' for omitting the given pids in output. - The special pid %PPID can be used to name the parent process - of the pidof, in other words the calling shell or shell script. - -config PKILL - bool "pkill" - default n - help - Send signals to processes by name. - -config PS - bool "ps" - default n - help - ps gives a snapshot of the current processes. - -config FEATURE_PS_WIDE - bool "Enable wide output option (-w)" - default n - depends on PS - help - Support argument 'w' for wide output. - If given once, 132 chars are printed, and if given more - than once, the length is unlimited. - -config FEATURE_PS_TIME - bool "Enable time and elapsed time output" - default n - depends on PS && DESKTOP - help - Support -o time and -o etime output specifiers. - -config FEATURE_PS_ADDITIONAL_COLUMNS - bool "Enable additional ps columns" - default n - depends on PS && DESKTOP - help - Support -o rgroup, -o ruser, -o nice output specifiers. - -config FEATURE_PS_UNUSUAL_SYSTEMS - bool "Support Linux prior to 2.4.0 and non-ELF systems" - default n - depends on FEATURE_PS_TIME - help - Include support for measuring HZ on old kernels and non-ELF systems - (if you are on Linux 2.4.0+ and use ELF, you don't need this) - -config RENICE - bool "renice" - default n - help - Renice alters the scheduling priority of one or more running - processes. - -config BB_SYSCTL - bool "sysctl" - default n - help - Configure kernel parameters at runtime. - -config TOP - bool "top" - default n - help - The top program provides a dynamic real-time view of a running - system. - -config FEATURE_TOP_CPU_USAGE_PERCENTAGE - bool "Show CPU per-process usage percentage" - default y - depends on TOP - help - Make top display CPU usage for each process. - This adds about 2k. - -config FEATURE_TOP_CPU_GLOBAL_PERCENTS - bool "Show CPU global usage percentage" - default y - depends on FEATURE_TOP_CPU_USAGE_PERCENTAGE - help - Makes top display "CPU: NN% usr NN% sys..." line. - This adds about 0.5k. - -config FEATURE_TOP_SMP_CPU - bool "SMP CPU usage display ('c' key)" - default n - depends on FEATURE_TOP_CPU_GLOBAL_PERCENTS - help - Allow 'c' key to switch between individual/cumulative CPU stats - This adds about 0.5k. - -config FEATURE_TOP_DECIMALS - bool "Show 1/10th of a percent in CPU/mem statistics" - default n - depends on FEATURE_TOP_CPU_USAGE_PERCENTAGE - help - Show 1/10th of a percent in CPU/mem statistics. - This adds about 0.3k. - -config FEATURE_TOP_SMP_PROCESS - bool "Show CPU process runs on ('j' field)" - default n - depends on TOP - help - Show CPU where process was last found running on. - This is the 'j' field. - -config FEATURE_TOPMEM - bool "Topmem command ('s' key)" - default n - depends on TOP - help - Enable 's' in top (gives lots of memory info). - -config FEATURE_SHOW_THREADS - bool "Support for showing threads in ps/top" - default n - depends on PS || TOP - help - Enables ps -T option and 'h' command in top - -config UPTIME - bool "uptime" - default n - help - uptime gives a one line display of the current time, how long - the system has been running, how many users are currently logged - on, and the system load averages for the past 1, 5, and 15 minutes. - -config WATCH - bool "watch" - default n - help - watch is used to execute a program periodically, showing - output to the screen. - -endmenu diff --git a/procps/Config.src b/procps/Config.src new file mode 100644 index 000000000..6a9a36638 --- /dev/null +++ b/procps/Config.src @@ -0,0 +1,213 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Process Utilities" + +config FREE + bool "free" + default n + help + free displays the total amount of free and used physical and swap + memory in the system, as well as the buffers used by the kernel. + The shared memory column should be ignored; it is obsolete. + +config FUSER + bool "fuser" + default n + help + fuser lists all PIDs (Process IDs) that currently have a given + file open. fuser can also list all PIDs that have a given network + (TCP or UDP) port open. + +config KILL + bool "kill" + default n + help + The command kill sends the specified signal to the specified + process or process group. If no signal is specified, the TERM + signal is sent. + +config KILLALL + bool "killall" + default n + depends on KILL + help + killall sends a signal to all processes running any of the + specified commands. If no signal name is specified, SIGTERM is + sent. + +config KILLALL5 + bool "killall5" + default n + depends on KILL + +config NMETER + bool "nmeter" + default n + help + Prints selected system stats continuously, one line per update. + +config PGREP + bool "pgrep" + default n + help + Look for processes by name. + +config PIDOF + bool "pidof" + default n + help + Pidof finds the process id's (pids) of the named programs. It prints + those id's on the standard output. + +config FEATURE_PIDOF_SINGLE + bool "Enable argument for single shot (-s)" + default n + depends on PIDOF + help + Support argument '-s' for returning only the first pid found. + +config FEATURE_PIDOF_OMIT + bool "Enable argument for omitting pids (-o)" + default n + depends on PIDOF + help + Support argument '-o' for omitting the given pids in output. + The special pid %PPID can be used to name the parent process + of the pidof, in other words the calling shell or shell script. + +config PKILL + bool "pkill" + default n + help + Send signals to processes by name. + +config PS + bool "ps" + default n + help + ps gives a snapshot of the current processes. + +config FEATURE_PS_WIDE + bool "Enable wide output option (-w)" + default n + depends on PS + help + Support argument 'w' for wide output. + If given once, 132 chars are printed, and if given more + than once, the length is unlimited. + +config FEATURE_PS_TIME + bool "Enable time and elapsed time output" + default n + depends on PS && DESKTOP + help + Support -o time and -o etime output specifiers. + +config FEATURE_PS_ADDITIONAL_COLUMNS + bool "Enable additional ps columns" + default n + depends on PS && DESKTOP + help + Support -o rgroup, -o ruser, -o nice output specifiers. + +config FEATURE_PS_UNUSUAL_SYSTEMS + bool "Support Linux prior to 2.4.0 and non-ELF systems" + default n + depends on FEATURE_PS_TIME + help + Include support for measuring HZ on old kernels and non-ELF systems + (if you are on Linux 2.4.0+ and use ELF, you don't need this) + +config RENICE + bool "renice" + default n + help + Renice alters the scheduling priority of one or more running + processes. + +config BB_SYSCTL + bool "sysctl" + default n + help + Configure kernel parameters at runtime. + +config TOP + bool "top" + default n + help + The top program provides a dynamic real-time view of a running + system. + +config FEATURE_TOP_CPU_USAGE_PERCENTAGE + bool "Show CPU per-process usage percentage" + default y + depends on TOP + help + Make top display CPU usage for each process. + This adds about 2k. + +config FEATURE_TOP_CPU_GLOBAL_PERCENTS + bool "Show CPU global usage percentage" + default y + depends on FEATURE_TOP_CPU_USAGE_PERCENTAGE + help + Makes top display "CPU: NN% usr NN% sys..." line. + This adds about 0.5k. + +config FEATURE_TOP_SMP_CPU + bool "SMP CPU usage display ('c' key)" + default n + depends on FEATURE_TOP_CPU_GLOBAL_PERCENTS + help + Allow 'c' key to switch between individual/cumulative CPU stats + This adds about 0.5k. + +config FEATURE_TOP_DECIMALS + bool "Show 1/10th of a percent in CPU/mem statistics" + default n + depends on FEATURE_TOP_CPU_USAGE_PERCENTAGE + help + Show 1/10th of a percent in CPU/mem statistics. + This adds about 0.3k. + +config FEATURE_TOP_SMP_PROCESS + bool "Show CPU process runs on ('j' field)" + default n + depends on TOP + help + Show CPU where process was last found running on. + This is the 'j' field. + +config FEATURE_TOPMEM + bool "Topmem command ('s' key)" + default n + depends on TOP + help + Enable 's' in top (gives lots of memory info). + +config FEATURE_SHOW_THREADS + bool "Support for showing threads in ps/top" + default n + depends on PS || TOP + help + Enables ps -T option and 'h' command in top + +config UPTIME + bool "uptime" + default n + help + uptime gives a one line display of the current time, how long + the system has been running, how many users are currently logged + on, and the system load averages for the past 1, 5, and 15 minutes. + +config WATCH + bool "watch" + default n + help + watch is used to execute a program periodically, showing + output to the screen. + +endmenu diff --git a/procps/Kbuild b/procps/Kbuild deleted file mode 100644 index 8e62fdfa6..000000000 --- a/procps/Kbuild +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_FREE) += free.o -lib-$(CONFIG_FUSER) += fuser.o -lib-$(CONFIG_KILL) += kill.o -lib-$(CONFIG_ASH) += kill.o # used for built-in kill by ash -lib-$(CONFIG_NMETER) += nmeter.o -lib-$(CONFIG_PGREP) += pgrep.o -lib-$(CONFIG_PKILL) += pgrep.o -lib-$(CONFIG_PIDOF) += pidof.o -lib-$(CONFIG_PS) += ps.o -lib-$(CONFIG_RENICE) += renice.o -lib-$(CONFIG_BB_SYSCTL) += sysctl.o -lib-$(CONFIG_TOP) += top.o -lib-$(CONFIG_UPTIME) += uptime.o -lib-$(CONFIG_WATCH) += watch.o diff --git a/procps/Kbuild.src b/procps/Kbuild.src new file mode 100644 index 000000000..8e62fdfa6 --- /dev/null +++ b/procps/Kbuild.src @@ -0,0 +1,21 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_FREE) += free.o +lib-$(CONFIG_FUSER) += fuser.o +lib-$(CONFIG_KILL) += kill.o +lib-$(CONFIG_ASH) += kill.o # used for built-in kill by ash +lib-$(CONFIG_NMETER) += nmeter.o +lib-$(CONFIG_PGREP) += pgrep.o +lib-$(CONFIG_PKILL) += pgrep.o +lib-$(CONFIG_PIDOF) += pidof.o +lib-$(CONFIG_PS) += ps.o +lib-$(CONFIG_RENICE) += renice.o +lib-$(CONFIG_BB_SYSCTL) += sysctl.o +lib-$(CONFIG_TOP) += top.o +lib-$(CONFIG_UPTIME) += uptime.o +lib-$(CONFIG_WATCH) += watch.o diff --git a/runit/Config.in b/runit/Config.in deleted file mode 100644 index 422ca7517..000000000 --- a/runit/Config.in +++ /dev/null @@ -1,83 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Runit Utilities" - -config RUNSV - bool "runsv" - default n - help - runsv starts and monitors a service and optionally an appendant log - service. - -config RUNSVDIR - bool "runsvdir" - default n - help - runsvdir starts a runsv process for each subdirectory, or symlink to - a directory, in the services directory dir, up to a limit of 1000 - subdirectories, and restarts a runsv process if it terminates. - -config FEATURE_RUNSVDIR_LOG - bool "Enable scrolling argument log" - depends on RUNSVDIR - default n - help - Enable feature where second parameter of runsvdir holds last error - message (viewable via top/ps). Otherwise (feature is off - or no parameter), error messages go to stderr only. - -config SV - bool "sv" - default n - help - sv reports the current status and controls the state of services - monitored by the runsv supervisor. - -config SV_DEFAULT_SERVICE_DIR - string "Default directory for services" - default "/var/service" - depends on SV - help - Default directory for services. - Defaults to "/var/service" - -config SVLOGD - bool "svlogd" - default n - help - svlogd continuously reads log data from its standard input, optionally - filters log messages, and writes the data to one or more automatically - rotated logs. - -config CHPST - bool "chpst" - default n - help - chpst changes the process state according to the given options, and - execs specified program. - -config SETUIDGID - bool "setuidgid" - help - Sets soft resource limits as specified by options - -config ENVUIDGID - bool "envuidgid" - help - Sets $UID to account's uid and $GID to account's gid - -config ENVDIR - bool "envdir" - help - Sets various environment variables as specified by files - in the given directory - -config SOFTLIMIT - bool "softlimit" - help - Sets soft resource limits as specified by options - -endmenu diff --git a/runit/Config.src b/runit/Config.src new file mode 100644 index 000000000..422ca7517 --- /dev/null +++ b/runit/Config.src @@ -0,0 +1,83 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Runit Utilities" + +config RUNSV + bool "runsv" + default n + help + runsv starts and monitors a service and optionally an appendant log + service. + +config RUNSVDIR + bool "runsvdir" + default n + help + runsvdir starts a runsv process for each subdirectory, or symlink to + a directory, in the services directory dir, up to a limit of 1000 + subdirectories, and restarts a runsv process if it terminates. + +config FEATURE_RUNSVDIR_LOG + bool "Enable scrolling argument log" + depends on RUNSVDIR + default n + help + Enable feature where second parameter of runsvdir holds last error + message (viewable via top/ps). Otherwise (feature is off + or no parameter), error messages go to stderr only. + +config SV + bool "sv" + default n + help + sv reports the current status and controls the state of services + monitored by the runsv supervisor. + +config SV_DEFAULT_SERVICE_DIR + string "Default directory for services" + default "/var/service" + depends on SV + help + Default directory for services. + Defaults to "/var/service" + +config SVLOGD + bool "svlogd" + default n + help + svlogd continuously reads log data from its standard input, optionally + filters log messages, and writes the data to one or more automatically + rotated logs. + +config CHPST + bool "chpst" + default n + help + chpst changes the process state according to the given options, and + execs specified program. + +config SETUIDGID + bool "setuidgid" + help + Sets soft resource limits as specified by options + +config ENVUIDGID + bool "envuidgid" + help + Sets $UID to account's uid and $GID to account's gid + +config ENVDIR + bool "envdir" + help + Sets various environment variables as specified by files + in the given directory + +config SOFTLIMIT + bool "softlimit" + help + Sets soft resource limits as specified by options + +endmenu diff --git a/runit/Kbuild b/runit/Kbuild deleted file mode 100644 index ab9eef6ff..000000000 --- a/runit/Kbuild +++ /dev/null @@ -1,17 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_RUNSV) += runsv.o runit_lib.o -lib-$(CONFIG_RUNSVDIR) += runsvdir.o runit_lib.o -lib-$(CONFIG_SV) += sv.o runit_lib.o -lib-$(CONFIG_SVLOGD) += svlogd.o runit_lib.o -lib-$(CONFIG_CHPST) += chpst.o - -lib-$(CONFIG_ENVDIR) += chpst.o -lib-$(CONFIG_ENVUIDGID) += chpst.o -lib-$(CONFIG_SETUIDGID) += chpst.o -lib-$(CONFIG_SOFTLIMIT) += chpst.o diff --git a/runit/Kbuild.src b/runit/Kbuild.src new file mode 100644 index 000000000..ab9eef6ff --- /dev/null +++ b/runit/Kbuild.src @@ -0,0 +1,17 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_RUNSV) += runsv.o runit_lib.o +lib-$(CONFIG_RUNSVDIR) += runsvdir.o runit_lib.o +lib-$(CONFIG_SV) += sv.o runit_lib.o +lib-$(CONFIG_SVLOGD) += svlogd.o runit_lib.o +lib-$(CONFIG_CHPST) += chpst.o + +lib-$(CONFIG_ENVDIR) += chpst.o +lib-$(CONFIG_ENVUIDGID) += chpst.o +lib-$(CONFIG_SETUIDGID) += chpst.o +lib-$(CONFIG_SOFTLIMIT) += chpst.o diff --git a/scripts/Kbuild b/scripts/Kbuild deleted file mode 100644 index 83b423253..000000000 --- a/scripts/Kbuild +++ /dev/null @@ -1,7 +0,0 @@ -### -# scripts contains sources for various helper programs used throughout -# the kernel for the build process. -# --------------------------------------------------------------------------- - -# Let clean descend into subdirs -subdir- += basic kconfig diff --git a/scripts/Kbuild.src b/scripts/Kbuild.src new file mode 100644 index 000000000..83b423253 --- /dev/null +++ b/scripts/Kbuild.src @@ -0,0 +1,7 @@ +### +# scripts contains sources for various helper programs used throughout +# the kernel for the build process. +# --------------------------------------------------------------------------- + +# Let clean descend into subdirs +subdir- += basic kconfig diff --git a/selinux/Config.in b/selinux/Config.in deleted file mode 100644 index e46030adf..000000000 --- a/selinux/Config.in +++ /dev/null @@ -1,123 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "SELinux Utilities" - depends on SELINUX - -config CHCON - bool "chcon" - default n - depends on SELINUX - help - Enable support to change the security context of file. - -config FEATURE_CHCON_LONG_OPTIONS - bool "Enable long options" - default y - depends on CHCON && LONG_OPTS - help - Support long options for the chcon applet. - -config GETENFORCE - bool "getenforce" - default n - depends on SELINUX - help - Enable support to get the current mode of SELinux. - -config GETSEBOOL - bool "getsebool" - default n - depends on SELINUX - help - Enable support to get SELinux boolean values. - -config LOAD_POLICY - bool "load_policy" - default n - depends on SELINUX - help - Enable support to load SELinux policy. - -config MATCHPATHCON - bool "matchpathcon" - default n - depends on SELINUX - help - Enable support to get default security context of the - specified path from the file contexts configuration. - -config RESTORECON - bool "restorecon" - default n - depends on SELINUX - help - Enable support to relabel files. The feature is almost - the same as setfiles, but usage is a little different. - -config RUNCON - bool "runcon" - default n - depends on SELINUX - help - Enable support to run command in speficied security context. - -config FEATURE_RUNCON_LONG_OPTIONS - bool "Enable long options" - default y - depends on RUNCON && LONG_OPTS - help - Support long options for the runcon applet. - -config SELINUXENABLED - bool "selinuxenabled" - default n - depends on SELINUX - help - Enable support for this command to be used within shell scripts - to determine if selinux is enabled. - -config SETENFORCE - bool "setenforce" - default n - depends on SELINUX - help - Enable support to modify the mode SELinux is running in. - -config SETFILES - bool "setfiles" - default n - depends on SELINUX - help - Enable support to modify to relabel files. - Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64, - (It is default in libselinux's Makefile), you _must_ enable - CONFIG_LFS. - -config FEATURE_SETFILES_CHECK_OPTION - bool "Enable check option" - default n - depends on SETFILES - help - Support "-c" option (check the validity of the contexts against - the specified binary policy) for setfiles. Requires libsepol. - -config SETSEBOOL - bool "setsebool" - default n - depends on SELINUX - help - Enable support for change boolean. - semanage and -P option is not supported yet. - -config SESTATUS - bool "sestatus" - default n - depends on SELINUX - help - Displays the status of SELinux. - -endmenu - diff --git a/selinux/Config.src b/selinux/Config.src new file mode 100644 index 000000000..e46030adf --- /dev/null +++ b/selinux/Config.src @@ -0,0 +1,123 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "SELinux Utilities" + depends on SELINUX + +config CHCON + bool "chcon" + default n + depends on SELINUX + help + Enable support to change the security context of file. + +config FEATURE_CHCON_LONG_OPTIONS + bool "Enable long options" + default y + depends on CHCON && LONG_OPTS + help + Support long options for the chcon applet. + +config GETENFORCE + bool "getenforce" + default n + depends on SELINUX + help + Enable support to get the current mode of SELinux. + +config GETSEBOOL + bool "getsebool" + default n + depends on SELINUX + help + Enable support to get SELinux boolean values. + +config LOAD_POLICY + bool "load_policy" + default n + depends on SELINUX + help + Enable support to load SELinux policy. + +config MATCHPATHCON + bool "matchpathcon" + default n + depends on SELINUX + help + Enable support to get default security context of the + specified path from the file contexts configuration. + +config RESTORECON + bool "restorecon" + default n + depends on SELINUX + help + Enable support to relabel files. The feature is almost + the same as setfiles, but usage is a little different. + +config RUNCON + bool "runcon" + default n + depends on SELINUX + help + Enable support to run command in speficied security context. + +config FEATURE_RUNCON_LONG_OPTIONS + bool "Enable long options" + default y + depends on RUNCON && LONG_OPTS + help + Support long options for the runcon applet. + +config SELINUXENABLED + bool "selinuxenabled" + default n + depends on SELINUX + help + Enable support for this command to be used within shell scripts + to determine if selinux is enabled. + +config SETENFORCE + bool "setenforce" + default n + depends on SELINUX + help + Enable support to modify the mode SELinux is running in. + +config SETFILES + bool "setfiles" + default n + depends on SELINUX + help + Enable support to modify to relabel files. + Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64, + (It is default in libselinux's Makefile), you _must_ enable + CONFIG_LFS. + +config FEATURE_SETFILES_CHECK_OPTION + bool "Enable check option" + default n + depends on SETFILES + help + Support "-c" option (check the validity of the contexts against + the specified binary policy) for setfiles. Requires libsepol. + +config SETSEBOOL + bool "setsebool" + default n + depends on SELINUX + help + Enable support for change boolean. + semanage and -P option is not supported yet. + +config SESTATUS + bool "sestatus" + default n + depends on SELINUX + help + Displays the status of SELinux. + +endmenu + diff --git a/selinux/Kbuild b/selinux/Kbuild deleted file mode 100644 index d0c190ceb..000000000 --- a/selinux/Kbuild +++ /dev/null @@ -1,20 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# Copyright (C) 2007 by KaiGai Kohei -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_CHCON) += chcon.o -lib-$(CONFIG_GETENFORCE) += getenforce.o -lib-$(CONFIG_GETSEBOOL) += getsebool.o -lib-$(CONFIG_LOAD_POLICY) += load_policy.o -lib-$(CONFIG_MATCHPATHCON) += matchpathcon.o -lib-$(CONFIG_RUNCON) += runcon.o -lib-$(CONFIG_SELINUXENABLED) += selinuxenabled.o -lib-$(CONFIG_SETENFORCE) += setenforce.o -lib-$(CONFIG_SETFILES) += setfiles.o -lib-$(CONFIG_RESTORECON) += setfiles.o -lib-$(CONFIG_SETSEBOOL) += setsebool.o -lib-$(CONFIG_SESTATUS) += sestatus.o diff --git a/selinux/Kbuild.src b/selinux/Kbuild.src new file mode 100644 index 000000000..d0c190ceb --- /dev/null +++ b/selinux/Kbuild.src @@ -0,0 +1,20 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# Copyright (C) 2007 by KaiGai Kohei +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_CHCON) += chcon.o +lib-$(CONFIG_GETENFORCE) += getenforce.o +lib-$(CONFIG_GETSEBOOL) += getsebool.o +lib-$(CONFIG_LOAD_POLICY) += load_policy.o +lib-$(CONFIG_MATCHPATHCON) += matchpathcon.o +lib-$(CONFIG_RUNCON) += runcon.o +lib-$(CONFIG_SELINUXENABLED) += selinuxenabled.o +lib-$(CONFIG_SETENFORCE) += setenforce.o +lib-$(CONFIG_SETFILES) += setfiles.o +lib-$(CONFIG_RESTORECON) += setfiles.o +lib-$(CONFIG_SETSEBOOL) += setsebool.o +lib-$(CONFIG_SESTATUS) += sestatus.o diff --git a/shell/Config.in b/shell/Config.in deleted file mode 100644 index 286a3415e..000000000 --- a/shell/Config.in +++ /dev/null @@ -1,396 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Shells" - -choice - prompt "Choose which shell is aliased to 'sh' name" - default FEATURE_SH_IS_NONE - help - Choose which shell you want to be executed by 'sh' alias. - The ash shell is the most bash compatible and full featured one. - -config FEATURE_SH_IS_ASH - select ASH - bool "ash" - depends on !NOMMU - -config FEATURE_SH_IS_HUSH - select HUSH - bool "hush" - -config FEATURE_SH_IS_NONE - bool "none" - -endchoice - -choice - prompt "Choose which shell is aliased to 'bash' name" - default FEATURE_BASH_IS_NONE - help - Choose which shell you want to be executed by 'bash' alias. - The ash shell is the most bash compatible and full featured one. - - Note that selecting this option does not switch on any bash - compatibility code. It merely makes it possible to install - /bin/bash (sym)link and run scripts which start with - #!/bin/bash line. - - Many systems use it in scripts which use bash-specific features, - even simple ones like $RANDOM. Without this option, busybox - can't be used for running them because it won't recongnize - "bash" as a supported applet name. - -config FEATURE_BASH_IS_ASH - select ASH - bool "ash" - depends on !NOMMU - -config FEATURE_BASH_IS_HUSH - select HUSH - bool "hush" - -config FEATURE_BASH_IS_NONE - bool "none" - -endchoice - -config ASH - bool "ash" - default n - depends on !NOMMU - help - Tha 'ash' shell adds about 60k in the default configuration and is - the most complete and most pedantically correct shell included with - busybox. This shell is actually a derivative of the Debian 'dash' - shell (by Herbert Xu), which was created by porting the 'ash' shell - (written by Kenneth Almquist) from NetBSD. - -config ASH_BASH_COMPAT - bool "bash-compatible extensions" - default y - depends on ASH - help - Enable bash-compatible extensions. - -config ASH_JOB_CONTROL - bool "Job control" - default y - depends on ASH - help - Enable job control in the ash shell. - -config ASH_ALIAS - bool "alias support" - default y - depends on ASH - help - Enable alias support in the ash shell. - -config ASH_GETOPTS - bool "Builtin getopt to parse positional parameters" - default n - depends on ASH - help - Enable getopts builtin in the ash shell. - -config ASH_BUILTIN_ECHO - bool "Builtin version of 'echo'" - default y - depends on ASH - help - Enable support for echo, builtin to ash. - -config ASH_BUILTIN_PRINTF - bool "Builtin version of 'printf'" - default y - depends on ASH - help - Enable support for printf, builtin to ash. - -config ASH_BUILTIN_TEST - bool "Builtin version of 'test'" - default y - depends on ASH - help - Enable support for test, builtin to ash. - -config ASH_CMDCMD - bool "'command' command to override shell builtins" - default n - depends on ASH - help - Enable support for the ash 'command' builtin, which allows - you to run the specified command with the specified arguments, - even when there is an ash builtin command with the same name. - -config ASH_MAIL - bool "Check for new mail on interactive shells" - default y - depends on ASH - help - Enable "check for new mail" in the ash shell. - -config ASH_OPTIMIZE_FOR_SIZE - bool "Optimize for size instead of speed" - default y - depends on ASH - help - Compile ash for reduced size at the price of speed. - -config ASH_RANDOM_SUPPORT - bool "Pseudorandom generator and $RANDOM variable" - default n - depends on ASH - help - Enable pseudorandom generator and dynamic variable "$RANDOM". - Each read of "$RANDOM" will generate a new pseudorandom value. - You can reset the generator by using a specified start value. - After "unset RANDOM" the generator will switch off and this - variable will no longer have special treatment. - -config ASH_EXPAND_PRMT - bool "Expand prompt string" - default n - depends on ASH - help - "PS#" may contain volatile content, such as backquote commands. - This option recreates the prompt string from the environment - variable each time it is displayed. - -config HUSH - bool "hush" - default n - help - hush is a small shell (22k). It handles the normal flow control - constructs such as if/then/elif/else/fi, for/in/do/done, while loops, - case/esac. Redirections, here documents, $((arithmetic)) - and functions are supported. - - It will compile and work on no-mmu systems. - - It does not handle select, aliases, brace expansion, - tilde expansion, &>file and >&file redirection of stdout+stderr. - -config HUSH_BASH_COMPAT - bool "bash-compatible extensions" - default y - depends on HUSH - help - Enable bash-compatible extensions. - -config HUSH_HELP - bool "help builtin" - default n - depends on HUSH - help - Enable help builtin in hush. Code size + ~1 kbyte. - -config HUSH_INTERACTIVE - bool "Interactive mode" - default y - depends on HUSH - help - Enable interactive mode (prompt and command editing). - Without this, hush simply reads and executes commands - from stdin just like a shell script from a file. - No prompt, no PS1/PS2 magic shell variables. - -config HUSH_JOB - bool "Job control" - default n - depends on HUSH_INTERACTIVE - help - Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current - command (not entire shell), fg/bg builtins work. Without this option, - "cmd &" still works by simply spawning a process and immediately - prompting for next command (or executing next command in a script), - but no separate process group is formed. - -config HUSH_TICK - bool "Process substitution" - default n - depends on HUSH - help - Enable process substitution `command` and $(command) in hush. - -config HUSH_IF - bool "Support if/then/elif/else/fi" - default n - depends on HUSH - help - Enable if/then/elif/else/fi in hush. - -config HUSH_LOOPS - bool "Support for, while and until loops" - default n - depends on HUSH - help - Enable for, while and until loops in hush. - -config HUSH_CASE - bool "Support case ... esac statement" - default n - depends on HUSH - help - Enable case ... esac statement in hush. +400 bytes. - -config HUSH_FUNCTIONS - bool "Support funcname() { commands; } syntax" - default n - depends on HUSH - help - Enable support for shell functions in hush. +800 bytes. - -config HUSH_LOCAL - bool "Support local builtin" - default n - depends on HUSH_FUNCTIONS - help - Enable support for local variables in functions. - -config HUSH_EXPORT_N - bool "Support export '-n' option" - default n - depends on HUSH - help - Enable support for export '-n' option in hush. It is a bash extension. - -config HUSH_RANDOM_SUPPORT - bool "Pseudorandom generator and $RANDOM variable" - default n - depends on HUSH - help - Enable pseudorandom generator and dynamic variable "$RANDOM". - Each read of "$RANDOM" will generate a new pseudorandom value. - -config LASH - bool "lash (deprecated: aliased to hush)" - default n - select HUSH - help - lash is deprecated and will be removed, please migrate to hush. - -config MSH - bool "msh (deprecated: please use hush)" - default n - select HUSH - help - msh is deprecated and will be removed, please migrate to hush. - If there is a feature msh has but hush does not, please let us know. - -# The minix shell (adds just 30k) is quite complete and handles things -# like for/do/done, case/esac and all the things you expect a Bourne -# shell to do. It is not always pedantically correct about Bourne -# shell grammar (try running the shell testscript "tests/sh.testcases" -# on it and compare vs bash) but for most things it works quite well. -# It uses only vfork, so it can be used on uClinux systems. - - -config SH_MATH_SUPPORT - bool "POSIX math support" - default y - depends on ASH || HUSH - help - Enable math support in the shell via $((...)) syntax. - -config SH_MATH_SUPPORT_64 - bool "Extend POSIX math support to 64 bit" - default n - depends on SH_MATH_SUPPORT - help - Enable 64-bit math support in the shell. This will make the shell - slightly larger, but will allow computation with very large numbers. - This is not in POSIX, so do not rely on this in portable code. - -config FEATURE_SH_EXTRA_QUIET - bool "Hide message on interactive shell startup" - default n - depends on MSH || LASH || HUSH || ASH - help - Remove the busybox introduction when starting a shell. - -config FEATURE_SH_STANDALONE - bool "Standalone shell" - default n - depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS - help - This option causes busybox shells to use busybox applets - in preference to executables in the PATH whenever possible. For - example, entering the command 'ifconfig' into the shell would cause - busybox to use the ifconfig busybox applet. Specifying the fully - qualified executable name, such as '/sbin/ifconfig' will still - execute the /sbin/ifconfig executable on the filesystem. This option - is generally used when creating a statically linked version of busybox - for use as a rescue shell, in the event that you screw up your system. - - This is implemented by re-execing /proc/self/exe (typically) - with right parameters. Some selected applets ("NOFORK" applets) - can even be executed without creating new process. - Instead, busybox will call _main() internally. - - However, this causes problems in chroot jails without mounted /proc - and with ps/top (command name can be shown as 'exe' for applets - started this way). -# untrue? -# Note that this will *also* cause applets to take precedence -# over shell builtins of the same name. So turning this on will -# eliminate any performance gained by turning on the builtin "echo" -# and "test" commands in ash. -# untrue? -# Note that when using this option, the shell will attempt to directly -# run '/bin/busybox'. If you do not have the busybox binary sitting in -# that exact location with that exact name, this option will not work at -# all. - -config FEATURE_SH_NOFORK - bool "Run 'nofork' applets directly" - default n - depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS - help - This option causes busybox shells [currently only ash] - to not execute typical fork/exec/wait sequence, but call _main - directly, if possible. (Sometimes it is not possible: for example, - this is not possible in pipes). - - This will be done only for some applets (those which are marked - NOFORK in include/applets.h). - - This may significantly speed up some shell scripts. - - This feature is relatively new. Use with care. - -config CTTYHACK - bool "cttyhack" - default n - help - One common problem reported on the mailing list is "can't access tty; - job control turned off" error message which typically appears when - one tries to use shell with stdin/stdout opened to /dev/console. - This device is special - it cannot be a controlling tty. - - Proper solution is to use correct device instead of /dev/console. - - cttyhack provides "quick and dirty" solution to this problem. - It analyzes stdin with various ioctls, trying to determine whether - it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). - If it detects one, it closes stdin/out/err and reopens that device. - Then it executes given program. Opening the device will make - that device a controlling tty. This may require cttyhack - to be a session leader. - - Example for /etc/inittab (for busybox init): - - ::respawn:/bin/cttyhack /bin/sh - - Giving controlling tty to shell running with PID 1: - - $ exec cttyhack sh - - Starting an interactive shell from boot shell script: - - setsid cttyhack sh - -endmenu diff --git a/shell/Config.src b/shell/Config.src new file mode 100644 index 000000000..286a3415e --- /dev/null +++ b/shell/Config.src @@ -0,0 +1,396 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Shells" + +choice + prompt "Choose which shell is aliased to 'sh' name" + default FEATURE_SH_IS_NONE + help + Choose which shell you want to be executed by 'sh' alias. + The ash shell is the most bash compatible and full featured one. + +config FEATURE_SH_IS_ASH + select ASH + bool "ash" + depends on !NOMMU + +config FEATURE_SH_IS_HUSH + select HUSH + bool "hush" + +config FEATURE_SH_IS_NONE + bool "none" + +endchoice + +choice + prompt "Choose which shell is aliased to 'bash' name" + default FEATURE_BASH_IS_NONE + help + Choose which shell you want to be executed by 'bash' alias. + The ash shell is the most bash compatible and full featured one. + + Note that selecting this option does not switch on any bash + compatibility code. It merely makes it possible to install + /bin/bash (sym)link and run scripts which start with + #!/bin/bash line. + + Many systems use it in scripts which use bash-specific features, + even simple ones like $RANDOM. Without this option, busybox + can't be used for running them because it won't recongnize + "bash" as a supported applet name. + +config FEATURE_BASH_IS_ASH + select ASH + bool "ash" + depends on !NOMMU + +config FEATURE_BASH_IS_HUSH + select HUSH + bool "hush" + +config FEATURE_BASH_IS_NONE + bool "none" + +endchoice + +config ASH + bool "ash" + default n + depends on !NOMMU + help + Tha 'ash' shell adds about 60k in the default configuration and is + the most complete and most pedantically correct shell included with + busybox. This shell is actually a derivative of the Debian 'dash' + shell (by Herbert Xu), which was created by porting the 'ash' shell + (written by Kenneth Almquist) from NetBSD. + +config ASH_BASH_COMPAT + bool "bash-compatible extensions" + default y + depends on ASH + help + Enable bash-compatible extensions. + +config ASH_JOB_CONTROL + bool "Job control" + default y + depends on ASH + help + Enable job control in the ash shell. + +config ASH_ALIAS + bool "alias support" + default y + depends on ASH + help + Enable alias support in the ash shell. + +config ASH_GETOPTS + bool "Builtin getopt to parse positional parameters" + default n + depends on ASH + help + Enable getopts builtin in the ash shell. + +config ASH_BUILTIN_ECHO + bool "Builtin version of 'echo'" + default y + depends on ASH + help + Enable support for echo, builtin to ash. + +config ASH_BUILTIN_PRINTF + bool "Builtin version of 'printf'" + default y + depends on ASH + help + Enable support for printf, builtin to ash. + +config ASH_BUILTIN_TEST + bool "Builtin version of 'test'" + default y + depends on ASH + help + Enable support for test, builtin to ash. + +config ASH_CMDCMD + bool "'command' command to override shell builtins" + default n + depends on ASH + help + Enable support for the ash 'command' builtin, which allows + you to run the specified command with the specified arguments, + even when there is an ash builtin command with the same name. + +config ASH_MAIL + bool "Check for new mail on interactive shells" + default y + depends on ASH + help + Enable "check for new mail" in the ash shell. + +config ASH_OPTIMIZE_FOR_SIZE + bool "Optimize for size instead of speed" + default y + depends on ASH + help + Compile ash for reduced size at the price of speed. + +config ASH_RANDOM_SUPPORT + bool "Pseudorandom generator and $RANDOM variable" + default n + depends on ASH + help + Enable pseudorandom generator and dynamic variable "$RANDOM". + Each read of "$RANDOM" will generate a new pseudorandom value. + You can reset the generator by using a specified start value. + After "unset RANDOM" the generator will switch off and this + variable will no longer have special treatment. + +config ASH_EXPAND_PRMT + bool "Expand prompt string" + default n + depends on ASH + help + "PS#" may contain volatile content, such as backquote commands. + This option recreates the prompt string from the environment + variable each time it is displayed. + +config HUSH + bool "hush" + default n + help + hush is a small shell (22k). It handles the normal flow control + constructs such as if/then/elif/else/fi, for/in/do/done, while loops, + case/esac. Redirections, here documents, $((arithmetic)) + and functions are supported. + + It will compile and work on no-mmu systems. + + It does not handle select, aliases, brace expansion, + tilde expansion, &>file and >&file redirection of stdout+stderr. + +config HUSH_BASH_COMPAT + bool "bash-compatible extensions" + default y + depends on HUSH + help + Enable bash-compatible extensions. + +config HUSH_HELP + bool "help builtin" + default n + depends on HUSH + help + Enable help builtin in hush. Code size + ~1 kbyte. + +config HUSH_INTERACTIVE + bool "Interactive mode" + default y + depends on HUSH + help + Enable interactive mode (prompt and command editing). + Without this, hush simply reads and executes commands + from stdin just like a shell script from a file. + No prompt, no PS1/PS2 magic shell variables. + +config HUSH_JOB + bool "Job control" + default n + depends on HUSH_INTERACTIVE + help + Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current + command (not entire shell), fg/bg builtins work. Without this option, + "cmd &" still works by simply spawning a process and immediately + prompting for next command (or executing next command in a script), + but no separate process group is formed. + +config HUSH_TICK + bool "Process substitution" + default n + depends on HUSH + help + Enable process substitution `command` and $(command) in hush. + +config HUSH_IF + bool "Support if/then/elif/else/fi" + default n + depends on HUSH + help + Enable if/then/elif/else/fi in hush. + +config HUSH_LOOPS + bool "Support for, while and until loops" + default n + depends on HUSH + help + Enable for, while and until loops in hush. + +config HUSH_CASE + bool "Support case ... esac statement" + default n + depends on HUSH + help + Enable case ... esac statement in hush. +400 bytes. + +config HUSH_FUNCTIONS + bool "Support funcname() { commands; } syntax" + default n + depends on HUSH + help + Enable support for shell functions in hush. +800 bytes. + +config HUSH_LOCAL + bool "Support local builtin" + default n + depends on HUSH_FUNCTIONS + help + Enable support for local variables in functions. + +config HUSH_EXPORT_N + bool "Support export '-n' option" + default n + depends on HUSH + help + Enable support for export '-n' option in hush. It is a bash extension. + +config HUSH_RANDOM_SUPPORT + bool "Pseudorandom generator and $RANDOM variable" + default n + depends on HUSH + help + Enable pseudorandom generator and dynamic variable "$RANDOM". + Each read of "$RANDOM" will generate a new pseudorandom value. + +config LASH + bool "lash (deprecated: aliased to hush)" + default n + select HUSH + help + lash is deprecated and will be removed, please migrate to hush. + +config MSH + bool "msh (deprecated: please use hush)" + default n + select HUSH + help + msh is deprecated and will be removed, please migrate to hush. + If there is a feature msh has but hush does not, please let us know. + +# The minix shell (adds just 30k) is quite complete and handles things +# like for/do/done, case/esac and all the things you expect a Bourne +# shell to do. It is not always pedantically correct about Bourne +# shell grammar (try running the shell testscript "tests/sh.testcases" +# on it and compare vs bash) but for most things it works quite well. +# It uses only vfork, so it can be used on uClinux systems. + + +config SH_MATH_SUPPORT + bool "POSIX math support" + default y + depends on ASH || HUSH + help + Enable math support in the shell via $((...)) syntax. + +config SH_MATH_SUPPORT_64 + bool "Extend POSIX math support to 64 bit" + default n + depends on SH_MATH_SUPPORT + help + Enable 64-bit math support in the shell. This will make the shell + slightly larger, but will allow computation with very large numbers. + This is not in POSIX, so do not rely on this in portable code. + +config FEATURE_SH_EXTRA_QUIET + bool "Hide message on interactive shell startup" + default n + depends on MSH || LASH || HUSH || ASH + help + Remove the busybox introduction when starting a shell. + +config FEATURE_SH_STANDALONE + bool "Standalone shell" + default n + depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS + help + This option causes busybox shells to use busybox applets + in preference to executables in the PATH whenever possible. For + example, entering the command 'ifconfig' into the shell would cause + busybox to use the ifconfig busybox applet. Specifying the fully + qualified executable name, such as '/sbin/ifconfig' will still + execute the /sbin/ifconfig executable on the filesystem. This option + is generally used when creating a statically linked version of busybox + for use as a rescue shell, in the event that you screw up your system. + + This is implemented by re-execing /proc/self/exe (typically) + with right parameters. Some selected applets ("NOFORK" applets) + can even be executed without creating new process. + Instead, busybox will call _main() internally. + + However, this causes problems in chroot jails without mounted /proc + and with ps/top (command name can be shown as 'exe' for applets + started this way). +# untrue? +# Note that this will *also* cause applets to take precedence +# over shell builtins of the same name. So turning this on will +# eliminate any performance gained by turning on the builtin "echo" +# and "test" commands in ash. +# untrue? +# Note that when using this option, the shell will attempt to directly +# run '/bin/busybox'. If you do not have the busybox binary sitting in +# that exact location with that exact name, this option will not work at +# all. + +config FEATURE_SH_NOFORK + bool "Run 'nofork' applets directly" + default n + depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS + help + This option causes busybox shells [currently only ash] + to not execute typical fork/exec/wait sequence, but call _main + directly, if possible. (Sometimes it is not possible: for example, + this is not possible in pipes). + + This will be done only for some applets (those which are marked + NOFORK in include/applets.h). + + This may significantly speed up some shell scripts. + + This feature is relatively new. Use with care. + +config CTTYHACK + bool "cttyhack" + default n + help + One common problem reported on the mailing list is "can't access tty; + job control turned off" error message which typically appears when + one tries to use shell with stdin/stdout opened to /dev/console. + This device is special - it cannot be a controlling tty. + + Proper solution is to use correct device instead of /dev/console. + + cttyhack provides "quick and dirty" solution to this problem. + It analyzes stdin with various ioctls, trying to determine whether + it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). + If it detects one, it closes stdin/out/err and reopens that device. + Then it executes given program. Opening the device will make + that device a controlling tty. This may require cttyhack + to be a session leader. + + Example for /etc/inittab (for busybox init): + + ::respawn:/bin/cttyhack /bin/sh + + Giving controlling tty to shell running with PID 1: + + $ exec cttyhack sh + + Starting an interactive shell from boot shell script: + + setsid cttyhack sh + +endmenu diff --git a/shell/Kbuild b/shell/Kbuild deleted file mode 100644 index 8bdb68b11..000000000 --- a/shell/Kbuild +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_ASH) += ash.o ash_ptr_hack.o shell_common.o -lib-$(CONFIG_HUSH) += hush.o match.o shell_common.o -lib-$(CONFIG_CTTYHACK) += cttyhack.o - -lib-$(CONFIG_SH_MATH_SUPPORT) += math.o -lib-$(CONFIG_ASH_RANDOM_SUPPORT) += random.o -lib-$(CONFIG_HUSH_RANDOM_SUPPORT) += random.o diff --git a/shell/Kbuild.src b/shell/Kbuild.src new file mode 100644 index 000000000..8bdb68b11 --- /dev/null +++ b/shell/Kbuild.src @@ -0,0 +1,14 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_ASH) += ash.o ash_ptr_hack.o shell_common.o +lib-$(CONFIG_HUSH) += hush.o match.o shell_common.o +lib-$(CONFIG_CTTYHACK) += cttyhack.o + +lib-$(CONFIG_SH_MATH_SUPPORT) += math.o +lib-$(CONFIG_ASH_RANDOM_SUPPORT) += random.o +lib-$(CONFIG_HUSH_RANDOM_SUPPORT) += random.o diff --git a/sysklogd/Config.in b/sysklogd/Config.in deleted file mode 100644 index b500d5471..000000000 --- a/sysklogd/Config.in +++ /dev/null @@ -1,128 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "System Logging Utilities" - -config SYSLOGD - bool "syslogd" - default n - help - The syslogd utility is used to record logs of all the - significant events that occur on a system. Every - message that is logged records the date and time of the - event, and will generally also record the name of the - application that generated the message. When used in - conjunction with klogd, messages from the Linux kernel - can also be recorded. This is terribly useful, - especially for finding what happened when something goes - wrong. And something almost always will go wrong if - you wait long enough.... - -config FEATURE_ROTATE_LOGFILE - bool "Rotate message files" - default n - depends on SYSLOGD - help - This enables syslogd to rotate the message files - on his own. No need to use an external rotatescript. - -config FEATURE_REMOTE_LOG - bool "Remote Log support" - default n - depends on SYSLOGD - help - When you enable this feature, the syslogd utility can - be used to send system log messages to another system - connected via a network. This allows the remote - machine to log all the system messages, which can be - terribly useful for reducing the number of serial - cables you use. It can also be a very good security - measure to prevent system logs from being tampered with - by an intruder. - -config FEATURE_SYSLOGD_DUP - bool "Support -D (drop dups) option" - default n - depends on SYSLOGD - help - Option -D instructs syslogd to drop consecutive messages - which are totally the same. - -config FEATURE_SYSLOGD_READ_BUFFER_SIZE - int "Read buffer size in bytes" - default 256 - range 256 20000 - depends on SYSLOGD - help - This option sets the size of the syslog read buffer. - Actual memory usage increases around five times the - change done here. - -config FEATURE_IPC_SYSLOG - bool "Circular Buffer support" - default n - depends on SYSLOGD - help - When you enable this feature, the syslogd utility will - use a circular buffer to record system log messages. - When the buffer is filled it will continue to overwrite - the oldest messages. This can be very useful for - systems with little or no permanent storage, since - otherwise system logs can eventually fill up your - entire filesystem, which may cause your system to - break badly. - -config FEATURE_IPC_SYSLOG_BUFFER_SIZE - int "Circular buffer size in Kbytes (minimum 4KB)" - default 16 - range 4 2147483647 - depends on FEATURE_IPC_SYSLOG - help - This option sets the size of the circular buffer - used to record system log messages. - -config LOGREAD - bool "logread" - default y - depends on FEATURE_IPC_SYSLOG - help - If you enabled Circular Buffer support, you almost - certainly want to enable this feature as well. This - utility will allow you to read the messages that are - stored in the syslogd circular buffer. - -config FEATURE_LOGREAD_REDUCED_LOCKING - bool "Double buffering" - default n - depends on LOGREAD - help - 'logread' ouput to slow serial terminals can have - side effects on syslog because of the semaphore. - This option make logread to double buffer copy - from circular buffer, minimizing semaphore - contention at some minor memory expense. - -config KLOGD - bool "klogd" - default n - help - klogd is a utility which intercepts and logs all - messages from the Linux kernel and sends the messages - out to the 'syslogd' utility so they can be logged. If - you wish to record the messages produced by the kernel, - you should enable this option. - -config LOGGER - bool "logger" - default n - select FEATURE_SYSLOG - help - The logger utility allows you to send arbitrary text - messages to the system log (i.e. the 'syslogd' utility) so - they can be logged. This is generally used to help locate - problems that occur within programs and scripts. - -endmenu - diff --git a/sysklogd/Config.src b/sysklogd/Config.src new file mode 100644 index 000000000..b500d5471 --- /dev/null +++ b/sysklogd/Config.src @@ -0,0 +1,128 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "System Logging Utilities" + +config SYSLOGD + bool "syslogd" + default n + help + The syslogd utility is used to record logs of all the + significant events that occur on a system. Every + message that is logged records the date and time of the + event, and will generally also record the name of the + application that generated the message. When used in + conjunction with klogd, messages from the Linux kernel + can also be recorded. This is terribly useful, + especially for finding what happened when something goes + wrong. And something almost always will go wrong if + you wait long enough.... + +config FEATURE_ROTATE_LOGFILE + bool "Rotate message files" + default n + depends on SYSLOGD + help + This enables syslogd to rotate the message files + on his own. No need to use an external rotatescript. + +config FEATURE_REMOTE_LOG + bool "Remote Log support" + default n + depends on SYSLOGD + help + When you enable this feature, the syslogd utility can + be used to send system log messages to another system + connected via a network. This allows the remote + machine to log all the system messages, which can be + terribly useful for reducing the number of serial + cables you use. It can also be a very good security + measure to prevent system logs from being tampered with + by an intruder. + +config FEATURE_SYSLOGD_DUP + bool "Support -D (drop dups) option" + default n + depends on SYSLOGD + help + Option -D instructs syslogd to drop consecutive messages + which are totally the same. + +config FEATURE_SYSLOGD_READ_BUFFER_SIZE + int "Read buffer size in bytes" + default 256 + range 256 20000 + depends on SYSLOGD + help + This option sets the size of the syslog read buffer. + Actual memory usage increases around five times the + change done here. + +config FEATURE_IPC_SYSLOG + bool "Circular Buffer support" + default n + depends on SYSLOGD + help + When you enable this feature, the syslogd utility will + use a circular buffer to record system log messages. + When the buffer is filled it will continue to overwrite + the oldest messages. This can be very useful for + systems with little or no permanent storage, since + otherwise system logs can eventually fill up your + entire filesystem, which may cause your system to + break badly. + +config FEATURE_IPC_SYSLOG_BUFFER_SIZE + int "Circular buffer size in Kbytes (minimum 4KB)" + default 16 + range 4 2147483647 + depends on FEATURE_IPC_SYSLOG + help + This option sets the size of the circular buffer + used to record system log messages. + +config LOGREAD + bool "logread" + default y + depends on FEATURE_IPC_SYSLOG + help + If you enabled Circular Buffer support, you almost + certainly want to enable this feature as well. This + utility will allow you to read the messages that are + stored in the syslogd circular buffer. + +config FEATURE_LOGREAD_REDUCED_LOCKING + bool "Double buffering" + default n + depends on LOGREAD + help + 'logread' ouput to slow serial terminals can have + side effects on syslog because of the semaphore. + This option make logread to double buffer copy + from circular buffer, minimizing semaphore + contention at some minor memory expense. + +config KLOGD + bool "klogd" + default n + help + klogd is a utility which intercepts and logs all + messages from the Linux kernel and sends the messages + out to the 'syslogd' utility so they can be logged. If + you wish to record the messages produced by the kernel, + you should enable this option. + +config LOGGER + bool "logger" + default n + select FEATURE_SYSLOG + help + The logger utility allows you to send arbitrary text + messages to the system log (i.e. the 'syslogd' utility) so + they can be logged. This is generally used to help locate + problems that occur within programs and scripts. + +endmenu + diff --git a/sysklogd/Kbuild b/sysklogd/Kbuild deleted file mode 100644 index d802198e6..000000000 --- a/sysklogd/Kbuild +++ /dev/null @@ -1,11 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_KLOGD) += klogd.o -lib-$(CONFIG_LOGGER) += syslogd_and_logger.o -lib-$(CONFIG_LOGREAD) += logread.o -lib-$(CONFIG_SYSLOGD) += syslogd_and_logger.o diff --git a/sysklogd/Kbuild.src b/sysklogd/Kbuild.src new file mode 100644 index 000000000..d802198e6 --- /dev/null +++ b/sysklogd/Kbuild.src @@ -0,0 +1,11 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_KLOGD) += klogd.o +lib-$(CONFIG_LOGGER) += syslogd_and_logger.o +lib-$(CONFIG_LOGREAD) += logread.o +lib-$(CONFIG_SYSLOGD) += syslogd_and_logger.o diff --git a/util-linux/Config.in b/util-linux/Config.in deleted file mode 100644 index a59cc1ddf..000000000 --- a/util-linux/Config.in +++ /dev/null @@ -1,940 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Linux System Utilities" - -config ACPID - bool "acpid" - default n - help - acpid listens to ACPI events coming either in textual form from - /proc/acpi/event (though it is marked deprecated it is still widely - used and _is_ a standard) or in binary form from specified evdevs - (just use /dev/input/event*). - - It parses the event to retrieve ACTION and a possible PARAMETER. - It then spawns /etc/acpi/[/] either via run-parts - (if the resulting path is a directory) or directly as an executable. - - N.B. acpid relies on run-parts so have the latter installed. - -config FEATURE_ACPID_COMPAT - bool "Accept and ignore redundant options" - default n - depends on ACPID - help - Accept and ignore compatibility options -g -m -s -S -v. - -config BLKID - bool "blkid" - default n - select VOLUMEID - help - Lists labels and UUIDs of all filesystems. - WARNING: - With all submodules selected, it will add ~8k to busybox. - -config DMESG - bool "dmesg" - default n - help - dmesg is used to examine or control the kernel ring buffer. When the - Linux kernel prints messages to the system log, they are stored in - the kernel ring buffer. You can use dmesg to print the kernel's ring - buffer, clear the kernel ring buffer, change the size of the kernel - ring buffer, and change the priority level at which kernel messages - are also logged to the system console. Enable this option if you - wish to enable the 'dmesg' utility. - -config FEATURE_DMESG_PRETTY - bool "Pretty dmesg output" - default y - depends on DMESG - help - If you wish to scrub the syslog level from the output, say 'Y' here. - The syslog level is a string prefixed to every line with the form - "<#>". - - With this option you will see: - # dmesg - Linux version 2.6.17.4 ..... - BIOS-provided physical RAM map: - BIOS-e820: 0000000000000000 - 000000000009f000 (usable) - - Without this option you will see: - # dmesg - <5>Linux version 2.6.17.4 ..... - <6>BIOS-provided physical RAM map: - <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable) - -config FBSET - bool "fbset" - default n - help - fbset is used to show or change the settings of a Linux frame buffer - device. The frame buffer device provides a simple and unique - interface to access a graphics display. Enable this option - if you wish to enable the 'fbset' utility. - -config FEATURE_FBSET_FANCY - bool "Turn on extra fbset options" - default n - depends on FBSET - help - This option enables extended fbset options, allowing one to set the - framebuffer size, color depth, etc. interface to access a graphics - display. Enable this option if you wish to enable extended fbset - options. - -config FEATURE_FBSET_READMODE - bool "Turn on fbset readmode support" - default n - depends on FBSET - help - This option allows fbset to read the video mode database stored by - default as /etc/fb.modes, which can be used to set frame buffer - device to pre-defined video modes. - -config FDFLUSH - bool "fdflush" - default n - help - fdflush is only needed when changing media on slightly-broken - removable media drives. It is used to make Linux believe that a - hardware disk-change switch has been actuated, which causes Linux to - forget anything it has cached from the previous media. If you have - such a slightly-broken drive, you will need to run fdflush every time - you change a disk. Most people have working hardware and can safely - leave this disabled. - -config FDFORMAT - bool "fdformat" - default n - help - fdformat is used to low-level format a floppy disk. - -config FDISK - bool "fdisk" - default n - help - The fdisk utility is used to divide hard disks into one or more - logical disks, which are generally called partitions. This utility - can be used to list and edit the set of partitions or BSD style - 'disk slices' that are defined on a hard drive. - -config FDISK_SUPPORT_LARGE_DISKS - bool "Support over 4GB disks" - default y - depends on FDISK - help - Enable this option to support large disks > 4GB. - -config FEATURE_FDISK_WRITABLE - bool "Write support" - default y - depends on FDISK - help - Enabling this option allows you to create or change a partition table - and write those changes out to disk. If you leave this option - disabled, you will only be able to view the partition table. - -config FEATURE_AIX_LABEL - bool "Support AIX disklabels" - default n - depends on FDISK && FEATURE_FDISK_WRITABLE - help - Enabling this option allows you to create or change AIX disklabels. - Most people can safely leave this option disabled. - -config FEATURE_SGI_LABEL - bool "Support SGI disklabels" - default n - depends on FDISK && FEATURE_FDISK_WRITABLE - help - Enabling this option allows you to create or change SGI disklabels. - Most people can safely leave this option disabled. - -config FEATURE_SUN_LABEL - bool "Support SUN disklabels" - default n - depends on FDISK && FEATURE_FDISK_WRITABLE - help - Enabling this option allows you to create or change SUN disklabels. - Most people can safely leave this option disabled. - -config FEATURE_OSF_LABEL - bool "Support BSD disklabels" - default n - depends on FDISK && FEATURE_FDISK_WRITABLE - help - Enabling this option allows you to create or change BSD disklabels - and define and edit BSD disk slices. - -config FEATURE_FDISK_ADVANCED - bool "Support expert mode" - default n - depends on FDISK && FEATURE_FDISK_WRITABLE - help - Enabling this option allows you to do terribly unsafe things like - define arbitrary drive geometry, move the beginning of data in a - partition, and similarly evil things. Unless you have a very good - reason you would be wise to leave this disabled. - -config FINDFS - bool "findfs" - default n - select VOLUMEID - help - Prints the name of a filesystem with given label or UUID. - WARNING: - With all submodules selected, it will add ~8k to busybox. - -config FLOCK - bool "flock" - default n - help - Manage locks from shell scripts - -config FREERAMDISK - bool "freeramdisk" - default n - help - Linux allows you to create ramdisks. This utility allows you to - delete them and completely free all memory that was used for the - ramdisk. For example, if you boot Linux into a ramdisk and later - pivot_root, you may want to free the memory that is allocated to the - ramdisk. If you have no use for freeing memory from a ramdisk, leave - this disabled. - -config FSCK_MINIX - bool "fsck_minix" - default n - help - The minix filesystem is a nice, small, compact, read-write filesystem - with little overhead. It is not a journaling filesystem however and - can experience corruption if it is not properly unmounted or if the - power goes off in the middle of a write. This utility allows you to - check for and attempt to repair any corruption that occurs to a minix - filesystem. - -config MKFS_EXT2 - bool "mkfs_ext2" - default n - help - Utility to create EXT2 filesystems. - -config MKFS_MINIX - bool "mkfs_minix" - default n - help - The minix filesystem is a nice, small, compact, read-write filesystem - with little overhead. If you wish to be able to create minix - filesystems this utility will do the job for you. - -comment "Minix filesystem support" - depends on FSCK_MINIX || MKFS_MINIX - -config FEATURE_MINIX2 - bool "Support Minix fs v2 (fsck_minix/mkfs_minix)" - default y - depends on FSCK_MINIX || MKFS_MINIX - help - If you wish to be able to create version 2 minix filesystems, enable - this. If you enabled 'mkfs_minix' then you almost certainly want to - be using the version 2 filesystem support. - -config MKFS_REISER - bool "mkfs_reiser" - default n - help - Utility to create ReiserFS filesystems. - -config MKFS_VFAT - bool "mkfs_vfat" - default n - help - Utility to create FAT32 filesystems. - -config GETOPT - bool "getopt" - default n - help - The getopt utility is used to break up (parse) options in command - lines to make it easy to write complex shell scripts that also check - for legal (and illegal) options. If you want to write horribly - complex shell scripts, or use some horribly complex shell script - written by others, this utility may be for you. Most people will - wisely leave this disabled. - -config FEATURE_GETOPT_LONG - bool "Support option -l" - default y if LONG_OPTS - depends on GETOPT - help - Enable support for long options (option -l). - -config HEXDUMP - bool "hexdump" - default n - help - The hexdump utility is used to display binary data in a readable - way that is comparable to the output from most hex editors. - -config FEATURE_HEXDUMP_REVERSE - bool "Support -R, reverse of 'hexdump -Cv'" - default n - depends on HEXDUMP - help - The hexdump utility is used to display binary data in an ascii - readable way. This option creates binary data from an ascii input. - NB: this option is non-standard. It's unwise to use it in scripts - aimed to be portable. - -config HD - bool "hd" - default n - select HEXDUMP - help - hd is an alias to hexdump -C. - -config HWCLOCK - bool "hwclock" - default n - help - The hwclock utility is used to read and set the hardware clock - on a system. This is primarily used to set the current time on - shutdown in the hardware clock, so the hardware will keep the - correct time when Linux is _not_ running. - -config FEATURE_HWCLOCK_LONG_OPTIONS - bool "Support long options (--hctosys,...)" - default n - depends on HWCLOCK && LONG_OPTS - help - By default, the hwclock utility only uses short options. If you - are overly fond of its long options, such as --hctosys, --utc, etc) - then enable this option. - -config FEATURE_HWCLOCK_ADJTIME_FHS - bool "Use FHS /var/lib/hwclock/adjtime" - default y - depends on HWCLOCK - help - Starting with FHS 2.3, the adjtime state file is supposed to exist - at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish - to use the FHS behavior, answer Y here, otherwise answer N for the - classic /etc/adjtime path. - - pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO - -config IPCRM - bool "ipcrm" - default n - select FEATURE_SUID - help - The ipcrm utility allows the removal of System V interprocess - communication (IPC) objects and the associated data structures - from the system. - -config IPCS - bool "ipcs" - default n - select FEATURE_SUID - help - The ipcs utility is used to provide information on the currently - allocated System V interprocess (IPC) objects in the system. - -config LOSETUP - bool "losetup" - default n - help - losetup is used to associate or detach a loop device with a regular - file or block device, and to query the status of a loop device. This - version does not currently support enabling data encryption. - -config LSPCI - bool "lspci" - default n - help - lspci is a utility for displaying information about PCI buses in the - system and devices connected to them. - - This version uses sysfs (/sys/bus/pci/devices) only. - -config LSUSB - bool "lsusb" - default n - help - lsusb is a utility for displaying information about USB buses in the - system and devices connected to them. - - This version uses sysfs (/sys/bus/usb/devices) only. - -config MDEV - bool "mdev" - default n - help - mdev is a mini-udev implementation for dynamically creating device - nodes in the /dev directory. - - For more information, please see docs/mdev.txt - -config FEATURE_MDEV_CONF - bool "Support /etc/mdev.conf" - default n - depends on MDEV - help - Add support for the mdev config file to control ownership and - permissions of the device nodes. - - For more information, please see docs/mdev.txt - -config FEATURE_MDEV_RENAME - bool "Support subdirs/symlinks" - default n - depends on FEATURE_MDEV_CONF - help - Add support for renaming devices and creating symlinks. - - For more information, please see docs/mdev.txt - -config FEATURE_MDEV_RENAME_REGEXP - bool "Support regular expressions substitutions when renaming device" - default n - depends on FEATURE_MDEV_RENAME - help - Add support for regular expressions substitutions when renaming - device. - -config FEATURE_MDEV_EXEC - bool "Support command execution at device addition/removal" - default n - depends on FEATURE_MDEV_CONF - help - This adds support for an optional field to /etc/mdev.conf for - executing commands when devices are created/removed. - - For more information, please see docs/mdev.txt - -config FEATURE_MDEV_LOAD_FIRMWARE - bool "Support loading of firmwares" - default n - depends on MDEV - help - Some devices need to load firmware before they can be usable. - - These devices will request userspace look up the files in - /lib/firmware/ and if it exists, send it to the kernel for - loading into the hardware. - -config MKSWAP - bool "mkswap" - default n - help - The mkswap utility is used to configure a file or disk partition as - Linux swap space. This allows Linux to use the entire file or - partition as if it were additional RAM, which can greatly increase - the capability of low-memory machines. This additional memory is - much slower than real RAM, but can be very helpful at preventing your - applications being killed by the Linux out of memory (OOM) killer. - Once you have created swap space using 'mkswap' you need to enable - the swap space using the 'swapon' utility. - -config FEATURE_MKSWAP_UUID - bool "UUID support" - default n - depends on MKSWAP - help - Generate swap spaces with universally unique identifiers. - -config MORE - bool "more" - default n - help - more is a simple utility which allows you to read text one screen - sized page at a time. If you want to read text that is larger than - the screen, and you are using anything faster than a 300 baud modem, - you will probably find this utility very helpful. If you don't have - any need to reading text files, you can leave this disabled. - -config FEATURE_USE_TERMIOS - bool "Use termios to manipulate the screen" - default y - depends on MORE || TOP - help - This option allows utilities such as 'more' and 'top' to determine - the size of the screen. If you leave this disabled, your utilities - that display things on the screen will be especially primitive and - will be unable to determine the current screen size, and will be - unable to move the cursor. - -config VOLUMEID - bool #No description makes it a hidden option - default n - -config FEATURE_VOLUMEID_EXT - bool "Ext filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_BTRFS - bool "btrfs filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_REISERFS - bool "Reiser filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_FAT - bool "fat filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_HFS - bool "hfs filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_JFS - bool "jfs filesystem" - default n - depends on VOLUMEID - help - TODO - -### config FEATURE_VOLUMEID_UFS -### bool "ufs filesystem" -### default n -### depends on VOLUMEID -### help -### TODO - -config FEATURE_VOLUMEID_XFS - bool "xfs filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_NTFS - bool "ntfs filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_ISO9660 - bool "iso9660 filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_UDF - bool "udf filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_LUKS - bool "luks filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_LINUXSWAP - bool "linux swap filesystem" - default n - depends on VOLUMEID - help - TODO - -### config FEATURE_VOLUMEID_LVM -### bool "lvm" -### default n -### depends on VOLUMEID -### help -### TODO - -config FEATURE_VOLUMEID_CRAMFS - bool "cramfs filesystem" - default n - depends on VOLUMEID - help - TODO - -### config FEATURE_VOLUMEID_HPFS -### bool "hpfs filesystem" -### default n -### depends on VOLUMEID -### help -### TODO - -config FEATURE_VOLUMEID_ROMFS - bool "romfs filesystem" - default n - depends on VOLUMEID - help - TODO - -config FEATURE_VOLUMEID_SYSV - bool "sysv filesystem" - default n - depends on VOLUMEID - help - TODO - -### config FEATURE_VOLUMEID_MINIX -### bool "minix filesystem" -### default n -### depends on VOLUMEID -### help -### TODO - -### These only detect partition tables - not used (yet?) -### config FEATURE_VOLUMEID_MAC -### bool "mac filesystem" -### default n -### depends on VOLUMEID -### help -### TODO -### -### config FEATURE_VOLUMEID_MSDOS -### bool "msdos filesystem" -### default n -### depends on VOLUMEID -### help -### TODO - -config FEATURE_VOLUMEID_OCFS2 - bool "ocfs2 filesystem" - default n - depends on VOLUMEID - help - TODO - -### config FEATURE_VOLUMEID_HIGHPOINTRAID -### bool "highpoint raid" -### default n -### depends on VOLUMEID -### help -### TODO - -### config FEATURE_VOLUMEID_ISWRAID -### bool "intel raid" -### default n -### depends on VOLUMEID -### help -### TODO - -### config FEATURE_VOLUMEID_LSIRAID -### bool "lsi raid" -### default n -### depends on VOLUMEID -### help -### TODO - -### config FEATURE_VOLUMEID_VIARAID -### bool "via raid" -### default n -### depends on VOLUMEID -### help -### TODO - -### config FEATURE_VOLUMEID_SILICONRAID -### bool "silicon raid" -### default n -### depends on VOLUMEID -### help -### TODO - -### config FEATURE_VOLUMEID_NVIDIARAID -### bool "nvidia raid" -### default n -### depends on VOLUMEID -### help -### TODO - -### config FEATURE_VOLUMEID_PROMISERAID -### bool "promise raid" -### default n -### depends on VOLUMEID -### help -### TODO - -config FEATURE_VOLUMEID_LINUXRAID - bool "linuxraid" - default n - depends on VOLUMEID - help - TODO - -config MOUNT - bool "mount" - default n - help - All files and filesystems in Unix are arranged into one big directory - tree. The 'mount' utility is used to graft a filesystem onto a - particular part of the tree. A filesystem can either live on a block - device, or it can be accessible over the network, as is the case with - NFS filesystems. Most people using BusyBox will also want to enable - the 'mount' utility. - -config FEATURE_MOUNT_FAKE - bool "Support option -f" - default n - depends on MOUNT - help - Enable support for faking a file system mount. - -config FEATURE_MOUNT_VERBOSE - bool "Support option -v" - default n - depends on MOUNT - help - Enable multi-level -v[vv...] verbose messages. Useful if you - debug mount problems and want to see what is exactly passed - to the kernel. - -config FEATURE_MOUNT_HELPERS - bool "Support mount helpers" - default n - depends on MOUNT - help - Enable mounting of virtual file systems via external helpers. - E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call - "obexfs -b00.11.22.33.44.55 /mnt" - Also "mount -t sometype [-o opts] fs /mnt" will try - "sometype [-o opts] fs /mnt" if simple mount syscall fails. - The idea is to use such virtual filesystems in /etc/fstab. - -config FEATURE_MOUNT_LABEL - bool "Support specifiying devices by label or UUID" - default n - depends on MOUNT - select VOLUMEID - help - This allows for specifying a device by label or uuid, rather than by - name. This feature utilizes the same functionality as blkid/findfs. - This also enables label or uuid support for swapon. - -config FEATURE_MOUNT_NFS - bool "Support mounting NFS file systems" - default n - depends on MOUNT - select FEATURE_HAVE_RPC - select FEATURE_SYSLOG - help - Enable mounting of NFS file systems. - -config FEATURE_MOUNT_CIFS - bool "Support mounting CIFS/SMB file systems" - default n - depends on MOUNT - help - Enable support for samba mounts. - -config FEATURE_MOUNT_FLAGS - depends on MOUNT - bool "Support lots of -o flags in mount" - default y - help - Without this, mount only supports ro/rw/remount. With this, it - supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime, - noatime, diratime, nodiratime, loud, bind, move, shared, slave, - private, unbindable, rshared, rslave, rprivate, and runbindable. - -config FEATURE_MOUNT_FSTAB - depends on MOUNT - bool "Support /etc/fstab and -a" - default y - help - Support mount all and looking for files in /etc/fstab. - -config PIVOT_ROOT - bool "pivot_root" - default n - help - The pivot_root utility swaps the mount points for the root filesystem - with some other mounted filesystem. This allows you to do all sorts - of wild and crazy things with your Linux system and is far more - powerful than 'chroot'. - - Note: This is for initrd in linux 2.4. Under initramfs (introduced - in linux 2.6) use switch_root instead. - -config RDATE - bool "rdate" - default n - help - The rdate utility allows you to synchronize the date and time of your - system clock with the date and time of a remote networked system using - the RFC868 protocol, which is built into the inetd daemon on most - systems. - -config RDEV - bool "rdev" - default n - help - Print the device node associated with the filesystem mounted at '/'. - -config READPROFILE - bool "readprofile" - default n - help - This allows you to parse /proc/profile for basic profiling. - -config RTCWAKE - bool "rtcwake" - default n - help - Enter a system sleep state until specified wakeup time. - -config SCRIPT - bool "script" - default n - help - The script makes typescript of terminal session. - -config SCRIPTREPLAY - bool "scriptreplay" - default n - help - This program replays a typescript, using timing information - given by script -t. - -config SETARCH - bool "setarch" - default n - help - The linux32 utility is used to create a 32bit environment for the - specified program (usually a shell). It only makes sense to have - this util on a system that supports both 64bit and 32bit userland - (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...). - -config SWAPONOFF - bool "swaponoff" - default n - help - This option enables both the 'swapon' and the 'swapoff' utilities. - Once you have created some swap space using 'mkswap', you also need - to enable your swap space with the 'swapon' utility. The 'swapoff' - utility is used, typically at system shutdown, to disable any swap - space. If you are not using any swap space, you can leave this - option disabled. - -config FEATURE_SWAPON_PRI - bool "Support priority option -p" - default n - depends on SWAPONOFF - help - Enable support for setting swap device priority in swapon. - -config SWITCH_ROOT - bool "switch_root" - default n - help - The switch_root utility is used from initramfs to select a new - root device. Under initramfs, you have to use this instead of - pivot_root. (Stop reading here if you don't care why.) - - Booting with initramfs extracts a gzipped cpio archive into rootfs - (which is a variant of ramfs/tmpfs). Because rootfs can't be moved - or unmounted*, pivot_root will not work from initramfs. Instead, - switch_root deletes everything out of rootfs (including itself), - does a mount --move that overmounts rootfs with the new root, and - then execs the specified init program. - - * Because the Linux kernel uses rootfs internally as the starting - and ending point for searching through the kernel's doubly linked - list of active mount points. That's why. - -config UMOUNT - bool "umount" - default n - help - When you want to remove a mounted filesystem from its current mount - point, for example when you are shutting down the system, the - 'umount' utility is the tool to use. If you enabled the 'mount' - utility, you almost certainly also want to enable 'umount'. - -config FEATURE_UMOUNT_ALL - bool "Support option -a" - default n - depends on UMOUNT - help - Support -a option to unmount all currently mounted filesystems. - -comment "Common options for mount/umount" - depends on MOUNT || UMOUNT - -config FEATURE_MOUNT_LOOP - bool "Support loopback mounts" - default n - depends on MOUNT || UMOUNT - help - Enabling this feature allows automatic mounting of files (containing - filesystem images) via the linux kernel's loopback devices. - The mount command will detect you are trying to mount a file instead - of a block device, and transparently associate the file with a - loopback device. The umount command will also free that loopback - device. - - You can still use the 'losetup' utility (to manually associate files - with loop devices) if you need to do something advanced, such as - specify an offset or cryptographic options to the loopback device. - (If you don't want umount to free the loop device, use "umount -D".) - -config FEATURE_MOUNT_LOOP_CREATE - bool "Create new loopback devices if needed" - default n - depends on FEATURE_MOUNT_LOOP - help - Linux kernels >= 2.6.24 support unlimited loopback devices. They are - allocated for use when trying to use a loop device. The loop device - must however exist. - - This feature lets mount to try to create next /dev/loopN device - if it does not find a free one. - -config FEATURE_MTAB_SUPPORT - bool "Support for the old /etc/mtab file" - default n - depends on MOUNT || UMOUNT - select FEATURE_MOUNT_FAKE - help - Historically, Unix systems kept track of the currently mounted - partitions in the file "/etc/mtab". These days, the kernel exports - the list of currently mounted partitions in "/proc/mounts", rendering - the old mtab file obsolete. (In modern systems, /etc/mtab should be - a symlink to /proc/mounts.) - - The only reason to have mount maintain an /etc/mtab file itself is if - your stripped-down embedded system does not have a /proc directory. - If you must use this, keep in mind it's inherently brittle (for - example a mount under chroot won't update it), can't handle modern - features like separate per-process filesystem namespaces, requires - that your /etc directory be writeable, tends to get easily confused - by --bind or --move mounts, won't update if you rename a directory - that contains a mount point, and so on. (In brief: avoid.) - - About the only reason to use this is if you've removed /proc from - your kernel. - -endmenu diff --git a/util-linux/Config.src b/util-linux/Config.src new file mode 100644 index 000000000..a59cc1ddf --- /dev/null +++ b/util-linux/Config.src @@ -0,0 +1,940 @@ +# +# For a description of the syntax of this configuration file, +# see scripts/kbuild/config-language.txt. +# + +menu "Linux System Utilities" + +config ACPID + bool "acpid" + default n + help + acpid listens to ACPI events coming either in textual form from + /proc/acpi/event (though it is marked deprecated it is still widely + used and _is_ a standard) or in binary form from specified evdevs + (just use /dev/input/event*). + + It parses the event to retrieve ACTION and a possible PARAMETER. + It then spawns /etc/acpi/[/] either via run-parts + (if the resulting path is a directory) or directly as an executable. + + N.B. acpid relies on run-parts so have the latter installed. + +config FEATURE_ACPID_COMPAT + bool "Accept and ignore redundant options" + default n + depends on ACPID + help + Accept and ignore compatibility options -g -m -s -S -v. + +config BLKID + bool "blkid" + default n + select VOLUMEID + help + Lists labels and UUIDs of all filesystems. + WARNING: + With all submodules selected, it will add ~8k to busybox. + +config DMESG + bool "dmesg" + default n + help + dmesg is used to examine or control the kernel ring buffer. When the + Linux kernel prints messages to the system log, they are stored in + the kernel ring buffer. You can use dmesg to print the kernel's ring + buffer, clear the kernel ring buffer, change the size of the kernel + ring buffer, and change the priority level at which kernel messages + are also logged to the system console. Enable this option if you + wish to enable the 'dmesg' utility. + +config FEATURE_DMESG_PRETTY + bool "Pretty dmesg output" + default y + depends on DMESG + help + If you wish to scrub the syslog level from the output, say 'Y' here. + The syslog level is a string prefixed to every line with the form + "<#>". + + With this option you will see: + # dmesg + Linux version 2.6.17.4 ..... + BIOS-provided physical RAM map: + BIOS-e820: 0000000000000000 - 000000000009f000 (usable) + + Without this option you will see: + # dmesg + <5>Linux version 2.6.17.4 ..... + <6>BIOS-provided physical RAM map: + <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable) + +config FBSET + bool "fbset" + default n + help + fbset is used to show or change the settings of a Linux frame buffer + device. The frame buffer device provides a simple and unique + interface to access a graphics display. Enable this option + if you wish to enable the 'fbset' utility. + +config FEATURE_FBSET_FANCY + bool "Turn on extra fbset options" + default n + depends on FBSET + help + This option enables extended fbset options, allowing one to set the + framebuffer size, color depth, etc. interface to access a graphics + display. Enable this option if you wish to enable extended fbset + options. + +config FEATURE_FBSET_READMODE + bool "Turn on fbset readmode support" + default n + depends on FBSET + help + This option allows fbset to read the video mode database stored by + default as /etc/fb.modes, which can be used to set frame buffer + device to pre-defined video modes. + +config FDFLUSH + bool "fdflush" + default n + help + fdflush is only needed when changing media on slightly-broken + removable media drives. It is used to make Linux believe that a + hardware disk-change switch has been actuated, which causes Linux to + forget anything it has cached from the previous media. If you have + such a slightly-broken drive, you will need to run fdflush every time + you change a disk. Most people have working hardware and can safely + leave this disabled. + +config FDFORMAT + bool "fdformat" + default n + help + fdformat is used to low-level format a floppy disk. + +config FDISK + bool "fdisk" + default n + help + The fdisk utility is used to divide hard disks into one or more + logical disks, which are generally called partitions. This utility + can be used to list and edit the set of partitions or BSD style + 'disk slices' that are defined on a hard drive. + +config FDISK_SUPPORT_LARGE_DISKS + bool "Support over 4GB disks" + default y + depends on FDISK + help + Enable this option to support large disks > 4GB. + +config FEATURE_FDISK_WRITABLE + bool "Write support" + default y + depends on FDISK + help + Enabling this option allows you to create or change a partition table + and write those changes out to disk. If you leave this option + disabled, you will only be able to view the partition table. + +config FEATURE_AIX_LABEL + bool "Support AIX disklabels" + default n + depends on FDISK && FEATURE_FDISK_WRITABLE + help + Enabling this option allows you to create or change AIX disklabels. + Most people can safely leave this option disabled. + +config FEATURE_SGI_LABEL + bool "Support SGI disklabels" + default n + depends on FDISK && FEATURE_FDISK_WRITABLE + help + Enabling this option allows you to create or change SGI disklabels. + Most people can safely leave this option disabled. + +config FEATURE_SUN_LABEL + bool "Support SUN disklabels" + default n + depends on FDISK && FEATURE_FDISK_WRITABLE + help + Enabling this option allows you to create or change SUN disklabels. + Most people can safely leave this option disabled. + +config FEATURE_OSF_LABEL + bool "Support BSD disklabels" + default n + depends on FDISK && FEATURE_FDISK_WRITABLE + help + Enabling this option allows you to create or change BSD disklabels + and define and edit BSD disk slices. + +config FEATURE_FDISK_ADVANCED + bool "Support expert mode" + default n + depends on FDISK && FEATURE_FDISK_WRITABLE + help + Enabling this option allows you to do terribly unsafe things like + define arbitrary drive geometry, move the beginning of data in a + partition, and similarly evil things. Unless you have a very good + reason you would be wise to leave this disabled. + +config FINDFS + bool "findfs" + default n + select VOLUMEID + help + Prints the name of a filesystem with given label or UUID. + WARNING: + With all submodules selected, it will add ~8k to busybox. + +config FLOCK + bool "flock" + default n + help + Manage locks from shell scripts + +config FREERAMDISK + bool "freeramdisk" + default n + help + Linux allows you to create ramdisks. This utility allows you to + delete them and completely free all memory that was used for the + ramdisk. For example, if you boot Linux into a ramdisk and later + pivot_root, you may want to free the memory that is allocated to the + ramdisk. If you have no use for freeing memory from a ramdisk, leave + this disabled. + +config FSCK_MINIX + bool "fsck_minix" + default n + help + The minix filesystem is a nice, small, compact, read-write filesystem + with little overhead. It is not a journaling filesystem however and + can experience corruption if it is not properly unmounted or if the + power goes off in the middle of a write. This utility allows you to + check for and attempt to repair any corruption that occurs to a minix + filesystem. + +config MKFS_EXT2 + bool "mkfs_ext2" + default n + help + Utility to create EXT2 filesystems. + +config MKFS_MINIX + bool "mkfs_minix" + default n + help + The minix filesystem is a nice, small, compact, read-write filesystem + with little overhead. If you wish to be able to create minix + filesystems this utility will do the job for you. + +comment "Minix filesystem support" + depends on FSCK_MINIX || MKFS_MINIX + +config FEATURE_MINIX2 + bool "Support Minix fs v2 (fsck_minix/mkfs_minix)" + default y + depends on FSCK_MINIX || MKFS_MINIX + help + If you wish to be able to create version 2 minix filesystems, enable + this. If you enabled 'mkfs_minix' then you almost certainly want to + be using the version 2 filesystem support. + +config MKFS_REISER + bool "mkfs_reiser" + default n + help + Utility to create ReiserFS filesystems. + +config MKFS_VFAT + bool "mkfs_vfat" + default n + help + Utility to create FAT32 filesystems. + +config GETOPT + bool "getopt" + default n + help + The getopt utility is used to break up (parse) options in command + lines to make it easy to write complex shell scripts that also check + for legal (and illegal) options. If you want to write horribly + complex shell scripts, or use some horribly complex shell script + written by others, this utility may be for you. Most people will + wisely leave this disabled. + +config FEATURE_GETOPT_LONG + bool "Support option -l" + default y if LONG_OPTS + depends on GETOPT + help + Enable support for long options (option -l). + +config HEXDUMP + bool "hexdump" + default n + help + The hexdump utility is used to display binary data in a readable + way that is comparable to the output from most hex editors. + +config FEATURE_HEXDUMP_REVERSE + bool "Support -R, reverse of 'hexdump -Cv'" + default n + depends on HEXDUMP + help + The hexdump utility is used to display binary data in an ascii + readable way. This option creates binary data from an ascii input. + NB: this option is non-standard. It's unwise to use it in scripts + aimed to be portable. + +config HD + bool "hd" + default n + select HEXDUMP + help + hd is an alias to hexdump -C. + +config HWCLOCK + bool "hwclock" + default n + help + The hwclock utility is used to read and set the hardware clock + on a system. This is primarily used to set the current time on + shutdown in the hardware clock, so the hardware will keep the + correct time when Linux is _not_ running. + +config FEATURE_HWCLOCK_LONG_OPTIONS + bool "Support long options (--hctosys,...)" + default n + depends on HWCLOCK && LONG_OPTS + help + By default, the hwclock utility only uses short options. If you + are overly fond of its long options, such as --hctosys, --utc, etc) + then enable this option. + +config FEATURE_HWCLOCK_ADJTIME_FHS + bool "Use FHS /var/lib/hwclock/adjtime" + default y + depends on HWCLOCK + help + Starting with FHS 2.3, the adjtime state file is supposed to exist + at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish + to use the FHS behavior, answer Y here, otherwise answer N for the + classic /etc/adjtime path. + + pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO + +config IPCRM + bool "ipcrm" + default n + select FEATURE_SUID + help + The ipcrm utility allows the removal of System V interprocess + communication (IPC) objects and the associated data structures + from the system. + +config IPCS + bool "ipcs" + default n + select FEATURE_SUID + help + The ipcs utility is used to provide information on the currently + allocated System V interprocess (IPC) objects in the system. + +config LOSETUP + bool "losetup" + default n + help + losetup is used to associate or detach a loop device with a regular + file or block device, and to query the status of a loop device. This + version does not currently support enabling data encryption. + +config LSPCI + bool "lspci" + default n + help + lspci is a utility for displaying information about PCI buses in the + system and devices connected to them. + + This version uses sysfs (/sys/bus/pci/devices) only. + +config LSUSB + bool "lsusb" + default n + help + lsusb is a utility for displaying information about USB buses in the + system and devices connected to them. + + This version uses sysfs (/sys/bus/usb/devices) only. + +config MDEV + bool "mdev" + default n + help + mdev is a mini-udev implementation for dynamically creating device + nodes in the /dev directory. + + For more information, please see docs/mdev.txt + +config FEATURE_MDEV_CONF + bool "Support /etc/mdev.conf" + default n + depends on MDEV + help + Add support for the mdev config file to control ownership and + permissions of the device nodes. + + For more information, please see docs/mdev.txt + +config FEATURE_MDEV_RENAME + bool "Support subdirs/symlinks" + default n + depends on FEATURE_MDEV_CONF + help + Add support for renaming devices and creating symlinks. + + For more information, please see docs/mdev.txt + +config FEATURE_MDEV_RENAME_REGEXP + bool "Support regular expressions substitutions when renaming device" + default n + depends on FEATURE_MDEV_RENAME + help + Add support for regular expressions substitutions when renaming + device. + +config FEATURE_MDEV_EXEC + bool "Support command execution at device addition/removal" + default n + depends on FEATURE_MDEV_CONF + help + This adds support for an optional field to /etc/mdev.conf for + executing commands when devices are created/removed. + + For more information, please see docs/mdev.txt + +config FEATURE_MDEV_LOAD_FIRMWARE + bool "Support loading of firmwares" + default n + depends on MDEV + help + Some devices need to load firmware before they can be usable. + + These devices will request userspace look up the files in + /lib/firmware/ and if it exists, send it to the kernel for + loading into the hardware. + +config MKSWAP + bool "mkswap" + default n + help + The mkswap utility is used to configure a file or disk partition as + Linux swap space. This allows Linux to use the entire file or + partition as if it were additional RAM, which can greatly increase + the capability of low-memory machines. This additional memory is + much slower than real RAM, but can be very helpful at preventing your + applications being killed by the Linux out of memory (OOM) killer. + Once you have created swap space using 'mkswap' you need to enable + the swap space using the 'swapon' utility. + +config FEATURE_MKSWAP_UUID + bool "UUID support" + default n + depends on MKSWAP + help + Generate swap spaces with universally unique identifiers. + +config MORE + bool "more" + default n + help + more is a simple utility which allows you to read text one screen + sized page at a time. If you want to read text that is larger than + the screen, and you are using anything faster than a 300 baud modem, + you will probably find this utility very helpful. If you don't have + any need to reading text files, you can leave this disabled. + +config FEATURE_USE_TERMIOS + bool "Use termios to manipulate the screen" + default y + depends on MORE || TOP + help + This option allows utilities such as 'more' and 'top' to determine + the size of the screen. If you leave this disabled, your utilities + that display things on the screen will be especially primitive and + will be unable to determine the current screen size, and will be + unable to move the cursor. + +config VOLUMEID + bool #No description makes it a hidden option + default n + +config FEATURE_VOLUMEID_EXT + bool "Ext filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_BTRFS + bool "btrfs filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_REISERFS + bool "Reiser filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_FAT + bool "fat filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_HFS + bool "hfs filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_JFS + bool "jfs filesystem" + default n + depends on VOLUMEID + help + TODO + +### config FEATURE_VOLUMEID_UFS +### bool "ufs filesystem" +### default n +### depends on VOLUMEID +### help +### TODO + +config FEATURE_VOLUMEID_XFS + bool "xfs filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_NTFS + bool "ntfs filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_ISO9660 + bool "iso9660 filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_UDF + bool "udf filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_LUKS + bool "luks filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_LINUXSWAP + bool "linux swap filesystem" + default n + depends on VOLUMEID + help + TODO + +### config FEATURE_VOLUMEID_LVM +### bool "lvm" +### default n +### depends on VOLUMEID +### help +### TODO + +config FEATURE_VOLUMEID_CRAMFS + bool "cramfs filesystem" + default n + depends on VOLUMEID + help + TODO + +### config FEATURE_VOLUMEID_HPFS +### bool "hpfs filesystem" +### default n +### depends on VOLUMEID +### help +### TODO + +config FEATURE_VOLUMEID_ROMFS + bool "romfs filesystem" + default n + depends on VOLUMEID + help + TODO + +config FEATURE_VOLUMEID_SYSV + bool "sysv filesystem" + default n + depends on VOLUMEID + help + TODO + +### config FEATURE_VOLUMEID_MINIX +### bool "minix filesystem" +### default n +### depends on VOLUMEID +### help +### TODO + +### These only detect partition tables - not used (yet?) +### config FEATURE_VOLUMEID_MAC +### bool "mac filesystem" +### default n +### depends on VOLUMEID +### help +### TODO +### +### config FEATURE_VOLUMEID_MSDOS +### bool "msdos filesystem" +### default n +### depends on VOLUMEID +### help +### TODO + +config FEATURE_VOLUMEID_OCFS2 + bool "ocfs2 filesystem" + default n + depends on VOLUMEID + help + TODO + +### config FEATURE_VOLUMEID_HIGHPOINTRAID +### bool "highpoint raid" +### default n +### depends on VOLUMEID +### help +### TODO + +### config FEATURE_VOLUMEID_ISWRAID +### bool "intel raid" +### default n +### depends on VOLUMEID +### help +### TODO + +### config FEATURE_VOLUMEID_LSIRAID +### bool "lsi raid" +### default n +### depends on VOLUMEID +### help +### TODO + +### config FEATURE_VOLUMEID_VIARAID +### bool "via raid" +### default n +### depends on VOLUMEID +### help +### TODO + +### config FEATURE_VOLUMEID_SILICONRAID +### bool "silicon raid" +### default n +### depends on VOLUMEID +### help +### TODO + +### config FEATURE_VOLUMEID_NVIDIARAID +### bool "nvidia raid" +### default n +### depends on VOLUMEID +### help +### TODO + +### config FEATURE_VOLUMEID_PROMISERAID +### bool "promise raid" +### default n +### depends on VOLUMEID +### help +### TODO + +config FEATURE_VOLUMEID_LINUXRAID + bool "linuxraid" + default n + depends on VOLUMEID + help + TODO + +config MOUNT + bool "mount" + default n + help + All files and filesystems in Unix are arranged into one big directory + tree. The 'mount' utility is used to graft a filesystem onto a + particular part of the tree. A filesystem can either live on a block + device, or it can be accessible over the network, as is the case with + NFS filesystems. Most people using BusyBox will also want to enable + the 'mount' utility. + +config FEATURE_MOUNT_FAKE + bool "Support option -f" + default n + depends on MOUNT + help + Enable support for faking a file system mount. + +config FEATURE_MOUNT_VERBOSE + bool "Support option -v" + default n + depends on MOUNT + help + Enable multi-level -v[vv...] verbose messages. Useful if you + debug mount problems and want to see what is exactly passed + to the kernel. + +config FEATURE_MOUNT_HELPERS + bool "Support mount helpers" + default n + depends on MOUNT + help + Enable mounting of virtual file systems via external helpers. + E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call + "obexfs -b00.11.22.33.44.55 /mnt" + Also "mount -t sometype [-o opts] fs /mnt" will try + "sometype [-o opts] fs /mnt" if simple mount syscall fails. + The idea is to use such virtual filesystems in /etc/fstab. + +config FEATURE_MOUNT_LABEL + bool "Support specifiying devices by label or UUID" + default n + depends on MOUNT + select VOLUMEID + help + This allows for specifying a device by label or uuid, rather than by + name. This feature utilizes the same functionality as blkid/findfs. + This also enables label or uuid support for swapon. + +config FEATURE_MOUNT_NFS + bool "Support mounting NFS file systems" + default n + depends on MOUNT + select FEATURE_HAVE_RPC + select FEATURE_SYSLOG + help + Enable mounting of NFS file systems. + +config FEATURE_MOUNT_CIFS + bool "Support mounting CIFS/SMB file systems" + default n + depends on MOUNT + help + Enable support for samba mounts. + +config FEATURE_MOUNT_FLAGS + depends on MOUNT + bool "Support lots of -o flags in mount" + default y + help + Without this, mount only supports ro/rw/remount. With this, it + supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime, + noatime, diratime, nodiratime, loud, bind, move, shared, slave, + private, unbindable, rshared, rslave, rprivate, and runbindable. + +config FEATURE_MOUNT_FSTAB + depends on MOUNT + bool "Support /etc/fstab and -a" + default y + help + Support mount all and looking for files in /etc/fstab. + +config PIVOT_ROOT + bool "pivot_root" + default n + help + The pivot_root utility swaps the mount points for the root filesystem + with some other mounted filesystem. This allows you to do all sorts + of wild and crazy things with your Linux system and is far more + powerful than 'chroot'. + + Note: This is for initrd in linux 2.4. Under initramfs (introduced + in linux 2.6) use switch_root instead. + +config RDATE + bool "rdate" + default n + help + The rdate utility allows you to synchronize the date and time of your + system clock with the date and time of a remote networked system using + the RFC868 protocol, which is built into the inetd daemon on most + systems. + +config RDEV + bool "rdev" + default n + help + Print the device node associated with the filesystem mounted at '/'. + +config READPROFILE + bool "readprofile" + default n + help + This allows you to parse /proc/profile for basic profiling. + +config RTCWAKE + bool "rtcwake" + default n + help + Enter a system sleep state until specified wakeup time. + +config SCRIPT + bool "script" + default n + help + The script makes typescript of terminal session. + +config SCRIPTREPLAY + bool "scriptreplay" + default n + help + This program replays a typescript, using timing information + given by script -t. + +config SETARCH + bool "setarch" + default n + help + The linux32 utility is used to create a 32bit environment for the + specified program (usually a shell). It only makes sense to have + this util on a system that supports both 64bit and 32bit userland + (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...). + +config SWAPONOFF + bool "swaponoff" + default n + help + This option enables both the 'swapon' and the 'swapoff' utilities. + Once you have created some swap space using 'mkswap', you also need + to enable your swap space with the 'swapon' utility. The 'swapoff' + utility is used, typically at system shutdown, to disable any swap + space. If you are not using any swap space, you can leave this + option disabled. + +config FEATURE_SWAPON_PRI + bool "Support priority option -p" + default n + depends on SWAPONOFF + help + Enable support for setting swap device priority in swapon. + +config SWITCH_ROOT + bool "switch_root" + default n + help + The switch_root utility is used from initramfs to select a new + root device. Under initramfs, you have to use this instead of + pivot_root. (Stop reading here if you don't care why.) + + Booting with initramfs extracts a gzipped cpio archive into rootfs + (which is a variant of ramfs/tmpfs). Because rootfs can't be moved + or unmounted*, pivot_root will not work from initramfs. Instead, + switch_root deletes everything out of rootfs (including itself), + does a mount --move that overmounts rootfs with the new root, and + then execs the specified init program. + + * Because the Linux kernel uses rootfs internally as the starting + and ending point for searching through the kernel's doubly linked + list of active mount points. That's why. + +config UMOUNT + bool "umount" + default n + help + When you want to remove a mounted filesystem from its current mount + point, for example when you are shutting down the system, the + 'umount' utility is the tool to use. If you enabled the 'mount' + utility, you almost certainly also want to enable 'umount'. + +config FEATURE_UMOUNT_ALL + bool "Support option -a" + default n + depends on UMOUNT + help + Support -a option to unmount all currently mounted filesystems. + +comment "Common options for mount/umount" + depends on MOUNT || UMOUNT + +config FEATURE_MOUNT_LOOP + bool "Support loopback mounts" + default n + depends on MOUNT || UMOUNT + help + Enabling this feature allows automatic mounting of files (containing + filesystem images) via the linux kernel's loopback devices. + The mount command will detect you are trying to mount a file instead + of a block device, and transparently associate the file with a + loopback device. The umount command will also free that loopback + device. + + You can still use the 'losetup' utility (to manually associate files + with loop devices) if you need to do something advanced, such as + specify an offset or cryptographic options to the loopback device. + (If you don't want umount to free the loop device, use "umount -D".) + +config FEATURE_MOUNT_LOOP_CREATE + bool "Create new loopback devices if needed" + default n + depends on FEATURE_MOUNT_LOOP + help + Linux kernels >= 2.6.24 support unlimited loopback devices. They are + allocated for use when trying to use a loop device. The loop device + must however exist. + + This feature lets mount to try to create next /dev/loopN device + if it does not find a free one. + +config FEATURE_MTAB_SUPPORT + bool "Support for the old /etc/mtab file" + default n + depends on MOUNT || UMOUNT + select FEATURE_MOUNT_FAKE + help + Historically, Unix systems kept track of the currently mounted + partitions in the file "/etc/mtab". These days, the kernel exports + the list of currently mounted partitions in "/proc/mounts", rendering + the old mtab file obsolete. (In modern systems, /etc/mtab should be + a symlink to /proc/mounts.) + + The only reason to have mount maintain an /etc/mtab file itself is if + your stripped-down embedded system does not have a /proc directory. + If you must use this, keep in mind it's inherently brittle (for + example a mount under chroot won't update it), can't handle modern + features like separate per-process filesystem namespaces, requires + that your /etc directory be writeable, tends to get easily confused + by --bind or --move mounts, won't update if you rename a directory + that contains a mount point, and so on. (In brief: avoid.) + + About the only reason to use this is if you've removed /proc from + your kernel. + +endmenu diff --git a/util-linux/Kbuild b/util-linux/Kbuild deleted file mode 100644 index 4fa392398..000000000 --- a/util-linux/Kbuild +++ /dev/null @@ -1,45 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= -lib-$(CONFIG_ACPID) += acpid.o -lib-$(CONFIG_BLKID) += blkid.o -lib-$(CONFIG_DMESG) += dmesg.o -lib-$(CONFIG_FBSET) += fbset.o -lib-$(CONFIG_FDFLUSH) += freeramdisk.o -lib-$(CONFIG_FDFORMAT) += fdformat.o -lib-$(CONFIG_FDISK) += fdisk.o -lib-$(CONFIG_FINDFS) += findfs.o -lib-$(CONFIG_FLOCK) += flock.o -lib-$(CONFIG_FREERAMDISK) += freeramdisk.o -lib-$(CONFIG_FSCK_MINIX) += fsck_minix.o -lib-$(CONFIG_GETOPT) += getopt.o -lib-$(CONFIG_HEXDUMP) += hexdump.o -lib-$(CONFIG_HWCLOCK) += hwclock.o -lib-$(CONFIG_IPCRM) += ipcrm.o -lib-$(CONFIG_IPCS) += ipcs.o -lib-$(CONFIG_LOSETUP) += losetup.o -lib-$(CONFIG_LSPCI) += lspci.o -lib-$(CONFIG_LSUSB) += lsusb.o -lib-$(CONFIG_MDEV) += mdev.o -lib-$(CONFIG_MKFS_EXT2) += mkfs_ext2.o -lib-$(CONFIG_MKFS_MINIX) += mkfs_minix.o -lib-$(CONFIG_MKFS_REISER) += mkfs_reiser.o -lib-$(CONFIG_MKFS_VFAT) += mkfs_vfat.o -lib-$(CONFIG_MKSWAP) += mkswap.o -lib-$(CONFIG_MORE) += more.o -lib-$(CONFIG_MOUNT) += mount.o -lib-$(CONFIG_PIVOT_ROOT) += pivot_root.o -lib-$(CONFIG_RDATE) += rdate.o -lib-$(CONFIG_RDEV) += rdev.o -lib-$(CONFIG_READPROFILE) += readprofile.o -lib-$(CONFIG_RTCWAKE) += rtcwake.o -lib-$(CONFIG_SCRIPT) += script.o -lib-$(CONFIG_SCRIPTREPLAY) += scriptreplay.o -lib-$(CONFIG_SETARCH) += setarch.o -lib-$(CONFIG_SWAPONOFF) += swaponoff.o -lib-$(CONFIG_SWITCH_ROOT) += switch_root.o -lib-$(CONFIG_UMOUNT) += umount.o diff --git a/util-linux/Kbuild.src b/util-linux/Kbuild.src new file mode 100644 index 000000000..4fa392398 --- /dev/null +++ b/util-linux/Kbuild.src @@ -0,0 +1,45 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= +lib-$(CONFIG_ACPID) += acpid.o +lib-$(CONFIG_BLKID) += blkid.o +lib-$(CONFIG_DMESG) += dmesg.o +lib-$(CONFIG_FBSET) += fbset.o +lib-$(CONFIG_FDFLUSH) += freeramdisk.o +lib-$(CONFIG_FDFORMAT) += fdformat.o +lib-$(CONFIG_FDISK) += fdisk.o +lib-$(CONFIG_FINDFS) += findfs.o +lib-$(CONFIG_FLOCK) += flock.o +lib-$(CONFIG_FREERAMDISK) += freeramdisk.o +lib-$(CONFIG_FSCK_MINIX) += fsck_minix.o +lib-$(CONFIG_GETOPT) += getopt.o +lib-$(CONFIG_HEXDUMP) += hexdump.o +lib-$(CONFIG_HWCLOCK) += hwclock.o +lib-$(CONFIG_IPCRM) += ipcrm.o +lib-$(CONFIG_IPCS) += ipcs.o +lib-$(CONFIG_LOSETUP) += losetup.o +lib-$(CONFIG_LSPCI) += lspci.o +lib-$(CONFIG_LSUSB) += lsusb.o +lib-$(CONFIG_MDEV) += mdev.o +lib-$(CONFIG_MKFS_EXT2) += mkfs_ext2.o +lib-$(CONFIG_MKFS_MINIX) += mkfs_minix.o +lib-$(CONFIG_MKFS_REISER) += mkfs_reiser.o +lib-$(CONFIG_MKFS_VFAT) += mkfs_vfat.o +lib-$(CONFIG_MKSWAP) += mkswap.o +lib-$(CONFIG_MORE) += more.o +lib-$(CONFIG_MOUNT) += mount.o +lib-$(CONFIG_PIVOT_ROOT) += pivot_root.o +lib-$(CONFIG_RDATE) += rdate.o +lib-$(CONFIG_RDEV) += rdev.o +lib-$(CONFIG_READPROFILE) += readprofile.o +lib-$(CONFIG_RTCWAKE) += rtcwake.o +lib-$(CONFIG_SCRIPT) += script.o +lib-$(CONFIG_SCRIPTREPLAY) += scriptreplay.o +lib-$(CONFIG_SETARCH) += setarch.o +lib-$(CONFIG_SWAPONOFF) += swaponoff.o +lib-$(CONFIG_SWITCH_ROOT) += switch_root.o +lib-$(CONFIG_UMOUNT) += umount.o diff --git a/util-linux/volume_id/Kbuild b/util-linux/volume_id/Kbuild deleted file mode 100644 index 3520f2480..000000000 --- a/util-linux/volume_id/Kbuild +++ /dev/null @@ -1,43 +0,0 @@ -# Makefile for busybox -# -# Copyright (C) 1999-2005 by Erik Andersen -# -# Licensed under the GPL v2, see the file LICENSE in this tarball. - -lib-y:= - -lib-$(CONFIG_BLKID) += get_devname.o -lib-$(CONFIG_FINDFS) += get_devname.o -lib-$(CONFIG_FEATURE_MOUNT_LABEL) += get_devname.o - -lib-$(CONFIG_VOLUMEID) += volume_id.o util.o -lib-$(CONFIG_FEATURE_VOLUMEID_BTRFS) += btrfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_EXT) += ext.o -lib-$(CONFIG_FEATURE_VOLUMEID_FAT) += fat.o -lib-$(CONFIG_FEATURE_VOLUMEID_HFS) += hfs.o -### lib-$(CONFIG_FEATURE_VOLUMEID_HIGHPOINTRAID) += highpoint.o -### lib-$(CONFIG_FEATURE_VOLUMEID_ISWRAID) += isw_raid.o -### lib-$(CONFIG_FEATURE_VOLUMEID_LSIRAID) += lsi_raid.o -### lib-$(CONFIG_FEATURE_VOLUMEID_VIARAID) += via_raid.o -### lib-$(CONFIG_FEATURE_VOLUMEID_SILICONRAID) += silicon_raid.o -### lib-$(CONFIG_FEATURE_VOLUMEID_NVIDIARAID) += nvidia_raid.o -### lib-$(CONFIG_FEATURE_VOLUMEID_PROMISERAID) += promise_raid.o -lib-$(CONFIG_FEATURE_VOLUMEID_ISO9660) += iso9660.o -lib-$(CONFIG_FEATURE_VOLUMEID_JFS) += jfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_LINUXRAID) += linux_raid.o -lib-$(CONFIG_FEATURE_VOLUMEID_LINUXSWAP) += linux_swap.o -### lib-$(CONFIG_FEATURE_VOLUMEID_LVM) += lvm.o -### lib-$(CONFIG_FEATURE_VOLUMEID_MAC) += mac.o -### lib-$(CONFIG_FEATURE_VOLUMEID_MSDOS) += msdos.o -lib-$(CONFIG_FEATURE_VOLUMEID_NTFS) += ntfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_REISERFS) += reiserfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_UDF) += udf.o -### lib-$(CONFIG_FEATURE_VOLUMEID_UFS) += ufs.o -lib-$(CONFIG_FEATURE_VOLUMEID_XFS) += xfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_CRAMFS) += cramfs.o -### lib-$(CONFIG_FEATURE_VOLUMEID_HPFS) += hpfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_ROMFS) += romfs.o -lib-$(CONFIG_FEATURE_VOLUMEID_SYSV) += sysv.o -### lib-$(CONFIG_FEATURE_VOLUMEID_MINIX) += minix.o -lib-$(CONFIG_FEATURE_VOLUMEID_LUKS) += luks.o -lib-$(CONFIG_FEATURE_VOLUMEID_OCFS2) += ocfs2.o diff --git a/util-linux/volume_id/Kbuild.src b/util-linux/volume_id/Kbuild.src new file mode 100644 index 000000000..3520f2480 --- /dev/null +++ b/util-linux/volume_id/Kbuild.src @@ -0,0 +1,43 @@ +# Makefile for busybox +# +# Copyright (C) 1999-2005 by Erik Andersen +# +# Licensed under the GPL v2, see the file LICENSE in this tarball. + +lib-y:= + +lib-$(CONFIG_BLKID) += get_devname.o +lib-$(CONFIG_FINDFS) += get_devname.o +lib-$(CONFIG_FEATURE_MOUNT_LABEL) += get_devname.o + +lib-$(CONFIG_VOLUMEID) += volume_id.o util.o +lib-$(CONFIG_FEATURE_VOLUMEID_BTRFS) += btrfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_EXT) += ext.o +lib-$(CONFIG_FEATURE_VOLUMEID_FAT) += fat.o +lib-$(CONFIG_FEATURE_VOLUMEID_HFS) += hfs.o +### lib-$(CONFIG_FEATURE_VOLUMEID_HIGHPOINTRAID) += highpoint.o +### lib-$(CONFIG_FEATURE_VOLUMEID_ISWRAID) += isw_raid.o +### lib-$(CONFIG_FEATURE_VOLUMEID_LSIRAID) += lsi_raid.o +### lib-$(CONFIG_FEATURE_VOLUMEID_VIARAID) += via_raid.o +### lib-$(CONFIG_FEATURE_VOLUMEID_SILICONRAID) += silicon_raid.o +### lib-$(CONFIG_FEATURE_VOLUMEID_NVIDIARAID) += nvidia_raid.o +### lib-$(CONFIG_FEATURE_VOLUMEID_PROMISERAID) += promise_raid.o +lib-$(CONFIG_FEATURE_VOLUMEID_ISO9660) += iso9660.o +lib-$(CONFIG_FEATURE_VOLUMEID_JFS) += jfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_LINUXRAID) += linux_raid.o +lib-$(CONFIG_FEATURE_VOLUMEID_LINUXSWAP) += linux_swap.o +### lib-$(CONFIG_FEATURE_VOLUMEID_LVM) += lvm.o +### lib-$(CONFIG_FEATURE_VOLUMEID_MAC) += mac.o +### lib-$(CONFIG_FEATURE_VOLUMEID_MSDOS) += msdos.o +lib-$(CONFIG_FEATURE_VOLUMEID_NTFS) += ntfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_REISERFS) += reiserfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_UDF) += udf.o +### lib-$(CONFIG_FEATURE_VOLUMEID_UFS) += ufs.o +lib-$(CONFIG_FEATURE_VOLUMEID_XFS) += xfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_CRAMFS) += cramfs.o +### lib-$(CONFIG_FEATURE_VOLUMEID_HPFS) += hpfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_ROMFS) += romfs.o +lib-$(CONFIG_FEATURE_VOLUMEID_SYSV) += sysv.o +### lib-$(CONFIG_FEATURE_VOLUMEID_MINIX) += minix.o +lib-$(CONFIG_FEATURE_VOLUMEID_LUKS) += luks.o +lib-$(CONFIG_FEATURE_VOLUMEID_OCFS2) += ocfs2.o -- cgit v1.2.3-55-g6feb From 729ce473609fbe2aef656e6079d6b8a102962004 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 5 Jun 2010 21:29:41 +0200 Subject: tr: add forgotten //config: prefixes Signed-off-by: Denys Vlasenko --- coreutils/tr.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/coreutils/tr.c b/coreutils/tr.c index 12d07152b..25f503860 100644 --- a/coreutils/tr.c +++ b/coreutils/tr.c @@ -27,25 +27,25 @@ //config: help //config: tr is used to squeeze, and/or delete characters from standard //config: input, writing to standard output. - -config FEATURE_TR_CLASSES - bool "Enable character classes (such as [:upper:])" - default n - depends on TR - help - Enable character classes, enabling commands such as: - tr [:upper:] [:lower:] to convert input into lowercase. - -config FEATURE_TR_EQUIV - bool "Enable equivalence classes" - default n - depends on TR - help - Enable equivalence classes, which essentially add the enclosed - character to the current set. For instance, tr [=a=] xyz would - replace all instances of 'a' with 'xyz'. This option is mainly - useful for cases when no other way of expressing a character - is possible. +//config: +//config:config FEATURE_TR_CLASSES +//config: bool "Enable character classes (such as [:upper:])" +//config: default n +//config: depends on TR +//config: help +//config: Enable character classes, enabling commands such as: +//config: tr [:upper:] [:lower:] to convert input into lowercase. +//config: +//config:config FEATURE_TR_EQUIV +//config: bool "Enable equivalence classes" +//config: default n +//config: depends on TR +//config: help +//config: Enable equivalence classes, which essentially add the enclosed +//config: character to the current set. For instance, tr [=a=] xyz would +//config: replace all instances of 'a' with 'xyz'. This option is mainly +//config: useful for cases when no other way of expressing a character +//config: is possible. #include "libbb.h" -- cgit v1.2.3-55-g6feb From 0e5ba0843b86a78d2d98a5fbaac8d33fe041f10e Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 5 Jun 2010 23:11:07 +0200 Subject: Remove requirement that include/applets.h must be sorted First, I _again_ violated it - two xz-related applets are in wrong positions. Second, planned in-applet help text thing will be so much easier without this requirement... Signed-off-by: Denys Vlasenko --- Config.in | 2 +- applets/usage.c | 33 +++++++++++++++++++++++----- applets/usage_compressed | 22 ++++++++++++------- applets/usage_pod.c | 57 +++++++++++++++++++++++++++++------------------- include/applets.h | 21 +++++++----------- libbb/appletlib.c | 43 ++++++++++++++++-------------------- 6 files changed, 103 insertions(+), 75 deletions(-) diff --git a/Config.in b/Config.in index a5d20038a..8baf565db 100644 --- a/Config.in +++ b/Config.in @@ -83,7 +83,7 @@ config SHOW_USAGE config FEATURE_VERBOSE_USAGE bool "Show verbose applet usage messages" default n - select SHOW_USAGE + depends on SHOW_USAGE help All BusyBox applets will show more verbose help messages when busybox is invoked with --help. This will add a lot of text to the diff --git a/applets/usage.c b/applets/usage.c index d4fd12f9b..46adbf475 100644 --- a/applets/usage.c +++ b/applets/usage.c @@ -5,9 +5,9 @@ * Licensed under GPLv2, see file LICENSE in this tarball for details. */ #include +#include +#include -/* Just #include "autoconf.h" doesn't work for builds in separate - * object directory */ #include "autoconf.h" /* Since we can't use platform.h, have to do this again by hand: */ @@ -21,14 +21,35 @@ # define USE_FOR_MMU(...) __VA_ARGS__ #endif -static const char usage_messages[] = "" -#define MAKE_USAGE #include "usage.h" +#define MAKE_USAGE(aname, usage) { aname, usage }, +static struct usage_data { + const char *aname; + const char *usage; +} usage_array[] = { #include "applets.h" -; +}; + +static int compare_func(const void *a, const void *b) +{ + const struct usage_data *ua = a; + const struct usage_data *ub = b; + return strcmp(ua->aname, ub->aname); +} int main(void) { - write(STDOUT_FILENO, usage_messages, sizeof(usage_messages)); + int i; + int num_messages = sizeof(usage_array) / sizeof(usage_array[0]); + + if (num_messages == 0) + return 0; + + qsort(usage_array, + num_messages, sizeof(usage_array[0]), + compare_func); + for (i = 0; i < num_messages; i++) + write(STDOUT_FILENO, usage_array[i].usage, strlen(usage_array[i].usage) + 1); + return 0; } diff --git a/applets/usage_compressed b/applets/usage_compressed index 8d343529d..12efd2c9c 100755 --- a/applets/usage_compressed +++ b/applets/usage_compressed @@ -9,12 +9,19 @@ test -x "$loc/usage" || exit 1 test "$SED" || SED=sed test "$DD" || DD=dd -sz=`"$loc/usage" | wc -c` || exit 1 - exec >"$target" -echo 'static const char packed_usage[] ALIGN1 = {' +echo '#define UNPACKED_USAGE \' +"$loc/usage" | od -v -t x1 \ +| $SED -e 's/^[^ ]*//' \ + -e 's/ //g' \ + -e '/^$/d' \ + -e 's/\(..\)/\\x\1/g' \ + -e 's/^/"/' \ + -e 's/$/" \\/' +echo '' +echo '#define PACKED_USAGE \' ## Breaks on big-endian systems! ## # Extra effort to avoid using "od -t x1": -t is not available ## # in non-CONFIG_DESKTOPed busybox od @@ -24,12 +31,11 @@ echo 'static const char packed_usage[] ALIGN1 = {' ## -e 's/ //g' \ ## -e '/^$/d' \ ## -e 's/\(..\)\(..\)/0x\2,0x\1,/g' - +## -e 's/$/ \\/' "$loc/usage" | bzip2 -1 | $DD bs=2 skip=1 2>/dev/null | od -v -t x1 \ | $SED -e 's/^[^ ]*//' \ -e 's/ //g' \ -e '/^$/d' \ - -e 's/\(..\)/0x\1,/g' - -echo '};' -echo '#define SIZEOF_usage_messages' `expr 0 + $sz` + -e 's/\(..\)/0x\1,/g' \ + -e 's/$/ \\/' +echo '' diff --git a/applets/usage_pod.c b/applets/usage_pod.c index ee3729d7b..85a2a8ec4 100644 --- a/applets/usage_pod.c +++ b/applets/usage_pod.c @@ -6,11 +6,10 @@ */ #include #include +#include #include #include -/* Just #include "autoconf.h" doesn't work for builds in separate - * object directory */ #include "autoconf.h" #define SKIP_applet_main @@ -29,22 +28,39 @@ # define USE_FOR_MMU(...) __VA_ARGS__ #endif -static const char usage_messages[] = "" -#define MAKE_USAGE #include "usage.h" +#define MAKE_USAGE(aname, usage) { aname, usage }, +static struct usage_data { + const char *aname; + const char *usage; +} usage_array[] = { #include "applets.h" -; +}; + +static int compare_func(const void *a, const void *b) +{ + const struct usage_data *ua = a; + const struct usage_data *ub = b; + return strcmp(ua->aname, ub->aname); +} int main(void) { - const char *names; - const char *usage; int col, len2; + int i; + int num_messages = sizeof(usage_array) / sizeof(usage_array[0]); + + if (num_messages == 0) + return 0; + + qsort(usage_array, + num_messages, sizeof(usage_array[0]), + compare_func); + col = 0; - names = applet_names; - while (*names) { - len2 = strlen(names) + 2; + for (i = 0; i < num_messages; i++) { + len2 = strlen(usage_array[i].aname) + 2; if (col >= 76 - len2) { printf(",\n"); col = 0; @@ -55,29 +71,24 @@ int main(void) } else { printf(", "); } - printf(names); + printf(usage_array[i].aname); col += len2; - names += len2 - 1; } printf("\n\n"); printf("=head1 COMMAND DESCRIPTIONS\n\n"); printf("=over 4\n\n"); - names = applet_names; - usage = usage_messages; - while (*names) { - if (*names >= 'a' && *names <= 'z' - && *usage != NOUSAGE_STR[0] + for (i = 0; i < num_messages; i++) { + if (usage_array[i].aname[0] >= 'a' && usage_array[i].aname[0] <= 'z' + && usage_array[i].usage[0] != NOUSAGE_STR[0] ) { - printf("=item B<%s>\n\n", names); - if (*usage) - printf("%s %s\n\n", names, usage); + printf("=item B<%s>\n\n", usage_array[i].aname); + if (usage_array[i].usage[0]) + printf("%s %s\n\n", usage_array[i].aname, usage_array[i].usage); else - printf("%s\n\n", names); + printf("%s\n\n", usage_array[i].aname); } - names += strlen(names) + 1; - usage += strlen(usage) + 1; } return 0; } diff --git a/include/applets.h b/include/applets.h index d8a706b44..cf8de8eb6 100644 --- a/include/applets.h +++ b/include/applets.h @@ -4,11 +4,6 @@ * * If you write a new applet, you need to add an entry to this list to make * busybox aware of it. - * - * It is CRUCIAL that this listing be kept in ascii order, otherwise the binary - * search lookup contributed by Gaute B Strokkenes stops working. If you value - * your kneecaps, you'll be sure to *make sure* that any changes made to this - * file result in the listing remaining in ascii order. You have been warned. */ /* @@ -36,16 +31,16 @@ s - suid type: # define APPLET_NOFORK(name,main,l,s,name2) name main##_main name2 #elif defined(MAKE_USAGE) && ENABLE_FEATURE_VERBOSE_USAGE -# define APPLET(name,l,s) name##_trivial_usage name##_full_usage "\0" -# define APPLET_ODDNAME(name,main,l,s,name2) name2##_trivial_usage name2##_full_usage "\0" -# define APPLET_NOEXEC(name,main,l,s,name2) name2##_trivial_usage name2##_full_usage "\0" -# define APPLET_NOFORK(name,main,l,s,name2) name2##_trivial_usage name2##_full_usage "\0" +# define APPLET(name,l,s) MAKE_USAGE(#name, name##_trivial_usage name##_full_usage) +# define APPLET_ODDNAME(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) +# define APPLET_NOEXEC(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) +# define APPLET_NOFORK(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) #elif defined(MAKE_USAGE) && !ENABLE_FEATURE_VERBOSE_USAGE -# define APPLET(name,l,s) name##_trivial_usage "\0" -# define APPLET_ODDNAME(name,main,l,s,name2) name2##_trivial_usage "\0" -# define APPLET_NOEXEC(name,main,l,s,name2) name2##_trivial_usage "\0" -# define APPLET_NOFORK(name,main,l,s,name2) name2##_trivial_usage "\0" +# define APPLET(name,l,s) MAKE_USAGE(#name, name##_trivial_usage) +# define APPLET_ODDNAME(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) +# define APPLET_NOEXEC(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) +# define APPLET_NOFORK(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) #elif defined(MAKE_LINKS) # define APPLET(name,l,c) LINK l name diff --git a/libbb/appletlib.c b/libbb/appletlib.c index a8cd8e65f..6267f2673 100644 --- a/libbb/appletlib.c +++ b/libbb/appletlib.c @@ -43,35 +43,30 @@ #include "applets.h" #undef PROTOTYPES -#if ENABLE_SHOW_USAGE && !ENABLE_FEATURE_COMPRESS_USAGE -/* Define usage_messages[] */ -static const char usage_messages[] ALIGN1 = "" -# define MAKE_USAGE -# include "usage.h" -# include "applets.h" -; -# undef MAKE_USAGE -#else -# define usage_messages 0 -#endif /* SHOW_USAGE */ - /* Include generated applet names, pointers to _main, etc */ #include "applet_tables.h" /* ...and if applet_tables generator says we have only one applet... */ #ifdef SINGLE_APPLET_MAIN -#undef ENABLE_FEATURE_INDIVIDUAL -#define ENABLE_FEATURE_INDIVIDUAL 1 -#undef IF_FEATURE_INDIVIDUAL -#define IF_FEATURE_INDIVIDUAL(...) __VA_ARGS__ +# undef ENABLE_FEATURE_INDIVIDUAL +# define ENABLE_FEATURE_INDIVIDUAL 1 +# undef IF_FEATURE_INDIVIDUAL +# define IF_FEATURE_INDIVIDUAL(...) __VA_ARGS__ #endif -#if ENABLE_FEATURE_COMPRESS_USAGE - #include "usage_compressed.h" -#include "unarchive.h" +#if ENABLE_SHOW_USAGE && !ENABLE_FEATURE_COMPRESS_USAGE +static const char usage_messages[] ALIGN1 = UNPACKED_USAGE; +#else +# define usage_messages 0 +#endif /* SHOW_USAGE */ + +#if ENABLE_FEATURE_COMPRESS_USAGE + +static const char packed_usage[] = { PACKED_USAGE }; +# include "unarchive.h" static const char *unpack_usage_messages(void) { char *outbuf = NULL; @@ -86,19 +81,19 @@ static const char *unpack_usage_messages(void) * end up here with i != 0 on read data errors! Not trivial */ if (!i) { /* Cannot use xmalloc: will leak bd in NOFORK case! */ - outbuf = malloc_or_warn(SIZEOF_usage_messages); + outbuf = malloc_or_warn(sizeof(UNPACKED_USAGE)); if (outbuf) - read_bunzip(bd, outbuf, SIZEOF_usage_messages); + read_bunzip(bd, outbuf, sizeof(UNPACKED_USAGE)); } dealloc_bunzip(bd); return outbuf; } -#define dealloc_usage_messages(s) free(s) +# define dealloc_usage_messages(s) free(s) #else -#define unpack_usage_messages() usage_messages -#define dealloc_usage_messages(s) ((void)(s)) +# define unpack_usage_messages() usage_messages +# define dealloc_usage_messages(s) ((void)(s)) #endif /* FEATURE_COMPRESS_USAGE */ -- cgit v1.2.3-55-g6feb From 6c5bf0d347faded028e15d523c26a0d64c6d3920 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 00:53:45 +0200 Subject: make it possible to have include/applets.h-esque entries in .c files As an example, bunzip2 and bzcat is changed to use it. Signed-off-by: Denys Vlasenko --- Makefile | 14 +- Makefile.custom | 2 +- applets/Kbuild.src | 6 +- archival/bbunzip.c | 2 + include/applets.h | 451 --------------------------------------------- include/applets.src.h | 450 ++++++++++++++++++++++++++++++++++++++++++++ scripts/Makefile.IMA | 2 +- scripts/gen_build_files.sh | 31 +++- 8 files changed, 487 insertions(+), 471 deletions(-) delete mode 100644 include/applets.h create mode 100644 include/applets.src.h diff --git a/Makefile b/Makefile index c231092be..483842f06 100644 --- a/Makefile +++ b/Makefile @@ -358,11 +358,16 @@ scripts_basic: # To avoid any implicit rule to kick in, define an empty command. scripts/basic/%: scripts_basic ; +# This target generates Kbuild's and Config.in's from *.c files +PHONY += gen_build_files +gen_build_files: + $(Q)$(srctree)/scripts/gen_build_files.sh $(srctree) $(objtree) + # bbox: we have helpers in applets/ # we depend on scripts_basic, since scripts/basic/fixdep # must be built before any other host prog PHONY += applets_dir -applets_dir: scripts_basic +applets_dir: scripts_basic gen_build_files $(Q)$(MAKE) $(build)=applets applets/%: applets_dir ; @@ -377,11 +382,6 @@ ifneq ($(KBUILD_SRC),) $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) endif -# This target generates Kbuild's and Config.in's from *.c files -PHONY += gen_build_files -gen_build_files: - $(Q)$(srctree)/scripts/gen_build_files.sh $(srctree) $(objtree) - # To make sure we do not include .config for any of the *config targets # catch them early, and hand them over to scripts/kconfig/Makefile # It is allowed to specify more targets when calling make, including @@ -446,7 +446,7 @@ else ifeq ($(KBUILD_EXTMOD),) # Additional helpers built in scripts/ # Carefully list dependencies so we do not try to build scripts twice -# in parrallel +# in parallel PHONY += scripts scripts: gen_build_files scripts_basic include/config/MARKER $(Q)$(MAKE) $(build)=$(@) diff --git a/Makefile.custom b/Makefile.custom index ecba6bd79..fa69dcebb 100644 --- a/Makefile.custom +++ b/Makefile.custom @@ -2,7 +2,7 @@ # Build system # ========================================================================== -busybox.links: $(srctree)/applets/busybox.mkll $(objtree)/include/autoconf.h $(srctree)/include/applets.h +busybox.links: $(srctree)/applets/busybox.mkll $(objtree)/include/autoconf.h include/applets.h $(Q)-$(SHELL) $^ >$@ .PHONY: install diff --git a/applets/Kbuild.src b/applets/Kbuild.src index a6b0cf6fb..e3bac9681 100644 --- a/applets/Kbuild.src +++ b/applets/Kbuild.src @@ -27,9 +27,9 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_slash)include -Iinclude applets/applets.o: include/usage_compressed.h include/applet_tables.h -applets/applet_tables: .config $(srctree_slash)include/applets.h -applets/usage: .config $(srctree_slash)include/applets.h -applets/usage_pod: .config include/applet_tables.h $(srctree_slash)include/applets.h +applets/applet_tables: .config include/applets.h +applets/usage: .config include/applets.h +applets/usage_pod: .config include/applet_tables.h include/applets.h quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets diff --git a/archival/bbunzip.c b/archival/bbunzip.c index 08db2752c..ce6223514 100644 --- a/archival/bbunzip.c +++ b/archival/bbunzip.c @@ -304,6 +304,8 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv) * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ +//applet:IF_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +//applet:IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP, bzcat)) #if ENABLE_BUNZIP2 static IF_DESKTOP(long long) int FAST_FUNC unpack_bunzip2(unpack_info_t *info UNUSED_PARAM) diff --git a/include/applets.h b/include/applets.h deleted file mode 100644 index cf8de8eb6..000000000 --- a/include/applets.h +++ /dev/null @@ -1,451 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * applets.h - a listing of all busybox applets. - * - * If you write a new applet, you need to add an entry to this list to make - * busybox aware of it. - */ - -/* -name - applet name as it is typed on command line -name2 - applet name, converted to C (ether-wake: name2 = ether_wake) -main - corresponding _main to call (bzcat: main = bunzip2) -l - location to install link to: [/usr]/[s]bin -s - suid type: - _BB_SUID_REQUIRE: will complain if busybox isn't suid - and is run by non-root (applet_main() will not be called at all) - _BB_SUID_DROP: will drop suid prior to applet_main() - _BB_SUID_MAYBE: neither of the above -*/ - -#if defined(PROTOTYPES) -# define APPLET(name,l,s) int name##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -# define APPLET_ODDNAME(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -# define APPLET_NOEXEC(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -# define APPLET_NOFORK(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; - -#elif defined(NAME_MAIN_CNAME) -# define APPLET(name,l,s) name name##_main name -# define APPLET_ODDNAME(name,main,l,s,name2) name main##_main name2 -# define APPLET_NOEXEC(name,main,l,s,name2) name main##_main name2 -# define APPLET_NOFORK(name,main,l,s,name2) name main##_main name2 - -#elif defined(MAKE_USAGE) && ENABLE_FEATURE_VERBOSE_USAGE -# define APPLET(name,l,s) MAKE_USAGE(#name, name##_trivial_usage name##_full_usage) -# define APPLET_ODDNAME(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) -# define APPLET_NOEXEC(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) -# define APPLET_NOFORK(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) - -#elif defined(MAKE_USAGE) && !ENABLE_FEATURE_VERBOSE_USAGE -# define APPLET(name,l,s) MAKE_USAGE(#name, name##_trivial_usage) -# define APPLET_ODDNAME(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) -# define APPLET_NOEXEC(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) -# define APPLET_NOFORK(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) - -#elif defined(MAKE_LINKS) -# define APPLET(name,l,c) LINK l name -# define APPLET_ODDNAME(name,main,l,s,name2) LINK l name -# define APPLET_NOEXEC(name,main,l,s,name2) LINK l name -# define APPLET_NOFORK(name,main,l,s,name2) LINK l name - -#else - static struct bb_applet applets[] = { /* name, main, location, need_suid */ -# define APPLET(name,l,s) { #name, #name, l, s }, -# define APPLET_ODDNAME(name,main,l,s,name2) { #name, #main, l, s }, -# define APPLET_NOEXEC(name,main,l,s,name2) { #name, #main, l, s, 1 }, -# define APPLET_NOFORK(name,main,l,s,name2) { #name, #main, l, s, 1, 1 }, -#endif - -#if ENABLE_INSTALL_NO_USR -# define _BB_DIR_USR_BIN _BB_DIR_BIN -# define _BB_DIR_USR_SBIN _BB_DIR_SBIN -#endif - - -IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) -IF_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) -IF_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_DROP, awk)) -IF_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_DROP, basename)) -IF_FEATURE_BASH_IS_ASH(APPLET_ODDNAME(bash, ash, _BB_DIR_BIN, _BB_SUID_DROP, bash)) -IF_FEATURE_BASH_IS_HUSH(APPLET_ODDNAME(bash, hush, _BB_DIR_BIN, _BB_SUID_DROP, bash)) -IF_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_DROP)) -//IF_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_BEEP(APPLET(beep, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_BOOTCHARTD(APPLET(bootchartd, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP, bzcat)) -IF_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_DROP, cat)) -IF_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_DROP, chgrp)) -IF_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_DROP, chmod)) -IF_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_DROP, chown)) -IF_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_DROP, cp)) -IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) -IF_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_DROP, cut)) -IF_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_DROP, dd)) -IF_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_DROP, delgroup)) -IF_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) -IF_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_DROP, dirname)) -IF_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_REQUIRE)) -IF_HOSTNAME(APPLET_ODDNAME(dnsdomainname, hostname, _BB_DIR_BIN, _BB_SUID_DROP, dnsdomainname)) -IF_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_DROP, dpkg_deb)) -IF_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -//IF_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP)) -//IF_E2LABEL(APPLET_ODDNAME(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_DROP, e2label)) -IF_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_DROP, echo)) -IF_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, egrep)) -IF_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_DROP, env)) -IF_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, envdir)) -IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, envuidgid)) -IF_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_DROP, ether_wake)) -IF_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_DROP, false)) -IF_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_DROP, fdflush)) -IF_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_FGCONSOLE(APPLET(fgconsole, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, fgrep)) -IF_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_DROP, find)) -IF_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) -IF_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_FLASH_LOCK(APPLET_ODDNAME(flash_lock, flash_lock_unlock, _BB_DIR_USR_SBIN, _BB_SUID_DROP, flash_lock)) -IF_FLASH_UNLOCK(APPLET_ODDNAME(flash_unlock, flash_lock_unlock, _BB_DIR_USR_SBIN, _BB_SUID_DROP, flash_unlock)) -IF_FLASHCP(APPLET(flashcp, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_FLOCK(APPLET(flock, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_DROP)) -//IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_ext2)) -//IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_ext3)) -IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_minix)) -IF_FSYNC(APPLET_NOFORK(fsync, fsync, _BB_DIR_BIN, _BB_SUID_DROP, fsync)) -IF_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_DROP, ftpget)) -IF_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_DROP, ftpput)) -IF_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_DROP, hd)) -IF_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_DROP, hexdump)) -IF_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_DROP, hostid)) -IF_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_DROP, ifdown)) -IF_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_IFPLUGD(APPLET(ifplugd, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_DROP, ifup)) -IF_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) -IF_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_DROP)) -#if ENABLE_FEATURE_IP_ADDRESS \ - || ENABLE_FEATURE_IP_ROUTE \ - || ENABLE_FEATURE_IP_LINK \ - || ENABLE_FEATURE_IP_TUNNEL \ - || ENABLE_FEATURE_IP_RULE -IF_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_DROP)) -#endif -IF_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) -IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) -IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall)) -IF_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall5)) -IF_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_DROP, length)) -IF_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_DROP, linux32)) -IF_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_DROP, linux64)) -IF_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_DROP, linuxrc)) -IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_DROP, ln)) -IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE)) -IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname)) -IF_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_DROP, lpq)) -IF_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_DROP, lpr)) -IF_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_DROP, ls)) -IF_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) -IF_LSPCI(APPLET(lspci, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_LSUSB(APPLET(lsusb, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_UNLZMA(APPLET_ODDNAME(lzcat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzcat)) -IF_LZMA(APPLET_ODDNAME(lzma, unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzma)) -IF_LZOP(APPLET(lzop, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_LZOP(APPLET_ODDNAME(lzopcat, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzopcat)) -IF_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, md5sum)) -IF_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_DROP, mkdir)) -IF_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_vfat)) -IF_MKFS_EXT2(APPLET_ODDNAME(mke2fs, mkfs_ext2, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext2)) -IF_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_MKFS_EXT2(APPLET_ODDNAME(mkfs.ext2, mkfs_ext2, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext2)) -//IF_MKE2FS(APPLET_ODDNAME(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext3)) -IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_minix)) -IF_MKFS_REISER(APPLET_ODDNAME(mkfs.reiser, mkfs_reiser, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_reiser)) -IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_vfat)) -IF_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP, mkpasswd)) -IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_MOUNT(APPLET(mount, _BB_DIR_BIN, IF_DESKTOP(_BB_SUID_MAYBE) IF_NOT_DESKTOP(_BB_SUID_DROP))) -IF_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_NTPD(APPLET(ntpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -//IF_PARSE(APPLET(parse, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) -IF_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE)) -IF_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_MAYBE)) -IF_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_DROP, pkill)) -IF_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_DROP, poweroff)) -IF_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_DROP, printf)) -IF_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_DROP, pwd)) -IF_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_DROP, reboot)) -IF_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_DROP, restorecon)) -IF_RFKILL(APPLET(rfkill, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_DROP, rm)) -IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_DROP, rmdir)) -IF_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) -IF_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_DROP, run_parts)) -IF_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SCRIPTREPLAY(APPLET(scriptreplay, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_DROP, seq)) -IF_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, setuidgid)) -IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_DROP, sh)) -IF_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_DROP, sh)) -IF_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha1sum)) -IF_SHA256SUM(APPLET_ODDNAME(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha256sum)) -IF_SHA512SUM(APPLET_ODDNAME(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha512sum)) -IF_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_DROP, sleep)) -IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, softlimit)) -IF_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_DROP, sort)) -IF_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_DROP, start_stop_daemon)) -IF_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_REQUIRE)) -IF_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_DROP,swapoff)) -IF_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_DROP, swapon)) -IF_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_DROP, sync)) -IF_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_DROP, tac)) -IF_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -/* IF_TC(APPLET(tc, _BB_DIR_SBIN, _BB_SUID_DROP)) */ -IF_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_DROP, tcpsvd)) -IF_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_TEST(APPLET_NOFORK(test, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) -#if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT -IF_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -#endif -IF_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TOUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_DROP, touch)) -IF_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) -IF_TRACEROUTE6(APPLET(traceroute6, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) -IF_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_DROP, true)) -IF_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_TUNCTL(APPLET(tunctl, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) -IF_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_DROP, udpsvd)) -IF_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_DROP, unexpand)) -IF_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP, unix2dos)) -IF_UNXZ(APPLET(unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_LZOP(APPLET_ODDNAME(unlzop, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, unlzop)) -IF_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_DROP, usleep)) -IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) -IF_VOLNAME(APPLET(volname, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_WALL(APPLET(wall, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) -IF_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_DROP)) -IF_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_DROP)) -IF_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_DROP)) -IF_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_DROP, whoami)) -IF_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_DROP, xargs)) -IF_UNXZ(APPLET_ODDNAME(xzcat, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xzcat)) -IF_XZ(APPLET_ODDNAME(xz, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xz)) -IF_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_DROP, yes)) -IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_DROP, zcat)) -IF_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_DROP)) - -#if !defined(PROTOTYPES) && !defined(NAME_MAIN_CNAME) && !defined(MAKE_USAGE) -}; -#endif - -#undef APPLET -#undef APPLET_ODDNAME -#undef APPLET_NOEXEC -#undef APPLET_NOFORK diff --git a/include/applets.src.h b/include/applets.src.h new file mode 100644 index 000000000..2998a0ea9 --- /dev/null +++ b/include/applets.src.h @@ -0,0 +1,450 @@ +/* vi: set sw=4 ts=4: */ +/* + * applets.h - a listing of all busybox applets. + * + * If you write a new applet, you need to add an entry to this list to make + * busybox aware of it. + */ + +/* +name - applet name as it is typed on command line +name2 - applet name, converted to C (ether-wake: name2 = ether_wake) +main - corresponding _main to call (bzcat: main = bunzip2) +l - location to install link to: [/usr]/[s]bin +s - suid type: + _BB_SUID_REQUIRE: will complain if busybox isn't suid + and is run by non-root (applet_main() will not be called at all) + _BB_SUID_DROP: will drop suid prior to applet_main() + _BB_SUID_MAYBE: neither of the above +*/ + +#if defined(PROTOTYPES) +# define APPLET(name,l,s) int name##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +# define APPLET_ODDNAME(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +# define APPLET_NOEXEC(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +# define APPLET_NOFORK(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + +#elif defined(NAME_MAIN_CNAME) +# define APPLET(name,l,s) name name##_main name +# define APPLET_ODDNAME(name,main,l,s,name2) name main##_main name2 +# define APPLET_NOEXEC(name,main,l,s,name2) name main##_main name2 +# define APPLET_NOFORK(name,main,l,s,name2) name main##_main name2 + +#elif defined(MAKE_USAGE) && ENABLE_FEATURE_VERBOSE_USAGE +# define APPLET(name,l,s) MAKE_USAGE(#name, name##_trivial_usage name##_full_usage) +# define APPLET_ODDNAME(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) +# define APPLET_NOEXEC(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) +# define APPLET_NOFORK(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage name2##_full_usage) + +#elif defined(MAKE_USAGE) && !ENABLE_FEATURE_VERBOSE_USAGE +# define APPLET(name,l,s) MAKE_USAGE(#name, name##_trivial_usage) +# define APPLET_ODDNAME(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) +# define APPLET_NOEXEC(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) +# define APPLET_NOFORK(name,main,l,s,name2) MAKE_USAGE(#name, name2##_trivial_usage) + +#elif defined(MAKE_LINKS) +# define APPLET(name,l,c) LINK l name +# define APPLET_ODDNAME(name,main,l,s,name2) LINK l name +# define APPLET_NOEXEC(name,main,l,s,name2) LINK l name +# define APPLET_NOFORK(name,main,l,s,name2) LINK l name + +#else + static struct bb_applet applets[] = { /* name, main, location, need_suid */ +# define APPLET(name,l,s) { #name, #name, l, s }, +# define APPLET_ODDNAME(name,main,l,s,name2) { #name, #main, l, s }, +# define APPLET_NOEXEC(name,main,l,s,name2) { #name, #main, l, s, 1 }, +# define APPLET_NOFORK(name,main,l,s,name2) { #name, #main, l, s, 1, 1 }, +#endif + +#if ENABLE_INSTALL_NO_USR +# define _BB_DIR_USR_BIN _BB_DIR_BIN +# define _BB_DIR_USR_SBIN _BB_DIR_SBIN +#endif + + +INSERT +IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) +IF_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) +IF_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_DROP, awk)) +IF_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_DROP, basename)) +IF_FEATURE_BASH_IS_ASH(APPLET_ODDNAME(bash, ash, _BB_DIR_BIN, _BB_SUID_DROP, bash)) +IF_FEATURE_BASH_IS_HUSH(APPLET_ODDNAME(bash, hush, _BB_DIR_BIN, _BB_SUID_DROP, bash)) +IF_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_DROP)) +//IF_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_BEEP(APPLET(beep, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_BOOTCHARTD(APPLET(bootchartd, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_DROP, cat)) +IF_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_DROP, chgrp)) +IF_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_DROP, chmod)) +IF_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_DROP, chown)) +IF_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_DROP, cp)) +IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) +IF_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_DROP, cut)) +IF_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_DROP, dd)) +IF_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_DROP, delgroup)) +IF_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) +IF_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_DROP, dirname)) +IF_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_REQUIRE)) +IF_HOSTNAME(APPLET_ODDNAME(dnsdomainname, hostname, _BB_DIR_BIN, _BB_SUID_DROP, dnsdomainname)) +IF_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_DROP, dpkg_deb)) +IF_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +//IF_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP)) +//IF_E2LABEL(APPLET_ODDNAME(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_DROP, e2label)) +IF_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_DROP, echo)) +IF_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, egrep)) +IF_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_DROP, env)) +IF_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, envdir)) +IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, envuidgid)) +IF_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_DROP, ether_wake)) +IF_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_DROP, false)) +IF_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_DROP, fdflush)) +IF_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_FGCONSOLE(APPLET(fgconsole, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, fgrep)) +IF_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_DROP, find)) +IF_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) +IF_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_FLASH_LOCK(APPLET_ODDNAME(flash_lock, flash_lock_unlock, _BB_DIR_USR_SBIN, _BB_SUID_DROP, flash_lock)) +IF_FLASH_UNLOCK(APPLET_ODDNAME(flash_unlock, flash_lock_unlock, _BB_DIR_USR_SBIN, _BB_SUID_DROP, flash_unlock)) +IF_FLASHCP(APPLET(flashcp, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_FLOCK(APPLET(flock, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_DROP)) +//IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_ext2)) +//IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_ext3)) +IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_DROP, fsck_minix)) +IF_FSYNC(APPLET_NOFORK(fsync, fsync, _BB_DIR_BIN, _BB_SUID_DROP, fsync)) +IF_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_DROP, ftpget)) +IF_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_DROP, ftpput)) +IF_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_DROP, hd)) +IF_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_DROP, hexdump)) +IF_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_DROP, hostid)) +IF_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_DROP, ifdown)) +IF_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_IFPLUGD(APPLET(ifplugd, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_DROP, ifup)) +IF_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) +IF_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_DROP)) +#if ENABLE_FEATURE_IP_ADDRESS \ + || ENABLE_FEATURE_IP_ROUTE \ + || ENABLE_FEATURE_IP_LINK \ + || ENABLE_FEATURE_IP_TUNNEL \ + || ENABLE_FEATURE_IP_RULE +IF_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_DROP)) +#endif +IF_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) +IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) +IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall)) +IF_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall5)) +IF_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_DROP, length)) +IF_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_DROP, linux32)) +IF_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_DROP, linux64)) +IF_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_DROP, linuxrc)) +IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_DROP, ln)) +IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE)) +IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname)) +IF_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_DROP, lpq)) +IF_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_DROP, lpr)) +IF_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_DROP, ls)) +IF_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) +IF_LSPCI(APPLET(lspci, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_LSUSB(APPLET(lsusb, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_UNLZMA(APPLET_ODDNAME(lzcat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzcat)) +IF_LZMA(APPLET_ODDNAME(lzma, unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzma)) +IF_LZOP(APPLET(lzop, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_LZOP(APPLET_ODDNAME(lzopcat, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, lzopcat)) +IF_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, md5sum)) +IF_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_DROP, mkdir)) +IF_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_vfat)) +IF_MKFS_EXT2(APPLET_ODDNAME(mke2fs, mkfs_ext2, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext2)) +IF_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_MKFS_EXT2(APPLET_ODDNAME(mkfs.ext2, mkfs_ext2, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext2)) +//IF_MKE2FS(APPLET_ODDNAME(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_ext3)) +IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_minix)) +IF_MKFS_REISER(APPLET_ODDNAME(mkfs.reiser, mkfs_reiser, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_reiser)) +IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_DROP, mkfs_vfat)) +IF_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP, mkpasswd)) +IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_MOUNT(APPLET(mount, _BB_DIR_BIN, IF_DESKTOP(_BB_SUID_MAYBE) IF_NOT_DESKTOP(_BB_SUID_DROP))) +IF_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_NTPD(APPLET(ntpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +//IF_PARSE(APPLET(parse, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) +IF_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE)) +IF_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_MAYBE)) +IF_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_DROP, pkill)) +IF_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_DROP, poweroff)) +IF_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_DROP, printf)) +IF_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_DROP, pwd)) +IF_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_DROP, reboot)) +IF_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_DROP, restorecon)) +IF_RFKILL(APPLET(rfkill, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_DROP, rm)) +IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_DROP, rmdir)) +IF_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_DROP, modprobe)) +IF_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_DROP, run_parts)) +IF_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SCRIPTREPLAY(APPLET(scriptreplay, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_DROP, seq)) +IF_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, setuidgid)) +IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_DROP, sh)) +IF_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_DROP, sh)) +IF_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha1sum)) +IF_SHA256SUM(APPLET_ODDNAME(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha256sum)) +IF_SHA512SUM(APPLET_ODDNAME(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_DROP, sha512sum)) +IF_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_DROP, sleep)) +IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_DROP, softlimit)) +IF_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_DROP, sort)) +IF_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_DROP, start_stop_daemon)) +IF_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_REQUIRE)) +IF_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_DROP,swapoff)) +IF_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_DROP, swapon)) +IF_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_DROP, sync)) +IF_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_DROP, tac)) +IF_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +/* IF_TC(APPLET(tc, _BB_DIR_SBIN, _BB_SUID_DROP)) */ +IF_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_DROP, tcpsvd)) +IF_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_TEST(APPLET_NOFORK(test, test, _BB_DIR_USR_BIN, _BB_SUID_DROP, test)) +#if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT +IF_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +#endif +IF_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TOUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_DROP, touch)) +IF_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) +IF_TRACEROUTE6(APPLET(traceroute6, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) +IF_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_DROP, true)) +IF_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_TUNCTL(APPLET(tunctl, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) +IF_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_DROP, udpsvd)) +IF_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_DROP, unexpand)) +IF_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP, unix2dos)) +IF_UNXZ(APPLET(unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_LZOP(APPLET_ODDNAME(unlzop, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, unlzop)) +IF_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_DROP, usleep)) +IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) +IF_VOLNAME(APPLET(volname, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_WALL(APPLET(wall, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) +IF_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_DROP)) +IF_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_DROP)) +IF_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_DROP)) +IF_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_DROP, whoami)) +IF_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_DROP, xargs)) +IF_UNXZ(APPLET_ODDNAME(xzcat, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xzcat)) +IF_XZ(APPLET_ODDNAME(xz, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xz)) +IF_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_DROP, yes)) +IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_DROP, zcat)) +IF_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_DROP)) + +#if !defined(PROTOTYPES) && !defined(NAME_MAIN_CNAME) && !defined(MAKE_USAGE) +}; +#endif + +#undef APPLET +#undef APPLET_ODDNAME +#undef APPLET_NOEXEC +#undef APPLET_NOFORK diff --git a/scripts/Makefile.IMA b/scripts/Makefile.IMA index a34db50f4..bddd70229 100644 --- a/scripts/Makefile.IMA +++ b/scripts/Makefile.IMA @@ -203,5 +203,5 @@ applets/applet_tables: include/autoconf.h include/usage_compressed.h: $(srctree)/include/usage.h applets/usage $(srctree)/applets/usage_compressed include/usage_compressed.h applets -include/applet_tables.h: $(srctree)/include/applets.h +include/applet_tables.h: include/applets.h applets/applet_tables include/applet_tables.h diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh index b3aa132a3..44e8c1744 100755 --- a/scripts/gen_build_files.sh +++ b/scripts/gen_build_files.sh @@ -7,6 +7,27 @@ cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; } srctree="$1" +# (Re)generate include/applets.h +src="$srctree/include/applets.src.h" +dst="include/applets.h" +s=`sed -n 's@^//applet:@@p' -- */*.c */*/*.c` +echo "/* DO NOT EDIT. This file is generated from applets.src.h */" >"$dst.$$.tmp" +# Why "IFS='' read -r REPLY"?? +# This atrocity is needed to read lines without mangling. +# IFS='' prevents whitespace trimming, +# -r suppresses backslash handling. +while IFS='' read -r REPLY; do + test x"$REPLY" = x"INSERT" && REPLY="$s" + printf "%s\n" "$REPLY" +done <"$src" >>"$dst.$$.tmp" +if test -f "$dst" && cmp -s "$dst.$$.tmp" "$dst"; then + rm -- "$dst.$$.tmp" +else + echo " GEN $dst" + mv -- "$dst.$$.tmp" "$dst" +fi + +# (Re)generate */Kbuild and */Config.in find -type d | while read -r d; do d="${d#./}" src="$srctree/$d/Kbuild.src" @@ -15,17 +36,12 @@ find -type d | while read -r d; do #echo " CHK $dst" s=`sed -n 's@^//kbuild:@@p' -- "$srctree/$d"/*.c` - echo "# DO NOT EDIT. This file is generated from Kbuild.src" >"$dst.$$.tmp" - # Why "IFS='' read -r REPLY"?? - # This atrocity is needed to read lines without mangling. - # IFS='' prevents whitespace trimming, - # -r suppresses backslash handling. + echo "# DO NOT EDIT. This file is generated from Kbuild.src" >"$dst.$$.tmp" while IFS='' read -r REPLY; do test x"$REPLY" = x"INSERT" && REPLY="$s" printf "%s\n" "$REPLY" done <"$src" >>"$dst.$$.tmp" - if test -f "$dst" && cmp -s "$dst.$$.tmp" "$dst"; then rm -- "$dst.$$.tmp" else @@ -40,13 +56,12 @@ find -type d | while read -r d; do #echo " CHK $dst" s=`sed -n 's@^//config:@@p' -- "$srctree/$d"/*.c` - echo "# DO NOT EDIT. This file is generated from Config.src" >"$dst.$$.tmp" + echo "# DO NOT EDIT. This file is generated from Config.src" >"$dst.$$.tmp" while IFS='' read -r REPLY; do test x"$REPLY" = x"INSERT" && REPLY="$s" printf "%s\n" "$REPLY" done <"$src" >>"$dst.$$.tmp" - if test -f "$dst" && cmp -s "$dst.$$.tmp" "$dst"; then rm -- "$dst.$$.tmp" else -- cgit v1.2.3-55-g6feb From f0f94700610eba964441ce4a112134e03c76eb89 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 01:53:38 +0200 Subject: make it possible to keep usage texts in .c files Signed-off-by: Denys Vlasenko --- Makefile.custom | 2 +- archival/bbunzip.c | 11 + include/usage.h | 5274 -------------------------------------------- include/usage.src.h | 5263 +++++++++++++++++++++++++++++++++++++++++++ scripts/Makefile.IMA | 2 +- scripts/gen_build_files.sh | 26 +- 6 files changed, 5301 insertions(+), 5277 deletions(-) delete mode 100644 include/usage.h create mode 100644 include/usage.src.h diff --git a/Makefile.custom b/Makefile.custom index fa69dcebb..01d69ddf8 100644 --- a/Makefile.custom +++ b/Makefile.custom @@ -118,7 +118,7 @@ disp_doc = $($(quiet)cmd_doc) # sed adds newlines after "Options:" etc, # this is needed in order to get good BusyBox.{1,txt,html} docs/busybox.pod: $(srctree)/docs/busybox_header.pod \ - $(srctree)/include/usage.h \ + include/usage.h \ $(srctree)/docs/busybox_footer.pod \ applets/usage_pod $(disp_doc) diff --git a/archival/bbunzip.c b/archival/bbunzip.c index ce6223514..b243afb2e 100644 --- a/archival/bbunzip.c +++ b/archival/bbunzip.c @@ -304,6 +304,17 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv) * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ +//usage:#define bunzip2_trivial_usage +//usage: "[OPTIONS] [FILE]..." +//usage:#define bunzip2_full_usage "\n\n" +//usage: "Decompress FILEs (or stdin)\n" +//usage: "\nOptions:" +//usage: "\n -c Write to stdout" +//usage: "\n -f Force" +//usage:#define bzcat_trivial_usage +//usage: "FILE" +//usage:#define bzcat_full_usage "\n\n" +//usage: "Decompress to stdout" //applet:IF_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP)) //applet:IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_DROP, bzcat)) #if ENABLE_BUNZIP2 diff --git a/include/usage.h b/include/usage.h deleted file mode 100644 index a9c4c4294..000000000 --- a/include/usage.h +++ /dev/null @@ -1,5274 +0,0 @@ -/* vi: set sw=8 ts=8: */ -/* - * This file suffers from chronically incorrect tabification - * of messages. Before editing this file: - * 1. Switch you editor to 8-space tab mode. - * 2. Do not use \t in messages, use real tab character. - * 3. Start each source line with message as follows: - * |<7 spaces>"text with tabs".... - * or - * |<5 spaces>"\ntext with tabs".... - */ -#ifndef BB_USAGE_H -#define BB_USAGE_H 1 - - -#define NOUSAGE_STR "\b" - -#define acpid_trivial_usage \ - "[-d] [-c CONFDIR] [-l LOGFILE] [-e PROC_EVENT_FILE] [EVDEV_EVENT_FILE]..." -#define acpid_full_usage "\n\n" \ - "Listen to ACPI events and spawn specific helpers on event arrival\n" \ - "\nOptions:" \ - "\n -d Don't daemonize, log to stderr" \ - "\n -c DIR Config directory [/etc/acpi]" \ - "\n -e FILE /proc event file [/proc/acpi/event]" \ - "\n -l FILE Log file [/var/log/acpid]" \ - IF_FEATURE_ACPID_COMPAT( \ - "\n\nAccept and ignore compatibility options -g -m -s -S -v" \ - ) - -#define acpid_example_usage \ - "# acpid -l /var/log/my-acpi-log\n" \ - "# acpid -d /dev/input/event*\n" - -#define addgroup_trivial_usage \ - "[-g GID] " IF_FEATURE_ADDUSER_TO_GROUP("[USER] ") "GROUP" -#define addgroup_full_usage "\n\n" \ - "Add a group " IF_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \ - "\nOptions:" \ - "\n -g GID Group id" \ - "\n -S Create a system group" \ - -#define adduser_trivial_usage \ - "[OPTIONS] USER" -#define adduser_full_usage "\n\n" \ - "Add a user\n" \ - "\nOptions:" \ - "\n -h DIR Home directory" \ - "\n -g GECOS GECOS field" \ - "\n -s SHELL Login shell" \ - "\n -G GRP Add user to existing group" \ - "\n -S Create a system user" \ - "\n -D Don't assign a password" \ - "\n -H Don't create home directory" \ - "\n -u UID User id" \ - -#define adjtimex_trivial_usage \ - "[-q] [-o OFF] [-f FREQ] [-p TCONST] [-t TICK]" -#define adjtimex_full_usage "\n\n" \ - "Read and optionally set system timebase parameters. See adjtimex(2)\n" \ - "\nOptions:" \ - "\n -q Quiet" \ - "\n -o OFF Time offset, microseconds" \ - "\n -f FREQ Frequency adjust, integer kernel units (65536 is 1ppm)" \ - "\n (positive values make clock run faster)" \ - "\n -t TICK Microseconds per tick, usually 10000" \ - "\n -p TCONST" \ - -#define ar_trivial_usage \ - "[-o] [-v] [-p] [-t] [-x] ARCHIVE FILES" -#define ar_full_usage "\n\n" \ - "Extract or list FILES from an ar archive\n" \ - "\nOptions:" \ - "\n -o Preserve original dates" \ - "\n -p Extract to stdout" \ - "\n -t List" \ - "\n -x Extract" \ - "\n -v Verbose" \ - -#define arp_trivial_usage \ - "\n[-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME]" \ - "\n[-v] [-i IF] -d HOSTNAME [pub]" \ - "\n[-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp]" \ - "\n[-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub" \ - "\n[-v] [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub" -#define arp_full_usage "\n\n" \ - "Manipulate ARP cache\n" \ - "\nOptions:" \ - "\n -a Display (all) hosts" \ - "\n -s Set new ARP entry" \ - "\n -d Delete a specified entry" \ - "\n -v Verbose" \ - "\n -n Don't resolve names" \ - "\n -i IF Network interface" \ - "\n -D Read from given device" \ - "\n -A, -p AF Protocol family" \ - "\n -H HWTYPE Hardware address type" \ - -#define arping_trivial_usage \ - "[-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP" -#define arping_full_usage "\n\n" \ - "Send ARP requests/replies\n" \ - "\nOptions:" \ - "\n -f Quit on first ARP reply" \ - "\n -q Quiet" \ - "\n -b Keep broadcasting, don't go unicast" \ - "\n -D Duplicated address detection mode" \ - "\n -U Unsolicited ARP mode, update your neighbors" \ - "\n -A ARP answer mode, update your neighbors" \ - "\n -c N Stop after sending N ARP requests" \ - "\n -w TIMEOUT Time to wait for ARP reply, seconds" \ - "\n -I IFACE Interface to use (default eth0)" \ - "\n -s SRC_IP Sender IP address" \ - "\n DST_IP Target IP address" \ - -#define sh_trivial_usage NOUSAGE_STR -#define sh_full_usage "" -#define ash_trivial_usage NOUSAGE_STR -#define ash_full_usage "" -#define hush_trivial_usage NOUSAGE_STR -#define hush_full_usage "" -#define lash_trivial_usage NOUSAGE_STR -#define lash_full_usage "" -#define msh_trivial_usage NOUSAGE_STR -#define msh_full_usage "" -#define bash_trivial_usage NOUSAGE_STR -#define bash_full_usage "" - -#define awk_trivial_usage \ - "[OPTIONS] [AWK_PROGRAM] [FILE]..." -#define awk_full_usage "\n\n" \ - "Options:" \ - "\n -v VAR=VAL Set variable" \ - "\n -F SEP Use SEP as field separator" \ - "\n -f FILE Read program from FILE" \ - -#define basename_trivial_usage \ - "FILE [SUFFIX]" -#define basename_full_usage "\n\n" \ - "Strip directory path and .SUFFIX from FILE\n" -#define basename_example_usage \ - "$ basename /usr/local/bin/foo\n" \ - "foo\n" \ - "$ basename /usr/local/bin/\n" \ - "bin\n" \ - "$ basename /foo/bar.txt .txt\n" \ - "bar" - -#define beep_trivial_usage \ - "-f FREQ -l LEN -d DELAY -r COUNT -n" -#define beep_full_usage "\n\n" \ - "Options:" \ - "\n -f Frequency in Hz" \ - "\n -l Length in ms" \ - "\n -d Delay in ms" \ - "\n -r Repetitions" \ - "\n -n Start new tone" \ - -#define blkid_trivial_usage \ - "" -#define blkid_full_usage "\n\n" \ - "Print UUIDs of all filesystems" - -#define bootchartd_trivial_usage \ - "start [PROG ARGS]|stop|init" -#define bootchartd_full_usage "\n\n" \ - "Create /var/log/bootchart.tgz with boot chart data\n" \ - "\nOptions:" \ - "\nstart: start background logging; with PROG, run PROG, then kill logging with USR1" \ - "\nstop: send USR1 to all bootchartd processes" \ - "\ninit: start background logging; stop when getty/xdm is seen (for init scripts)" \ - "\nUnder PID 1: as init, then exec $bootchart_init, /init, /sbin/init" \ - -#define brctl_trivial_usage \ - "COMMAND [BRIDGE [INTERFACE]]" -#define brctl_full_usage "\n\n" \ - "Manage ethernet bridges\n" \ - "\nCommands:" \ - IF_FEATURE_BRCTL_SHOW( \ - "\n show Show a list of bridges" \ - ) \ - "\n addbr BRIDGE Create BRIDGE" \ - "\n delbr BRIDGE Delete BRIDGE" \ - "\n addif BRIDGE IFACE Add IFACE to BRIDGE" \ - "\n delif BRIDGE IFACE Delete IFACE from BRIDGE" \ - IF_FEATURE_BRCTL_FANCY( \ - "\n setageing BRIDGE TIME Set ageing time" \ - "\n setfd BRIDGE TIME Set bridge forward delay" \ - "\n sethello BRIDGE TIME Set hello time" \ - "\n setmaxage BRIDGE TIME Set max message age" \ - "\n setpathcost BRIDGE COST Set path cost" \ - "\n setportprio BRIDGE PRIO Set port priority" \ - "\n setbridgeprio BRIDGE PRIO Set bridge priority" \ - "\n stp BRIDGE [1/yes/on|0/no/off] STP on/off" \ - ) \ - -#define bzip2_trivial_usage \ - "[OPTIONS] [FILE]..." -#define bzip2_full_usage "\n\n" \ - "Compress FILEs (or stdin) with bzip2 algorithm\n" \ - "\nOptions:" \ - "\n -1..9 Compression level" \ - "\n -d Decompress" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define busybox_notes_usage \ - "Hello world!\n" - -#define lzop_trivial_usage \ - "[-cfvd123456789CF] [FILE]..." -#define lzop_full_usage "\n\n" \ - "Options:" \ - "\n -1..9 Compression level" \ - "\n -d Decompress" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - "\n -v Verbose" \ - "\n -F Don't store or verify checksum" \ - "\n -C Also write checksum of compressed block" \ - -#define lzopcat_trivial_usage \ - "[-vCF] [FILE]..." -#define lzopcat_full_usage "\n\n" \ - " -v Verbose" \ - "\n -F Don't store or verify checksum" \ - -#define unlzop_trivial_usage \ - "[-cfvCF] [FILE]..." -#define unlzop_full_usage "\n\n" \ - "Options:" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - "\n -v Verbose" \ - "\n -F Don't store or verify checksum" \ - -#define bunzip2_trivial_usage \ - "[OPTIONS] [FILE]..." -#define bunzip2_full_usage "\n\n" \ - "Decompress FILEs (or stdin)\n" \ - "\nOptions:" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define bzcat_trivial_usage \ - "FILE" -#define bzcat_full_usage "\n\n" \ - "Decompress to stdout" - -#define unlzma_trivial_usage \ - "[OPTIONS] [FILE]..." -#define unlzma_full_usage "\n\n" \ - "Decompress FILE (or stdin)\n" \ - "\nOptions:" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define lzma_trivial_usage \ - "-d [OPTIONS] [FILE]..." -#define lzma_full_usage "\n\n" \ - "Decompress FILE (or stdin)\n" \ - "\nOptions:" \ - "\n -d Decompress" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define lzcat_trivial_usage \ - "FILE" -#define lzcat_full_usage "\n\n" \ - "Decompress to stdout" - -#define unxz_trivial_usage \ - "[OPTIONS] [FILE]..." -#define unxz_full_usage "\n\n" \ - "Decompress FILE (or stdin)\n" \ - "\nOptions:" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define xz_trivial_usage \ - "-d [OPTIONS] [FILE]..." -#define xz_full_usage "\n\n" \ - "Decompress FILE (or stdin)\n" \ - "\nOptions:" \ - "\n -d Decompress" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define xzcat_trivial_usage \ - "FILE" -#define xzcat_full_usage "\n\n" \ - "Decompress to stdout" - -#define cal_trivial_usage \ - "[-jy] [[MONTH] YEAR]" -#define cal_full_usage "\n\n" \ - "Display a calendar\n" \ - "\nOptions:" \ - "\n -j Use julian dates" \ - "\n -y Display the entire year" \ - -#define cat_trivial_usage \ - "[FILE]..." -#define cat_full_usage "\n\n" \ - "Concatenate FILEs and print them to stdout" \ - -#define cat_example_usage \ - "$ cat /proc/uptime\n" \ - "110716.72 17.67" - -#define catv_trivial_usage \ - "[-etv] [FILE]..." -#define catv_full_usage "\n\n" \ - "Display nonprinting characters as ^x or M-x\n" \ - "\nOptions:" \ - "\n -e End each line with $" \ - "\n -t Show tabs as ^I" \ - "\n -v Don't use ^x or M-x escapes" \ - -#define chat_trivial_usage \ - "EXPECT [SEND [EXPECT [SEND...]]]" -#define chat_full_usage "\n\n" \ - "Useful for interacting with a modem connected to stdin/stdout.\n" \ - "A script consists of one or more \"expect-send\" pairs of strings,\n" \ - "each pair is a pair of arguments. Example:\n" \ - "chat '' ATZ OK ATD123456 CONNECT '' ogin: pppuser word: ppppass '~'" \ - -#define chattr_trivial_usage \ - "[-R] [-+=AacDdijsStTu] [-v VERSION] [FILE]..." -#define chattr_full_usage "\n\n" \ - "Change file attributes on an ext2 fs\n" \ - "\nModifiers:" \ - "\n - Remove attributes" \ - "\n + Add attributes" \ - "\n = Set attributes" \ - "\nAttributes:" \ - "\n A Don't track atime" \ - "\n a Append mode only" \ - "\n c Enable compress" \ - "\n D Write dir contents synchronously" \ - "\n d Don't backup with dump" \ - "\n i Cannot be modified (immutable)" \ - "\n j Write all data to journal first" \ - "\n s Zero disk storage when deleted" \ - "\n S Write file contents synchronously" \ - "\n t Disable tail-merging of partial blocks with other files" \ - "\n u Allow file to be undeleted" \ - "\nOptions:" \ - "\n -R Recurse" \ - "\n -v Set the file's version/generation number" \ - -#define chcon_trivial_usage \ - "[OPTIONS] CONTEXT FILE..." \ - "\n chcon [OPTIONS] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..." \ - IF_FEATURE_CHCON_LONG_OPTIONS( \ - "\n chcon [OPTIONS] --reference=RFILE FILE..." \ - ) -#define chcon_full_usage "\n\n" \ - "Change the security context of each FILE to CONTEXT\n" \ - IF_FEATURE_CHCON_LONG_OPTIONS( \ - "\n -v,--verbose Verbose" \ - "\n -c,--changes Report changes made" \ - "\n -h,--no-dereference Affect symlinks instead of their targets" \ - "\n -f,--silent,--quiet Suppress most error messages" \ - "\n --reference=RFILE Use RFILE's group instead of using a CONTEXT value" \ - "\n -u,--user=USER Set user/role/type/range in the target" \ - "\n -r,--role=ROLE security context" \ - "\n -t,--type=TYPE" \ - "\n -l,--range=RANGE" \ - "\n -R,--recursive Recurse" \ - ) \ - IF_NOT_FEATURE_CHCON_LONG_OPTIONS( \ - "\n -v Verbose" \ - "\n -c Report changes made" \ - "\n -h Affect symlinks instead of their targets" \ - "\n -f Suppress most error messages" \ - "\n -u USER Set user/role/type/range in the target security context" \ - "\n -r ROLE" \ - "\n -t TYPE" \ - "\n -l RNG" \ - "\n -R Recurse" \ - ) - -#define chmod_trivial_usage \ - "[-R"IF_DESKTOP("cvf")"] MODE[,MODE]... FILE..." -#define chmod_full_usage "\n\n" \ - "Each MODE is one or more of the letters ugoa, one of the\n" \ - "symbols +-= and one or more of the letters rwxst\n" \ - "\nOptions:" \ - "\n -R Recurse" \ - IF_DESKTOP( \ - "\n -c List changed files" \ - "\n -v List all files" \ - "\n -f Hide errors" \ - ) -#define chmod_example_usage \ - "$ ls -l /tmp/foo\n" \ - "-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ - "$ chmod u+x /tmp/foo\n" \ - "$ ls -l /tmp/foo\n" \ - "-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*\n" \ - "$ chmod 444 /tmp/foo\n" \ - "$ ls -l /tmp/foo\n" \ - "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" - -#define chgrp_trivial_usage \ - "[-RhLHP"IF_DESKTOP("cvf")"]... GROUP FILE..." -#define chgrp_full_usage "\n\n" \ - "Change the group membership of each FILE to GROUP\n" \ - "\nOptions:" \ - "\n -R Recurse" \ - "\n -h Affect symlinks instead of symlink targets" \ - "\n -L Traverse all symlinks to directories" \ - "\n -H Traverse symlinks on command line only" \ - "\n -P Don't traverse symlinks (default)" \ - IF_DESKTOP( \ - "\n -c List changed files" \ - "\n -v Verbose" \ - "\n -f Hide errors" \ - ) -#define chgrp_example_usage \ - "$ ls -l /tmp/foo\n" \ - "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ - "$ chgrp root /tmp/foo\n" \ - "$ ls -l /tmp/foo\n" \ - "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" - -#define chown_trivial_usage \ - "[-RhLHP"IF_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." -#define chown_full_usage "\n\n" \ - "Change the owner and/or group of each FILE to OWNER and/or GROUP\n" \ - "\nOptions:" \ - "\n -R Recurse" \ - "\n -h Affect symlinks instead of symlink targets" \ - "\n -L Traverse all symlinks to directories" \ - "\n -H Traverse symlinks on command line only" \ - "\n -P Don't traverse symlinks (default)" \ - IF_DESKTOP( \ - "\n -c List changed files" \ - "\n -v List all files" \ - "\n -f Hide errors" \ - ) -#define chown_example_usage \ - "$ ls -l /tmp/foo\n" \ - "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ - "$ chown root /tmp/foo\n" \ - "$ ls -l /tmp/foo\n" \ - "-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo\n" \ - "$ chown root.root /tmp/foo\n" \ - "ls -l /tmp/foo\n" \ - "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" - -#define chpst_trivial_usage \ - "[-vP012] [-u USER[:GRP]] [-U USER[:GRP]] [-e DIR]\n" \ - " [-/ DIR] [-n NICE] [-m BYTES] [-d BYTES] [-o N]\n" \ - " [-p N] [-f BYTES] [-c BYTES] PROG ARGS" -#define chpst_full_usage "\n\n" \ - "Change the process state and run PROG\n" \ - "\nOptions:" \ - "\n -u USER[:GRP] Set uid and gid" \ - "\n -U USER[:GRP] Set $UID and $GID in environment" \ - "\n -e DIR Set environment variables as specified by files" \ - "\n in DIR: file=1st_line_of_file" \ - "\n -/ DIR Chroot to DIR" \ - "\n -n NICE Add NICE to nice value" \ - "\n -m BYTES Same as -d BYTES -s BYTES -l BYTES" \ - "\n -d BYTES Limit data segment" \ - "\n -o N Limit number of open files per process" \ - "\n -p N Limit number of processes per uid" \ - "\n -f BYTES Limit output file sizes" \ - "\n -c BYTES Limit core file size" \ - "\n -v Verbose" \ - "\n -P Create new process group" \ - "\n -0 Close stdin" \ - "\n -1 Close stdout" \ - "\n -2 Close stderr" \ - -#define setuidgid_trivial_usage \ - "USER PROG ARGS" -#define setuidgid_full_usage "\n\n" \ - "Set uid and gid to USER's uid and gid, removing all supplementary\n" \ - "groups and run PROG" -#define envuidgid_trivial_usage \ - "USER PROG ARGS" -#define envuidgid_full_usage "\n\n" \ - "Set $UID to USER's uid and $GID to USER's gid and run PROG" -#define envdir_trivial_usage \ - "DIR PROG ARGS" -#define envdir_full_usage "\n\n" \ - "Set various environment variables as specified by files\n" \ - "in the directory dir and run PROG" -#define softlimit_trivial_usage \ - "[-a BYTES] [-m BYTES] [-d BYTES] [-s BYTES] [-l BYTES]\n" \ - " [-f BYTES] [-c BYTES] [-r BYTES] [-o N] [-p N] [-t N]\n" \ - " PROG ARGS" -#define softlimit_full_usage "\n\n" \ - "Set soft resource limits, then run PROG\n" \ - "\nOptions:" \ - "\n -a BYTES Limit total size of all segments" \ - "\n -m BYTES Same as -d BYTES -s BYTES -l BYTES -a BYTES" \ - "\n -d BYTES Limit data segment" \ - "\n -s BYTES Limit stack segment" \ - "\n -l BYTES Limit locked memory size" \ - "\n -o N Limit number of open files per process" \ - "\n -p N Limit number of processes per uid" \ - "\nOptions controlling file sizes:" \ - "\n -f BYTES Limit output file sizes" \ - "\n -c BYTES Limit core file size" \ - "\nEfficiency opts:" \ - "\n -r BYTES Limit resident set size" \ - "\n -t N Limit CPU time, process receives" \ - "\n a SIGXCPU after N seconds" \ - -#define chroot_trivial_usage \ - "NEWROOT [PROG ARGS]" -#define chroot_full_usage "\n\n" \ - "Run PROG with root directory set to NEWROOT" -#define chroot_example_usage \ - "$ ls -l /bin/ls\n" \ - "lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox\n" \ - "# mount /dev/hdc1 /mnt -t minix\n" \ - "# chroot /mnt\n" \ - "# ls -l /bin/ls\n" \ - "-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*\n" - -#define chvt_trivial_usage \ - "N" -#define chvt_full_usage "\n\n" \ - "Change the foreground virtual terminal to /dev/ttyN" - -#define cksum_trivial_usage \ - "FILES..." -#define cksum_full_usage "\n\n" \ - "Calculate the CRC32 checksums of FILES" - -#define clear_trivial_usage \ - "" -#define clear_full_usage "\n\n" \ - "Clear screen" - -#define cmp_trivial_usage \ - "[-l] [-s] FILE1 [FILE2" IF_DESKTOP(" [SKIP1 [SKIP2]]") "]" -#define cmp_full_usage "\n\n" \ - "Compare FILE1 with FILE2 (or stdin)\n" \ - "\nOptions:" \ - "\n -l Write the byte numbers (decimal) and values (octal)" \ - "\n for all differing bytes" \ - "\n -s Quiet" \ - -#define comm_trivial_usage \ - "[-123] FILE1 FILE2" -#define comm_full_usage "\n\n" \ - "Compare FILE1 with FILE2\n" \ - "\nOptions:" \ - "\n -1 Suppress lines unique to FILE1" \ - "\n -2 Suppress lines unique to FILE2" \ - "\n -3 Suppress lines common to both files" \ - -#define bbconfig_trivial_usage \ - "" -#define bbconfig_full_usage "\n\n" \ - "Print the config file which built busybox" - -#define chrt_trivial_usage \ - "[OPTIONS] [PRIO] [PID | PROG ARGS]" -#define chrt_full_usage "\n\n" \ - "Manipulate real-time attributes of a process\n" \ - "\nOptions:" \ - "\n -p Operate on PID" \ - "\n -r Set SCHED_RR scheduling" \ - "\n -f Set SCHED_FIFO scheduling" \ - "\n -o Set SCHED_OTHER scheduling" \ - "\n -m Show min and max priorities" \ - -#define chrt_example_usage \ - "$ chrt -r 4 sleep 900; x=$!\n" \ - "$ chrt -f -p 3 $x\n" \ - "You need CAP_SYS_NICE privileges to set scheduling attributes of a process" - -#define cp_trivial_usage \ - "[OPTIONS] SOURCE DEST" -#define cp_full_usage "\n\n" \ - "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY\n" \ - "\nOptions:" \ - "\n -a Same as -dpR" \ - IF_SELINUX( \ - "\n -c Preserve security context" \ - ) \ - "\n -R,-r Recurse" \ - "\n -d,-P Preserve symlinks (default if -R)" \ - "\n -L Follow all symlinks" \ - "\n -H Follow symlinks on command line" \ - "\n -p Preserve file attributes if possible" \ - "\n -f Overwrite" \ - "\n -i Prompt before overwrite" \ - "\n -l,-s Create (sym)links" \ - -#define cpio_trivial_usage \ - "[-dmvu] [-F FILE]" IF_FEATURE_CPIO_O(" [-H newc]") \ - " [-ti"IF_FEATURE_CPIO_O("o")"]" IF_FEATURE_CPIO_P(" [-p DIR]") -#define cpio_full_usage "\n\n" \ - "Extract or list files from a cpio archive" \ - IF_FEATURE_CPIO_O(", or" \ - "\ncreate an archive" IF_FEATURE_CPIO_P(" (-o) or copy files (-p)") \ - " using file list on stdin" \ - ) \ - "\n" \ - "\nMain operation mode:" \ - "\n -t List" \ - "\n -i Extract" \ - IF_FEATURE_CPIO_O( \ - "\n -o Create (requires -H newc)" \ - ) \ - IF_FEATURE_CPIO_P( \ - "\n -p DIR Copy files to DIR" \ - ) \ - "\nOptions:" \ - "\n -d Make leading directories" \ - "\n -m Preserve mtime" \ - "\n -v Verbose" \ - "\n -u Overwrite" \ - "\n -F FILE Input (-t,-i,-p) or output (-o) file" \ - IF_FEATURE_CPIO_O( \ - "\n -H newc Archive format" \ - ) \ - -#define crond_trivial_usage \ - "-fbS -l N " IF_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR" -#define crond_full_usage "\n\n" \ - " -f Foreground" \ - "\n -b Background (default)" \ - "\n -S Log to syslog (default)" \ - "\n -l Set log level. 0 is the most verbose, default 8" \ - IF_FEATURE_CROND_D( \ - "\n -d Set log level, log to stderr" \ - ) \ - "\n -L Log to file" \ - "\n -c Working dir" \ - -#define crontab_trivial_usage \ - "[-c DIR] [-u USER] [-ler]|[FILE]" -#define crontab_full_usage "\n\n" \ - " -c Crontab directory" \ - "\n -u User" \ - "\n -l List crontab" \ - "\n -e Edit crontab" \ - "\n -r Delete crontab" \ - "\n FILE Replace crontab by FILE ('-': stdin)" \ - -#define cryptpw_trivial_usage \ - "[OPTIONS] [PASSWORD] [SALT]" -/* We do support -s, we just don't mention it */ -#define cryptpw_full_usage "\n\n" \ - "Crypt the PASSWORD using crypt(3)\n" \ - "\nOptions:" \ - IF_LONG_OPTS( \ - "\n -P,--password-fd=N Read password from fd N" \ -/* "\n -s,--stdin Use stdin; like -P0" */ \ - "\n -m,--method=TYPE Encryption method TYPE" \ - "\n -S,--salt=SALT" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -P N Read password from fd N" \ -/* "\n -s Use stdin; like -P0" */ \ - "\n -m TYPE Encryption method TYPE" \ - "\n -S SALT" \ - ) \ - -/* mkpasswd is an alias to cryptpw */ - -#define mkpasswd_trivial_usage \ - "[OPTIONS] [PASSWORD] [SALT]" -/* We do support -s, we just don't mention it */ -#define mkpasswd_full_usage "\n\n" \ - "Crypt the PASSWORD using crypt(3)\n" \ - "\nOptions:" \ - IF_LONG_OPTS( \ - "\n -P,--password-fd=N Read password from fd N" \ -/* "\n -s,--stdin Use stdin; like -P0" */ \ - "\n -m,--method=TYPE Encryption method TYPE" \ - "\n -S,--salt=SALT" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -P N Read password from fd N" \ -/* "\n -s Use stdin; like -P0" */ \ - "\n -m TYPE Encryption method TYPE" \ - "\n -S SALT" \ - ) \ - -#define cttyhack_trivial_usage \ - "PROG ARGS" -#define cttyhack_full_usage "\n\n" \ - "Give PROG a controlling tty if possible." \ - "\nExample for /etc/inittab (for busybox init):" \ - "\n ::respawn:/bin/cttyhack /bin/sh" \ - "\nGiving controlling tty to shell running with PID 1:" \ - "\n $ exec cttyhack sh" \ - "\nStarting interactive shell from boot shell script:" \ - "\n setsid cttyhack sh" \ - -#define cut_trivial_usage \ - "[OPTIONS] [FILE]..." -#define cut_full_usage "\n\n" \ - "Print selected fields from each input FILE to stdout\n" \ - "\nOptions:" \ - "\n -b LIST Output only bytes from LIST" \ - "\n -c LIST Output only characters from LIST" \ - "\n -d CHAR Use CHAR instead of tab as the field delimiter" \ - "\n -s Output only the lines containing delimiter" \ - "\n -f N Print only these fields" \ - "\n -n Ignored" \ - -#define cut_example_usage \ - "$ echo \"Hello world\" | cut -f 1 -d ' '\n" \ - "Hello\n" \ - "$ echo \"Hello world\" | cut -f 2 -d ' '\n" \ - "world\n" - -#define date_trivial_usage \ - "[OPTIONS] [+FMT] [TIME]" -#define date_full_usage "\n\n" \ - "Display time (using +FMT), or set time\n" \ - "\nOptions:" \ - IF_NOT_LONG_OPTS( \ - "\n [-s] TIME Set time to TIME" \ - "\n -u Work in UTC (don't convert to local time)" \ - "\n -R Output RFC-2822 compliant date string" \ - ) IF_LONG_OPTS( \ - "\n [-s,--set] TIME Set time to TIME" \ - "\n -u,--utc Work in UTC (don't convert to local time)" \ - "\n -R,--rfc-2822 Output RFC-2822 compliant date string" \ - ) \ - IF_FEATURE_DATE_ISOFMT( \ - "\n -I[SPEC] Output ISO-8601 compliant date string" \ - "\n SPEC='date' (default) for date only," \ - "\n 'hours', 'minutes', or 'seconds' for date and" \ - "\n time to the indicated precision" \ - ) IF_NOT_LONG_OPTS( \ - "\n -r FILE Display last modification time of FILE" \ - "\n -d TIME Display TIME, not 'now'" \ - ) IF_LONG_OPTS( \ - "\n -r,--reference FILE Display last modification time of FILE" \ - "\n -d,--date TIME Display TIME, not 'now'" \ - ) \ - IF_FEATURE_DATE_ISOFMT( \ - "\n -D FMT Use FMT for -d TIME conversion" \ - ) \ - "\n" \ - "\nRecognized TIME formats:" \ - "\n hh:mm[:ss]" \ - "\n [YYYY.]MM.DD-hh:mm[:ss]" \ - "\n YYYY-MM-DD hh:mm[:ss]" \ - "\n [[[[[YY]YY]MM]DD]hh]mm[.ss]" \ - -#define date_example_usage \ - "$ date\n" \ - "Wed Apr 12 18:52:41 MDT 2000\n" - -#define dc_trivial_usage \ - "expression..." -#define dc_full_usage "\n\n" \ - "Tiny RPN calculator. Operations:\n" \ - "+, add, -, sub, *, mul, /, div, %, mod, **, exp, and, or, not, eor,\n" \ - "p - print top of the stack (without altering the stack),\n" \ - "f - print entire stack, o - pop the value and set output radix\n" \ - "(value must be 10 or 16).\n" \ - "Examples: 'dc 2 2 add' -> 4, 'dc 8 8 * 2 2 + /' -> 16\n" \ - -#define dc_example_usage \ - "$ dc 2 2 + p\n" \ - "4\n" \ - "$ dc 8 8 \\* 2 2 + / p\n" \ - "16\n" \ - "$ dc 0 1 and p\n" \ - "0\n" \ - "$ dc 0 1 or p\n" \ - "1\n" \ - "$ echo 72 9 div 8 mul p | dc\n" \ - "64\n" - -#define dd_trivial_usage \ - "[if=FILE] [of=FILE] " IF_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ - " [seek=N]" IF_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync]") -#define dd_full_usage "\n\n" \ - "Copy a file with converting and formatting\n" \ - "\nOptions:" \ - "\n if=FILE Read from FILE instead of stdin" \ - "\n of=FILE Write to FILE instead of stdout" \ - "\n bs=N Read and write N bytes at a time" \ - IF_FEATURE_DD_IBS_OBS( \ - "\n ibs=N Read N bytes at a time" \ - ) \ - IF_FEATURE_DD_IBS_OBS( \ - "\n obs=N Write N bytes at a time" \ - ) \ - "\n count=N Copy only N input blocks" \ - "\n skip=N Skip N input blocks" \ - "\n seek=N Skip N output blocks" \ - IF_FEATURE_DD_IBS_OBS( \ - "\n conv=notrunc Don't truncate output file" \ - "\n conv=noerror Continue after read errors" \ - "\n conv=sync Pad blocks with zeros" \ - "\n conv=fsync Physically write data out before finishing" \ - ) \ - "\n" \ - "\nNumbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024)," \ - "\nMD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)" \ - -#define dd_example_usage \ - "$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4\n" \ - "4+0 records in\n" \ - "4+0 records out\n" - -#define deallocvt_trivial_usage \ - "[N]" -#define deallocvt_full_usage "\n\n" \ - "Deallocate unused virtual terminal /dev/ttyN" - -#define delgroup_trivial_usage \ - IF_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" -#define delgroup_full_usage "\n\n" \ - "Delete group GROUP from the system" \ - IF_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") - -#define deluser_trivial_usage \ - "USER" -#define deluser_full_usage "\n\n" \ - "Delete USER from the system" - -#define depmod_trivial_usage NOUSAGE_STR -#define depmod_full_usage "" - -#define devmem_trivial_usage \ - "ADDRESS [WIDTH [VALUE]]" - -#define devmem_full_usage "\n\n" \ - "Read/write from physical address\n" \ - "\n ADDRESS Address to act upon" \ - "\n WIDTH Width (8/16/...)" \ - "\n VALUE Data to be written" \ - -#define devfsd_trivial_usage \ - "mntpnt [-v]" IF_DEVFSD_FG_NP("[-fg][-np]") -#define devfsd_full_usage "\n\n" \ - "Manage devfs permissions and old device name symlinks\n" \ - "\nOptions:" \ - "\n mntpnt The mount point where devfs is mounted" \ - "\n -v Print the protocol version numbers for devfsd" \ - "\n and the kernel-side protocol version and exit" \ - IF_DEVFSD_FG_NP( \ - "\n -fg Run in foreground" \ - "\n -np Exit after parsing the configuration file" \ - "\n and processing synthetic REGISTER events," \ - "\n don't poll for events" \ - ) - -#define df_trivial_usage \ - "[-Pk" \ - IF_FEATURE_HUMAN_READABLE("mh") \ - IF_FEATURE_DF_FANCY("ai] [-B SIZE") \ - "] [FILESYSTEM]..." -#define df_full_usage "\n\n" \ - "Print filesystem usage statistics\n" \ - "\nOptions:" \ - "\n -P POSIX output format" \ - "\n -k 1024-byte blocks (default)" \ - IF_FEATURE_HUMAN_READABLE( \ - "\n -m 1M-byte blocks" \ - "\n -h Human readable (e.g. 1K 243M 2G)" \ - ) \ - IF_FEATURE_DF_FANCY( \ - "\n -a Show all filesystems" \ - "\n -i Inodes" \ - "\n -B SIZE Blocksize" \ - ) \ - -#define df_example_usage \ - "$ df\n" \ - "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ - "/dev/sda3 8690864 8553540 137324 98% /\n" \ - "/dev/sda1 64216 36364 27852 57% /boot\n" \ - "$ df /dev/sda3\n" \ - "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ - "/dev/sda3 8690864 8553540 137324 98% /\n" \ - "$ POSIXLY_CORRECT=sure df /dev/sda3\n" \ - "Filesystem 512B-blocks Used Available Use% Mounted on\n" \ - "/dev/sda3 17381728 17107080 274648 98% /\n" \ - "$ POSIXLY_CORRECT=yep df -P /dev/sda3\n" \ - "Filesystem 512-blocks Used Available Capacity Mounted on\n" \ - "/dev/sda3 17381728 17107080 274648 98% /\n" - -#define dhcprelay_trivial_usage \ - "CLIENT_IFACE[,CLIENT_IFACE2]... SERVER_IFACE [SERVER_IP]" -#define dhcprelay_full_usage "\n\n" \ - "Relay DHCP requests between clients and server" \ - -#define diff_trivial_usage \ - "[-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2" -#define diff_full_usage "\n\n" \ - "Compare files line by line and output the differences between them.\n" \ - "This implementation supports unified diffs only.\n" \ - "\nOptions:" \ - "\n -a Treat all files as text" \ - "\n -b Ignore changes in the amount of whitespace" \ - "\n -B Ignore changes whose lines are all blank" \ - "\n -d Try hard to find a smaller set of changes" \ - "\n -i Ignore case differences" \ - "\n -L Use LABEL instead of the filename in the unified header" \ - "\n -N Treat absent files as empty" \ - "\n -q Output only whether files differ" \ - "\n -r Recurse" \ - "\n -S Start with FILE when comparing directories" \ - "\n -T Make tabs line up by prefixing a tab when necessary" \ - "\n -s Report when two files are the same" \ - "\n -t Expand tabs to spaces in output" \ - "\n -U Output LINES lines of context" \ - "\n -w Ignore all whitespace" \ - -#define dirname_trivial_usage \ - "FILENAME" -#define dirname_full_usage "\n\n" \ - "Strip non-directory suffix from FILENAME" -#define dirname_example_usage \ - "$ dirname /tmp/foo\n" \ - "/tmp\n" \ - "$ dirname /tmp/foo/\n" \ - "/tmp\n" - -#define dmesg_trivial_usage \ - "[-c] [-n LEVEL] [-s SIZE]" -#define dmesg_full_usage "\n\n" \ - "Print or control the kernel ring buffer\n" \ - "\nOptions:" \ - "\n -c Clear ring buffer after printing" \ - "\n -n LEVEL Set console logging level" \ - "\n -s SIZE Buffer size" \ - -#define dnsd_trivial_usage \ - "[-dvs] [-c CONFFILE] [-t TTL_SEC] [-p PORT] [-i ADDR]" -#define dnsd_full_usage "\n\n" \ - "Small static DNS server daemon\n" \ - "\nOptions:" \ - "\n -c FILE Config file" \ - "\n -t SEC TTL" \ - "\n -p PORT Listen on PORT" \ - "\n -i ADDR Listen on ADDR" \ - "\n -d Daemonize" \ - "\n -v Verbose" \ - "\n -s Send successful replies only. Use this if you want" \ - "\n to use /etc/resolv.conf with two nameserver lines:" \ - "\n nameserver DNSD_SERVER" \ - "\n nameserver NORNAL_DNS_SERVER" \ - -#define dos2unix_trivial_usage \ - "[OPTIONS] [FILE]" -#define dos2unix_full_usage "\n\n" \ - "Convert FILE in-place from DOS to Unix format.\n" \ - "When no file is given, use stdin/stdout.\n" \ - "\nOptions:" \ - "\n -u dos2unix" \ - "\n -d unix2dos" \ - -#define unix2dos_trivial_usage \ - "[OPTIONS] [FILE]" -#define unix2dos_full_usage "\n\n" \ - "Convert FILE in-place from Unix to DOS format.\n" \ - "When no file is given, use stdin/stdout.\n" \ - "\nOptions:" \ - "\n -u dos2unix" \ - "\n -d unix2dos" \ - -#define dpkg_trivial_usage \ - "[-ilCPru] [-F OPT] PACKAGE" -#define dpkg_full_usage "\n\n" \ - "Install, remove and manage Debian packages\n" \ - "\nOptions:" \ - IF_LONG_OPTS( \ - "\n -i,--install Install the package" \ - "\n -l,--list List of installed packages" \ - "\n --configure Configure an unpackaged package" \ - "\n -P,--purge Purge all files of a package" \ - "\n -r,--remove Remove all but the configuration files for a package" \ - "\n --unpack Unpack a package, but don't configure it" \ - "\n --force-depends Ignore dependency problems" \ - "\n --force-confnew Overwrite existing config files when installing" \ - "\n --force-confold Keep old config files when installing" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -i Install the package" \ - "\n -l List of installed packages" \ - "\n -C Configure an unpackaged package" \ - "\n -P Purge all files of a package" \ - "\n -r Remove all but the configuration files for a package" \ - "\n -u Unpack a package, but don't configure it" \ - "\n -F depends Ignore dependency problems" \ - "\n -F confnew Overwrite existing config files when installing" \ - "\n -F confold Keep old config files when installing" \ - ) - -#define dpkg_deb_trivial_usage \ - "[-cefxX] FILE [argument]" -#define dpkg_deb_full_usage "\n\n" \ - "Perform actions on Debian packages (.debs)\n" \ - "\nOptions:" \ - "\n -c List contents of filesystem tree" \ - "\n -e Extract control files to [argument] directory" \ - "\n -f Display control field name starting with [argument]" \ - "\n -x Extract packages filesystem tree to directory" \ - "\n -X Verbose extract" \ - -#define dpkg_deb_example_usage \ - "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n" - -#define du_trivial_usage \ - "[-aHLdclsx" IF_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..." -#define du_full_usage "\n\n" \ - "Summarize disk space used for each FILE and/or directory.\n" \ - "Disk space is printed in units of " \ - IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \ - IF_NOT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \ - " bytes.\n" \ - "\nOptions:" \ - "\n -a Show file sizes too" \ - "\n -L Follow all symlinks" \ - "\n -H Follow symlinks on command line" \ - "\n -d N Limit output to directories (and files with -a) of depth < N" \ - "\n -c Show grand total" \ - "\n -l Count sizes many times if hard linked" \ - "\n -s Display only a total for each argument" \ - "\n -x Skip directories on different filesystems" \ - IF_FEATURE_HUMAN_READABLE( \ - "\n -h Sizes in human readable format (e.g., 1K 243M 2G )" \ - "\n -m Sizes in megabytes" \ - ) \ - "\n -k Sizes in kilobytes" \ - IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K(" (default)") \ - -#define du_example_usage \ - "$ du\n" \ - "16 ./CVS\n" \ - "12 ./kernel-patches/CVS\n" \ - "80 ./kernel-patches\n" \ - "12 ./tests/CVS\n" \ - "36 ./tests\n" \ - "12 ./scripts/CVS\n" \ - "16 ./scripts\n" \ - "12 ./docs/CVS\n" \ - "104 ./docs\n" \ - "2417 .\n" - -#define dumpkmap_trivial_usage \ - "> keymap" -#define dumpkmap_full_usage "\n\n" \ - "Print a binary keyboard translation table to stdout" -#define dumpkmap_example_usage \ - "$ dumpkmap > keymap\n" - -#define dumpleases_trivial_usage \ - "[-r|-a] [-f LEASEFILE]" -#define dumpleases_full_usage "\n\n" \ - "Display DHCP leases granted by udhcpd\n" \ - "\nOptions:" \ - IF_LONG_OPTS( \ - "\n -f,--file=FILE Lease file" \ - "\n -r,--remaining Show remaining time" \ - "\n -a,--absolute Show expiration time" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -f FILE Lease file" \ - "\n -r Show remaining time" \ - "\n -a Show expiration time" \ - ) - -/* -#define e2fsck_trivial_usage \ - "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \ - "[-I inode_buffer_blocks] [-P process_inode_size] " \ - "[-l|-L bad_blocks_file] [-C fd] [-j external_journal] " \ - "[-E extended-options] device" -#define e2fsck_full_usage "\n\n" \ - "Check ext2/ext3 file system\n" \ - "\nOptions:" \ - "\n -p Automatic repair (no questions)" \ - "\n -n Make no changes to the filesystem" \ - "\n -y Assume 'yes' to all questions" \ - "\n -c Check for bad blocks and add them to the badblock list" \ - "\n -f Force checking even if filesystem is marked clean" \ - "\n -v Verbose" \ - "\n -b superblock Use alternative superblock" \ - "\n -B blocksize Force blocksize when looking for superblock" \ - "\n -j journal Set location of the external journal" \ - "\n -l file Add to badblocks list" \ - "\n -L file Set badblocks list" \ -*/ - -#define echo_trivial_usage \ - IF_FEATURE_FANCY_ECHO("[-neE] ") "[ARG]..." -#define echo_full_usage "\n\n" \ - "Print the specified ARGs to stdout" \ - IF_FEATURE_FANCY_ECHO( "\n" \ - "\nOptions:" \ - "\n -n Suppress trailing newline" \ - "\n -e Interpret backslash escapes (i.e., \\t=tab)" \ - "\n -E Don't interpret backslash escapes (default)" \ - ) -#define echo_example_usage \ - "$ echo \"Erik is cool\"\n" \ - "Erik is cool\n" \ - IF_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \ - "Erik\n" \ - "is\n" \ - "cool\n" \ - "$ echo \"Erik\\nis\\ncool\"\n" \ - "Erik\\nis\\ncool\n") - -#define eject_trivial_usage \ - "[-t] [-T] [DEVICE]" -#define eject_full_usage "\n\n" \ - "Eject DEVICE or default /dev/cdrom\n" \ - "\nOptions:" \ - IF_FEATURE_EJECT_SCSI( \ - "\n -s SCSI device" \ - ) \ - "\n -t Close tray" \ - "\n -T Open/close tray (toggle)" \ - -#define ed_trivial_usage "" -#define ed_full_usage "" - -#define env_trivial_usage \ - "[-iu] [-] [name=value]... [PROG ARGS]" -#define env_full_usage "\n\n" \ - "Print the current environment or run PROG after setting up\n" \ - "the specified environment\n" \ - "\nOptions:" \ - "\n -, -i Start with an empty environment" \ - "\n -u Remove variable from the environment" \ - -#define ether_wake_trivial_usage \ - "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC" -#define ether_wake_full_usage "\n\n" \ - "Send a magic packet to wake up sleeping machines.\n" \ - "MAC must be a station address (00:11:22:33:44:55) or\n" \ - "a hostname with a known 'ethers' entry.\n" \ - "\nOptions:" \ - "\n -b Send wake-up packet to the broadcast address" \ - "\n -i iface Interface to use (default eth0)" \ - "\n -p pass Append four or six byte password PW to the packet" \ - -#define expand_trivial_usage \ - "[-i] [-t N] [FILE]..." -#define expand_full_usage "\n\n" \ - "Convert tabs to spaces, writing to stdout\n" \ - "\nOptions:" \ - IF_FEATURE_EXPAND_LONG_OPTIONS( \ - "\n -i,--initial Don't convert tabs after non blanks" \ - "\n -t,--tabs=N Tabstops every N chars" \ - ) \ - IF_NOT_FEATURE_EXPAND_LONG_OPTIONS( \ - "\n -i Don't convert tabs after non blanks" \ - "\n -t Tabstops every N chars" \ - ) - -#define expr_trivial_usage \ - "EXPRESSION" -#define expr_full_usage "\n\n" \ - "Print the value of EXPRESSION to stdout\n" \ - "\n" \ - "EXPRESSION may be:\n" \ - " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" \ - " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" \ - " ARG1 < ARG2 1 if ARG1 is less than ARG2, else 0. Similarly:\n" \ - " ARG1 <= ARG2\n" \ - " ARG1 = ARG2\n" \ - " ARG1 != ARG2\n" \ - " ARG1 >= ARG2\n" \ - " ARG1 > ARG2\n" \ - " ARG1 + ARG2 Sum of ARG1 and ARG2. Similarly:\n" \ - " ARG1 - ARG2\n" \ - " ARG1 * ARG2\n" \ - " ARG1 / ARG2\n" \ - " ARG1 % ARG2\n" \ - " STRING : REGEXP Anchored pattern match of REGEXP in STRING\n" \ - " match STRING REGEXP Same as STRING : REGEXP\n" \ - " substr STRING POS LENGTH Substring of STRING, POS counted from 1\n" \ - " index STRING CHARS Index in STRING where any CHARS is found, or 0\n" \ - " length STRING Length of STRING\n" \ - " quote TOKEN Interpret TOKEN as a string, even if\n" \ - " it is a keyword like 'match' or an\n" \ - " operator like '/'\n" \ - " (EXPRESSION) Value of EXPRESSION\n" \ - "\n" \ - "Beware that many operators need to be escaped or quoted for shells.\n" \ - "Comparisons are arithmetic if both ARGs are numbers, else\n" \ - "lexicographical. Pattern matches return the string matched between\n" \ - "\\( and \\) or null; if \\( and \\) are not used, they return the number\n" \ - "of characters matched or 0." - -#define fakeidentd_trivial_usage \ - "[-fiw] [-b ADDR] [STRING]" -#define fakeidentd_full_usage "\n\n" \ - "Provide fake ident (auth) service\n" \ - "\nOptions:" \ - "\n -f Run in foreground" \ - "\n -i Inetd mode" \ - "\n -w Inetd 'wait' mode" \ - "\n -b ADDR Bind to specified address" \ - "\n STRING Ident answer string (default: nobody)" \ - -#define false_trivial_usage \ - "" -#define false_full_usage "\n\n" \ - "Return an exit code of FALSE (1)" - -#define false_example_usage \ - "$ false\n" \ - "$ echo $?\n" \ - "1\n" - -#define fbsplash_trivial_usage \ - "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" -#define fbsplash_full_usage "\n\n" \ - "Options:" \ - "\n -s Image" \ - "\n -c Hide cursor" \ - "\n -d Framebuffer device (default /dev/fb0)" \ - "\n -i Config file (var=value):" \ - "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" \ - "\n BAR_R,BAR_G,BAR_B" \ - "\n -f Control pipe (else exit after drawing image)" \ - "\n commands: 'NN' (% for progress bar) or 'exit'" \ - -#define fbset_trivial_usage \ - "[OPTIONS] [MODE]" -#define fbset_full_usage "\n\n" \ - "Show and modify frame buffer settings" - -#define fbset_example_usage \ - "$ fbset\n" \ - "mode \"1024x768-76\"\n" \ - " # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz\n" \ - " geometry 1024 768 1024 768 16\n" \ - " timings 12714 128 32 16 4 128 4\n" \ - " accel false\n" \ - " rgba 5/11,6/5,5/0,0/0\n" \ - "endmode\n" - -#define fdflush_trivial_usage \ - "DEVICE" -#define fdflush_full_usage "\n\n" \ - "Force floppy disk drive to detect disk change" - -#define fdformat_trivial_usage \ - "[-n] DEVICE" -#define fdformat_full_usage "\n\n" \ - "Format floppy disk\n" \ - "\nOptions:" \ - "\n -n Don't verify after format" \ - -/* Looks like someone forgot to add this to config system */ -#ifndef ENABLE_FEATURE_FDISK_BLKSIZE -# define ENABLE_FEATURE_FDISK_BLKSIZE 0 -# define IF_FEATURE_FDISK_BLKSIZE(a) -#endif - -#define fdisk_trivial_usage \ - "[-ul" IF_FEATURE_FDISK_BLKSIZE("s") "] " \ - "[-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" -#define fdisk_full_usage "\n\n" \ - "Change partition table\n" \ - "\nOptions:" \ - "\n -u Start and End are in sectors (instead of cylinders)" \ - "\n -l Show partition table for each DISK, then exit" \ - IF_FEATURE_FDISK_BLKSIZE( \ - "\n -s Show partition sizes in kb for each DISK, then exit" \ - ) \ - "\n -b 2048 (for certain MO disks) use 2048-byte sectors" \ - "\n -C CYLINDERS Set number of cylinders/heads/sectors" \ - "\n -H HEADS" \ - "\n -S SECTORS" \ - -#define fgconsole_trivial_usage \ - "" -#define fgconsole_full_usage "\n\n" \ - "Get active console" - -#define findfs_trivial_usage \ - "LABEL=label or UUID=uuid" -#define findfs_full_usage "\n\n" \ - "Find a filesystem device based on a label or UUID" -#define findfs_example_usage \ - "$ findfs LABEL=MyDevice" - -#define find_trivial_usage \ - "[PATH]... [EXPRESSION]" -#define find_full_usage "\n\n" \ - "Search for files. The default PATH is the current directory,\n" \ - "default EXPRESSION is '-print'\n" \ - "\nEXPRESSION may consist of:" \ - "\n -follow Follow symlinks" \ - IF_FEATURE_FIND_XDEV( \ - "\n -xdev Don't descend directories on other filesystems") \ - IF_FEATURE_FIND_MAXDEPTH( \ - "\n -maxdepth N Descend at most N levels. -maxdepth 0 applies" \ - "\n tests/actions to command line arguments only") \ - "\n -mindepth N Don't act on first N levels" \ - "\n -name PATTERN File name (w/o directory name) matches PATTERN" \ - "\n -iname PATTERN Case insensitive -name" \ - IF_FEATURE_FIND_PATH( \ - "\n -path PATTERN Path matches PATTERN") \ - IF_FEATURE_FIND_REGEX( \ - "\n -regex PATTERN Path matches regex PATTERN") \ - IF_FEATURE_FIND_TYPE( \ - "\n -type X File type is X (X is one of: f,d,l,b,c,...)") \ - IF_FEATURE_FIND_PERM( \ - "\n -perm NNN Permissions match any of (+NNN), all of (-NNN)," \ - "\n or exactly NNN") \ - IF_FEATURE_FIND_MTIME( \ - "\n -mtime DAYS Modified time is greater than (+N), less than (-N)," \ - "\n or exactly N days") \ - IF_FEATURE_FIND_MMIN( \ - "\n -mmin MINS Modified time is greater than (+N), less than (-N)," \ - "\n or exactly N minutes") \ - IF_FEATURE_FIND_NEWER( \ - "\n -newer FILE Modified time is more recent than FILE's") \ - IF_FEATURE_FIND_INUM( \ - "\n -inum N File has inode number N") \ - IF_FEATURE_FIND_USER( \ - "\n -user NAME File is owned by user NAME (numeric user ID allowed)") \ - IF_FEATURE_FIND_GROUP( \ - "\n -group NAME File belongs to group NAME (numeric group ID allowed)") \ - IF_FEATURE_FIND_DEPTH( \ - "\n -depth Process directory name after traversing it") \ - IF_FEATURE_FIND_SIZE( \ - "\n -size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.))" \ - "\n +/-N: file size is bigger/smaller than N") \ - IF_FEATURE_FIND_LINKS( \ - "\n -links N Number of links is greater than (+N), less than (-N)," \ - "\n or exactly N") \ - "\n -print Print (default and assumed)" \ - IF_FEATURE_FIND_PRINT0( \ - "\n -print0 Delimit output with null characters rather than" \ - "\n newlines") \ - IF_FEATURE_FIND_CONTEXT ( \ - "\n -context File has specified security context") \ - IF_FEATURE_FIND_EXEC( \ - "\n -exec CMD ARG ; Run CMD with all instances of {} replaced by the" \ - "\n matching files") \ - IF_FEATURE_FIND_PRUNE( \ - "\n -prune Stop traversing current subtree") \ - IF_FEATURE_FIND_DELETE( \ - "\n -delete Delete files, turns on -depth option") \ - IF_FEATURE_FIND_PAREN( \ - "\n (EXPR) Group an expression") \ - -#define find_example_usage \ - "$ find / -name passwd\n" \ - "/etc/passwd\n" - -#define flash_lock_trivial_usage \ - "MTD_DEVICE OFFSET SECTORS" -#define flash_lock_full_usage "\n\n" \ - "Lock part or all of an MTD device. If SECTORS is -1, then all sectors\n" \ - "will be locked, regardless of the value of OFFSET" - -#define flash_unlock_trivial_usage \ - "MTD_DEVICE" -#define flash_unlock_full_usage "\n\n" \ - "Unlock an MTD device" - -#define flash_eraseall_trivial_usage \ - "[-jq] MTD_DEVICE" -#define flash_eraseall_full_usage "\n\n" \ - "Erase an MTD device\n" \ - "\nOptions:" \ - "\n -j Format the device for jffs2" \ - "\n -q Don't display progress messages" \ - -#define flashcp_trivial_usage \ - "-v FILE MTD_DEVICE" -#define flashcp_full_usage "\n\n" \ - "Copy an image to MTD device\n" \ - "\nOptions:" \ - "\n -v Verbose" \ - -#define flock_trivial_usage \ - "[-sxun] FD|{FILE [-c] PROG ARGS}" -#define flock_full_usage "\n\n" \ - "[Un]lock file descriptor, or lock FILE and run PROG\n" \ - "\nOptions:" \ - "\n -s Shared lock" \ - "\n -x Exclusive lock (default)" \ - "\n -u Unlock FD" \ - "\n -n Fail rather than wait" \ - -#define fold_trivial_usage \ - "[-bs] [-w WIDTH] [FILE]..." -#define fold_full_usage "\n\n" \ - "Wrap input lines in each FILE (or stdin), writing to stdout\n" \ - "\nOptions:" \ - "\n -b Count bytes rather than columns" \ - "\n -s Break at spaces" \ - "\n -w Use WIDTH columns instead of 80" \ - -#define free_trivial_usage \ - "" -#define free_full_usage "\n\n" \ - "Display the amount of free and used system memory" -#define free_example_usage \ - "$ free\n" \ - " total used free shared buffers\n" \ - " Mem: 257628 248724 8904 59644 93124\n" \ - " Swap: 128516 8404 120112\n" \ - "Total: 386144 257128 129016\n" \ - -#define freeramdisk_trivial_usage \ - "DEVICE" -#define freeramdisk_full_usage "\n\n" \ - "Free all memory used by the specified ramdisk" -#define freeramdisk_example_usage \ - "$ freeramdisk /dev/ram2\n" - -#define fsck_trivial_usage \ - "[-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]..." -#define fsck_full_usage "\n\n" \ - "Check and repair filesystems\n" \ - "\nOptions:" \ - "\n -A Walk /etc/fstab and check all filesystems" \ - "\n -N Don't execute, just show what would be done" \ - "\n -P With -A, check filesystems in parallel" \ - "\n -R With -A, skip the root filesystem" \ - "\n -T Don't show title on startup" \ - "\n -V Verbose" \ - "\n -C n Write status information to specified filedescriptor" \ - "\n -t TYPE List of filesystem types to check" \ - -#define fsck_minix_trivial_usage \ - "[-larvsmf] BLOCKDEV" -#define fsck_minix_full_usage "\n\n" \ - "Check MINIX filesystem\n" \ - "\nOptions:" \ - "\n -l List all filenames" \ - "\n -r Perform interactive repairs" \ - "\n -a Perform automatic repairs" \ - "\n -v Verbose" \ - "\n -s Output superblock information" \ - "\n -m Show \"mode not cleared\" warnings" \ - "\n -f Force file system check" \ - -#define ftpd_trivial_usage \ - "[-wvS] [-t N] [-T N] [DIR]" -#define ftpd_full_usage "\n\n" \ - "Anonymous FTP server\n" \ - "\n" \ - "ftpd should be used as an inetd service.\n" \ - "ftpd's line for inetd.conf:\n" \ - " 21 stream tcp nowait root ftpd ftpd /files/to/serve\n" \ - "It also can be ran from tcpsvd:\n" \ - " tcpsvd -vE 0.0.0.0 21 ftpd /files/to/serve\n" \ - "\nOptions:" \ - "\n -w Allow upload" \ - "\n -v Log to stderr" \ - "\n -S Log to syslog" \ - "\n -t,-T Idle and absolute timeouts" \ - "\n DIR Change root to this directory" \ - -#define ftpget_trivial_usage \ - "[OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE" -#define ftpget_full_usage "\n\n" \ - "Retrieve a remote file via FTP\n" \ - "\nOptions:" \ - IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ - "\n -c,--continue Continue previous transfer" \ - "\n -v,--verbose Verbose" \ - "\n -u,--username Username" \ - "\n -p,--password Password" \ - "\n -P,--port Port number" \ - ) \ - IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ - "\n -c Continue previous transfer" \ - "\n -v Verbose" \ - "\n -u Username" \ - "\n -p Password" \ - "\n -P Port number" \ - ) - -#define ftpput_trivial_usage \ - "[OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE" -#define ftpput_full_usage "\n\n" \ - "Store a local file on a remote machine via FTP\n" \ - "\nOptions:" \ - IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ - "\n -v,--verbose Verbose" \ - "\n -u,--username Username" \ - "\n -p,--password Password" \ - "\n -P,--port Port number" \ - ) \ - IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ - "\n -v Verbose" \ - "\n -u Username" \ - "\n -p Password" \ - "\n -P Port number" \ - ) - -#define fuser_trivial_usage \ - "[OPTIONS] FILE or PORT/PROTO" -#define fuser_full_usage "\n\n" \ - "Find processes which use FILEs or PORTs\n" \ - "\nOptions:" \ - "\n -m Find processes which use same fs as FILEs" \ - "\n -4 Search only IPv4 space" \ - "\n -6 Search only IPv6 space" \ - "\n -s Don't display PIDs" \ - "\n -k Kill found processes" \ - "\n -SIGNAL Signal to send (default: KILL)" \ - -#define getenforce_trivial_usage NOUSAGE_STR -#define getenforce_full_usage "" - -#define getopt_trivial_usage \ - "[OPTIONS]" -#define getopt_full_usage "\n\n" \ - "Options:" \ - IF_LONG_OPTS( \ - "\n -a,--alternative Allow long options starting with single -" \ - "\n -l,--longoptions=longopts Long options to be recognized" \ - "\n -n,--name=progname The name under which errors are reported" \ - "\n -o,--options=optstring Short options to be recognized" \ - "\n -q,--quiet Disable error reporting by getopt(3)" \ - "\n -Q,--quiet-output No normal output" \ - "\n -s,--shell=shell Set shell quoting conventions" \ - "\n -T,--test Test for getopt(1) version" \ - "\n -u,--unquoted Don't quote the output" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -a Allow long options starting with single -" \ - "\n -l longopts Long options to be recognized" \ - "\n -n progname The name under which errors are reported" \ - "\n -o optstring Short options to be recognized" \ - "\n -q Disable error reporting by getopt(3)" \ - "\n -Q No normal output" \ - "\n -s shell Set shell quoting conventions" \ - "\n -T Test for getopt(1) version" \ - "\n -u Don't quote the output" \ - ) -#define getopt_example_usage \ - "$ cat getopt.test\n" \ - "#!/bin/sh\n" \ - "GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \\\n" \ - " -n 'example.busybox' -- \"$@\"`\n" \ - "if [ $? != 0 ]; then exit 1; fi\n" \ - "eval set -- \"$GETOPT\"\n" \ - "while true; do\n" \ - " case $1 in\n" \ - " -a|--a-long) echo \"Option a\"; shift;;\n" \ - " -b|--b-long) echo \"Option b, argument '$2'\"; shift 2;;\n" \ - " -c|--c-long)\n" \ - " case \"$2\" in\n" \ - " \"\") echo \"Option c, no argument\"; shift 2;;\n" \ - " *) echo \"Option c, argument '$2'\"; shift 2;;\n" \ - " esac;;\n" \ - " --) shift; break;;\n" \ - " *) echo \"Internal error!\"; exit 1;;\n" \ - " esac\n" \ - "done\n" - -#define getsebool_trivial_usage \ - "-a or getsebool boolean..." -#define getsebool_full_usage "\n\n" \ - " -a Show all selinux booleans" - -#define getty_trivial_usage \ - "[OPTIONS] BAUD_RATE TTY [TERMTYPE]" -#define getty_full_usage "\n\n" \ - "Open a tty, prompt for a login name, then invoke /bin/login\n" \ - "\nOptions:" \ - "\n -h Enable hardware (RTS/CTS) flow control" \ - "\n -i Don't display /etc/issue before running login" \ - "\n -L Local line, don't do carrier detect" \ - "\n -m Get baud rate from modem's CONNECT status message" \ - "\n -w Wait for a CR or LF before sending /etc/issue" \ - "\n -n Don't prompt the user for a login name" \ - "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ - "\n -l LOGIN Invoke LOGIN instead of /bin/login" \ - "\n -t SEC Terminate after SEC if no username is read" \ - "\n -I INITSTR Send INITSTR before anything else" \ - "\n -H HOST Log HOST into the utmp file as the hostname" \ - -#define grep_trivial_usage \ - "[-HhnlLoqvsriw" \ - "F" \ - IF_FEATURE_GREP_EGREP_ALIAS("E") \ - IF_EXTRA_COMPAT("z") \ - "] [-m N] " \ - IF_FEATURE_GREP_CONTEXT("[-A/B/C N] ") \ - "PATTERN/-e PATTERN.../-f FILE [FILE]..." -#define grep_full_usage "\n\n" \ - "Search for PATTERN in FILEs (or stdin)\n" \ - "\nOptions:" \ - "\n -H Add 'filename:' prefix" \ - "\n -h Do not add 'filename:' prefix" \ - "\n -n Add 'line_no:' prefix" \ - "\n -l Show only names of files that match" \ - "\n -L Show only names of files that don't match" \ - "\n -c Show only count of matching lines" \ - "\n -o Show only the matching part of line" \ - "\n -q Quiet. Return 0 if PATTERN is found, 1 otherwise" \ - "\n -v Select non-matching lines" \ - "\n -s Suppress open and read errors" \ - "\n -r Recurse" \ - "\n -i Ignore case" \ - "\n -w Match whole words only" \ - "\n -F PATTERN is a literal (not regexp)" \ - IF_FEATURE_GREP_EGREP_ALIAS( \ - "\n -E PATTERN is an extended regexp" \ - ) \ - IF_EXTRA_COMPAT( \ - "\n -z Input is NUL terminated" \ - ) \ - "\n -m N Match up to N times per file" \ - IF_FEATURE_GREP_CONTEXT( \ - "\n -A N Print N lines of trailing context" \ - "\n -B N Print N lines of leading context" \ - "\n -C N Same as '-A N -B N'" \ - ) \ - "\n -e PTRN Pattern to match" \ - "\n -f FILE Read pattern from file" \ - -#define grep_example_usage \ - "$ grep root /etc/passwd\n" \ - "root:x:0:0:root:/root:/bin/bash\n" \ - "$ grep ^[rR]oo. /etc/passwd\n" \ - "root:x:0:0:root:/root:/bin/bash\n" - -#define egrep_trivial_usage NOUSAGE_STR -#define egrep_full_usage "" - -#define fgrep_trivial_usage NOUSAGE_STR -#define fgrep_full_usage "" - -#define gunzip_trivial_usage \ - "[OPTIONS] [FILE]..." -#define gunzip_full_usage "\n\n" \ - "Decompress FILEs (or stdin)\n" \ - "\nOptions:" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - "\n -t Test file integrity" \ - -#define gunzip_example_usage \ - "$ ls -la /tmp/BusyBox*\n" \ - "-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz\n" \ - "$ gunzip /tmp/BusyBox-0.43.tar.gz\n" \ - "$ ls -la /tmp/BusyBox*\n" \ - "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n" - -#define gzip_trivial_usage \ - "[OPTIONS] [FILE]..." -#define gzip_full_usage "\n\n" \ - "Compress FILEs (or stdin)\n" \ - "\nOptions:" \ - "\n -d Decompress" \ - "\n -c Write to stdout" \ - "\n -f Force" \ - -#define gzip_example_usage \ - "$ ls -la /tmp/busybox*\n" \ - "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/busybox.tar\n" \ - "$ gzip /tmp/busybox.tar\n" \ - "$ ls -la /tmp/busybox*\n" \ - "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" - -#define halt_trivial_usage \ - "[-d DELAY] [-n] [-f]" IF_FEATURE_WTMP(" [-w]") -#define halt_full_usage "\n\n" \ - "Halt the system\n" \ - "\nOptions:" \ - "\n -d Delay interval for halting" \ - "\n -n No call to sync()" \ - "\n -f Force halt (don't go through init)" \ - IF_FEATURE_WTMP( \ - "\n -w Only write a wtmp record" \ - ) - -#define hdparm_trivial_usage \ - "[OPTIONS] [DEVICE]" -#define hdparm_full_usage "\n\n" \ - "Options:" \ - "\n -a Get/set fs readahead" \ - "\n -A Set drive read-lookahead flag (0/1)" \ - "\n -b Get/set bus state (0 == off, 1 == on, 2 == tristate)" \ - "\n -B Set Advanced Power Management setting (1-255)" \ - "\n -c Get/set IDE 32-bit IO setting" \ - "\n -C Check IDE power mode status" \ - IF_FEATURE_HDPARM_HDIO_GETSET_DMA( \ - "\n -d Get/set using_dma flag") \ - "\n -D Enable/disable drive defect-mgmt" \ - "\n -f Flush buffer cache for device on exit" \ - "\n -g Display drive geometry" \ - "\n -h Display terse usage information" \ - IF_FEATURE_HDPARM_GET_IDENTITY( \ - "\n -i Display drive identification") \ - IF_FEATURE_HDPARM_GET_IDENTITY( \ - "\n -I Detailed/current information directly from drive") \ - "\n -k Get/set keep_settings_over_reset flag (0/1)" \ - "\n -K Set drive keep_features_over_reset flag (0/1)" \ - "\n -L Set drive doorlock (0/1) (removable harddisks only)" \ - "\n -m Get/set multiple sector count" \ - "\n -n Get/set ignore-write-errors flag (0/1)" \ - "\n -p Set PIO mode on IDE interface chipset (0,1,2,3,4,...)" \ - "\n -P Set drive prefetch count" \ -/* "\n -q Change next setting quietly" - not supported ib bbox */ \ - "\n -Q Get/set DMA tagged-queuing depth (if supported)" \ - "\n -r Get/set readonly flag (DANGEROUS to set)" \ - IF_FEATURE_HDPARM_HDIO_SCAN_HWIF( \ - "\n -R Register an IDE interface (DANGEROUS)") \ - "\n -S Set standby (spindown) timeout" \ - "\n -t Perform device read timings" \ - "\n -T Perform cache read timings" \ - "\n -u Get/set unmaskirq flag (0/1)" \ - IF_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \ - "\n -U Unregister an IDE interface (DANGEROUS)") \ - "\n -v Defaults; same as -mcudkrag for IDE drives" \ - "\n -V Display program version and exit immediately" \ - IF_FEATURE_HDPARM_HDIO_DRIVE_RESET( \ - "\n -w Perform device reset (DANGEROUS)") \ - "\n -W Set drive write-caching flag (0/1) (DANGEROUS)" \ - IF_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \ - "\n -x Tristate device for hotswap (0/1) (DANGEROUS)") \ - "\n -X Set IDE xfer mode (DANGEROUS)" \ - "\n -y Put IDE drive in standby mode" \ - "\n -Y Put IDE drive to sleep" \ - "\n -Z Disable Seagate auto-powersaving mode" \ - "\n -z Reread partition table" \ - -#define head_trivial_usage \ - "[OPTIONS] [FILE]..." -#define head_full_usage "\n\n" \ - "Print first 10 lines of each FILE (or stdin) to stdout.\n" \ - "With more than one FILE, precede each with a filename header.\n" \ - "\nOptions:" \ - "\n -n N[kbm] Print first N lines" \ - IF_FEATURE_FANCY_HEAD( \ - "\n -c N[kbm] Print first N bytes" \ - "\n -q Never print headers" \ - "\n -v Always print headers" \ - ) \ - "\n" \ - "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ - -#define head_example_usage \ - "$ head -n 2 /etc/passwd\n" \ - "root:x:0:0:root:/root:/bin/bash\n" \ - "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" - -#define tail_trivial_usage \ - "[OPTIONS] [FILE]..." -#define tail_full_usage "\n\n" \ - "Print last 10 lines of each FILE (or stdin) to stdout.\n" \ - "With more than one FILE, precede each with a filename header.\n" \ - "\nOptions:" \ - "\n -f Print data as file grows" \ - IF_FEATURE_FANCY_TAIL( \ - "\n -s SECONDS Wait SECONDS between reads with -f" \ - ) \ - "\n -n N[kbm] Print last N lines" \ - IF_FEATURE_FANCY_TAIL( \ - "\n -c N[kbm] Print last N bytes" \ - "\n -q Never print headers" \ - "\n -v Always print headers" \ - "\n" \ - "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ - "\nIf N starts with a '+', output begins with the Nth item from the start" \ - "\nof each file, not from the end." \ - ) \ - -#define tail_example_usage \ - "$ tail -n 1 /etc/resolv.conf\n" \ - "nameserver 10.0.0.1\n" - -#define hexdump_trivial_usage \ - "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..." -#define hexdump_full_usage "\n\n" \ - "Display FILEs (or stdin) in a user specified format\n" \ - "\nOptions:" \ - "\n -b One-byte octal display" \ - "\n -c One-byte character display" \ - "\n -C Canonical hex+ASCII, 16 bytes per line" \ - "\n -d Two-byte decimal display" \ - "\n -e FORMAT STRING" \ - "\n -f FORMAT FILE" \ - "\n -n LENGTH Interpret only LENGTH bytes of input" \ - "\n -o Two-byte octal display" \ - "\n -s OFFSET Skip OFFSET bytes" \ - "\n -v Display all input data" \ - "\n -x Two-byte hexadecimal display" \ - IF_FEATURE_HEXDUMP_REVERSE( \ - "\n -R Reverse of 'hexdump -Cv'") \ - -#define hd_trivial_usage \ - "FILE..." -#define hd_full_usage "\n\n" \ - "hd is an alias for hexdump -C" - -#define hostid_trivial_usage \ - "" -#define hostid_full_usage "\n\n" \ - "Print out a unique 32-bit identifier for the machine" - -#define hostname_trivial_usage \ - "[OPTIONS] [HOSTNAME | -F FILE]" -#define hostname_full_usage "\n\n" \ - "Get or set hostname or DNS domain name\n" \ - "\nOptions:" \ - "\n -s Short" \ - "\n -i Addresses for the hostname" \ - "\n -d DNS domain name" \ - "\n -f Fully qualified domain name" \ - "\n -F FILE Use FILE's content as hostname" \ - -#define hostname_example_usage \ - "$ hostname\n" \ - "sage\n" - -#define dnsdomainname_trivial_usage NOUSAGE_STR -#define dnsdomainname_full_usage "" - -#define httpd_trivial_usage \ - "[-ifv[v]]" \ - " [-c CONFFILE]" \ - " [-p [IP:]PORT]" \ - IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \ - IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \ - " [-h HOME]\n" \ - "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING" -#define httpd_full_usage "\n\n" \ - "Listen for incoming HTTP requests\n" \ - "\nOptions:" \ - "\n -i Inetd mode" \ - "\n -f Don't daemonize" \ - "\n -v[v] Verbose" \ - "\n -p [IP:]PORT Bind to ip:port (default *:80)" \ - IF_FEATURE_HTTPD_SETUID( \ - "\n -u USER[:GRP] Set uid/gid after binding to port") \ - IF_FEATURE_HTTPD_BASIC_AUTH( \ - "\n -r REALM Authentication Realm for Basic Authentication") \ - "\n -h HOME Home directory (default .)" \ - "\n -c FILE Configuration file (default {/etc,HOME}/httpd.conf)" \ - IF_FEATURE_HTTPD_AUTH_MD5( \ - "\n -m STRING MD5 crypt STRING") \ - "\n -e STRING HTML encode STRING" \ - "\n -d STRING URL decode STRING" \ - -#define hwclock_trivial_usage \ - IF_FEATURE_HWCLOCK_LONG_OPTIONS( \ - "[-r|--show] [-s|--hctosys] [-w|--systohc]" \ - " [-l|--localtime] [-u|--utc]" \ - " [-f FILE]" \ - ) \ - IF_NOT_FEATURE_HWCLOCK_LONG_OPTIONS( \ - "[-r] [-s] [-w] [-l] [-u] [-f FILE]" \ - ) -#define hwclock_full_usage "\n\n" \ - "Query and set hardware clock (RTC)\n" \ - "\nOptions:" \ - "\n -r Show hardware clock time" \ - "\n -s Set system time from hardware clock" \ - "\n -w Set hardware clock to system time" \ - "\n -u Hardware clock is in UTC" \ - "\n -l Hardware clock is in local time" \ - "\n -f FILE Use specified device (e.g. /dev/rtc2)" \ - -#define id_trivial_usage \ - "[OPTIONS] [USER]" -#define id_full_usage "\n\n" \ - "Print information about USER or the current user\n" \ - "\nOptions:" \ - IF_SELINUX( \ - "\n -Z Print the security context" \ - ) \ - "\n -u Print user ID" \ - "\n -g Print group ID" \ - "\n -G Print supplementary group IDs" \ - "\n -n Print name instead of a number" \ - "\n -r Print real user ID instead of effective ID" \ - -#define id_example_usage \ - "$ id\n" \ - "uid=1000(andersen) gid=1000(andersen)\n" - -#define ifconfig_trivial_usage \ - IF_FEATURE_IFCONFIG_STATUS("[-a]") " interface [address]" -#define ifconfig_full_usage "\n\n" \ - "Configure a network interface\n" \ - "\nOptions:" \ - "\n" \ - IF_FEATURE_IPV6( \ - " [add ADDRESS[/PREFIXLEN]]\n") \ - IF_FEATURE_IPV6( \ - " [del ADDRESS[/PREFIXLEN]]\n") \ - " [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]]\n" \ - " [netmask ADDRESS] [dstaddr ADDRESS]\n" \ - IF_FEATURE_IFCONFIG_SLIP( \ - " [outfill NN] [keepalive NN]\n") \ - " " IF_FEATURE_IFCONFIG_HW("[hw ether" IF_FEATURE_HWIB("|infiniband")" ADDRESS] ") "[metric NN] [mtu NN]\n" \ - " [[-]trailers] [[-]arp] [[-]allmulti]\n" \ - " [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic]\n" \ - IF_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \ - " [mem_start NN] [io_addr NN] [irq NN]\n") \ - " [up|down] ..." - -#define ifenslave_trivial_usage \ - "[-cdf] MASTER_IFACE SLAVE_IFACE..." -#define ifenslave_full_usage "\n\n" \ - "Configure network interfaces for parallel routing\n" \ - "\nOptions:" \ - "\n -c, --change-active Change active slave" \ - "\n -d, --detach Remove slave interface from bonding device" \ - "\n -f, --force Force, even if interface is not Ethernet" \ -/* "\n -r, --receive-slave Create a receive-only slave" */ - -#define ifenslave_example_usage \ - "To create a bond device, simply follow these three steps:\n" \ - "- ensure that the required drivers are properly loaded:\n" \ - " # modprobe bonding ; modprobe <3c59x|eepro100|pcnet32|tulip|...>\n" \ - "- assign an IP address to the bond device:\n" \ - " # ifconfig bond0 netmask broadcast \n" \ - "- attach all the interfaces you need to the bond device:\n" \ - " # ifenslave bond0 eth0 eth1 eth2\n" \ - " If bond0 didn't have a MAC address, it will take eth0's. Then, all\n" \ - " interfaces attached AFTER this assignment will get the same MAC addr.\n\n" \ - " To detach a dead interface without setting the bond device down:\n" \ - " # ifenslave -d bond0 eth1\n\n" \ - " To set the bond device down and automatically release all the slaves:\n" \ - " # ifconfig bond0 down\n\n" \ - " To change active slave:\n" \ - " # ifenslave -c bond0 eth0\n" \ - -#define ifplugd_trivial_usage \ - "[OPTIONS]" -#define ifplugd_full_usage "\n\n" \ - "Network interface plug detection daemon\n" \ - "\nOptions:" \ - "\n -n Don't daemonize" \ - "\n -s Don't log to syslog" \ - "\n -i IFACE Interface" \ - "\n -f/-F Treat link detection error as link down/link up" \ - "\n (otherwise exit on error)" \ - "\n -a Don't up interface at each link probe" \ - "\n -M Monitor creation/destruction of interface" \ - "\n (otherwise it must exist)" \ - "\n -r PROG Script to run" \ - "\n -x ARG Extra argument for script" \ - "\n -I Don't exit on nonzero exit code from script" \ - "\n -p Don't run script on daemon startup" \ - "\n -q Don't run script on daemon quit" \ - "\n -l Run script on startup even if no cable is detected" \ - "\n -t SECS Poll time in seconds" \ - "\n -u SECS Delay before running script after link up" \ - "\n -d SECS Delay after link down" \ - "\n -m MODE API mode (mii, priv, ethtool, wlan, iff, auto)" \ - "\n -k Kill running daemon" \ - -#define ifup_trivial_usage \ - "[-ain"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] IFACE..." -#define ifup_full_usage "\n\n" \ - "Options:" \ - "\n -a De/configure all interfaces automatically" \ - "\n -i FILE Use FILE for interface definitions" \ - "\n -n Print out what would happen, but don't do it" \ - IF_FEATURE_IFUPDOWN_MAPPING( \ - "\n (note: doesn't disable mappings)" \ - "\n -m Don't run any mappings" \ - ) \ - "\n -v Print out what would happen before doing it" \ - "\n -f Force de/configuration" \ - -#define ifdown_trivial_usage \ - "[-ain"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] ifaces..." -#define ifdown_full_usage "\n\n" \ - "Options:" \ - "\n -a De/configure all interfaces automatically" \ - "\n -i FILE Use FILE for interface definitions" \ - "\n -n Print out what would happen, but don't do it" \ - IF_FEATURE_IFUPDOWN_MAPPING( \ - "\n (note: doesn't disable mappings)" \ - "\n -m Don't run any mappings" \ - ) \ - "\n -v Print out what would happen before doing it" \ - "\n -f Force de/configuration" \ - -#define inetd_trivial_usage \ - "[-fe] [-q N] [-R N] [CONFFILE]" -#define inetd_full_usage "\n\n" \ - "Listen for network connections and launch programs\n" \ - "\nOptions:" \ - "\n -f Run in foreground" \ - "\n -e Log to stderr" \ - "\n -q N Socket listen queue (default: 128)" \ - "\n -R N Pause services after N connects/min" \ - "\n (default: 0 - disabled)" \ - -#define init_trivial_usage \ - "" -#define init_full_usage "\n\n" \ - "Init is the parent of all processes" - -#define init_notes_usage \ -"This version of init is designed to be run only by the kernel.\n" \ -"\n" \ -"BusyBox init doesn't support multiple runlevels. The runlevels field of\n" \ -"the /etc/inittab file is completely ignored by BusyBox init. If you want\n" \ -"runlevels, use sysvinit.\n" \ -"\n" \ -"BusyBox init works just fine without an inittab. If no inittab is found,\n" \ -"it has the following default behavior:\n" \ -"\n" \ -" ::sysinit:/etc/init.d/rcS\n" \ -" ::askfirst:/bin/sh\n" \ -" ::ctrlaltdel:/sbin/reboot\n" \ -" ::shutdown:/sbin/swapoff -a\n" \ -" ::shutdown:/bin/umount -a -r\n" \ -" ::restart:/sbin/init\n" \ -"\n" \ -"if it detects that /dev/console is _not_ a serial console, it will also run:\n" \ -"\n" \ -" tty2::askfirst:/bin/sh\n" \ -" tty3::askfirst:/bin/sh\n" \ -" tty4::askfirst:/bin/sh\n" \ -"\n" \ -"If you choose to use an /etc/inittab file, the inittab entry format is as follows:\n" \ -"\n" \ -" :::\n" \ -"\n" \ -" :\n" \ -"\n" \ -" WARNING: This field has a non-traditional meaning for BusyBox init!\n" \ -" The id field is used by BusyBox init to specify the controlling tty for\n" \ -" the specified process to run on. The contents of this field are\n" \ -" appended to \"/dev/\" and used as-is. There is no need for this field to\n" \ -" be unique, although if it isn't you may have strange results. If this\n" \ -" field is left blank, the controlling tty is set to the console. Also\n" \ -" note that if BusyBox detects that a serial console is in use, then only\n" \ -" entries whose controlling tty is either the serial console or /dev/null\n" \ -" will be run. BusyBox init does nothing with utmp. We don't need no\n" \ -" stinkin' utmp.\n" \ -"\n" \ -" :\n" \ -"\n" \ -" The runlevels field is completely ignored.\n" \ -"\n" \ -" :\n" \ -"\n" \ -" Valid actions include: sysinit, respawn, askfirst, wait,\n" \ -" once, restart, ctrlaltdel, and shutdown.\n" \ -"\n" \ -" The available actions can be classified into two groups: actions\n" \ -" that are run only once, and actions that are re-run when the specified\n" \ -" process exits.\n" \ -"\n" \ -" Run only-once actions:\n" \ -"\n" \ -" 'sysinit' is the first item run on boot. init waits until all\n" \ -" sysinit actions are completed before continuing. Following the\n" \ -" completion of all sysinit actions, all 'wait' actions are run.\n" \ -" 'wait' actions, like 'sysinit' actions, cause init to wait until\n" \ -" the specified task completes. 'once' actions are asynchronous,\n" \ -" therefore, init does not wait for them to complete. 'restart' is\n" \ -" the action taken to restart the init process. By default this should\n" \ -" simply run /sbin/init, but can be a script which runs pivot_root or it\n" \ -" can do all sorts of other interesting things. The 'ctrlaltdel' init\n" \ -" actions are run when the system detects that someone on the system\n" \ -" console has pressed the CTRL-ALT-DEL key combination. Typically one\n" \ -" wants to run 'reboot' at this point to cause the system to reboot.\n" \ -" Finally the 'shutdown' action specifies the actions to taken when\n" \ -" init is told to reboot. Unmounting filesystems and disabling swap\n" \ -" is a very good here.\n" \ -"\n" \ -" Run repeatedly actions:\n" \ -"\n" \ -" 'respawn' actions are run after the 'once' actions. When a process\n" \ -" started with a 'respawn' action exits, init automatically restarts\n" \ -" it. Unlike sysvinit, BusyBox init does not stop processes from\n" \ -" respawning out of control. The 'askfirst' actions acts just like\n" \ -" respawn, except that before running the specified process it\n" \ -" displays the line \"Please press Enter to activate this console.\"\n" \ -" and then waits for the user to press enter before starting the\n" \ -" specified process.\n" \ -"\n" \ -" Unrecognized actions (like initdefault) will cause init to emit an\n" \ -" error message, and then go along with its business. All actions are\n" \ -" run in the order they appear in /etc/inittab.\n" \ -"\n" \ -" :\n" \ -"\n" \ -" Specifies the process to be executed and its command line.\n" \ -"\n" \ -"Example /etc/inittab file:\n" \ -"\n" \ -" # This is run first except when booting in single-user mode\n" \ -" #\n" \ -" ::sysinit:/etc/init.d/rcS\n" \ -" \n" \ -" # /bin/sh invocations on selected ttys\n" \ -" #\n" \ -" # Start an \"askfirst\" shell on the console (whatever that may be)\n" \ -" ::askfirst:-/bin/sh\n" \ -" # Start an \"askfirst\" shell on /dev/tty2-4\n" \ -" tty2::askfirst:-/bin/sh\n" \ -" tty3::askfirst:-/bin/sh\n" \ -" tty4::askfirst:-/bin/sh\n" \ -" \n" \ -" # /sbin/getty invocations for selected ttys\n" \ -" #\n" \ -" tty4::respawn:/sbin/getty 38400 tty4\n" \ -" tty5::respawn:/sbin/getty 38400 tty5\n" \ -" \n" \ -" \n" \ -" # Example of how to put a getty on a serial line (for a terminal)\n" \ -" #\n" \ -" #::respawn:/sbin/getty -L ttyS0 9600 vt100\n" \ -" #::respawn:/sbin/getty -L ttyS1 9600 vt100\n" \ -" #\n" \ -" # Example how to put a getty on a modem line\n" \ -" #::respawn:/sbin/getty 57600 ttyS2\n" \ -" \n" \ -" # Stuff to do when restarting the init process\n" \ -" ::restart:/sbin/init\n" \ -" \n" \ -" # Stuff to do before rebooting\n" \ -" ::ctrlaltdel:/sbin/reboot\n" \ -" ::shutdown:/bin/umount -a -r\n" \ -" ::shutdown:/sbin/swapoff -a\n" - -#define inotifyd_trivial_usage \ - "PROG FILE1[:MASK]..." -#define inotifyd_full_usage "\n\n" \ - "Run PROG on filesystem changes." \ - "\nWhen a filesystem event matching MASK occurs on FILEn," \ - "\nPROG ACTUAL_EVENTS FILEn [SUBFILE] is run." \ - "\nEvents:" \ - "\n a File is accessed" \ - "\n c File is modified" \ - "\n e Metadata changed" \ - "\n w Writable file is closed" \ - "\n 0 Unwritable file is closed" \ - "\n r File is opened" \ - "\n D File is deleted" \ - "\n M File is moved" \ - "\n u Backing fs is unmounted" \ - "\n o Event queue overflowed" \ - "\n x File can't be watched anymore" \ - "\nIf watching a directory:" \ - "\n m Subfile is moved into dir" \ - "\n y Subfile is moved out of dir" \ - "\n n Subfile is created" \ - "\n d Subfile is deleted" \ - "\n" \ - "\ninotifyd waits for PROG to exit." \ - "\nWhen x event happens for all FILEs, inotifyd exits." \ - -/* 2.6 style insmod has no options and required filename - * (not module name - .ko can't be omitted) */ -#define insmod_trivial_usage \ - IF_FEATURE_2_4_MODULES("[OPTIONS] MODULE ") \ - IF_NOT_FEATURE_2_4_MODULES("FILE ") \ - "[symbol=value]..." -#define insmod_full_usage "\n\n" \ - "Load the specified kernel modules into the kernel" \ - IF_FEATURE_2_4_MODULES( "\n" \ - "\nOptions:" \ - "\n -f Force module to load into the wrong kernel version" \ - "\n -k Make module autoclean-able" \ - "\n -v Verbose" \ - "\n -q Quiet" \ - "\n -L Lock to prevent simultaneous loads of a module" \ - IF_FEATURE_INSMOD_LOAD_MAP( \ - "\n -m Output load map to stdout" \ - ) \ - "\n -o NAME Set internal module name to NAME" \ - "\n -x Don't export externs" \ - ) - -/* -v, -b, -c are ignored */ -#define install_trivial_usage \ - "[-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST" -#define install_full_usage "\n\n" \ - "Copy files and set attributes\n" \ - "\nOptions:" \ - "\n -c Just copy (default)" \ - "\n -d Create directories" \ - "\n -D Create leading target directories" \ - "\n -s Strip symbol table" \ - "\n -p Preserve date" \ - "\n -o USER Set ownership" \ - "\n -g GRP Set group ownership" \ - "\n -m MODE Set permissions" \ - IF_SELINUX( \ - "\n -Z Set security context" \ - ) - -#define ionice_trivial_usage \ - "[-c 1-3] [-n 0-7] [-p PID] [PROG]" -#define ionice_full_usage "\n\n" \ - "Change I/O scheduling class and priority\n" \ - "\nOptions:" \ - "\n -c Class. 1:realtime 2:best-effort 3:idle" \ - "\n -n Priority" \ - -/* would need to make the " | " optional depending on more than one selected: */ -#define ip_trivial_usage \ - "[OPTIONS] {" \ - IF_FEATURE_IP_ADDRESS("address | ") \ - IF_FEATURE_IP_ROUTE("route | ") \ - IF_FEATURE_IP_LINK("link | ") \ - IF_FEATURE_IP_TUNNEL("tunnel | ") \ - IF_FEATURE_IP_RULE("rule") \ - "} {COMMAND}" -#define ip_full_usage "\n\n" \ - "ip [OPTIONS] OBJECT {COMMAND}\n" \ - "where OBJECT := {" \ - IF_FEATURE_IP_ADDRESS("address | ") \ - IF_FEATURE_IP_ROUTE("route | ") \ - IF_FEATURE_IP_LINK("link | ") \ - IF_FEATURE_IP_TUNNEL("tunnel | ") \ - IF_FEATURE_IP_RULE("rule") \ - "}\n" \ - "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" \ - -#define ipaddr_trivial_usage \ - "{ {add|del} IFADDR dev STRING | {show|flush}\n" \ - " [dev STRING] [to PREFIX] }" -#define ipaddr_full_usage "\n\n" \ - "ipaddr {add|delete} IFADDR dev STRING\n" \ - "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n" \ - " [to PREFIX] [label PATTERN]\n" \ - " IFADDR := PREFIX | ADDR peer PREFIX\n" \ - " [broadcast ADDR] [anycast ADDR]\n" \ - " [label STRING] [scope SCOPE-ID]\n" \ - " SCOPE-ID := [host | link | global | NUMBER]" \ - -#define ipcalc_trivial_usage \ - "[OPTIONS] ADDRESS[[/]NETMASK] [NETMASK]" -#define ipcalc_full_usage "\n\n" \ - "Calculate IP network settings from a IP address\n" \ - "\nOptions:" \ - IF_FEATURE_IPCALC_LONG_OPTIONS( \ - "\n -b,--broadcast Display calculated broadcast address" \ - "\n -n,--network Display calculated network address" \ - "\n -m,--netmask Display default netmask for IP" \ - IF_FEATURE_IPCALC_FANCY( \ - "\n -p,--prefix Display the prefix for IP/NETMASK" \ - "\n -h,--hostname Display first resolved host name" \ - "\n -s,--silent Don't ever display error messages" \ - ) \ - ) \ - IF_NOT_FEATURE_IPCALC_LONG_OPTIONS( \ - "\n -b Display calculated broadcast address" \ - "\n -n Display calculated network address" \ - "\n -m Display default netmask for IP" \ - IF_FEATURE_IPCALC_FANCY( \ - "\n -p Display the prefix for IP/NETMASK" \ - "\n -h Display first resolved host name" \ - "\n -s Don't ever display error messages" \ - ) \ - ) - -#define ipcrm_trivial_usage \ - "[-MQS key] [-mqs id]" -#define ipcrm_full_usage "\n\n" \ - "Upper-case options MQS remove an object by shmkey value.\n" \ - "Lower-case options remove an object by shmid value.\n" \ - "\nOptions:" \ - "\n -mM Remove memory segment after last detach" \ - "\n -qQ Remove message queue" \ - "\n -sS Remove semaphore" \ - -#define ipcs_trivial_usage \ - "[[-smq] -i shmid] | [[-asmq] [-tcplu]]" -#define ipcs_full_usage "\n\n" \ - " -i Show specific resource" \ - "\nResource specification:" \ - "\n -m Shared memory segments" \ - "\n -q Message queues" \ - "\n -s Semaphore arrays" \ - "\n -a All (default)" \ - "\nOutput format:" \ - "\n -t Time" \ - "\n -c Creator" \ - "\n -p Pid" \ - "\n -l Limits" \ - "\n -u Summary" \ - -#define iplink_trivial_usage \ - "{ set DEVICE { up | down | arp { on | off } | show [DEVICE] }" -#define iplink_full_usage "\n\n" \ - "iplink set DEVICE { up | down | arp | multicast { on | off } |\n" \ - " dynamic { on | off } |\n" \ - " mtu MTU }\n" \ - "iplink show [DEVICE]" \ - -#define iproute_trivial_usage \ - "{ list | flush | { add | del | change | append |\n" \ - " replace | monitor } ROUTE }" -#define iproute_full_usage "\n\n" \ - "iproute { list | flush } SELECTOR\n" \ - "iproute get ADDRESS [from ADDRESS iif STRING]\n" \ - " [oif STRING] [tos TOS]\n" \ - "iproute { add | del | change | append | replace | monitor } ROUTE\n" \ - " SELECTOR := [root PREFIX] [match PREFIX] [proto RTPROTO]\n" \ - " ROUTE := [TYPE] PREFIX [tos TOS] [proto RTPROTO]\n" \ - " [metric METRIC]" \ - -#define iprule_trivial_usage \ - "{[list | add | del] RULE}" -#define iprule_full_usage "\n\n" \ - "iprule [list | add | del] SELECTOR ACTION\n" \ - " SELECTOR := [from PREFIX] [to PREFIX] [tos TOS] [fwmark FWMARK]\n" \ - " [dev STRING] [pref NUMBER]\n" \ - " ACTION := [table TABLE_ID] [nat ADDRESS]\n" \ - " [prohibit | reject | unreachable]\n" \ - " [realms [SRCREALM/]DSTREALM]\n" \ - " TABLE_ID := [local | main | default | NUMBER]" \ - -#define iptunnel_trivial_usage \ - "{ add | change | del | show } [NAME]\n" \ - " [mode { ipip | gre | sit }]\n" \ - " [remote ADDR] [local ADDR] [ttl TTL]" -#define iptunnel_full_usage "\n\n" \ - "iptunnel { add | change | del | show } [NAME]\n" \ - " [mode { ipip | gre | sit }] [remote ADDR] [local ADDR]\n" \ - " [[i|o]seq] [[i|o]key KEY] [[i|o]csum]\n" \ - " [ttl TTL] [tos TOS] [[no]pmtudisc] [dev PHYS_DEV]" \ - -#define kbd_mode_trivial_usage \ - "[-a|k|s|u] [-C TTY]" -#define kbd_mode_full_usage "\n\n" \ - "Report or set the keyboard mode\n" \ - "\nOptions:" \ - "\n -a Default (ASCII)" \ - "\n -k Medium-raw (keyboard)" \ - "\n -s Raw (scancode)" \ - "\n -u Unicode (utf-8)" \ - "\n -C TTY Affect TTY instead of /dev/tty" \ - -#define kill_trivial_usage \ - "[-l] [-SIG] PID..." -#define kill_full_usage "\n\n" \ - "Send a signal (default: TERM) to given PIDs\n" \ - "\nOptions:" \ - "\n -l List all signal names and numbers" \ -/* "\n -s SIG Yet another way of specifying SIG" */ \ - -#define kill_example_usage \ - "$ ps | grep apache\n" \ - "252 root root S [apache]\n" \ - "263 www-data www-data S [apache]\n" \ - "264 www-data www-data S [apache]\n" \ - "265 www-data www-data S [apache]\n" \ - "266 www-data www-data S [apache]\n" \ - "267 www-data www-data S [apache]\n" \ - "$ kill 252\n" - -#define killall_trivial_usage \ - "[-l] [-q] [-SIG] PROCESS_NAME..." -#define killall_full_usage "\n\n" \ - "Send a signal (default: TERM) to given processes\n" \ - "\nOptions:" \ - "\n -l List all signal names and numbers" \ -/* "\n -s SIG Yet another way of specifying SIG" */ \ - "\n -q Don't complain if no processes were killed" \ - -#define killall_example_usage \ - "$ killall apache\n" - -#define killall5_trivial_usage \ - "[-l] [-SIG] [-o PID]..." -#define killall5_full_usage "\n\n" \ - "Send a signal (default: TERM) to all processes outside current session\n" \ - "\nOptions:" \ - "\n -l List all signal names and numbers" \ - "\n -o PID Don't signal this PID" \ -/* "\n -s SIG Yet another way of specifying SIG" */ \ - -#define klogd_trivial_usage \ - "[-c N] [-n]" -#define klogd_full_usage "\n\n" \ - "Kernel logger\n" \ - "\nOptions:" \ - "\n -c N Only messages with level < N are printed to console" \ - "\n -n Run in foreground" \ - -#define length_trivial_usage \ - "STRING" -#define length_full_usage "\n\n" \ - "Print STRING's length" - -#define length_example_usage \ - "$ length Hello\n" \ - "5\n" - -#define less_trivial_usage \ - "[-EMNmh~I?] [FILE]..." -#define less_full_usage "\n\n" \ - "View FILE (or stdin) one screenful at a time\n" \ - "\nOptions:" \ - "\n -E Quit once the end of a file is reached" \ - "\n -M,-m Display status line with line numbers" \ - "\n and percentage through the file" \ - "\n -N Prefix line number to each line" \ - "\n -I Ignore case in all searches" \ - "\n -~ Suppress ~s displayed past the end of the file" \ - -#define linux32_trivial_usage NOUSAGE_STR -#define linux32_full_usage "" -#define linux64_trivial_usage NOUSAGE_STR -#define linux64_full_usage "" - -#define linuxrc_trivial_usage NOUSAGE_STR -#define linuxrc_full_usage "" - -#define setarch_trivial_usage \ - "personality PROG ARGS" -#define setarch_full_usage "\n\n" \ - "Personality may be:\n" \ - " linux32 Set 32bit uname emulation\n" \ - " linux64 Set 64bit uname emulation" \ - -#define ln_trivial_usage \ - "[OPTIONS] TARGET... LINK|DIR" -#define ln_full_usage "\n\n" \ - "Create a link LINK or DIR/TARGET to the specified TARGET(s)\n" \ - "\nOptions:" \ - "\n -s Make symlinks instead of hardlinks" \ - "\n -f Remove existing destinations" \ - "\n -n Don't dereference symlinks - treat like normal file" \ - "\n -b Make a backup of the target (if exists) before link operation" \ - "\n -S suf Use suffix instead of ~ when making backup files" \ - -#define ln_example_usage \ - "$ ln -s BusyBox /tmp/ls\n" \ - "$ ls -l /tmp/ls\n" \ - "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n" - -#define load_policy_trivial_usage NOUSAGE_STR -#define load_policy_full_usage "" - -#define loadfont_trivial_usage \ - "< font" -#define loadfont_full_usage "\n\n" \ - "Load a console font from stdin" \ -/* "\n -C TTY Affect TTY instead of /dev/tty" */ \ - -#define loadfont_example_usage \ - "$ loadfont < /etc/i18n/fontname\n" - -#define loadkmap_trivial_usage \ - "< keymap" -#define loadkmap_full_usage "\n\n" \ - "Load a binary keyboard translation table from stdin\n" \ -/* "\n -C TTY Affect TTY instead of /dev/tty" */ \ - -#define loadkmap_example_usage \ - "$ loadkmap < /etc/i18n/lang-keymap\n" - -#define logger_trivial_usage \ - "[OPTIONS] [MESSAGE]" -#define logger_full_usage "\n\n" \ - "Write MESSAGE (or stdin) to syslog\n" \ - "\nOptions:" \ - "\n -s Log to stderr as well as the system log" \ - "\n -t TAG Log using the specified tag (defaults to user name)" \ - "\n -p PRIO Priority (numeric or facility.level pair)" \ - -#define logger_example_usage \ - "$ logger \"hello\"\n" - -#define login_trivial_usage \ - "[-p] [-h HOST] [[-f] USER]" -#define login_full_usage "\n\n" \ - "Begin a new session on the system\n" \ - "\nOptions:" \ - "\n -f Don't authenticate (user already authenticated)" \ - "\n -h Name of the remote host" \ - "\n -p Preserve environment" \ - -#define logname_trivial_usage \ - "" -#define logname_full_usage "\n\n" \ - "Print the name of the current user" -#define logname_example_usage \ - "$ logname\n" \ - "root\n" - -#define logread_trivial_usage \ - "[OPTIONS]" -#define logread_full_usage "\n\n" \ - "Show messages in syslogd's circular buffer\n" \ - "\nOptions:" \ - "\n -f Output data as log grows" \ - -#define losetup_trivial_usage \ - "[-o OFS] LOOPDEV FILE - associate loop devices\n" \ - " losetup -d LOOPDEV - disassociate\n" \ - " losetup [-f] - show" -#define losetup_full_usage "\n\n" \ - "Options:" \ - "\n -o OFS Start OFS bytes into FILE" \ - "\n -f Show first free loop device" \ - -#define losetup_notes_usage \ - "No arguments will display all current associations.\n" \ - "One argument (losetup /dev/loop1) will display the current association\n" \ - "(if any), or disassociate it (with -d). The display shows the offset\n" \ - "and filename of the file the loop device is currently bound to.\n\n" \ - "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \ - "with an optional offset (-o 12345). Encryption is not yet supported.\n" \ - "losetup -f will show the first loop free loop device\n\n" - -#define lpd_trivial_usage \ - "SPOOLDIR [HELPER [ARGS]]" -#define lpd_full_usage "\n\n" \ - "SPOOLDIR must contain (symlinks to) device nodes or directories" \ - "\nwith names matching print queue names. In the first case, jobs are" \ - "\nsent directly to the device. Otherwise each job is stored in queue" \ - "\ndirectory and HELPER program is called. Name of file to print" \ - "\nis passed in $DATAFILE variable." \ - "\nExample:" \ - "\n tcpsvd -E 0 515 softlimit -m 999999 lpd /var/spool ./print" \ - -#define lpq_trivial_usage \ - "[-P queue[@host[:port]]] [-U USERNAME] [-d JOBID]... [-fs]" -#define lpq_full_usage "\n\n" \ - "Options:" \ - "\n -P lp service to connect to (else uses $PRINTER)" \ - "\n -d Delete jobs" \ - "\n -f Force any waiting job to be printed" \ - "\n -s Short display" \ - -#define lpr_trivial_usage \ - "-P queue[@host[:port]] -U USERNAME -J TITLE -Vmh [FILE]..." -/* -C CLASS exists too, not shown. - * CLASS is supposed to be printed on banner page, if one is requested */ -#define lpr_full_usage "\n\n" \ - "Options:" \ - "\n -P lp service to connect to (else uses $PRINTER)"\ - "\n -m Send mail on completion" \ - "\n -h Print banner page too" \ - "\n -V Verbose" \ - -#define ls_trivial_usage \ - "[-1Aa" IF_FEATURE_LS_TIMESTAMPS("c") "Cd" \ - IF_FEATURE_LS_TIMESTAMPS("e") IF_FEATURE_LS_FILETYPES("F") "iln" \ - IF_FEATURE_LS_FILETYPES("p") IF_FEATURE_LS_FOLLOWLINKS("L") \ - IF_FEATURE_LS_RECURSIVE("R") IF_FEATURE_LS_SORTFILES("rS") "s" \ - IF_FEATURE_AUTOWIDTH("T") IF_FEATURE_LS_TIMESTAMPS("tu") \ - IF_FEATURE_LS_SORTFILES("v") IF_FEATURE_AUTOWIDTH("w") "x" \ - IF_FEATURE_LS_SORTFILES("X") IF_FEATURE_HUMAN_READABLE("h") "k" \ - IF_SELINUX("K") "] [FILE]..." -#define ls_full_usage "\n\n" \ - "List directory contents\n" \ - "\nOptions:" \ - "\n -1 List in a single column" \ - "\n -A Don't list . and .." \ - "\n -a Don't hide entries starting with ." \ - "\n -C List by columns" \ - IF_FEATURE_LS_TIMESTAMPS( \ - "\n -c With -l: sort by ctime") \ - IF_FEATURE_LS_COLOR( \ - "\n --color[={always,never,auto}] Control coloring") \ - "\n -d List directory entries instead of contents" \ - IF_FEATURE_LS_TIMESTAMPS( \ - "\n -e List full date and time") \ - IF_FEATURE_LS_FILETYPES( \ - "\n -F Append indicator (one of */=@|) to entries") \ - "\n -i List inode numbers" \ - "\n -l Long listing format" \ - "\n -n List numeric UIDs and GIDs instead of names" \ - IF_FEATURE_LS_FILETYPES( \ - "\n -p Append indicator (one of /=@|) to entries") \ - IF_FEATURE_LS_FOLLOWLINKS( \ - "\n -L List entries pointed to by symlinks") \ - IF_FEATURE_LS_RECURSIVE( \ - "\n -R Recurse") \ - IF_FEATURE_LS_SORTFILES( \ - "\n -r Sort in reverse order") \ - IF_FEATURE_LS_SORTFILES( \ - "\n -S Sort by file size") \ - "\n -s List the size of each file, in blocks" \ - IF_FEATURE_AUTOWIDTH( \ - "\n -T N Assume tabstop every N columns") \ - IF_FEATURE_LS_TIMESTAMPS( \ - "\n -t With -l: sort by modification time") \ - IF_FEATURE_LS_TIMESTAMPS( \ - "\n -u With -l: sort by access time") \ - IF_FEATURE_LS_SORTFILES( \ - "\n -v Sort by version") \ - IF_FEATURE_AUTOWIDTH( \ - "\n -w N Assume the terminal is N columns wide") \ - "\n -x List by lines" \ - IF_FEATURE_LS_SORTFILES( \ - "\n -X Sort by extension") \ - IF_FEATURE_HUMAN_READABLE( \ - "\n -h List sizes in human readable format (1K 243M 2G)") \ - IF_SELINUX( \ - "\n -k List security context") \ - IF_SELINUX( \ - "\n -K List security context in long format") \ - IF_SELINUX( \ - "\n -Z List security context and permission") \ - -#define lsattr_trivial_usage \ - "[-Radlv] [FILE]..." -#define lsattr_full_usage "\n\n" \ - "List file attributes on an ext2 fs\n" \ - "\nOptions:" \ - "\n -R Recurse" \ - "\n -a Don't hide entries starting with ." \ - "\n -d List directory entries instead of contents" \ - "\n -l List long flag names" \ - "\n -v List the file's version/generation number" \ - -#define lsmod_trivial_usage \ - "" -#define lsmod_full_usage "\n\n" \ - "List the currently loaded kernel modules" - -#define lspci_trivial_usage \ - "[-mk]" -#define lspci_full_usage "\n\n" \ - "List all PCI devices" \ - "\n" \ - "\n -m Parseable output" \ - "\n -k Show driver" \ - -#define lsusb_trivial_usage NOUSAGE_STR -#define lsusb_full_usage "" - -#if ENABLE_FEATURE_MAKEDEVS_LEAF -#define makedevs_trivial_usage \ - "NAME TYPE MAJOR MINOR FIRST LAST [s]" -#define makedevs_full_usage "\n\n" \ - "Create a range of block or character special files" \ - "\n" \ - "\nTYPE is:" \ - "\n b Block device" \ - "\n c Character device" \ - "\n f FIFO, MAJOR and MINOR are ignored" \ - "\n" \ - "\nFIRST..LAST specify numbers appended to NAME." \ - "\nIf 's' is the last argument, the base device is created as well." \ - "\n" \ - "\nExamples:" \ - "\n makedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63" \ - "\n makedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" -#define makedevs_example_usage \ - "# makedevs /dev/ttyS c 4 66 2 63\n" \ - "[creates ttyS2-ttyS63]\n" \ - "# makedevs /dev/hda b 3 0 0 8 s\n" \ - "[creates hda,hda1-hda8]\n" -#endif - -#if ENABLE_FEATURE_MAKEDEVS_TABLE -#define makedevs_trivial_usage \ - "[-d device_table] rootdir" -#define makedevs_full_usage "\n\n" \ - "Create a range of special files as specified in a device table.\n" \ - "Device table entries take the form of:\n" \ - " \n" \ - "Where name is the file name, type can be one of:\n" \ - " f Regular file\n" \ - " d Directory\n" \ - " c Character device\n" \ - " b Block device\n" \ - " p Fifo (named pipe)\n" \ - "uid is the user id for the target file, gid is the group id for the\n" \ - "target file. The rest of the entries (major, minor, etc) apply to\n" \ - "to device special files. A '-' may be used for blank entries." -#define makedevs_example_usage \ - "For example:\n" \ - " \n" \ - "/dev d 755 0 0 - - - - -\n" \ - "/dev/console c 666 0 0 5 1 - - -\n" \ - "/dev/null c 666 0 0 1 3 0 0 -\n" \ - "/dev/zero c 666 0 0 1 5 0 0 -\n" \ - "/dev/hda b 640 0 0 3 0 0 0 -\n" \ - "/dev/hda b 640 0 0 3 1 1 1 15\n\n" \ - "Will Produce:\n" \ - "/dev\n" \ - "/dev/console\n" \ - "/dev/null\n" \ - "/dev/zero\n" \ - "/dev/hda\n" \ - "/dev/hda[0-15]\n" -#endif - -#define makemime_trivial_usage \ - "[OPTIONS] [FILE]..." -#define makemime_full_usage "\n\n" \ - "Create multipart MIME-encoded message from FILEs\n" \ -/* "Transfer encoding is base64, disposition is inline (not attachment)\n" */ \ - "\nOptions:" \ - "\n -o FILE Output. Default: stdout" \ - "\n -a HDR Add header. Examples:" \ - "\n \"From: user@host.org\", \"Date: `date -R`\"" \ - "\n -c CT Content type. Default: text/plain" \ - "\n -C CS Charset. Default: " CONFIG_FEATURE_MIME_CHARSET \ -/* "\n -e ENC Transfer encoding. Ignored. base64 is assumed" */ \ - "\n" \ - "\nOther options are silently ignored" \ - -#define man_trivial_usage \ - "[OPTIONS] [MANPAGE]..." -#define man_full_usage "\n\n" \ - "Format and display manual page\n" \ - "\nOptions:" \ - "\n -a Display all pages" \ - "\n -w Show page locations" \ - -#define matchpathcon_trivial_usage \ - "[-n] [-N] [-f file_contexts_file] [-p prefix] [-V]" -#define matchpathcon_full_usage "\n\n" \ - " -n Don't display path" \ - "\n -N Don't use translations" \ - "\n -f Use alternate file_context file" \ - "\n -p Use prefix to speed translations" \ - "\n -V Verify file context on disk matches defaults" \ - -#define md5sum_trivial_usage \ - "[OPTIONS] [FILE]..." \ - IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTIONS] -c [FILE]") -#define md5sum_full_usage "\n\n" \ - "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums" \ - IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ - "\nOptions:" \ - "\n -c Check sums against given list" \ - "\n -s Don't output anything, status code shows success" \ - "\n -w Warn about improperly formatted checksum lines" \ - ) - -#define md5sum_example_usage \ - "$ md5sum < busybox\n" \ - "6fd11e98b98a58f64ff3398d7b324003\n" \ - "$ md5sum busybox\n" \ - "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ - "$ md5sum -c -\n" \ - "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ - "busybox: OK\n" \ - "^D\n" - -#define sha1sum_trivial_usage \ - "[OPTIONS] [FILE]..." \ - IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTIONS] -c [FILE]") -#define sha1sum_full_usage "\n\n" \ - "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums" \ - IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ - "\nOptions:" \ - "\n -c Check sums against given list" \ - "\n -s Don't output anything, status code shows success" \ - "\n -w Warn about improperly formatted checksum lines" \ - ) - -#define sha256sum_trivial_usage \ - "[OPTIONS] [FILE]..." \ - IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha256sum [OPTIONS] -c [FILE]") -#define sha256sum_full_usage "\n\n" \ - "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA256 checksums" \ - IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ - "\nOptions:" \ - "\n -c Check sums against given list" \ - "\n -s Don't output anything, status code shows success" \ - "\n -w Warn about improperly formatted checksum lines" \ - ) - -#define sha512sum_trivial_usage \ - "[OPTIONS] [FILE]..." \ - IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha512sum [OPTIONS] -c [FILE]") -#define sha512sum_full_usage "\n\n" \ - "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA512 checksums" \ - IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ - "\nOptions:" \ - "\n -c Check sums against given list" \ - "\n -s Don't output anything, status code shows success" \ - "\n -w Warn about improperly formatted checksum lines" \ - ) - -#define mdev_trivial_usage \ - "[-s]" -#define mdev_full_usage "\n\n" \ - " -s Scan /sys and populate /dev during system boot\n" \ - "\n" \ - "It can be run by kernel as a hotplug helper. To activate it:\n" \ - " echo /sbin/mdev > /proc/sys/kernel/hotplug\n" \ - IF_FEATURE_MDEV_CONF( \ - "It uses /etc/mdev.conf with lines\n" \ - "[-]DEVNAME UID:GID PERM" \ - IF_FEATURE_MDEV_RENAME(" [>|=PATH]") \ - IF_FEATURE_MDEV_EXEC(" [@|$|*PROG]") \ - ) \ - -#define mdev_notes_usage "" \ - IF_FEATURE_MDEV_CONFIG( \ - "The mdev config file contains lines that look like:\n" \ - " hd[a-z][0-9]* 0:3 660\n\n" \ - "That's device name (with regex match), uid:gid, and permissions.\n\n" \ - IF_FEATURE_MDEV_EXEC( \ - "Optionally, that can be followed (on the same line) by a special character\n" \ - "and a command line to run after creating/before deleting the corresponding\n" \ - "device(s). The environment variable $MDEV indicates the active device node\n" \ - "(which is useful if it's a regex match). For example:\n\n" \ - " hdc root:cdrom 660 *ln -s $MDEV cdrom\n\n" \ - "The special characters are @ (run after creating), $ (run before deleting),\n" \ - "and * (run both after creating and before deleting). The commands run in\n" \ - "the /dev directory, and use system() which calls /bin/sh.\n\n" \ - ) \ - "Config file parsing stops on the first matching line. If no config\n" \ - "entry is matched, devices are created with default 0:0 660. (Make\n" \ - "the last line match .* to override this.)\n\n" \ - ) - -#define mesg_trivial_usage \ - "[y|n]" -#define mesg_full_usage "\n\n" \ - "Control write access to your terminal\n" \ - " y Allow write access to your terminal\n" \ - " n Disallow write access to your terminal" - -#define microcom_trivial_usage \ - "[-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY" -#define microcom_full_usage "\n\n" \ - "Copy bytes for stdin to TTY and from TTY to stdout\n" \ - "\nOptions:" \ - "\n -d Wait up to DELAY ms for TTY output before sending every" \ - "\n next byte to it" \ - "\n -t Exit if both stdin and TTY are silent for TIMEOUT ms" \ - "\n -s Set serial line to SPEED" \ - "\n -X Disable special meaning of NUL and Ctrl-X from stdin" \ - -#define mkdir_trivial_usage \ - "[OPTIONS] DIRECTORY..." -#define mkdir_full_usage "\n\n" \ - "Create DIRECTORY\n" \ - "\nOptions:" \ - "\n -m Mode" \ - "\n -p No error if exists; make parent directories as needed" \ - IF_SELINUX( \ - "\n -Z Set security context" \ - ) - -#define mkdir_example_usage \ - "$ mkdir /tmp/foo\n" \ - "$ mkdir /tmp/foo\n" \ - "/tmp/foo: File exists\n" \ - "$ mkdir /tmp/foo/bar/baz\n" \ - "/tmp/foo/bar/baz: No such file or directory\n" \ - "$ mkdir -p /tmp/foo/bar/baz\n" - -#define mkfifo_trivial_usage \ - "[OPTIONS] name" -#define mkfifo_full_usage "\n\n" \ - "Create named pipe (identical to 'mknod name p')\n" \ - "\nOptions:" \ - "\n -m MODE Mode (default a=rw)" \ - IF_SELINUX( \ - "\n -Z Set security context" \ - ) - -#define mkfs_ext2_trivial_usage \ - "[-Fn] " \ - /* "[-c|-l filename] " */ \ - "[-b BLK_SIZE] " \ - /* "[-f fragment-size] [-g blocks-per-group] " */ \ - "[-i INODE_RATIO] [-I INODE_SIZE] " \ - /* "[-j] [-J journal-options] [-N number-of-inodes] " */ \ - "[-m RESERVED_PERCENT] " \ - /* "[-o creator-os] [-O feature[,...]] [-q] " */ \ - /* "[r fs-revision-level] [-E extended-options] [-v] [-F] " */ \ - "[-L LABEL] " \ - /* "[-M last-mounted-directory] [-S] [-T filesystem-type] " */ \ - "BLOCKDEV [KBYTES]" -#define mkfs_ext2_full_usage "\n\n" \ - " -b BLK_SIZE Block size, bytes" \ -/* "\n -c Check device for bad blocks" */ \ -/* "\n -E opts Set extended options" */ \ -/* "\n -f size Fragment size in bytes" */ \ - "\n -F Force" \ -/* "\n -g N Number of blocks in a block group" */ \ - "\n -i RATIO Max number of files is filesystem_size / RATIO" \ - "\n -I BYTES Inode size (min 128)" \ -/* "\n -j Create a journal (ext3)" */ \ -/* "\n -J opts Set journal options (size/device)" */ \ -/* "\n -l file Read bad blocks list from file" */ \ - "\n -L LBL Volume label" \ - "\n -m PERCENT Percent of blocks to reserve for admin" \ -/* "\n -M dir Set last mounted directory" */ \ - "\n -n Dry run" \ -/* "\n -N N Number of inodes to create" */ \ -/* "\n -o os Set the 'creator os' field" */ \ -/* "\n -O features Dir_index/filetype/has_journal/journal_dev/sparse_super" */ \ -/* "\n -q Quiet" */ \ -/* "\n -r rev Set filesystem revision" */ \ -/* "\n -S Write superblock and group descriptors only" */ \ -/* "\n -T fs-type Set usage type (news/largefile/largefile4)" */ \ -/* "\n -v Verbose" */ \ - -#define mkfs_minix_trivial_usage \ - "[-c | -l FILE] [-nXX] [-iXX] BLOCKDEV [KBYTES]" -#define mkfs_minix_full_usage "\n\n" \ - "Make a MINIX filesystem\n" \ - "\nOptions:" \ - "\n -c Check device for bad blocks" \ - "\n -n [14|30] Maximum length of filenames" \ - "\n -i INODES Number of inodes for the filesystem" \ - "\n -l FILE Read bad blocks list from FILE" \ - "\n -v Make version 2 filesystem" \ - -#define mkfs_reiser_trivial_usage \ - "[-f] [-l LABEL] BLOCKDEV [4K-BLOCKS]" - -#define mkfs_reiser_full_usage "\n\n" \ - "Make a ReiserFS V3 filesystem\n" \ - "\nOptions:" \ - "\n -f Force" \ - "\n -l LBL Volume label" \ - -#define mkfs_vfat_trivial_usage \ - "[-v] [-n LABEL] BLOCKDEV [KBYTES]" -/* Accepted but ignored: - "[-c] [-C] [-I] [-l bad-block-file] [-b backup-boot-sector] " - "[-m boot-msg-file] [-i volume-id] " - "[-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs] " - "[-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors] " -*/ -#define mkfs_vfat_full_usage "\n\n" \ - "Make a FAT32 filesystem\n" \ - "\nOptions:" \ -/* "\n -c Check device for bad blocks" */ \ - "\n -v Verbose" \ -/* "\n -I Allow to use entire disk device (e.g. /dev/hda)" */ \ - "\n -n LBL Volume label" \ - -#define mknod_trivial_usage \ - "[OPTIONS] NAME TYPE MAJOR MINOR" -#define mknod_full_usage "\n\n" \ - "Create a special file (block, character, or pipe)\n" \ - "\nOptions:" \ - "\n -m Create the special file using the specified mode (default a=rw)" \ - "\nTYPEs include:" \ - "\n b: Make a block device" \ - "\n c or u: Make a character device" \ - "\n p: Make a named pipe (MAJOR and MINOR are ignored)" \ - IF_SELINUX( \ - "\n -Z Set security context" \ - ) - -#define mknod_example_usage \ - "$ mknod /dev/fd0 b 2 0\n" \ - "$ mknod -m 644 /tmp/pipe p\n" - -#define mkswap_trivial_usage \ - "[OPTIONS] BLOCKDEV [KBYTES]" -#define mkswap_full_usage "\n\n" \ - "Prepare BLOCKDEV to be used as swap partition\n" \ - "\nOptions:" \ - "\n -L LBL Label" \ - -#define mktemp_trivial_usage \ - "[-dt] [-p DIR] [TEMPLATE]" -#define mktemp_full_usage "\n\n" \ - "Create a temporary file with name based on TEMPLATE and print its name.\n" \ - "TEMPLATE must end with XXXXXX (e.g. [/dir/]nameXXXXXX).\n" \ - "\nOptions:" \ - "\n -d Make a directory instead of a file" \ -/* "\n -q Fail silently if an error occurs" - we ignore it */ \ - "\n -t Generate a path rooted in temporary directory" \ - "\n -p DIR Use DIR as a temporary directory (implies -t)" \ - "\n" \ - "\nFor -t or -p, directory is chosen as follows:" \ - "\n$TMPDIR if set, else -p DIR, else /tmp" \ - -#define mktemp_example_usage \ - "$ mktemp /tmp/temp.XXXXXX\n" \ - "/tmp/temp.mWiLjM\n" \ - "$ ls -la /tmp/temp.mWiLjM\n" \ - "-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n" - -#define modprobe_trivial_usage \ - IF_MODPROBE_SMALL("[-qfwrsv] MODULE [symbol=value]...") \ - IF_NOT_MODPROBE_SMALL("[-" \ - IF_FEATURE_2_4_MODULES("k")"nqrsv" \ - IF_FEATURE_MODPROBE_BLACKLIST("b")"] MODULE [symbol=value]...") -#define modprobe_full_usage "\n\n" \ - "Options:" \ - IF_MODPROBE_SMALL( \ - "\n -q Quiet" \ - "\n -f Force" \ - "\n -w Wait for unload" \ - "\n -r Remove module (stacks) or do autoclean" \ - "\n -s Report via syslog instead of stderr" \ - "\n -v Verbose" \ - ) \ - IF_NOT_MODPROBE_SMALL( \ - IF_FEATURE_2_4_MODULES( \ - "\n -k Make module autoclean-able" \ - ) \ - "\n -n Dry run" \ - "\n -q Quiet" \ - "\n -r Remove module (stacks) or do autoclean" \ - "\n -s Report via syslog instead of stderr" \ - "\n -v Verbose" \ - IF_FEATURE_MODPROBE_BLACKLIST( \ - "\n -b Apply blacklist to module names too" \ - ) \ - ) - -#define modprobe_notes_usage \ -"modprobe can (un)load a stack of modules, passing each module options (when\n" \ -"loading). modprobe uses a configuration file to determine what option(s) to\n" \ -"pass each module it loads.\n" \ -"\n" \ -"The configuration file is searched (in this order):\n" \ -"\n" \ -" /etc/modprobe.conf (2.6 only)\n" \ -" /etc/modules.conf\n" \ -" /etc/conf.modules (deprecated)\n" \ -"\n" \ -"They all have the same syntax (see below). If none is present, it is\n" \ -"_not_ an error; each loaded module is then expected to load without\n" \ -"options. Once a file is found, the others are tested for.\n" \ -"\n" \ -"/etc/modules.conf entry format:\n" \ -"\n" \ -" alias \n" \ -" Makes it possible to modprobe alias_name, when there is no such module.\n" \ -" It makes sense if your mod_name is long, or you want a more representative\n" \ -" name for that module (eg. 'scsi' in place of 'aha7xxx').\n" \ -" This makes it also possible to use a different set of options (below) for\n" \ -" the module and the alias.\n" \ -" A module can be aliased more than once.\n" \ -"\n" \ -" options \n" \ -" When loading module mod_name (or the module aliased by alias_name), pass\n" \ -" the \"symbol=value\" pairs as option to that module.\n" \ -"\n" \ -"Sample /etc/modules.conf file:\n" \ -"\n" \ -" options tulip irq=3\n" \ -" alias tulip tulip2\n" \ -" options tulip2 irq=4 io=0x308\n" \ -"\n" \ -"Other functionality offered by 'classic' modprobe is not available in\n" \ -"this implementation.\n" \ -"\n" \ -"If module options are present both in the config file, and on the command line,\n" \ -"then the options from the command line will be passed to the module _after_\n" \ -"the options from the config file. That way, you can have defaults in the config\n" \ -"file, and override them for a specific usage from the command line.\n" -#define modprobe_example_usage \ - "(with the above /etc/modules.conf):\n\n" \ - "$ modprobe tulip\n" \ - " will load the module 'tulip' with default option 'irq=3'\n\n" \ - "$ modprobe tulip irq=5\n" \ - " will load the module 'tulip' with option 'irq=5', thus overriding the default\n\n" \ - "$ modprobe tulip2\n" \ - " will load the module 'tulip' with default options 'irq=4 io=0x308',\n" \ - " which are the default for alias 'tulip2'\n\n" \ - "$ modprobe tulip2 irq=8\n" \ - " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=8',\n" \ - " which are the default for alias 'tulip2' overridden by the option 'irq=8'\n\n" \ - " from the command line\n\n" \ - "$ modprobe tulip2 irq=2 io=0x210\n" \ - " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=4 io=0x210',\n" \ - " which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \ - " from the command line\n" - -#define more_trivial_usage \ - "[FILE]..." -#define more_full_usage "\n\n" \ - "View FILE (or stdin) one screenful at a time" - -#define more_example_usage \ - "$ dmesg | more\n" - -#define mount_trivial_usage \ - "[OPTIONS] [-o OPTS] DEVICE NODE" -#define mount_full_usage "\n\n" \ - "Mount a filesystem. Filesystem autodetection requires /proc.\n" \ - "\nOptions:" \ - "\n -a Mount all filesystems in fstab" \ - IF_FEATURE_MOUNT_FAKE( \ - IF_FEATURE_MTAB_SUPPORT( \ - "\n -f Update /etc/mtab, but don't mount" \ - ) \ - IF_NOT_FEATURE_MTAB_SUPPORT( \ - "\n -f Dry run" \ - ) \ - ) \ - IF_FEATURE_MOUNT_HELPERS( \ - "\n -i Don't run mount helper" \ - ) \ - IF_FEATURE_MTAB_SUPPORT( \ - "\n -n Don't update /etc/mtab" \ - ) \ - "\n -r Read-only mount" \ - "\n -w Read-write mount (default)" \ - "\n -t FSTYPE Filesystem type" \ - "\n -O OPT Mount only filesystems with option OPT (-a only)" \ - "\n-o OPT:" \ - IF_FEATURE_MOUNT_LOOP( \ - "\n loop Ignored (loop devices are autodetected)" \ - ) \ - IF_FEATURE_MOUNT_FLAGS( \ - "\n [a]sync Writes are [a]synchronous" \ - "\n [no]atime Disable/enable updates to inode access times" \ - "\n [no]diratime Disable/enable atime updates to directories" \ - "\n [no]relatime Disable/enable atime updates relative to modification time" \ - "\n [no]dev (Dis)allow use of special device files" \ - "\n [no]exec (Dis)allow use of executable files" \ - "\n [no]suid (Dis)allow set-user-id-root programs" \ - "\n [r]shared Convert [recursively] to a shared subtree" \ - "\n [r]slave Convert [recursively] to a slave subtree" \ - "\n [r]private Convert [recursively] to a private subtree" \ - "\n [un]bindable Make mount point [un]able to be bind mounted" \ - "\n bind Bind a file or directory to another location" \ - "\n move Relocate an existing mount point" \ - ) \ - "\n remount Remount a mounted filesystem, changing flags" \ - "\n ro/rw Same as -r/-w" \ - "\n" \ - "\nThere are filesystem-specific -o flags." \ - -#define mount_example_usage \ - "$ mount\n" \ - "/dev/hda3 on / type minix (rw)\n" \ - "proc on /proc type proc (rw)\n" \ - "devpts on /dev/pts type devpts (rw)\n" \ - "$ mount /dev/fd0 /mnt -t msdos -o ro\n" \ - "$ mount /tmp/diskimage /opt -t ext2 -o loop\n" \ - "$ mount cd_image.iso mydir\n" -#define mount_notes_usage \ - "Returns 0 for success, number of failed mounts for -a, or errno for one mount." - -#define mountpoint_trivial_usage \ - "[-q] <[-dn] DIR | -x DEVICE>" -#define mountpoint_full_usage "\n\n" \ - "Check if the directory is a mountpoint\n" \ - "\nOptions:" \ - "\n -q Quiet" \ - "\n -d Print major/minor device number of the filesystem" \ - "\n -n Print device name of the filesystem" \ - "\n -x Print major/minor device number of the blockdevice" \ - -#define mountpoint_example_usage \ - "$ mountpoint /proc\n" \ - "/proc is not a mountpoint\n" \ - "$ mountpoint /sys\n" \ - "/sys is a mountpoint\n" - -#define mt_trivial_usage \ - "[-f device] opcode value" -#define mt_full_usage "\n\n" \ - "Control magnetic tape drive operation\n" \ - "\n" \ - "Available Opcodes:\n" \ - "\n" \ - "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" \ - "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" \ - "ras3 reset retension rewind rewoffline seek setblk setdensity\n" \ - "setpart tell unload unlock weof wset" \ - -#define mv_trivial_usage \ - "[OPTIONS] SOURCE DEST\n" \ - "or: mv [OPTIONS] SOURCE... DIRECTORY" -#define mv_full_usage "\n\n" \ - "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY\n" \ - "\nOptions:" \ - "\n -f Don't prompt before overwriting" \ - "\n -i Interactive, prompt before overwrite" \ - -#define mv_example_usage \ - "$ mv /tmp/foo /bin/bar\n" - -#define nameif_trivial_usage \ - "[-s] [-c FILE] [{IFNAME MACADDR}]" -#define nameif_full_usage "\n\n" \ - "Rename network interface while it in the down state\n" \ - "\nOptions:" \ - "\n -c FILE Use configuration file (default: /etc/mactab)" \ - "\n -s Use syslog (LOCAL0 facility)" \ - "\n IFNAME MACADDR new_interface_name interface_mac_address" \ - -#define nameif_example_usage \ - "$ nameif -s dmz0 00:A0:C9:8C:F6:3F\n" \ - " or\n" \ - "$ nameif -c /etc/my_mactab_file\n" \ - -#if !ENABLE_DESKTOP - -#if ENABLE_NC_SERVER || ENABLE_NC_EXTRA -#define NC_OPTIONS_STR "\n\nOptions:" -#else -#define NC_OPTIONS_STR -#endif - -#define nc_trivial_usage \ - IF_NC_EXTRA("[-iN] [-wN] ")IF_NC_SERVER("[-l] [-p PORT] ") \ - "["IF_NC_EXTRA("-f FILENAME|")"IPADDR PORT]"IF_NC_EXTRA(" [-e PROG]") -#define nc_full_usage "\n\n" \ - "Open a pipe to IP:port" IF_NC_EXTRA(" or file") \ - NC_OPTIONS_STR \ - IF_NC_EXTRA( \ - "\n -e PROG Run PROG after connect" \ - "\n -i SEC Delay interval for lines sent" \ - "\n -w SEC Timeout for connect" \ - "\n -f FILE Use file (ala /dev/ttyS0) instead of network" \ - ) \ - IF_NC_SERVER( \ - "\n -l Listen mode, for inbound connects" \ - IF_NC_EXTRA( \ - "\n (use -l twice with -e for persistent server)") \ - "\n -p PORT Local port" \ - ) - -#define nc_notes_usage "" \ - IF_NC_EXTRA( \ - "To use netcat as a terminal emulator on a serial port:\n\n" \ - "$ stty 115200 -F /dev/ttyS0\n" \ - "$ stty raw -echo -ctlecho && nc -f /dev/ttyS0\n" \ - ) - -#define nc_example_usage \ - "$ nc foobar.somedomain.com 25\n" \ - "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \ - "help\n" \ - "214-Commands supported:\n" \ - "214- HELO EHLO MAIL RCPT DATA AUTH\n" \ - "214 NOOP QUIT RSET HELP\n" \ - "quit\n" \ - "221 foobar closing connection\n" - -#else /* DESKTOP nc - much more compatible with nc 1.10 */ - -#define nc_trivial_usage \ - "[OPTIONS] HOST PORT - connect" \ - IF_NC_SERVER("\n" \ - "nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen") -#define nc_full_usage "\n\n" \ - "Options:" \ - "\n -e PROG Run PROG after connect (must be last)" \ - IF_NC_SERVER( \ - "\n -l Listen mode, for inbound connects" \ - ) \ - "\n -n Don't do DNS resolution" \ - "\n -s ADDR Local address" \ - "\n -p PORT Local port" \ - "\n -u UDP mode" \ - "\n -v Verbose" \ - "\n -w SEC Timeout for connects and final net reads" \ - IF_NC_EXTRA( \ - "\n -i SEC Delay interval for lines sent" /* ", ports scanned" */ \ - "\n -o FILE Hex dump traffic" \ - "\n -z Zero-I/O mode (scanning)" \ - ) \ -/* "\n -r Randomize local and remote ports" */ -/* "\n -g gateway Source-routing hop point[s], up to 8" */ -/* "\n -G num Source-routing pointer: 4, 8, 12, ..." */ -/* "\nport numbers can be individual or ranges: lo-hi [inclusive]" */ - -/* -e PROG can take ARGS too: "nc ... -e ls -l", but we don't document it - * in help text: nc 1.10 does not allow that. We don't want to entice - * users to use this incompatibility */ - -#endif - -#define netstat_trivial_usage \ - "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]" -#define netstat_full_usage "\n\n" \ - "Display networking information\n" \ - "\nOptions:" \ - "\n -l Display listening server sockets" \ - "\n -a Display all sockets (default: connected)" \ - "\n -e Display other/more information" \ - "\n -n Don't resolve names" \ - "\n -t Tcp sockets" \ - "\n -u Udp sockets" \ - "\n -w Raw sockets" \ - "\n -x Unix sockets" \ - "\n -r Display routing table" \ - IF_FEATURE_NETSTAT_WIDE( \ - "\n -W Display with no column truncation" \ - ) \ - IF_FEATURE_NETSTAT_PRG( \ - "\n -p Display PID/Program name for sockets" \ - ) - -#define nice_trivial_usage \ - "[-n ADJUST] [PROG ARGS]" -#define nice_full_usage "\n\n" \ - "Run PROG with modified scheduling priority\n" \ - "\nOptions:" \ - "\n -n ADJUST Adjust priority by ADJUST" \ - -#define nmeter_trivial_usage \ - "format_string" -#define nmeter_full_usage "\n\n" \ - "Monitor system in real time\n\n" \ - "Format specifiers:\n" \ - " %Nc or %[cN] Monitor CPU. N - bar size, default 10\n" \ - " (displays: S:system U:user N:niced D:iowait I:irq i:softirq)\n" \ - " %[niface] Monitor network interface 'iface'\n" \ - " %m Monitor allocated memory\n" \ - " %[mf] Monitor free memory\n" \ - " %[mt] Monitor total memory\n" \ - " %s Monitor allocated swap\n" \ - " %f Monitor number of used file descriptors\n" \ - " %Ni Monitor total/specific IRQ rate\n" \ - " %x Monitor context switch rate\n" \ - " %p Monitor forks\n" \ - " %[pn] Monitor # of processes\n" \ - " %b Monitor block io\n" \ - " %Nt Show time (with N decimal points)\n" \ - " %Nd Milliseconds between updates (default:1000)\n" \ - " %r Print instead of at EOL" \ - -#define nmeter_example_usage \ - "nmeter '%250d%t %20c int %i bio %b mem %m forks%p'" - -#define nohup_trivial_usage \ - "PROG ARGS" -#define nohup_full_usage "\n\n" \ - "Run PROG immune to hangups, with output to a non-tty" -#define nohup_example_usage \ - "$ nohup make &" - -#define nslookup_trivial_usage \ - "[HOST] [SERVER]" -#define nslookup_full_usage "\n\n" \ - "Query the nameserver for the IP address of the given HOST\n" \ - "optionally using a specified DNS server" -#define nslookup_example_usage \ - "$ nslookup localhost\n" \ - "Server: default\n" \ - "Address: default\n" \ - "\n" \ - "Name: debian\n" \ - "Address: 127.0.0.1\n" - -#define ntpd_trivial_usage \ - "[-dnqwl] [-S PROG] [-p PEER]..." -#define ntpd_full_usage "\n\n" \ - "NTP client/server\n" \ - "\nOptions:" \ - "\n -d Verbose" \ - "\n -n Do not daemonize" \ - "\n -q Quit after clock is set" \ -/* -N exists for mostly compat reasons, thus not essential to inform */ \ -/* the user that it exists: user may use nice as well */ \ -/* "\n -N Run at high priority" */ \ - "\n -w Do not set time (only query peers), implies -n" \ - "\n -l Run as server on port 123" \ - "\n -S PROG Run PROG after stepping time, stratum change, and every 11 mins" \ - "\n -p PEER Obtain time from PEER (may be repeated)" \ - -#define od_trivial_usage \ - "[-aBbcDdeFfHhIiLlOovXx] " IF_DESKTOP("[-t TYPE] ") "[FILE]" -#define od_full_usage "\n\n" \ - "Write an unambiguous representation, octal bytes by default, of FILE\n" \ - "(or stdin) to stdout" - -#define openvt_trivial_usage \ - "[-c N] [-sw] [PROG ARGS]" -#define openvt_full_usage "\n\n" \ - "Start PROG on a new virtual terminal\n" \ - "\nOptions:" \ - "\n -c N Use specified VT" \ - "\n -s Switch to the VT" \ -/* "\n -l Run PROG as login shell (by prepending '-')" */ \ - "\n -w Wait for PROG to exit" \ - -#define openvt_example_usage \ - "openvt 2 /bin/ash\n" - -/* -#define parse_trivial_usage \ - "[-n MAXTOKENS] [-m MINTOKENS] [-d DELIMS] [-f FLAGS] FILE..." -#define parse_full_usage "" -*/ - -#define passwd_trivial_usage \ - "[OPTIONS] [USER]" -#define passwd_full_usage "\n\n" \ - "Change USER's password. If no USER is specified,\n" \ - "changes the password for the current user.\n" \ - "\nOptions:" \ - "\n -a Algorithm to use for password (des, md5)" /* ", sha1)" */ \ - "\n -d Delete password for the account" \ - "\n -l Lock (disable) account" \ - "\n -u Unlock (re-enable) account" \ - -#define chpasswd_trivial_usage \ - IF_LONG_OPTS("[--md5|--encrypted]") IF_NOT_LONG_OPTS("[-m|-e]") -#define chpasswd_full_usage "\n\n" \ - "Read user:password from stdin and update /etc/passwd\n" \ - "\nOptions:" \ - IF_LONG_OPTS( \ - "\n -e,--encrypted Supplied passwords are in encrypted form" \ - "\n -m,--md5 Use MD5 encryption instead of DES" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -e Supplied passwords are in encrypted form" \ - "\n -m Use MD5 encryption instead of DES" \ - ) - -#define patch_trivial_usage \ - "[OPTIONS] [ORIGFILE [PATCHFILE]]" -#define patch_full_usage "\n\n" \ - IF_LONG_OPTS( \ - " -p,--strip N Strip N leading components from file names" \ - "\n -i,--input DIFF Read DIFF instead of stdin" \ - "\n -R,--reverse Reverse patch" \ - "\n -N,--forward Ignore already applied patches" \ - "\n --dry-run Don't actually change files" \ - ) \ - IF_NOT_LONG_OPTS( \ - " -p N Strip N leading components from file names" \ - "\n -i DIFF Read DIFF instead of stdin" \ - "\n -R Reverse patch" \ - "\n -N Ignore already applied patches" \ - ) - -#define patch_example_usage \ - "$ patch -p1 < example.diff\n" \ - "$ patch -p0 -i example.diff" - -#define pgrep_trivial_usage \ - "[-flnovx] [-s SID|-P PPID|PATTERN]" -#define pgrep_full_usage "\n\n" \ - "Display process(es) selected by regex PATTERN\n" \ - "\nOptions:" \ - "\n -l Show command name too" \ - "\n -f Match against entire command line" \ - "\n -n Show the newest process only" \ - "\n -o Show the oldest process only" \ - "\n -v Negate the match" \ - "\n -x Match whole name (not substring)" \ - "\n -s Match session ID (0 for current)" \ - "\n -P Match parent process ID" \ - -#if (ENABLE_FEATURE_PIDOF_SINGLE || ENABLE_FEATURE_PIDOF_OMIT) -#define pidof_trivial_usage \ - "[OPTIONS] [NAME]..." -#define USAGE_PIDOF "\n\nOptions:" -#else -#define pidof_trivial_usage \ - "[NAME]..." -#define USAGE_PIDOF /* none */ -#endif -#define pidof_full_usage "\n\n" \ - "List PIDs of all processes with names that match NAMEs" \ - USAGE_PIDOF \ - IF_FEATURE_PIDOF_SINGLE( \ - "\n -s Show only one PID") \ - IF_FEATURE_PIDOF_OMIT( \ - "\n -o PID Omit given pid" \ - "\n Use %PPID to omit pid of pidof's parent") \ - -#define pidof_example_usage \ - "$ pidof init\n" \ - "1\n" \ - IF_FEATURE_PIDOF_OMIT( \ - "$ pidof /bin/sh\n20351 5973 5950\n") \ - IF_FEATURE_PIDOF_OMIT( \ - "$ pidof /bin/sh -o %PPID\n20351 5950") - -#if !ENABLE_FEATURE_FANCY_PING -#define ping_trivial_usage \ - "host" -#define ping_full_usage "\n\n" \ - "Send ICMP ECHO_REQUEST packets to network hosts" -#define ping6_trivial_usage \ - "host" -#define ping6_full_usage "\n\n" \ - "Send ICMP ECHO_REQUEST packets to network hosts" -#else -#define ping_trivial_usage \ - "[OPTIONS] HOST" -#define ping_full_usage "\n\n" \ - "Send ICMP ECHO_REQUEST packets to network hosts\n" \ - "\nOptions:" \ - "\n -4, -6 Force IP or IPv6 name resolution" \ - "\n -c CNT Send only CNT pings" \ - "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ - "\n -I IFACE/IP Use interface or IP address as source" \ - "\n -W SEC Seconds to wait for the first response (default:10)" \ - "\n (after all -c CNT packets are sent)" \ - "\n -w SEC Seconds until ping exits (default:infinite)" \ - "\n (can exit earlier with -c CNT)" \ - "\n -q Quiet, only displays output at start" \ - "\n and when finished" \ - -#define ping6_trivial_usage \ - "[OPTIONS] HOST" -#define ping6_full_usage "\n\n" \ - "Send ICMP ECHO_REQUEST packets to network hosts\n" \ - "\nOptions:" \ - "\n -c CNT Send only CNT pings" \ - "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ - "\n -I IFACE/IP Use interface or IP address as source" \ - "\n -q Quiet, only displays output at start" \ - "\n and when finished" \ - -#endif -#define ping_example_usage \ - "$ ping localhost\n" \ - "PING slag (127.0.0.1): 56 data bytes\n" \ - "64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms\n" \ - "\n" \ - "--- debian ping statistics ---\n" \ - "1 packets transmitted, 1 packets received, 0% packet loss\n" \ - "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" -#define ping6_example_usage \ - "$ ping6 ip6-localhost\n" \ - "PING ip6-localhost (::1): 56 data bytes\n" \ - "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \ - "\n" \ - "--- ip6-localhost ping statistics ---\n" \ - "1 packets transmitted, 1 packets received, 0% packet loss\n" \ - "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" - -#define pipe_progress_trivial_usage NOUSAGE_STR -#define pipe_progress_full_usage "" - -#define pivot_root_trivial_usage \ - "NEW_ROOT PUT_OLD" -#define pivot_root_full_usage "\n\n" \ - "Move the current root file system to PUT_OLD and make NEW_ROOT\n" \ - "the new root file system" - -#define pkill_trivial_usage \ - "[-l|-SIGNAL] [-fnovx] [-s SID|-P PPID|PATTERN]" -#define pkill_full_usage "\n\n" \ - "Send a signal to process(es) selected by regex PATTERN\n" \ - "\nOptions:" \ - "\n -l List all signals" \ - "\n -f Match against entire command line" \ - "\n -n Signal the newest process only" \ - "\n -o Signal the oldest process only" \ - "\n -v Negate the match" \ - "\n -x Match whole name (not substring)" \ - "\n -s Match session ID (0 for current)" \ - "\n -P Match parent process ID" \ - -#define popmaildir_trivial_usage \ - "[OPTIONS] MAILDIR [CONN_HELPER ARGS]" -#define popmaildir_full_usage "\n\n" \ - "Fetch content of remote mailbox to local maildir\n" \ - "\nOptions:" \ -/* "\n -b Binary mode. Ignored" */ \ -/* "\n -d Debug. Ignored" */ \ -/* "\n -m Show used memory. Ignored" */ \ -/* "\n -V Show version. Ignored" */ \ -/* "\n -c Use tcpclient. Ignored" */ \ -/* "\n -a Use APOP protocol. Implied. If server supports APOP -> use it" */ \ - "\n -s Skip authorization" \ - "\n -T Get messages with TOP instead of RETR" \ - "\n -k Keep retrieved messages on the server" \ - "\n -t SEC Network timeout" \ - IF_FEATURE_POPMAILDIR_DELIVERY( \ - "\n -F \"PROG ARGS\" Filter program (may be repeated)" \ - "\n -M \"PROG ARGS\" Delivery program" \ - ) \ - "\n" \ - "\nFetch from plain POP3 server:" \ - "\npopmaildir -k DIR nc pop3.server.com 110 = BYTES. Ignored" */ -/* "\n -Z N1-N2 Remove messages from N1 to N2 (dangerous). Ignored" */ -/* "\n -L BYTES Don't retrieve new messages >= BYTES. Ignored" */ -/* "\n -H LINES Type first LINES of a message. Ignored" */ -#define popmaildir_example_usage \ - "$ popmaildir -k ~/Maildir -- nc pop.drvv.ru 110 [ after signal is processed" \ - -#define rx_trivial_usage \ - "FILE" -#define rx_full_usage "\n\n" \ - "Receive a file using the xmodem protocol" -#define rx_example_usage \ - "$ rx /tmp/foo\n" - -#define script_trivial_usage \ - "[-afq" IF_SCRIPTREPLAY("t") "] [-c PROG] [OUTFILE]" -#define script_full_usage "\n\n" \ - "Options:" \ - "\n -a Append output" \ - "\n -c PROG Run PROG, not shell" \ - "\n -f Flush output after each write" \ - "\n -q Quiet" \ - IF_SCRIPTREPLAY( \ - "\n -t Send timing to stderr" \ - ) - -#define sed_trivial_usage \ - "[-efinr] SED_CMD [FILE]..." -#define sed_full_usage "\n\n" \ - "Options:" \ - "\n -e CMD Add CMD to sed commands to be executed" \ - "\n -f FILE Add FILE contents to sed commands to be executed" \ - "\n -i Edit files in-place (else sends result to stdout)" \ - "\n -n Suppress automatic printing of pattern space" \ - "\n -r Use extended regex syntax" \ - "\n" \ - "\nIf no -e or -f, the first non-option argument is the sed command string." \ - "\nRemaining arguments are input files (stdin if none)." - -#define sed_example_usage \ - "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \ - "bar\n" - -#define selinuxenabled_trivial_usage NOUSAGE_STR -#define selinuxenabled_full_usage "" - -#define sendmail_trivial_usage \ - "[OPTIONS] [RECIPIENT_EMAIL]..." -#define sendmail_full_usage "\n\n" \ - "Read email from stdin and send it\n" \ - "\nStandard options:" \ - "\n -t Read additional recipients from message body" \ - "\n -f sender Sender (required)" \ - "\n -o options Various options. -oi implied, others are ignored" \ - "\n -i -oi synonym. implied and ignored" \ - "\n" \ - "\nBusybox specific options:" \ - "\n -w seconds Network timeout" \ - "\n -H 'PROG ARGS' Run connection helper" \ - "\n Examples:" \ - "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \ - "\n -connect smtp.gmail.com:25' -ap]" \ - "\n -H 'exec openssl s_client -quiet -tls1" \ - "\n -connect smtp.gmail.com:465' -ap]" \ - "\n -S server[:port] Server" \ - "\n -au Username for AUTH LOGIN" \ - "\n -ap Password for AUTH LOGIN" \ - "\n -am Authentication method. Ignored. LOGIN is implied" \ - "\n" \ - "\nOther options are silently ignored; -oi -t is implied" \ - IF_MAKEMIME( \ - "\nUse makemime applet to create message with attachments" \ - ) - -#define seq_trivial_usage \ - "[-w] [-s SEP] [FIRST [INC]] LAST" -#define seq_full_usage "\n\n" \ - "Print numbers from FIRST to LAST, in steps of INC.\n" \ - "FIRST, INC default to 1.\n" \ - "\nOptions:" \ - "\n -w Pad to last with leading zeros" \ - "\n -s SEP String separator" \ - -#define sestatus_trivial_usage \ - "[-vb]" -#define sestatus_full_usage "\n\n" \ - " -v Verbose" \ - "\n -b Display current state of booleans" \ - -#define setconsole_trivial_usage \ - "[-r" IF_FEATURE_SETCONSOLE_LONG_OPTIONS("|--reset") "] [DEVICE]" -#define setconsole_full_usage "\n\n" \ - "Redirect system console output to DEVICE (default: /dev/tty)\n" \ - "\nOptions:" \ - "\n -r Reset output to /dev/console" \ - -#define setenforce_trivial_usage \ - "[Enforcing | Permissive | 1 | 0]" -#define setenforce_full_usage "" - -#define setfiles_trivial_usage \ - "[-dnpqsvW] [-e DIR]... [-o FILE] [-r alt_root_path]" \ - IF_FEATURE_SETFILES_CHECK_OPTION( \ - " [-c policyfile] spec_file" \ - ) \ - " pathname" -#define setfiles_full_usage "\n\n" \ - "Reset file contexts under pathname according to spec_file\n" \ - IF_FEATURE_SETFILES_CHECK_OPTION( \ - "\n -c FILE Check the validity of the contexts against the specified binary policy" \ - ) \ - "\n -d Show which specification matched each file" \ - "\n -l Log changes in file labels to syslog" \ - "\n -n Don't change any file labels" \ - "\n -q Suppress warnings" \ - "\n -r DIR Use an alternate root path" \ - "\n -e DIR Exclude DIR" \ - "\n -F Force reset of context to match file_context for customizable files" \ - "\n -o FILE Save list of files with incorrect context" \ - "\n -s Take a list of files from stdin (instead of command line)" \ - "\n -v Show changes in file labels, if type or role are changing" \ - "\n -vv Show changes in file labels, if type, role, or user are changing" \ - "\n -W Display warnings about entries that had no matching files" \ - -#define setfont_trivial_usage \ - "FONT [-m MAPFILE] [-C TTY]" -#define setfont_full_usage "\n\n" \ - "Load a console font\n" \ - "\nOptions:" \ - "\n -m MAPFILE Load console screen map" \ - "\n -C TTY Affect TTY instead of /dev/tty" \ - -#define setfont_example_usage \ - "$ setfont -m koi8-r /etc/i18n/fontname\n" - -#define setkeycodes_trivial_usage \ - "SCANCODE KEYCODE..." -#define setkeycodes_full_usage "\n\n" \ - "Set entries into the kernel's scancode-to-keycode map,\n" \ - "allowing unusual keyboards to generate usable keycodes.\n\n" \ - "SCANCODE may be either xx or e0xx (hexadecimal),\n" \ - "and KEYCODE is given in decimal." \ - -#define setkeycodes_example_usage \ - "$ setkeycodes e030 127\n" - -#define setlogcons_trivial_usage \ - "N" -#define setlogcons_full_usage "\n\n" \ - "Redirect the kernel output to console N (0 for current)" - -#define setsebool_trivial_usage \ - "boolean value" - -#define setsebool_full_usage "\n\n" \ - "Change boolean setting" - -#define setsid_trivial_usage \ - "PROG ARGS" -#define setsid_full_usage "\n\n" \ - "Run PROG in a new session. PROG will have no controlling terminal\n" \ - "and will not be affected by keyboard signals (Ctrl-C etc).\n" \ - "See setsid(2) for details." \ - -#define last_trivial_usage \ - ""IF_FEATURE_LAST_FANCY("[-HW] [-f FILE]") -#define last_full_usage "\n\n" \ - "Show listing of the last users that logged into the system" \ - IF_FEATURE_LAST_FANCY( "\n" \ - "\nOptions:" \ -/* "\n -H Show header line" */ \ - "\n -W Display with no host column truncation" \ - "\n -f FILE Read from FILE instead of /var/log/wtmp" \ - ) - -#define showkey_trivial_usage \ - "[-a | -k | -s]" -#define showkey_full_usage "\n\n" \ - "Show keys pressed\n" \ - "\nOptions:" \ - "\n -a Display decimal/octal/hex values of the keys" \ - "\n -k Display interpreted keycodes (default)" \ - "\n -s Display raw scan-codes" \ - -#define slattach_trivial_usage \ - "[-cehmLF] [-s SPEED] [-p PROTOCOL] DEVICE" -#define slattach_full_usage "\n\n" \ - "Attach network interface(s) to serial line(s)\n" \ - "\nOptions:" \ - "\n -p PROT Set protocol (slip, cslip, slip6, clisp6 or adaptive)" \ - "\n -s SPD Set line speed" \ - "\n -e Exit after initializing device" \ - "\n -h Exit when the carrier is lost" \ - "\n -c PROG Run PROG when the line is hung up" \ - "\n -m Do NOT initialize the line in raw 8 bits mode" \ - "\n -L Enable 3-wire operation" \ - "\n -F Disable RTS/CTS flow control" \ - -#define sleep_trivial_usage \ - IF_FEATURE_FANCY_SLEEP("[") "N" IF_FEATURE_FANCY_SLEEP("]...") -#define sleep_full_usage "\n\n" \ - IF_NOT_FEATURE_FANCY_SLEEP("Pause for N seconds") \ - IF_FEATURE_FANCY_SLEEP( \ - "Pause for a time equal to the total of the args given, where each arg can\n" \ - "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays") -#define sleep_example_usage \ - "$ sleep 2\n" \ - "[2 second delay results]\n" \ - IF_FEATURE_FANCY_SLEEP( \ - "$ sleep 1d 3h 22m 8s\n" \ - "[98528 second delay results]\n") - -#define sort_trivial_usage \ - "[-nru" \ - IF_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR") \ - "] [FILE]..." -#define sort_full_usage "\n\n" \ - "Sort lines of text\n" \ - "\nOptions:" \ - IF_FEATURE_SORT_BIG( \ - "\n -b Ignore leading blanks" \ - "\n -c Check whether input is sorted" \ - "\n -d Dictionary order (blank or alphanumeric only)" \ - "\n -f Ignore case" \ - "\n -g General numerical sort" \ - "\n -i Ignore unprintable characters" \ - "\n -k Sort key" \ - "\n -M Sort month" \ - ) \ - "\n -n Sort numbers" \ - IF_FEATURE_SORT_BIG( \ - "\n -o Output to file" \ - "\n -k Sort by key" \ - "\n -t CHAR Key separator" \ - ) \ - "\n -r Reverse sort order" \ - IF_FEATURE_SORT_BIG( \ - "\n -s Stable (don't sort ties alphabetically)" \ - ) \ - "\n -u Suppress duplicate lines" \ - IF_FEATURE_SORT_BIG( \ - "\n -z Lines are terminated by NUL, not newline" \ - "\n -mST Ignored for GNU compatibility") \ - -#define sort_example_usage \ - "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \ - "a\n" \ - "b\n" \ - "c\n" \ - "d\n" \ - "e\n" \ - "f\n" \ - IF_FEATURE_SORT_BIG( \ - "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ - "d 2\n" \ - "b 2\n" \ - "c 3\n" \ - ) \ - "" - -#define split_trivial_usage \ - "[OPTIONS] [INPUT [PREFIX]]" -#define split_full_usage "\n\n" \ - "Options:" \ - "\n -b n[k|m] Split by bytes" \ - "\n -l n Split by lines" \ - "\n -a n Use n letters as suffix" \ - -#define split_example_usage \ - "$ split TODO foo\n" \ - "$ cat TODO | split -a 2 -l 2 TODO_\n" - -#define start_stop_daemon_trivial_usage \ - "[OPTIONS] [-S|-K] ... [-- ARGS...]" -#define start_stop_daemon_full_usage "\n\n" \ - "Search for matching processes, and then\n" \ - "-K: stop all matching processes.\n" \ - "-S: start a process unless a matching process is found.\n" \ - IF_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ - "\nProcess matching:" \ - "\n -u,--user USERNAME|UID Match only this user's processes" \ - "\n -n,--name NAME Match processes with NAME" \ - "\n in comm field in /proc/PID/stat" \ - "\n -x,--exec EXECUTABLE Match processes with this command" \ - "\n in /proc/PID/cmdline" \ - "\n -p,--pidfile FILE Match a process with PID from the file" \ - "\n All specified conditions must match" \ - "\n-S only:" \ - "\n -x,--exec EXECUTABLE Program to run" \ - "\n -a,--startas NAME Zeroth argument" \ - "\n -b,--background Background" \ - IF_FEATURE_START_STOP_DAEMON_FANCY( \ - "\n -N,--nicelevel N Change nice level" \ - ) \ - "\n -c,--chuid USER[:[GRP]] Change to user/group" \ - "\n -m,--make-pidfile Write PID to the pidfile specified by -p" \ - "\n-K only:" \ - "\n -s,--signal SIG Signal to send" \ - "\n -t,--test Match only, exit with 0 if a process is found" \ - "\nOther:" \ - IF_FEATURE_START_STOP_DAEMON_FANCY( \ - "\n -o,--oknodo Exit with status 0 if nothing is done" \ - "\n -v,--verbose Verbose" \ - ) \ - "\n -q,--quiet Quiet" \ - ) \ - IF_NOT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ - "\nProcess matching:" \ - "\n -u USERNAME|UID Match only this user's processes" \ - "\n -n NAME Match processes with NAME" \ - "\n in comm field in /proc/PID/stat" \ - "\n -x EXECUTABLE Match processes with this command" \ - "\n command in /proc/PID/cmdline" \ - "\n -p FILE Match a process with PID from the file" \ - "\n All specified conditions must match" \ - "\n-S only:" \ - "\n -x EXECUTABLE Program to run" \ - "\n -a NAME Zeroth argument" \ - "\n -b Background" \ - IF_FEATURE_START_STOP_DAEMON_FANCY( \ - "\n -N N Change nice level" \ - ) \ - "\n -c USER[:[GRP]] Change to user/group" \ - "\n -m Write PID to the pidfile specified by -p" \ - "\n-K only:" \ - "\n -s SIG Signal to send" \ - "\n -t Match only, exit with 0 if a process is found" \ - "\nOther:" \ - IF_FEATURE_START_STOP_DAEMON_FANCY( \ - "\n -o Exit with status 0 if nothing is done" \ - "\n -v Verbose" \ - ) \ - "\n -q Quiet" \ - ) \ - -#define stat_trivial_usage \ - "[OPTIONS] FILE..." -#define stat_full_usage "\n\n" \ - "Display file (default) or filesystem status\n" \ - "\nOptions:" \ - IF_FEATURE_STAT_FORMAT( \ - "\n -c fmt Use the specified format" \ - ) \ - "\n -f Display filesystem status" \ - "\n -L Follow links" \ - "\n -t Display info in terse form" \ - IF_SELINUX( \ - "\n -Z Print security context" \ - ) \ - IF_FEATURE_STAT_FORMAT( \ - "\n\nValid format sequences for files:\n" \ - " %a Access rights in octal\n" \ - " %A Access rights in human readable form\n" \ - " %b Number of blocks allocated (see %B)\n" \ - " %B The size in bytes of each block reported by %b\n" \ - " %d Device number in decimal\n" \ - " %D Device number in hex\n" \ - " %f Raw mode in hex\n" \ - " %F File type\n" \ - " %g Group ID of owner\n" \ - " %G Group name of owner\n" \ - " %h Number of hard links\n" \ - " %i Inode number\n" \ - " %n File name\n" \ - " %N File name, with -> TARGET if symlink\n" \ - " %o I/O block size\n" \ - " %s Total size, in bytes\n" \ - " %t Major device type in hex\n" \ - " %T Minor device type in hex\n" \ - " %u User ID of owner\n" \ - " %U User name of owner\n" \ - " %x Time of last access\n" \ - " %X Time of last access as seconds since Epoch\n" \ - " %y Time of last modification\n" \ - " %Y Time of last modification as seconds since Epoch\n" \ - " %z Time of last change\n" \ - " %Z Time of last change as seconds since Epoch\n" \ - "\nValid format sequences for file systems:\n" \ - " %a Free blocks available to non-superuser\n" \ - " %b Total data blocks in file system\n" \ - " %c Total file nodes in file system\n" \ - " %d Free file nodes in file system\n" \ - " %f Free blocks in file system\n" \ - IF_SELINUX( \ - " %C Security context in selinux\n" \ - ) \ - " %i File System ID in hex\n" \ - " %l Maximum length of filenames\n" \ - " %n File name\n" \ - " %s Block size (for faster transfer)\n" \ - " %S Fundamental block size (for block counts)\n" \ - " %t Type in hex\n" \ - " %T Type in human readable form" \ - ) \ - -#define strings_trivial_usage \ - "[-afo] [-n LEN] [FILE]..." -#define strings_full_usage "\n\n" \ - "Display printable strings in a binary file\n" \ - "\nOptions:" \ - "\n -a Scan whole file (default)" \ - "\n -f Precede strings with filenames" \ - "\n -n LEN At least LEN characters form a string (default 4)" \ - "\n -o Precede strings with decimal offsets" \ - -#define stty_trivial_usage \ - "[-a|g] [-F DEVICE] [SETTING]..." -#define stty_full_usage "\n\n" \ - "Without arguments, prints baud rate, line discipline,\n" \ - "and deviations from stty sane\n" \ - "\nOptions:" \ - "\n -F DEVICE Open device instead of stdin" \ - "\n -a Print all current settings in human-readable form" \ - "\n -g Print in stty-readable form" \ - "\n [SETTING] See manpage" \ - -#define su_trivial_usage \ - "[OPTIONS] [-] [USERNAME]" -#define su_full_usage "\n\n" \ - "Change user id or become root\n" \ - "\nOptions:" \ - "\n -p,-m Preserve environment" \ - "\n -c CMD Command to pass to 'sh -c'" \ - "\n -s SH Shell to use instead of default shell" \ - -#define sulogin_trivial_usage \ - "[-t N] [TTY]" -#define sulogin_full_usage "\n\n" \ - "Single user login\n" \ - "\nOptions:" \ - "\n -t N Timeout" \ - -#define sum_trivial_usage \ - "[-rs] [FILE]..." -#define sum_full_usage "\n\n" \ - "Checksum and count the blocks in a file\n" \ - "\nOptions:" \ - "\n -r Use BSD sum algorithm (1K blocks)" \ - "\n -s Use System V sum algorithm (512byte blocks)" \ - -#define sv_trivial_usage \ - "[-v] [-w SEC] CMD SERVICE_DIR..." -#define sv_full_usage "\n\n" \ - "Control services monitored by runsv supervisor.\n" \ - "Commands (only first character is enough):\n" \ - "\n" \ - "status: query service status\n" \ - "up: if service isn't running, start it. If service stops, restart it\n" \ - "once: like 'up', but if service stops, don't restart it\n" \ - "down: send TERM and CONT signals. If ./run exits, start ./finish\n" \ - " if it exists. After it stops, don't restart service\n" \ - "exit: send TERM and CONT signals to service and log service. If they exit,\n" \ - " runsv exits too\n" \ - "pause, cont, hup, alarm, interrupt, quit, 1, 2, term, kill: send\n" \ - "STOP, CONT, HUP, ALRM, INT, QUIT, USR1, USR2, TERM, KILL signal to service" \ - -#define svlogd_trivial_usage \ - "[-ttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR..." -#define svlogd_full_usage "\n\n" \ - "Continuously read log data from stdin, optionally\n" \ - "filter log messages, and write the data to one or more automatically\n" \ - "rotated logs" \ - -#define swapoff_trivial_usage \ - "[-a] [DEVICE]" -#define swapoff_full_usage "\n\n" \ - "Stop swapping on DEVICE\n" \ - "\nOptions:" \ - "\n -a Stop swapping on all swap devices" \ - -#define swapon_trivial_usage \ - "[-a]" IF_FEATURE_SWAPON_PRI(" [-p PRI]") " [DEVICE]" -#define swapon_full_usage "\n\n" \ - "Start swapping on DEVICE\n" \ - "\nOptions:" \ - "\n -a Start swapping on all swap devices" \ - IF_FEATURE_SWAPON_PRI( \ - "\n -p PRI Set swap device priority" \ - ) \ - -#define switch_root_trivial_usage \ - "[-c /dev/console] NEW_ROOT NEW_INIT [ARGS]" -#define switch_root_full_usage "\n\n" \ - "Free initramfs and switch to another root fs:\n" \ - "chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /,\n" \ - "execute NEW_INIT. PID must be 1. NEW_ROOT must be a mountpoint.\n" \ - "\nOptions:" \ - "\n -c DEV Reopen stdio to DEV after switch" \ - -#define sync_trivial_usage \ - "" -#define sync_full_usage "\n\n" \ - "Write all buffered blocks to disk" - -#define fsync_trivial_usage \ - "[OPTIONS] FILE..." -#define fsync_full_usage "\n\n" \ - "Write files' buffered blocks to disk\n" \ - "\nOptions:" \ - "\n -d Avoid syncing metadata" - -#define sysctl_trivial_usage \ - "[OPTIONS] [VALUE]..." -#define sysctl_full_usage "\n\n" \ - "Configure kernel parameters at runtime\n" \ - "\nOptions:" \ - "\n -n Don't print key names" \ - "\n -e Don't warn about unknown keys" \ - "\n -w Change sysctl setting" \ - "\n -p FILE Load sysctl settings from FILE (default /etc/sysctl.conf)" \ - "\n -a Display all values" \ - "\n -A Display all values in table form" \ - -#define sysctl_example_usage \ - "sysctl [-n] [-e] variable...\n" \ - "sysctl [-n] [-e] -w variable=value...\n" \ - "sysctl [-n] [-e] -a\n" \ - "sysctl [-n] [-e] -p file (default /etc/sysctl.conf)\n" \ - "sysctl [-n] [-e] -A\n" - -#define syslogd_trivial_usage \ - "[OPTIONS]" -#define syslogd_full_usage "\n\n" \ - "System logging utility.\n" \ - "This version of syslogd ignores /etc/syslog.conf\n" \ - "\nOptions:" \ - "\n -n Run in foreground" \ - "\n -O FILE Log to given file (default:/var/log/messages)" \ - "\n -l N Set local log level" \ - "\n -S Smaller logging output" \ - IF_FEATURE_ROTATE_LOGFILE( \ - "\n -s SIZE Max size (KB) before rotate (default:200KB, 0=off)" \ - "\n -b N N rotated logs to keep (default:1, max=99, 0=purge)") \ - IF_FEATURE_REMOTE_LOG( \ - "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \ - "\n -L Log locally and via network (default is network only if -R)") \ - IF_FEATURE_SYSLOGD_DUP( \ - "\n -D Drop duplicates") \ - IF_FEATURE_IPC_SYSLOG( \ - "\n -C[size(KiB)] Log to shared mem buffer (read it using logread)") \ - /* NB: -Csize shouldn't have space (because size is optional) */ -/* "\n -m MIN Minutes between MARK lines (default:20, 0=off)" */ - -#define syslogd_example_usage \ - "$ syslogd -R masterlog:514\n" \ - "$ syslogd -R 192.168.1.1:601\n" - -#define tac_trivial_usage \ - "[FILE]..." -#define tac_full_usage "\n\n" \ - "Concatenate FILEs and print them in reverse" - -#define tar_trivial_usage \ - "-[" IF_FEATURE_TAR_CREATE("c") "xt" IF_FEATURE_SEAMLESS_GZ("z") \ - IF_FEATURE_SEAMLESS_BZ2("j") IF_FEATURE_SEAMLESS_LZMA("a") \ - IF_FEATURE_SEAMLESS_Z("Z") IF_FEATURE_TAR_NOPRESERVE_TIME("m") "vO] " \ - IF_FEATURE_TAR_FROM("[-X FILE] ") \ - "[-f TARFILE] [-C DIR] [FILE]..." -#define tar_full_usage "\n\n" \ - IF_FEATURE_TAR_CREATE("Create, extract, ") \ - IF_NOT_FEATURE_TAR_CREATE("Extract ") \ - "or list files from a tar file\n" \ - "\nOptions:" \ - IF_FEATURE_TAR_CREATE( \ - "\n c Create" \ - ) \ - "\n x Extract" \ - "\n t List" \ - "\nArchive format selection:" \ - IF_FEATURE_SEAMLESS_GZ( \ - "\n z Filter the archive through gzip" \ - ) \ - IF_FEATURE_SEAMLESS_BZ2( \ - "\n j Filter the archive through bzip2" \ - ) \ - IF_FEATURE_SEAMLESS_LZMA( \ - "\n a Filter the archive through lzma" \ - ) \ - IF_FEATURE_SEAMLESS_Z( \ - "\n Z Filter the archive through compress" \ - ) \ - IF_FEATURE_TAR_NOPRESERVE_TIME( \ - "\n m Do not restore mtime" \ - ) \ - "\nFile selection:" \ - "\n f Name of TARFILE or \"-\" for stdin" \ - "\n O Extract to stdout" \ - IF_FEATURE_TAR_FROM( \ - IF_FEATURE_TAR_LONG_OPTIONS( \ - "\n exclude File to exclude" \ - ) \ - "\n X File with names to exclude" \ - ) \ - "\n C Change to DIR before operation" \ - "\n v Verbose" \ - -#define tar_example_usage \ - "$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \ - "$ tar -cf /tmp/tarball.tar /usr/local\n" - -#define taskset_trivial_usage \ - "[-p] [MASK] [PID | PROG ARGS]" -#define taskset_full_usage "\n\n" \ - "Set or get CPU affinity\n" \ - "\nOptions:" \ - "\n -p Operate on an existing PID" \ - -#define taskset_example_usage \ - "$ taskset 0x7 ./dgemm_test&\n" \ - "$ taskset -p 0x1 $!\n" \ - "pid 4790's current affinity mask: 7\n" \ - "pid 4790's new affinity mask: 1\n" \ - "$ taskset 0x7 /bin/sh -c './taskset -p 0x1 $$'\n" \ - "pid 6671's current affinity mask: 1\n" \ - "pid 6671's new affinity mask: 1\n" \ - "$ taskset -p 1\n" \ - "pid 1's current affinity mask: 3\n" - -#define tee_trivial_usage \ - "[OPTIONS] [FILE]..." -#define tee_full_usage "\n\n" \ - "Copy stdin to each FILE, and also to stdout\n" \ - "\nOptions:" \ - "\n -a Append to the given FILEs, don't overwrite" \ - "\n -i Ignore interrupt signals (SIGINT)" \ - -#define tee_example_usage \ - "$ echo \"Hello\" | tee /tmp/foo\n" \ - "$ cat /tmp/foo\n" \ - "Hello\n" - -#if ENABLE_FEATURE_TELNET_AUTOLOGIN -#define telnet_trivial_usage \ - "[-a] [-l USER] HOST [PORT]" -#define telnet_full_usage "\n\n" \ - "Connect to telnet server\n" \ - "\nOptions:" \ - "\n -a Automatic login with $USER variable" \ - "\n -l USER Automatic login as USER" \ - -#else -#define telnet_trivial_usage \ - "HOST [PORT]" -#define telnet_full_usage "\n\n" \ - "Connect to telnet server" -#endif - -#define telnetd_trivial_usage \ - "[OPTIONS]" -#define telnetd_full_usage "\n\n" \ - "Handle incoming telnet connections" \ - IF_NOT_FEATURE_TELNETD_STANDALONE(" via inetd") "\n" \ - "\nOptions:" \ - "\n -l LOGIN Exec LOGIN on connect" \ - "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ - "\n -K Close connection as soon as login exits" \ - "\n (normally wait until all programs close slave pty)" \ - IF_FEATURE_TELNETD_STANDALONE( \ - "\n -p PORT Port to listen on" \ - "\n -b ADDR[:PORT] Address to bind to" \ - "\n -F Run in foreground" \ - "\n -i Inetd mode" \ - IF_FEATURE_TELNETD_INETD_WAIT( \ - "\n -w SEC Inetd 'wait' mode, linger time SEC" \ - "\n -S Log to syslog (implied by -i or without -F and -w)" \ - ) \ - ) - -/* "test --help" does not print help (POSIX compat), only "[ --help" does. - * We display " EXPRESSION ]" here (not " EXPRESSION") - * Unfortunately, it screws up generated BusyBox.html. TODO. */ -#define test_trivial_usage \ - "EXPRESSION ]" -#define test_full_usage "\n\n" \ - "Check file types, compare values etc. Return a 0/1 exit code\n" \ - "depending on logical value of EXPRESSION" -#define test_example_usage \ - "$ test 1 -eq 2\n" \ - "$ echo $?\n" \ - "1\n" \ - "$ test 1 -eq 1\n" \ - "$ echo $?\n" \ - "0\n" \ - "$ [ -d /etc ]\n" \ - "$ echo $?\n" \ - "0\n" \ - "$ [ -d /junk ]\n" \ - "$ echo $?\n" \ - "1\n" - -#define tc_trivial_usage \ - /*"[OPTIONS] "*/"OBJECT CMD [dev STRING]" -#define tc_full_usage "\n\n" \ - "OBJECT: {qdisc|class|filter}\n" \ - "CMD: {add|del|change|replace|show}\n" \ - "\n" \ - "qdisc [ handle QHANDLE ] [ root |"IF_FEATURE_TC_INGRESS(" ingress |")" parent CLASSID ]\n" \ - /* "[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ - " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ - " QDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }\n" \ - "qdisc show [ dev STRING ]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" \ - "class [ classid CLASSID ] [ root | parent CLASSID ]\n" \ - " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ - "class show [ dev STRING ] [ root | parent CLASSID ]\n" \ - "filter [ pref PRIO ] [ protocol PROTO ]\n" \ - /* "\t[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ - " [ root | classid CLASSID ] [ handle FILTERID ]\n" \ - " [ [ FILTER_TYPE ] [ help | OPTIONS ] ]\n" \ - "filter show [ dev STRING ] [ root | parent CLASSID ]" - -#define tcpsvd_trivial_usage \ - "[-hEv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] IP PORT PROG" -/* with not-implemented options: */ -/* "[-hpEvv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] [-i DIR|-x CDB] [-t SEC] IP PORT PROG" */ -#define tcpsvd_full_usage "\n\n" \ - "Create TCP socket, bind to IP:PORT and listen\n" \ - "for incoming connection. Run PROG for each connection.\n" \ - "\n IP IP to listen on. '0' = all" \ - "\n PORT Port to listen on" \ - "\n PROG ARGS Program to run" \ - "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ - "\n -u USER[:GRP] Change to user/group after bind" \ - "\n -c N Handle up to N connections simultaneously" \ - "\n -b N Allow a backlog of approximately N TCP SYNs" \ - "\n -C N[:MSG] Allow only up to N connections from the same IP" \ - "\n New connections from this IP address are closed" \ - "\n immediately. MSG is written to the peer before close" \ - "\n -h Look up peer's hostname" \ - "\n -E Don't set up environment variables" \ - "\n -v Verbose" \ - -#define udpsvd_trivial_usage \ - "[-hEv] [-c N] [-u USER] [-l NAME] IP PORT PROG" -#define udpsvd_full_usage "\n\n" \ - "Create UDP socket, bind to IP:PORT and wait\n" \ - "for incoming packets. Run PROG for each packet,\n" \ - "redirecting all further packets with same peer ip:port to it.\n" \ - "\n IP IP to listen on. '0' = all" \ - "\n PORT Port to listen on" \ - "\n PROG ARGS Program to run" \ - "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ - "\n -u USER[:GRP] Change to user/group after bind" \ - "\n -c N Handle up to N connections simultaneously" \ - "\n -h Look up peer's hostname" \ - "\n -E Don't set up environment variables" \ - "\n -v Verbose" \ - -#define tftp_trivial_usage \ - "[OPTIONS] HOST [PORT]" -#define tftp_full_usage "\n\n" \ - "Transfer a file from/to tftp server\n" \ - "\nOptions:" \ - "\n -l FILE Local FILE" \ - "\n -r FILE Remote FILE" \ - IF_FEATURE_TFTP_GET( \ - "\n -g Get file" \ - ) \ - IF_FEATURE_TFTP_PUT( \ - "\n -p Put file" \ - ) \ - IF_FEATURE_TFTP_BLOCKSIZE( \ - "\n -b SIZE Transfer blocks of SIZE octets" \ - ) - -#define tftpd_trivial_usage \ - "[-cr] [-u USER] [DIR]" -#define tftpd_full_usage "\n\n" \ - "Transfer a file on tftp client's request\n" \ - "\n" \ - "tftpd should be used as an inetd service.\n" \ - "tftpd's line for inetd.conf:\n" \ - " 69 dgram udp nowait root tftpd tftpd /files/to/serve\n" \ - "It also can be ran from udpsvd:\n" \ - " udpsvd -vE 0.0.0.0 69 tftpd /files/to/serve\n" \ - "\nOptions:" \ - "\n -r Prohibit upload" \ - "\n -c Allow file creation via upload" \ - "\n -u Access files as USER" \ - -#define time_trivial_usage \ - "[OPTIONS] PROG ARGS" -#define time_full_usage "\n\n" \ - "Run PROG, display resource usage when it exits\n" \ - "\nOptions:" \ - "\n -v Verbose" \ - -#define timeout_trivial_usage \ - "[-t SECS] [-s SIG] PROG ARGS" -#define timeout_full_usage "\n\n" \ - "Runs PROG. Sends SIG to it if it is not gone in SECS seconds.\n" \ - "Defaults: SECS: 10, SIG: TERM." \ - -#define top_trivial_usage \ - "[-b] [-nCOUNT] [-dSECONDS]" IF_FEATURE_TOPMEM(" [-m]") -#define top_full_usage "\n\n" \ - "Provide a view of process activity in real time.\n" \ - "Read the status of all processes from /proc each SECONDS\n" \ - "and display a screenful of them." \ -//TODO: add options and keyboard commands - -#define touch_trivial_usage \ - "[-c] [-d DATE] FILE [FILE]..." -#define touch_full_usage "\n\n" \ - "Update the last-modified date on the given FILE[s]\n" \ - "\nOptions:" \ - "\n -c Don't create files" \ - "\n -d DT Date/time to use" \ - -#define touch_example_usage \ - "$ ls -l /tmp/foo\n" \ - "/bin/ls: /tmp/foo: No such file or directory\n" \ - "$ touch /tmp/foo\n" \ - "$ ls -l /tmp/foo\n" \ - "-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo\n" - -#define tr_trivial_usage \ - "[-cds] STRING1 [STRING2]" -#define tr_full_usage "\n\n" \ - "Translate, squeeze, or delete characters from stdin, writing to stdout\n" \ - "\nOptions:" \ - "\n -c Take complement of STRING1" \ - "\n -d Delete input characters coded STRING1" \ - "\n -s Squeeze multiple output characters of STRING2 into one character" \ - -#define tr_example_usage \ - "$ echo \"gdkkn vnqkc\" | tr [a-y] [b-z]\n" \ - "hello world\n" - -#define traceroute_trivial_usage \ - "[-"IF_TRACEROUTE6("46")"FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ - " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE]\n" \ - " [-z PAUSE_MSEC] HOST [BYTES]" -#define traceroute_full_usage "\n\n" \ - "Trace the route to HOST\n" \ - "\nOptions:" \ - IF_TRACEROUTE6( \ - "\n -4, -6 Force IP or IPv6 name resolution" \ - ) \ - "\n -F Set the don't fragment bit" \ - "\n -I Use ICMP ECHO instead of UDP datagrams" \ - "\n -l Display the TTL value of the returned packet" \ - "\n -d Set SO_DEBUG options to socket" \ - "\n -n Print numeric addresses" \ - "\n -r Bypass routing tables, send directly to HOST" \ - "\n -v Verbose" \ - "\n -m Max time-to-live (max number of hops)" \ - "\n -p Base UDP port number used in probes" \ - "\n (default 33434)" \ - "\n -q Number of probes per TTL (default 3)" \ - "\n -s IP address to use as the source address" \ - "\n -t Type-of-service in probe packets (default 0)" \ - "\n -w Time in seconds to wait for a response (default 3)" \ - "\n -g Loose source route gateway (8 max)" \ - -#define traceroute6_trivial_usage \ - "[-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ - " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-i IFACE]\n" \ - " HOST [BYTES]" -#define traceroute6_full_usage "\n\n" \ - "Trace the route to HOST\n" \ - "\nOptions:" \ - "\n -d Set SO_DEBUG options to socket" \ - "\n -n Print numeric addresses" \ - "\n -r Bypass routing tables, send directly to HOST" \ - "\n -v Verbose" \ - "\n -m Max time-to-live (max number of hops)" \ - "\n -p Base UDP port number used in probes" \ - "\n (default is 33434)" \ - "\n -q Number of probes per TTL (default 3)" \ - "\n -s IP address to use as the source address" \ - "\n -t Type-of-service in probe packets (default 0)" \ - "\n -w Time in seconds to wait for a response (default 3)" \ - -#define true_trivial_usage \ - "" -#define true_full_usage "\n\n" \ - "Return an exit code of TRUE (0)" -#define true_example_usage \ - "$ true\n" \ - "$ echo $?\n" \ - "0\n" - -#define tty_trivial_usage \ - "" -#define tty_full_usage "\n\n" \ - "Print file name of stdin's terminal" \ - IF_INCLUDE_SUSv2( "\n" \ - "\nOptions:" \ - "\n -s Print nothing, only return exit status" \ - ) -#define tty_example_usage \ - "$ tty\n" \ - "/dev/tty2\n" - -#define ttysize_trivial_usage \ - "[w] [h]" -#define ttysize_full_usage "\n\n" \ - "Print dimension(s) of stdin's terminal, on error return 80x25" - -#define tunctl_trivial_usage \ - "[-f device] ([-t name] | -d name)" IF_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]") -#define tunctl_full_usage "\n\n" \ - "Create or delete tun interfaces\n" \ - "\nOptions:" \ - "\n -f name tun device (/dev/net/tun)" \ - "\n -t name Create iface 'name'" \ - "\n -d name Delete iface 'name'" \ - IF_FEATURE_TUNCTL_UG( \ - "\n -u owner Set iface owner" \ - "\n -g group Set iface group" \ - "\n -b Brief output" \ - ) -#define tunctl_example_usage \ - "# tunctl\n" \ - "# tunctl -d tun0\n" - -#define tune2fs_trivial_usage \ -/* "[-c max-mounts-count] [-e errors-behavior] [-g group] " */ \ -/* "[-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s sparse-flag] " */ \ -/* "[-m reserved-blocks-percent] [-o [^]mount-options[,...]] " */ \ -/* "[-r reserved-blocks-count] [-u user] [-C mount-count] " */ \ - "[-L LABEL] " \ -/* "[-M last-mounted-dir] [-O [^]feature[,...]] " */ \ -/* "[-T last-check-time] [-U UUID] " */ \ - "BLOCKDEV" -#define tune2fs_full_usage "\n\n" \ - "Adjust filesystem options on ext[23] filesystems" - -#define udhcpc_trivial_usage \ - "[-fbnqvoCR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n" \ - " [-H HOSTNAME] [-c CID] [-V VENDOR] [-O DHCP_OPT]..." IF_FEATURE_UDHCP_PORT(" [-P N]") -#define udhcpc_full_usage "\n" \ - IF_LONG_OPTS( \ - "\n -i,--interface IFACE Interface to use (default eth0)" \ - "\n -p,--pidfile FILE Create pidfile" \ - "\n -r,--request IP IP address to request" \ - "\n -s,--script PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \ - "\n -t,--retries N Send up to N discover packets" \ - "\n -T,--timeout N Pause between packets (default 3 seconds)" \ - "\n -A,--tryagain N Wait N seconds after failure (default 20)" \ - "\n -f,--foreground Run in foreground" \ - USE_FOR_MMU( \ - "\n -b,--background Background if lease is not obtained" \ - ) \ - "\n -S,--syslog Log to syslog too" \ - "\n -n,--now Exit if lease is not obtained" \ - "\n -q,--quit Exit after obtaining lease" \ - "\n -R,--release Release IP on exit" \ - IF_FEATURE_UDHCP_PORT( \ - "\n -P,--client-port N Use port N (default 68)" \ - ) \ - IF_FEATURE_UDHCPC_ARPING( \ - "\n -a,--arping Use arping to validate offered address" \ - ) \ - "\n -O,--request-option OPT Request DHCP option OPT (cumulative)" \ - "\n -o,--no-default-options Don't request any options (unless -O is given)" \ - "\n -x OPT:VAL Include option OPT in sent packets (cumulative)" \ - "\n -F,--fqdn NAME Ask server to update DNS mapping for NAME" \ - "\n -H,-h,--hostname NAME Send NAME as client hostname (default none)" \ - "\n -V,--vendorclass VENDOR Vendor identifier (default 'udhcp VERSION')" \ - "\n -c,--clientid CLIENTID Client identifier (default own MAC)" \ - "\n -C,--clientid-none Don't send client identifier" \ - ) \ - IF_NOT_LONG_OPTS( \ - "\n -i IFACE Interface to use (default eth0)" \ - "\n -p FILE Create pidfile" \ - "\n -r IP IP address to request" \ - "\n -s PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \ - "\n -t N Send up to N discover packets" \ - "\n -T N Pause between packets (default 3 seconds)" \ - "\n -A N Wait N seconds (default 20) after failure" \ - "\n -x OPT:VAL Include option OPT in sent packets" \ - "\n -O OPT Request DHCP option OPT (cumulative)" \ - "\n -o Don't request any options (unless -O is given)" \ - "\n -f Run in foreground" \ - USE_FOR_MMU( \ - "\n -b Background if lease is not obtained" \ - ) \ - "\n -S Log to syslog too" \ - "\n -n Exit if lease is not obtained" \ - "\n -q Exit after obtaining lease" \ - "\n -R Release IP on exit" \ - IF_FEATURE_UDHCP_PORT( \ - "\n -P N Use port N (default 68)" \ - ) \ - IF_FEATURE_UDHCPC_ARPING( \ - "\n -a Use arping to validate offered address" \ - ) \ - "\n -F NAME Ask server to update DNS mapping for NAME" \ - "\n -H,-h NAME Send NAME as client hostname (default none)" \ - "\n -V VENDOR Vendor identifier (default 'udhcp VERSION')" \ - "\n -c CLIENTID Client identifier (default own MAC)" \ - "\n -C Don't send client identifier" \ - ) - -#define udhcpd_trivial_usage \ - "[-fS]" IF_FEATURE_UDHCP_PORT(" [-P N]") " [configfile]" \ - -#define udhcpd_full_usage "\n\n" \ - "DHCP server\n" \ - "\n -f Run in foreground" \ - "\n -S Log to syslog too" \ - IF_FEATURE_UDHCP_PORT( \ - "\n -P N Use port N (default 67)" \ - ) - -#define umount_trivial_usage \ - "[OPTIONS] FILESYSTEM|DIRECTORY" -#define umount_full_usage "\n\n" \ - "Unmount file systems\n" \ - "\nOptions:" \ - IF_FEATURE_UMOUNT_ALL( \ - "\n -a Unmount all file systems" IF_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \ - ) \ - IF_FEATURE_MTAB_SUPPORT( \ - "\n -n Don't erase /etc/mtab entries" \ - ) \ - "\n -r Try to remount devices as read-only if mount is busy" \ - "\n -l Lazy umount (detach filesystem)" \ - "\n -f Force umount (i.e., unreachable NFS server)" \ - IF_FEATURE_MOUNT_LOOP( \ - "\n -d Free loop device if it has been used" \ - ) - -#define umount_example_usage \ - "$ umount /dev/hdc1\n" - -#define uname_trivial_usage \ - "[-amnrspv]" -#define uname_full_usage "\n\n" \ - "Print system information\n" \ - "\nOptions:" \ - "\n -a Print all" \ - "\n -m The machine (hardware) type" \ - "\n -n Hostname" \ - "\n -r OS release" \ - "\n -s OS name (default)" \ - "\n -p Processor type" \ - "\n -v OS version" \ - -#define uname_example_usage \ - "$ uname -a\n" \ - "Linux debian 2.4.23 #2 Tue Dec 23 17:09:10 MST 2003 i686 GNU/Linux\n" - -#define uncompress_trivial_usage \ - "[-cf] [FILE]..." -#define uncompress_full_usage "\n\n" \ - "Decompress .Z file[s]\n" \ - "\nOptions:" \ - "\n -c Write to stdout" \ - "\n -f Overwrite" \ - -#define unexpand_trivial_usage \ - "[-fa][-t N] [FILE]..." -#define unexpand_full_usage "\n\n" \ - "Convert spaces to tabs, writing to stdout\n" \ - "\nOptions:" \ - IF_FEATURE_UNEXPAND_LONG_OPTIONS( \ - "\n -a,--all Convert all blanks" \ - "\n -f,--first-only Convert only leading blanks" \ - "\n -t,--tabs=N Tabstops every N chars" \ - ) \ - IF_NOT_FEATURE_UNEXPAND_LONG_OPTIONS( \ - "\n -a Convert all blanks" \ - "\n -f Convert only leading blanks" \ - "\n -t N Tabstops every N chars" \ - ) - -#define uniq_trivial_usage \ - "[-cdu][-f,s,w N] [INPUT [OUTPUT]]" -#define uniq_full_usage "\n\n" \ - "Discard duplicate lines\n" \ - "\nOptions:" \ - "\n -c Prefix lines by the number of occurrences" \ - "\n -d Only print duplicate lines" \ - "\n -u Only print unique lines" \ - "\n -f N Skip first N fields" \ - "\n -s N Skip first N chars (after any skipped fields)" \ - "\n -w N Compare N characters in line" \ - -#define uniq_example_usage \ - "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \ - "a\n" \ - "b\n" \ - "c\n" - -#define unzip_trivial_usage \ - "[-opts[modifiers]] FILE[.zip] [LIST] [-x XLIST] [-d DIR]" -#define unzip_full_usage "\n\n" \ - "Extract files from ZIP archives\n" \ - "\nOptions:" \ - "\n -l List archive contents (with -q for short form)" \ - "\n -n Never overwrite files (default)" \ - "\n -o Overwrite" \ - "\n -p Send output to stdout" \ - "\n -q Quiet" \ - "\n -x XLST Exclude these files" \ - "\n -d DIR Extract files into DIR" \ - -#define uptime_trivial_usage \ - "" -#define uptime_full_usage "\n\n" \ - "Display the time since the last boot" - -#define uptime_example_usage \ - "$ uptime\n" \ - " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n" - -#define usleep_trivial_usage \ - "N" -#define usleep_full_usage "\n\n" \ - "Pause for N microseconds" - -#define usleep_example_usage \ - "$ usleep 1000000\n" \ - "[pauses for 1 second]\n" - -#define uudecode_trivial_usage \ - "[-o OUTFILE] [INFILE]" -#define uudecode_full_usage "\n\n" \ - "Uudecode a file\n" \ - "Finds outfile name in uuencoded source unless -o is given" - -#define uudecode_example_usage \ - "$ uudecode -o busybox busybox.uu\n" \ - "$ ls -l busybox\n" \ - "-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox\n" - -#define uuencode_trivial_usage \ - "[-m] [INFILE] STORED_FILENAME" -#define uuencode_full_usage "\n\n" \ - "Uuencode a file to stdout\n" \ - "\nOptions:" \ - "\n -m Use base64 encoding per RFC1521" \ - -#define uuencode_example_usage \ - "$ uuencode busybox busybox\n" \ - "begin 755 busybox\n" \ - "\n" \ - "$ uudecode busybox busybox > busybox.uu\n" \ - "$\n" - -#define vconfig_trivial_usage \ - "COMMAND [OPTIONS]" -#define vconfig_full_usage "\n\n" \ - "Create and remove virtual ethernet devices\n" \ - "\nOptions:" \ - "\n add [interface-name] [vlan_id]" \ - "\n rem [vlan-name]" \ - "\n set_flag [interface-name] [flag-num] [0 | 1]" \ - "\n set_egress_map [vlan-name] [skb_priority] [vlan_qos]" \ - "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ - "\n set_name_type [name-type]" \ - -#define vi_trivial_usage \ - "[OPTIONS] [FILE]..." -#define vi_full_usage "\n\n" \ - "Edit FILE\n" \ - "\nOptions:" \ - IF_FEATURE_VI_COLON( \ - "\n -c Initial command to run ($EXINIT also available)") \ - IF_FEATURE_VI_READONLY( \ - "\n -R Read-only") \ - "\n -H Short help regarding available features" \ - -#define vlock_trivial_usage \ - "[OPTIONS]" -#define vlock_full_usage "\n\n" \ - "Lock a virtual terminal. A password is required to unlock.\n" \ - "\nOptions:" \ - "\n -a Lock all VTs" \ - -#define volname_trivial_usage \ - "[DEVICE]" -#define volname_full_usage "\n\n" \ - "Show CD volume name of the DEVICE (default /dev/cdrom)" - -#define wall_trivial_usage \ - "[FILE]" -#define wall_full_usage "\n\n" \ - "Write content of FILE or stdin to all logged-in users" -#define wall_sample_usage \ - "echo foo | wall\n" \ - "wall ./mymessage" - -#define watch_trivial_usage \ - "[-n SEC] [-t] PROG ARGS" -#define watch_full_usage "\n\n" \ - "Run PROG periodically\n" \ - "\nOptions:" \ - "\n -n Loop period in seconds (default 2)" \ - "\n -t Don't print header" \ - -#define watch_example_usage \ - "$ watch date\n" \ - "Mon Dec 17 10:31:40 GMT 2000\n" \ - "Mon Dec 17 10:31:42 GMT 2000\n" \ - "Mon Dec 17 10:31:44 GMT 2000" - -#define watchdog_trivial_usage \ - "[-t N[ms]] [-T N[ms]] [-F] DEV" -#define watchdog_full_usage "\n\n" \ - "Periodically write to watchdog device DEV\n" \ - "\nOptions:" \ - "\n -T N Reboot after N seconds if not reset (default 60)" \ - "\n -t N Reset every N seconds (default 30)" \ - "\n -F Run in foreground" \ - "\n" \ - "\nUse 500ms to specify period in milliseconds" \ - -#define wc_trivial_usage \ - "[OPTIONS] [FILE]..." -#define wc_full_usage "\n\n" \ - "Print line, word, and byte counts for each FILE (or stdin),\n" \ - "and a total line if more than one FILE is specified\n" \ - "\nOptions:" \ - "\n -c Print the byte counts" \ - "\n -l Print the newline counts" \ - "\n -L Print the length of the longest line" \ - "\n -w Print the word counts" \ - -#define wc_example_usage \ - "$ wc /etc/passwd\n" \ - " 31 46 1365 /etc/passwd\n" - -#define wget_trivial_usage \ - IF_FEATURE_WGET_LONG_OPTIONS( \ - "[-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]\n" \ - " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ - " [--no-check-certificate] [-U|--user-agent AGENT] URL" \ - ) \ - IF_NOT_FEATURE_WGET_LONG_OPTIONS( \ - "[-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL" \ - ) -#define wget_full_usage "\n\n" \ - "Retrieve files via HTTP or FTP\n" \ - "\nOptions:" \ - "\n -s Spider mode - only check file existence" \ - "\n -c Continue retrieval of aborted transfer" \ - "\n -q Quiet" \ - "\n -P Set directory prefix to DIR" \ - "\n -O FILE Save to FILE ('-' for stdout)" \ - "\n -U STR Use STR for User-Agent header" \ - "\n -Y Use proxy ('on' or 'off')" \ - -#define which_trivial_usage \ - "[COMMAND]..." -#define which_full_usage "\n\n" \ - "Locate a COMMAND" -#define which_example_usage \ - "$ which login\n" \ - "/bin/login\n" - -#define who_trivial_usage \ - "[-a]" -#define who_full_usage "\n\n" \ - "Show who is logged on\n" \ - "\nOptions:" \ - "\n -a show all" \ - -#define whoami_trivial_usage \ - "" -#define whoami_full_usage "\n\n" \ - "Print the user name associated with the current effective user id" - -#define xargs_trivial_usage \ - "[OPTIONS] [PROG ARGS]" -#define xargs_full_usage "\n\n" \ - "Run PROG on every item given by stdin\n" \ - "\nOptions:" \ - IF_FEATURE_XARGS_SUPPORT_CONFIRMATION( \ - "\n -p Ask user whether to run each command") \ - "\n -r Don't run command if input is empty" \ - IF_FEATURE_XARGS_SUPPORT_ZERO_TERM( \ - "\n -0 Input is separated by NUL characters") \ - "\n -t Print the command on stderr before execution" \ - "\n -e[STR] STR stops input processing" \ - "\n -n N Pass no more than N args to PROG" \ - "\n -s N Pass command line of no more than N bytes" \ - IF_FEATURE_XARGS_SUPPORT_TERMOPT( \ - "\n -x Exit if size is exceeded") \ - -#define xargs_example_usage \ - "$ ls | xargs gzip\n" \ - "$ find . -name '*.c' -print | xargs rm\n" - -#define yes_trivial_usage \ - "[OPTIONS] [STRING]" -#define yes_full_usage "\n\n" \ - "Repeatedly output a line with STRING, or 'y'" - -#define zcat_trivial_usage \ - "FILE" -#define zcat_full_usage "\n\n" \ - "Decompress to stdout" - -#define zcip_trivial_usage \ - "[OPTIONS] IFACE SCRIPT" -#define zcip_full_usage "\n\n" \ - "Manage a ZeroConf IPv4 link-local address\n" \ - "\nOptions:" \ - "\n -f Run in foreground" \ - "\n -q Quit after obtaining address" \ - "\n -r 169.254.x.x Request this address first" \ - "\n -v Verbose" \ - "\n" \ - "\nWith no -q, runs continuously monitoring for ARP conflicts," \ - "\nexits only on I/O errors (link down etc)" \ - - -#endif diff --git a/include/usage.src.h b/include/usage.src.h new file mode 100644 index 000000000..78c0a0f1c --- /dev/null +++ b/include/usage.src.h @@ -0,0 +1,5263 @@ +/* vi: set sw=8 ts=8: */ +/* + * This file suffers from chronically incorrect tabification + * of messages. Before editing this file: + * 1. Switch you editor to 8-space tab mode. + * 2. Do not use \t in messages, use real tab character. + * 3. Start each source line with message as follows: + * |<7 spaces>"text with tabs".... + * or + * |<5 spaces>"\ntext with tabs".... + */ +#ifndef BB_USAGE_H +#define BB_USAGE_H 1 + + +#define NOUSAGE_STR "\b" + +INSERT + +#define acpid_trivial_usage \ + "[-d] [-c CONFDIR] [-l LOGFILE] [-e PROC_EVENT_FILE] [EVDEV_EVENT_FILE]..." +#define acpid_full_usage "\n\n" \ + "Listen to ACPI events and spawn specific helpers on event arrival\n" \ + "\nOptions:" \ + "\n -d Don't daemonize, log to stderr" \ + "\n -c DIR Config directory [/etc/acpi]" \ + "\n -e FILE /proc event file [/proc/acpi/event]" \ + "\n -l FILE Log file [/var/log/acpid]" \ + IF_FEATURE_ACPID_COMPAT( \ + "\n\nAccept and ignore compatibility options -g -m -s -S -v" \ + ) + +#define acpid_example_usage \ + "# acpid -l /var/log/my-acpi-log\n" \ + "# acpid -d /dev/input/event*\n" + +#define addgroup_trivial_usage \ + "[-g GID] " IF_FEATURE_ADDUSER_TO_GROUP("[USER] ") "GROUP" +#define addgroup_full_usage "\n\n" \ + "Add a group " IF_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \ + "\nOptions:" \ + "\n -g GID Group id" \ + "\n -S Create a system group" \ + +#define adduser_trivial_usage \ + "[OPTIONS] USER" +#define adduser_full_usage "\n\n" \ + "Add a user\n" \ + "\nOptions:" \ + "\n -h DIR Home directory" \ + "\n -g GECOS GECOS field" \ + "\n -s SHELL Login shell" \ + "\n -G GRP Add user to existing group" \ + "\n -S Create a system user" \ + "\n -D Don't assign a password" \ + "\n -H Don't create home directory" \ + "\n -u UID User id" \ + +#define adjtimex_trivial_usage \ + "[-q] [-o OFF] [-f FREQ] [-p TCONST] [-t TICK]" +#define adjtimex_full_usage "\n\n" \ + "Read and optionally set system timebase parameters. See adjtimex(2)\n" \ + "\nOptions:" \ + "\n -q Quiet" \ + "\n -o OFF Time offset, microseconds" \ + "\n -f FREQ Frequency adjust, integer kernel units (65536 is 1ppm)" \ + "\n (positive values make clock run faster)" \ + "\n -t TICK Microseconds per tick, usually 10000" \ + "\n -p TCONST" \ + +#define ar_trivial_usage \ + "[-o] [-v] [-p] [-t] [-x] ARCHIVE FILES" +#define ar_full_usage "\n\n" \ + "Extract or list FILES from an ar archive\n" \ + "\nOptions:" \ + "\n -o Preserve original dates" \ + "\n -p Extract to stdout" \ + "\n -t List" \ + "\n -x Extract" \ + "\n -v Verbose" \ + +#define arp_trivial_usage \ + "\n[-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME]" \ + "\n[-v] [-i IF] -d HOSTNAME [pub]" \ + "\n[-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp]" \ + "\n[-v] [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub" \ + "\n[-v] [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub" +#define arp_full_usage "\n\n" \ + "Manipulate ARP cache\n" \ + "\nOptions:" \ + "\n -a Display (all) hosts" \ + "\n -s Set new ARP entry" \ + "\n -d Delete a specified entry" \ + "\n -v Verbose" \ + "\n -n Don't resolve names" \ + "\n -i IF Network interface" \ + "\n -D Read from given device" \ + "\n -A, -p AF Protocol family" \ + "\n -H HWTYPE Hardware address type" \ + +#define arping_trivial_usage \ + "[-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP" +#define arping_full_usage "\n\n" \ + "Send ARP requests/replies\n" \ + "\nOptions:" \ + "\n -f Quit on first ARP reply" \ + "\n -q Quiet" \ + "\n -b Keep broadcasting, don't go unicast" \ + "\n -D Duplicated address detection mode" \ + "\n -U Unsolicited ARP mode, update your neighbors" \ + "\n -A ARP answer mode, update your neighbors" \ + "\n -c N Stop after sending N ARP requests" \ + "\n -w TIMEOUT Time to wait for ARP reply, seconds" \ + "\n -I IFACE Interface to use (default eth0)" \ + "\n -s SRC_IP Sender IP address" \ + "\n DST_IP Target IP address" \ + +#define sh_trivial_usage NOUSAGE_STR +#define sh_full_usage "" +#define ash_trivial_usage NOUSAGE_STR +#define ash_full_usage "" +#define hush_trivial_usage NOUSAGE_STR +#define hush_full_usage "" +#define lash_trivial_usage NOUSAGE_STR +#define lash_full_usage "" +#define msh_trivial_usage NOUSAGE_STR +#define msh_full_usage "" +#define bash_trivial_usage NOUSAGE_STR +#define bash_full_usage "" + +#define awk_trivial_usage \ + "[OPTIONS] [AWK_PROGRAM] [FILE]..." +#define awk_full_usage "\n\n" \ + "Options:" \ + "\n -v VAR=VAL Set variable" \ + "\n -F SEP Use SEP as field separator" \ + "\n -f FILE Read program from FILE" \ + +#define basename_trivial_usage \ + "FILE [SUFFIX]" +#define basename_full_usage "\n\n" \ + "Strip directory path and .SUFFIX from FILE\n" +#define basename_example_usage \ + "$ basename /usr/local/bin/foo\n" \ + "foo\n" \ + "$ basename /usr/local/bin/\n" \ + "bin\n" \ + "$ basename /foo/bar.txt .txt\n" \ + "bar" + +#define beep_trivial_usage \ + "-f FREQ -l LEN -d DELAY -r COUNT -n" +#define beep_full_usage "\n\n" \ + "Options:" \ + "\n -f Frequency in Hz" \ + "\n -l Length in ms" \ + "\n -d Delay in ms" \ + "\n -r Repetitions" \ + "\n -n Start new tone" \ + +#define blkid_trivial_usage \ + "" +#define blkid_full_usage "\n\n" \ + "Print UUIDs of all filesystems" + +#define bootchartd_trivial_usage \ + "start [PROG ARGS]|stop|init" +#define bootchartd_full_usage "\n\n" \ + "Create /var/log/bootchart.tgz with boot chart data\n" \ + "\nOptions:" \ + "\nstart: start background logging; with PROG, run PROG, then kill logging with USR1" \ + "\nstop: send USR1 to all bootchartd processes" \ + "\ninit: start background logging; stop when getty/xdm is seen (for init scripts)" \ + "\nUnder PID 1: as init, then exec $bootchart_init, /init, /sbin/init" \ + +#define brctl_trivial_usage \ + "COMMAND [BRIDGE [INTERFACE]]" +#define brctl_full_usage "\n\n" \ + "Manage ethernet bridges\n" \ + "\nCommands:" \ + IF_FEATURE_BRCTL_SHOW( \ + "\n show Show a list of bridges" \ + ) \ + "\n addbr BRIDGE Create BRIDGE" \ + "\n delbr BRIDGE Delete BRIDGE" \ + "\n addif BRIDGE IFACE Add IFACE to BRIDGE" \ + "\n delif BRIDGE IFACE Delete IFACE from BRIDGE" \ + IF_FEATURE_BRCTL_FANCY( \ + "\n setageing BRIDGE TIME Set ageing time" \ + "\n setfd BRIDGE TIME Set bridge forward delay" \ + "\n sethello BRIDGE TIME Set hello time" \ + "\n setmaxage BRIDGE TIME Set max message age" \ + "\n setpathcost BRIDGE COST Set path cost" \ + "\n setportprio BRIDGE PRIO Set port priority" \ + "\n setbridgeprio BRIDGE PRIO Set bridge priority" \ + "\n stp BRIDGE [1/yes/on|0/no/off] STP on/off" \ + ) \ + +#define bzip2_trivial_usage \ + "[OPTIONS] [FILE]..." +#define bzip2_full_usage "\n\n" \ + "Compress FILEs (or stdin) with bzip2 algorithm\n" \ + "\nOptions:" \ + "\n -1..9 Compression level" \ + "\n -d Decompress" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + +#define busybox_notes_usage \ + "Hello world!\n" + +#define lzop_trivial_usage \ + "[-cfvd123456789CF] [FILE]..." +#define lzop_full_usage "\n\n" \ + "Options:" \ + "\n -1..9 Compression level" \ + "\n -d Decompress" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + "\n -v Verbose" \ + "\n -F Don't store or verify checksum" \ + "\n -C Also write checksum of compressed block" \ + +#define lzopcat_trivial_usage \ + "[-vCF] [FILE]..." +#define lzopcat_full_usage "\n\n" \ + " -v Verbose" \ + "\n -F Don't store or verify checksum" \ + +#define unlzop_trivial_usage \ + "[-cfvCF] [FILE]..." +#define unlzop_full_usage "\n\n" \ + "Options:" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + "\n -v Verbose" \ + "\n -F Don't store or verify checksum" \ + +#define unlzma_trivial_usage \ + "[OPTIONS] [FILE]..." +#define unlzma_full_usage "\n\n" \ + "Decompress FILE (or stdin)\n" \ + "\nOptions:" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + +#define lzma_trivial_usage \ + "-d [OPTIONS] [FILE]..." +#define lzma_full_usage "\n\n" \ + "Decompress FILE (or stdin)\n" \ + "\nOptions:" \ + "\n -d Decompress" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + +#define lzcat_trivial_usage \ + "FILE" +#define lzcat_full_usage "\n\n" \ + "Decompress to stdout" + +#define unxz_trivial_usage \ + "[OPTIONS] [FILE]..." +#define unxz_full_usage "\n\n" \ + "Decompress FILE (or stdin)\n" \ + "\nOptions:" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + +#define xz_trivial_usage \ + "-d [OPTIONS] [FILE]..." +#define xz_full_usage "\n\n" \ + "Decompress FILE (or stdin)\n" \ + "\nOptions:" \ + "\n -d Decompress" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + +#define xzcat_trivial_usage \ + "FILE" +#define xzcat_full_usage "\n\n" \ + "Decompress to stdout" + +#define cal_trivial_usage \ + "[-jy] [[MONTH] YEAR]" +#define cal_full_usage "\n\n" \ + "Display a calendar\n" \ + "\nOptions:" \ + "\n -j Use julian dates" \ + "\n -y Display the entire year" \ + +#define cat_trivial_usage \ + "[FILE]..." +#define cat_full_usage "\n\n" \ + "Concatenate FILEs and print them to stdout" \ + +#define cat_example_usage \ + "$ cat /proc/uptime\n" \ + "110716.72 17.67" + +#define catv_trivial_usage \ + "[-etv] [FILE]..." +#define catv_full_usage "\n\n" \ + "Display nonprinting characters as ^x or M-x\n" \ + "\nOptions:" \ + "\n -e End each line with $" \ + "\n -t Show tabs as ^I" \ + "\n -v Don't use ^x or M-x escapes" \ + +#define chat_trivial_usage \ + "EXPECT [SEND [EXPECT [SEND...]]]" +#define chat_full_usage "\n\n" \ + "Useful for interacting with a modem connected to stdin/stdout.\n" \ + "A script consists of one or more \"expect-send\" pairs of strings,\n" \ + "each pair is a pair of arguments. Example:\n" \ + "chat '' ATZ OK ATD123456 CONNECT '' ogin: pppuser word: ppppass '~'" \ + +#define chattr_trivial_usage \ + "[-R] [-+=AacDdijsStTu] [-v VERSION] [FILE]..." +#define chattr_full_usage "\n\n" \ + "Change file attributes on an ext2 fs\n" \ + "\nModifiers:" \ + "\n - Remove attributes" \ + "\n + Add attributes" \ + "\n = Set attributes" \ + "\nAttributes:" \ + "\n A Don't track atime" \ + "\n a Append mode only" \ + "\n c Enable compress" \ + "\n D Write dir contents synchronously" \ + "\n d Don't backup with dump" \ + "\n i Cannot be modified (immutable)" \ + "\n j Write all data to journal first" \ + "\n s Zero disk storage when deleted" \ + "\n S Write file contents synchronously" \ + "\n t Disable tail-merging of partial blocks with other files" \ + "\n u Allow file to be undeleted" \ + "\nOptions:" \ + "\n -R Recurse" \ + "\n -v Set the file's version/generation number" \ + +#define chcon_trivial_usage \ + "[OPTIONS] CONTEXT FILE..." \ + "\n chcon [OPTIONS] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..." \ + IF_FEATURE_CHCON_LONG_OPTIONS( \ + "\n chcon [OPTIONS] --reference=RFILE FILE..." \ + ) +#define chcon_full_usage "\n\n" \ + "Change the security context of each FILE to CONTEXT\n" \ + IF_FEATURE_CHCON_LONG_OPTIONS( \ + "\n -v,--verbose Verbose" \ + "\n -c,--changes Report changes made" \ + "\n -h,--no-dereference Affect symlinks instead of their targets" \ + "\n -f,--silent,--quiet Suppress most error messages" \ + "\n --reference=RFILE Use RFILE's group instead of using a CONTEXT value" \ + "\n -u,--user=USER Set user/role/type/range in the target" \ + "\n -r,--role=ROLE security context" \ + "\n -t,--type=TYPE" \ + "\n -l,--range=RANGE" \ + "\n -R,--recursive Recurse" \ + ) \ + IF_NOT_FEATURE_CHCON_LONG_OPTIONS( \ + "\n -v Verbose" \ + "\n -c Report changes made" \ + "\n -h Affect symlinks instead of their targets" \ + "\n -f Suppress most error messages" \ + "\n -u USER Set user/role/type/range in the target security context" \ + "\n -r ROLE" \ + "\n -t TYPE" \ + "\n -l RNG" \ + "\n -R Recurse" \ + ) + +#define chmod_trivial_usage \ + "[-R"IF_DESKTOP("cvf")"] MODE[,MODE]... FILE..." +#define chmod_full_usage "\n\n" \ + "Each MODE is one or more of the letters ugoa, one of the\n" \ + "symbols +-= and one or more of the letters rwxst\n" \ + "\nOptions:" \ + "\n -R Recurse" \ + IF_DESKTOP( \ + "\n -c List changed files" \ + "\n -v List all files" \ + "\n -f Hide errors" \ + ) +#define chmod_example_usage \ + "$ ls -l /tmp/foo\n" \ + "-rw-rw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" \ + "$ chmod u+x /tmp/foo\n" \ + "$ ls -l /tmp/foo\n" \ + "-rwxrw-r-- 1 root root 0 Apr 12 18:25 /tmp/foo*\n" \ + "$ chmod 444 /tmp/foo\n" \ + "$ ls -l /tmp/foo\n" \ + "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" + +#define chgrp_trivial_usage \ + "[-RhLHP"IF_DESKTOP("cvf")"]... GROUP FILE..." +#define chgrp_full_usage "\n\n" \ + "Change the group membership of each FILE to GROUP\n" \ + "\nOptions:" \ + "\n -R Recurse" \ + "\n -h Affect symlinks instead of symlink targets" \ + "\n -L Traverse all symlinks to directories" \ + "\n -H Traverse symlinks on command line only" \ + "\n -P Don't traverse symlinks (default)" \ + IF_DESKTOP( \ + "\n -c List changed files" \ + "\n -v Verbose" \ + "\n -f Hide errors" \ + ) +#define chgrp_example_usage \ + "$ ls -l /tmp/foo\n" \ + "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ + "$ chgrp root /tmp/foo\n" \ + "$ ls -l /tmp/foo\n" \ + "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" + +#define chown_trivial_usage \ + "[-RhLHP"IF_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." +#define chown_full_usage "\n\n" \ + "Change the owner and/or group of each FILE to OWNER and/or GROUP\n" \ + "\nOptions:" \ + "\n -R Recurse" \ + "\n -h Affect symlinks instead of symlink targets" \ + "\n -L Traverse all symlinks to directories" \ + "\n -H Traverse symlinks on command line only" \ + "\n -P Don't traverse symlinks (default)" \ + IF_DESKTOP( \ + "\n -c List changed files" \ + "\n -v List all files" \ + "\n -f Hide errors" \ + ) +#define chown_example_usage \ + "$ ls -l /tmp/foo\n" \ + "-r--r--r-- 1 andersen andersen 0 Apr 12 18:25 /tmp/foo\n" \ + "$ chown root /tmp/foo\n" \ + "$ ls -l /tmp/foo\n" \ + "-r--r--r-- 1 root andersen 0 Apr 12 18:25 /tmp/foo\n" \ + "$ chown root.root /tmp/foo\n" \ + "ls -l /tmp/foo\n" \ + "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" + +#define chpst_trivial_usage \ + "[-vP012] [-u USER[:GRP]] [-U USER[:GRP]] [-e DIR]\n" \ + " [-/ DIR] [-n NICE] [-m BYTES] [-d BYTES] [-o N]\n" \ + " [-p N] [-f BYTES] [-c BYTES] PROG ARGS" +#define chpst_full_usage "\n\n" \ + "Change the process state and run PROG\n" \ + "\nOptions:" \ + "\n -u USER[:GRP] Set uid and gid" \ + "\n -U USER[:GRP] Set $UID and $GID in environment" \ + "\n -e DIR Set environment variables as specified by files" \ + "\n in DIR: file=1st_line_of_file" \ + "\n -/ DIR Chroot to DIR" \ + "\n -n NICE Add NICE to nice value" \ + "\n -m BYTES Same as -d BYTES -s BYTES -l BYTES" \ + "\n -d BYTES Limit data segment" \ + "\n -o N Limit number of open files per process" \ + "\n -p N Limit number of processes per uid" \ + "\n -f BYTES Limit output file sizes" \ + "\n -c BYTES Limit core file size" \ + "\n -v Verbose" \ + "\n -P Create new process group" \ + "\n -0 Close stdin" \ + "\n -1 Close stdout" \ + "\n -2 Close stderr" \ + +#define setuidgid_trivial_usage \ + "USER PROG ARGS" +#define setuidgid_full_usage "\n\n" \ + "Set uid and gid to USER's uid and gid, removing all supplementary\n" \ + "groups and run PROG" +#define envuidgid_trivial_usage \ + "USER PROG ARGS" +#define envuidgid_full_usage "\n\n" \ + "Set $UID to USER's uid and $GID to USER's gid and run PROG" +#define envdir_trivial_usage \ + "DIR PROG ARGS" +#define envdir_full_usage "\n\n" \ + "Set various environment variables as specified by files\n" \ + "in the directory dir and run PROG" +#define softlimit_trivial_usage \ + "[-a BYTES] [-m BYTES] [-d BYTES] [-s BYTES] [-l BYTES]\n" \ + " [-f BYTES] [-c BYTES] [-r BYTES] [-o N] [-p N] [-t N]\n" \ + " PROG ARGS" +#define softlimit_full_usage "\n\n" \ + "Set soft resource limits, then run PROG\n" \ + "\nOptions:" \ + "\n -a BYTES Limit total size of all segments" \ + "\n -m BYTES Same as -d BYTES -s BYTES -l BYTES -a BYTES" \ + "\n -d BYTES Limit data segment" \ + "\n -s BYTES Limit stack segment" \ + "\n -l BYTES Limit locked memory size" \ + "\n -o N Limit number of open files per process" \ + "\n -p N Limit number of processes per uid" \ + "\nOptions controlling file sizes:" \ + "\n -f BYTES Limit output file sizes" \ + "\n -c BYTES Limit core file size" \ + "\nEfficiency opts:" \ + "\n -r BYTES Limit resident set size" \ + "\n -t N Limit CPU time, process receives" \ + "\n a SIGXCPU after N seconds" \ + +#define chroot_trivial_usage \ + "NEWROOT [PROG ARGS]" +#define chroot_full_usage "\n\n" \ + "Run PROG with root directory set to NEWROOT" +#define chroot_example_usage \ + "$ ls -l /bin/ls\n" \ + "lrwxrwxrwx 1 root root 12 Apr 13 00:46 /bin/ls -> /BusyBox\n" \ + "# mount /dev/hdc1 /mnt -t minix\n" \ + "# chroot /mnt\n" \ + "# ls -l /bin/ls\n" \ + "-rwxr-xr-x 1 root root 40816 Feb 5 07:45 /bin/ls*\n" + +#define chvt_trivial_usage \ + "N" +#define chvt_full_usage "\n\n" \ + "Change the foreground virtual terminal to /dev/ttyN" + +#define cksum_trivial_usage \ + "FILES..." +#define cksum_full_usage "\n\n" \ + "Calculate the CRC32 checksums of FILES" + +#define clear_trivial_usage \ + "" +#define clear_full_usage "\n\n" \ + "Clear screen" + +#define cmp_trivial_usage \ + "[-l] [-s] FILE1 [FILE2" IF_DESKTOP(" [SKIP1 [SKIP2]]") "]" +#define cmp_full_usage "\n\n" \ + "Compare FILE1 with FILE2 (or stdin)\n" \ + "\nOptions:" \ + "\n -l Write the byte numbers (decimal) and values (octal)" \ + "\n for all differing bytes" \ + "\n -s Quiet" \ + +#define comm_trivial_usage \ + "[-123] FILE1 FILE2" +#define comm_full_usage "\n\n" \ + "Compare FILE1 with FILE2\n" \ + "\nOptions:" \ + "\n -1 Suppress lines unique to FILE1" \ + "\n -2 Suppress lines unique to FILE2" \ + "\n -3 Suppress lines common to both files" \ + +#define bbconfig_trivial_usage \ + "" +#define bbconfig_full_usage "\n\n" \ + "Print the config file which built busybox" + +#define chrt_trivial_usage \ + "[OPTIONS] [PRIO] [PID | PROG ARGS]" +#define chrt_full_usage "\n\n" \ + "Manipulate real-time attributes of a process\n" \ + "\nOptions:" \ + "\n -p Operate on PID" \ + "\n -r Set SCHED_RR scheduling" \ + "\n -f Set SCHED_FIFO scheduling" \ + "\n -o Set SCHED_OTHER scheduling" \ + "\n -m Show min and max priorities" \ + +#define chrt_example_usage \ + "$ chrt -r 4 sleep 900; x=$!\n" \ + "$ chrt -f -p 3 $x\n" \ + "You need CAP_SYS_NICE privileges to set scheduling attributes of a process" + +#define cp_trivial_usage \ + "[OPTIONS] SOURCE DEST" +#define cp_full_usage "\n\n" \ + "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY\n" \ + "\nOptions:" \ + "\n -a Same as -dpR" \ + IF_SELINUX( \ + "\n -c Preserve security context" \ + ) \ + "\n -R,-r Recurse" \ + "\n -d,-P Preserve symlinks (default if -R)" \ + "\n -L Follow all symlinks" \ + "\n -H Follow symlinks on command line" \ + "\n -p Preserve file attributes if possible" \ + "\n -f Overwrite" \ + "\n -i Prompt before overwrite" \ + "\n -l,-s Create (sym)links" \ + +#define cpio_trivial_usage \ + "[-dmvu] [-F FILE]" IF_FEATURE_CPIO_O(" [-H newc]") \ + " [-ti"IF_FEATURE_CPIO_O("o")"]" IF_FEATURE_CPIO_P(" [-p DIR]") +#define cpio_full_usage "\n\n" \ + "Extract or list files from a cpio archive" \ + IF_FEATURE_CPIO_O(", or" \ + "\ncreate an archive" IF_FEATURE_CPIO_P(" (-o) or copy files (-p)") \ + " using file list on stdin" \ + ) \ + "\n" \ + "\nMain operation mode:" \ + "\n -t List" \ + "\n -i Extract" \ + IF_FEATURE_CPIO_O( \ + "\n -o Create (requires -H newc)" \ + ) \ + IF_FEATURE_CPIO_P( \ + "\n -p DIR Copy files to DIR" \ + ) \ + "\nOptions:" \ + "\n -d Make leading directories" \ + "\n -m Preserve mtime" \ + "\n -v Verbose" \ + "\n -u Overwrite" \ + "\n -F FILE Input (-t,-i,-p) or output (-o) file" \ + IF_FEATURE_CPIO_O( \ + "\n -H newc Archive format" \ + ) \ + +#define crond_trivial_usage \ + "-fbS -l N " IF_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR" +#define crond_full_usage "\n\n" \ + " -f Foreground" \ + "\n -b Background (default)" \ + "\n -S Log to syslog (default)" \ + "\n -l Set log level. 0 is the most verbose, default 8" \ + IF_FEATURE_CROND_D( \ + "\n -d Set log level, log to stderr" \ + ) \ + "\n -L Log to file" \ + "\n -c Working dir" \ + +#define crontab_trivial_usage \ + "[-c DIR] [-u USER] [-ler]|[FILE]" +#define crontab_full_usage "\n\n" \ + " -c Crontab directory" \ + "\n -u User" \ + "\n -l List crontab" \ + "\n -e Edit crontab" \ + "\n -r Delete crontab" \ + "\n FILE Replace crontab by FILE ('-': stdin)" \ + +#define cryptpw_trivial_usage \ + "[OPTIONS] [PASSWORD] [SALT]" +/* We do support -s, we just don't mention it */ +#define cryptpw_full_usage "\n\n" \ + "Crypt the PASSWORD using crypt(3)\n" \ + "\nOptions:" \ + IF_LONG_OPTS( \ + "\n -P,--password-fd=N Read password from fd N" \ +/* "\n -s,--stdin Use stdin; like -P0" */ \ + "\n -m,--method=TYPE Encryption method TYPE" \ + "\n -S,--salt=SALT" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -P N Read password from fd N" \ +/* "\n -s Use stdin; like -P0" */ \ + "\n -m TYPE Encryption method TYPE" \ + "\n -S SALT" \ + ) \ + +/* mkpasswd is an alias to cryptpw */ + +#define mkpasswd_trivial_usage \ + "[OPTIONS] [PASSWORD] [SALT]" +/* We do support -s, we just don't mention it */ +#define mkpasswd_full_usage "\n\n" \ + "Crypt the PASSWORD using crypt(3)\n" \ + "\nOptions:" \ + IF_LONG_OPTS( \ + "\n -P,--password-fd=N Read password from fd N" \ +/* "\n -s,--stdin Use stdin; like -P0" */ \ + "\n -m,--method=TYPE Encryption method TYPE" \ + "\n -S,--salt=SALT" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -P N Read password from fd N" \ +/* "\n -s Use stdin; like -P0" */ \ + "\n -m TYPE Encryption method TYPE" \ + "\n -S SALT" \ + ) \ + +#define cttyhack_trivial_usage \ + "PROG ARGS" +#define cttyhack_full_usage "\n\n" \ + "Give PROG a controlling tty if possible." \ + "\nExample for /etc/inittab (for busybox init):" \ + "\n ::respawn:/bin/cttyhack /bin/sh" \ + "\nGiving controlling tty to shell running with PID 1:" \ + "\n $ exec cttyhack sh" \ + "\nStarting interactive shell from boot shell script:" \ + "\n setsid cttyhack sh" \ + +#define cut_trivial_usage \ + "[OPTIONS] [FILE]..." +#define cut_full_usage "\n\n" \ + "Print selected fields from each input FILE to stdout\n" \ + "\nOptions:" \ + "\n -b LIST Output only bytes from LIST" \ + "\n -c LIST Output only characters from LIST" \ + "\n -d CHAR Use CHAR instead of tab as the field delimiter" \ + "\n -s Output only the lines containing delimiter" \ + "\n -f N Print only these fields" \ + "\n -n Ignored" \ + +#define cut_example_usage \ + "$ echo \"Hello world\" | cut -f 1 -d ' '\n" \ + "Hello\n" \ + "$ echo \"Hello world\" | cut -f 2 -d ' '\n" \ + "world\n" + +#define date_trivial_usage \ + "[OPTIONS] [+FMT] [TIME]" +#define date_full_usage "\n\n" \ + "Display time (using +FMT), or set time\n" \ + "\nOptions:" \ + IF_NOT_LONG_OPTS( \ + "\n [-s] TIME Set time to TIME" \ + "\n -u Work in UTC (don't convert to local time)" \ + "\n -R Output RFC-2822 compliant date string" \ + ) IF_LONG_OPTS( \ + "\n [-s,--set] TIME Set time to TIME" \ + "\n -u,--utc Work in UTC (don't convert to local time)" \ + "\n -R,--rfc-2822 Output RFC-2822 compliant date string" \ + ) \ + IF_FEATURE_DATE_ISOFMT( \ + "\n -I[SPEC] Output ISO-8601 compliant date string" \ + "\n SPEC='date' (default) for date only," \ + "\n 'hours', 'minutes', or 'seconds' for date and" \ + "\n time to the indicated precision" \ + ) IF_NOT_LONG_OPTS( \ + "\n -r FILE Display last modification time of FILE" \ + "\n -d TIME Display TIME, not 'now'" \ + ) IF_LONG_OPTS( \ + "\n -r,--reference FILE Display last modification time of FILE" \ + "\n -d,--date TIME Display TIME, not 'now'" \ + ) \ + IF_FEATURE_DATE_ISOFMT( \ + "\n -D FMT Use FMT for -d TIME conversion" \ + ) \ + "\n" \ + "\nRecognized TIME formats:" \ + "\n hh:mm[:ss]" \ + "\n [YYYY.]MM.DD-hh:mm[:ss]" \ + "\n YYYY-MM-DD hh:mm[:ss]" \ + "\n [[[[[YY]YY]MM]DD]hh]mm[.ss]" \ + +#define date_example_usage \ + "$ date\n" \ + "Wed Apr 12 18:52:41 MDT 2000\n" + +#define dc_trivial_usage \ + "expression..." +#define dc_full_usage "\n\n" \ + "Tiny RPN calculator. Operations:\n" \ + "+, add, -, sub, *, mul, /, div, %, mod, **, exp, and, or, not, eor,\n" \ + "p - print top of the stack (without altering the stack),\n" \ + "f - print entire stack, o - pop the value and set output radix\n" \ + "(value must be 10 or 16).\n" \ + "Examples: 'dc 2 2 add' -> 4, 'dc 8 8 * 2 2 + /' -> 16\n" \ + +#define dc_example_usage \ + "$ dc 2 2 + p\n" \ + "4\n" \ + "$ dc 8 8 \\* 2 2 + / p\n" \ + "16\n" \ + "$ dc 0 1 and p\n" \ + "0\n" \ + "$ dc 0 1 or p\n" \ + "1\n" \ + "$ echo 72 9 div 8 mul p | dc\n" \ + "64\n" + +#define dd_trivial_usage \ + "[if=FILE] [of=FILE] " IF_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ + " [seek=N]" IF_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync]") +#define dd_full_usage "\n\n" \ + "Copy a file with converting and formatting\n" \ + "\nOptions:" \ + "\n if=FILE Read from FILE instead of stdin" \ + "\n of=FILE Write to FILE instead of stdout" \ + "\n bs=N Read and write N bytes at a time" \ + IF_FEATURE_DD_IBS_OBS( \ + "\n ibs=N Read N bytes at a time" \ + ) \ + IF_FEATURE_DD_IBS_OBS( \ + "\n obs=N Write N bytes at a time" \ + ) \ + "\n count=N Copy only N input blocks" \ + "\n skip=N Skip N input blocks" \ + "\n seek=N Skip N output blocks" \ + IF_FEATURE_DD_IBS_OBS( \ + "\n conv=notrunc Don't truncate output file" \ + "\n conv=noerror Continue after read errors" \ + "\n conv=sync Pad blocks with zeros" \ + "\n conv=fsync Physically write data out before finishing" \ + ) \ + "\n" \ + "\nNumbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024)," \ + "\nMD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)" \ + +#define dd_example_usage \ + "$ dd if=/dev/zero of=/dev/ram1 bs=1M count=4\n" \ + "4+0 records in\n" \ + "4+0 records out\n" + +#define deallocvt_trivial_usage \ + "[N]" +#define deallocvt_full_usage "\n\n" \ + "Deallocate unused virtual terminal /dev/ttyN" + +#define delgroup_trivial_usage \ + IF_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" +#define delgroup_full_usage "\n\n" \ + "Delete group GROUP from the system" \ + IF_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") + +#define deluser_trivial_usage \ + "USER" +#define deluser_full_usage "\n\n" \ + "Delete USER from the system" + +#define depmod_trivial_usage NOUSAGE_STR +#define depmod_full_usage "" + +#define devmem_trivial_usage \ + "ADDRESS [WIDTH [VALUE]]" + +#define devmem_full_usage "\n\n" \ + "Read/write from physical address\n" \ + "\n ADDRESS Address to act upon" \ + "\n WIDTH Width (8/16/...)" \ + "\n VALUE Data to be written" \ + +#define devfsd_trivial_usage \ + "mntpnt [-v]" IF_DEVFSD_FG_NP("[-fg][-np]") +#define devfsd_full_usage "\n\n" \ + "Manage devfs permissions and old device name symlinks\n" \ + "\nOptions:" \ + "\n mntpnt The mount point where devfs is mounted" \ + "\n -v Print the protocol version numbers for devfsd" \ + "\n and the kernel-side protocol version and exit" \ + IF_DEVFSD_FG_NP( \ + "\n -fg Run in foreground" \ + "\n -np Exit after parsing the configuration file" \ + "\n and processing synthetic REGISTER events," \ + "\n don't poll for events" \ + ) + +#define df_trivial_usage \ + "[-Pk" \ + IF_FEATURE_HUMAN_READABLE("mh") \ + IF_FEATURE_DF_FANCY("ai] [-B SIZE") \ + "] [FILESYSTEM]..." +#define df_full_usage "\n\n" \ + "Print filesystem usage statistics\n" \ + "\nOptions:" \ + "\n -P POSIX output format" \ + "\n -k 1024-byte blocks (default)" \ + IF_FEATURE_HUMAN_READABLE( \ + "\n -m 1M-byte blocks" \ + "\n -h Human readable (e.g. 1K 243M 2G)" \ + ) \ + IF_FEATURE_DF_FANCY( \ + "\n -a Show all filesystems" \ + "\n -i Inodes" \ + "\n -B SIZE Blocksize" \ + ) \ + +#define df_example_usage \ + "$ df\n" \ + "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ + "/dev/sda3 8690864 8553540 137324 98% /\n" \ + "/dev/sda1 64216 36364 27852 57% /boot\n" \ + "$ df /dev/sda3\n" \ + "Filesystem 1K-blocks Used Available Use% Mounted on\n" \ + "/dev/sda3 8690864 8553540 137324 98% /\n" \ + "$ POSIXLY_CORRECT=sure df /dev/sda3\n" \ + "Filesystem 512B-blocks Used Available Use% Mounted on\n" \ + "/dev/sda3 17381728 17107080 274648 98% /\n" \ + "$ POSIXLY_CORRECT=yep df -P /dev/sda3\n" \ + "Filesystem 512-blocks Used Available Capacity Mounted on\n" \ + "/dev/sda3 17381728 17107080 274648 98% /\n" + +#define dhcprelay_trivial_usage \ + "CLIENT_IFACE[,CLIENT_IFACE2]... SERVER_IFACE [SERVER_IP]" +#define dhcprelay_full_usage "\n\n" \ + "Relay DHCP requests between clients and server" \ + +#define diff_trivial_usage \ + "[-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2" +#define diff_full_usage "\n\n" \ + "Compare files line by line and output the differences between them.\n" \ + "This implementation supports unified diffs only.\n" \ + "\nOptions:" \ + "\n -a Treat all files as text" \ + "\n -b Ignore changes in the amount of whitespace" \ + "\n -B Ignore changes whose lines are all blank" \ + "\n -d Try hard to find a smaller set of changes" \ + "\n -i Ignore case differences" \ + "\n -L Use LABEL instead of the filename in the unified header" \ + "\n -N Treat absent files as empty" \ + "\n -q Output only whether files differ" \ + "\n -r Recurse" \ + "\n -S Start with FILE when comparing directories" \ + "\n -T Make tabs line up by prefixing a tab when necessary" \ + "\n -s Report when two files are the same" \ + "\n -t Expand tabs to spaces in output" \ + "\n -U Output LINES lines of context" \ + "\n -w Ignore all whitespace" \ + +#define dirname_trivial_usage \ + "FILENAME" +#define dirname_full_usage "\n\n" \ + "Strip non-directory suffix from FILENAME" +#define dirname_example_usage \ + "$ dirname /tmp/foo\n" \ + "/tmp\n" \ + "$ dirname /tmp/foo/\n" \ + "/tmp\n" + +#define dmesg_trivial_usage \ + "[-c] [-n LEVEL] [-s SIZE]" +#define dmesg_full_usage "\n\n" \ + "Print or control the kernel ring buffer\n" \ + "\nOptions:" \ + "\n -c Clear ring buffer after printing" \ + "\n -n LEVEL Set console logging level" \ + "\n -s SIZE Buffer size" \ + +#define dnsd_trivial_usage \ + "[-dvs] [-c CONFFILE] [-t TTL_SEC] [-p PORT] [-i ADDR]" +#define dnsd_full_usage "\n\n" \ + "Small static DNS server daemon\n" \ + "\nOptions:" \ + "\n -c FILE Config file" \ + "\n -t SEC TTL" \ + "\n -p PORT Listen on PORT" \ + "\n -i ADDR Listen on ADDR" \ + "\n -d Daemonize" \ + "\n -v Verbose" \ + "\n -s Send successful replies only. Use this if you want" \ + "\n to use /etc/resolv.conf with two nameserver lines:" \ + "\n nameserver DNSD_SERVER" \ + "\n nameserver NORNAL_DNS_SERVER" \ + +#define dos2unix_trivial_usage \ + "[OPTIONS] [FILE]" +#define dos2unix_full_usage "\n\n" \ + "Convert FILE in-place from DOS to Unix format.\n" \ + "When no file is given, use stdin/stdout.\n" \ + "\nOptions:" \ + "\n -u dos2unix" \ + "\n -d unix2dos" \ + +#define unix2dos_trivial_usage \ + "[OPTIONS] [FILE]" +#define unix2dos_full_usage "\n\n" \ + "Convert FILE in-place from Unix to DOS format.\n" \ + "When no file is given, use stdin/stdout.\n" \ + "\nOptions:" \ + "\n -u dos2unix" \ + "\n -d unix2dos" \ + +#define dpkg_trivial_usage \ + "[-ilCPru] [-F OPT] PACKAGE" +#define dpkg_full_usage "\n\n" \ + "Install, remove and manage Debian packages\n" \ + "\nOptions:" \ + IF_LONG_OPTS( \ + "\n -i,--install Install the package" \ + "\n -l,--list List of installed packages" \ + "\n --configure Configure an unpackaged package" \ + "\n -P,--purge Purge all files of a package" \ + "\n -r,--remove Remove all but the configuration files for a package" \ + "\n --unpack Unpack a package, but don't configure it" \ + "\n --force-depends Ignore dependency problems" \ + "\n --force-confnew Overwrite existing config files when installing" \ + "\n --force-confold Keep old config files when installing" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -i Install the package" \ + "\n -l List of installed packages" \ + "\n -C Configure an unpackaged package" \ + "\n -P Purge all files of a package" \ + "\n -r Remove all but the configuration files for a package" \ + "\n -u Unpack a package, but don't configure it" \ + "\n -F depends Ignore dependency problems" \ + "\n -F confnew Overwrite existing config files when installing" \ + "\n -F confold Keep old config files when installing" \ + ) + +#define dpkg_deb_trivial_usage \ + "[-cefxX] FILE [argument]" +#define dpkg_deb_full_usage "\n\n" \ + "Perform actions on Debian packages (.debs)\n" \ + "\nOptions:" \ + "\n -c List contents of filesystem tree" \ + "\n -e Extract control files to [argument] directory" \ + "\n -f Display control field name starting with [argument]" \ + "\n -x Extract packages filesystem tree to directory" \ + "\n -X Verbose extract" \ + +#define dpkg_deb_example_usage \ + "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n" + +#define du_trivial_usage \ + "[-aHLdclsx" IF_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..." +#define du_full_usage "\n\n" \ + "Summarize disk space used for each FILE and/or directory.\n" \ + "Disk space is printed in units of " \ + IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \ + IF_NOT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \ + " bytes.\n" \ + "\nOptions:" \ + "\n -a Show file sizes too" \ + "\n -L Follow all symlinks" \ + "\n -H Follow symlinks on command line" \ + "\n -d N Limit output to directories (and files with -a) of depth < N" \ + "\n -c Show grand total" \ + "\n -l Count sizes many times if hard linked" \ + "\n -s Display only a total for each argument" \ + "\n -x Skip directories on different filesystems" \ + IF_FEATURE_HUMAN_READABLE( \ + "\n -h Sizes in human readable format (e.g., 1K 243M 2G )" \ + "\n -m Sizes in megabytes" \ + ) \ + "\n -k Sizes in kilobytes" \ + IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K(" (default)") \ + +#define du_example_usage \ + "$ du\n" \ + "16 ./CVS\n" \ + "12 ./kernel-patches/CVS\n" \ + "80 ./kernel-patches\n" \ + "12 ./tests/CVS\n" \ + "36 ./tests\n" \ + "12 ./scripts/CVS\n" \ + "16 ./scripts\n" \ + "12 ./docs/CVS\n" \ + "104 ./docs\n" \ + "2417 .\n" + +#define dumpkmap_trivial_usage \ + "> keymap" +#define dumpkmap_full_usage "\n\n" \ + "Print a binary keyboard translation table to stdout" +#define dumpkmap_example_usage \ + "$ dumpkmap > keymap\n" + +#define dumpleases_trivial_usage \ + "[-r|-a] [-f LEASEFILE]" +#define dumpleases_full_usage "\n\n" \ + "Display DHCP leases granted by udhcpd\n" \ + "\nOptions:" \ + IF_LONG_OPTS( \ + "\n -f,--file=FILE Lease file" \ + "\n -r,--remaining Show remaining time" \ + "\n -a,--absolute Show expiration time" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -f FILE Lease file" \ + "\n -r Show remaining time" \ + "\n -a Show expiration time" \ + ) + +/* +#define e2fsck_trivial_usage \ + "[-panyrcdfvstDFSV] [-b superblock] [-B blocksize] " \ + "[-I inode_buffer_blocks] [-P process_inode_size] " \ + "[-l|-L bad_blocks_file] [-C fd] [-j external_journal] " \ + "[-E extended-options] device" +#define e2fsck_full_usage "\n\n" \ + "Check ext2/ext3 file system\n" \ + "\nOptions:" \ + "\n -p Automatic repair (no questions)" \ + "\n -n Make no changes to the filesystem" \ + "\n -y Assume 'yes' to all questions" \ + "\n -c Check for bad blocks and add them to the badblock list" \ + "\n -f Force checking even if filesystem is marked clean" \ + "\n -v Verbose" \ + "\n -b superblock Use alternative superblock" \ + "\n -B blocksize Force blocksize when looking for superblock" \ + "\n -j journal Set location of the external journal" \ + "\n -l file Add to badblocks list" \ + "\n -L file Set badblocks list" \ +*/ + +#define echo_trivial_usage \ + IF_FEATURE_FANCY_ECHO("[-neE] ") "[ARG]..." +#define echo_full_usage "\n\n" \ + "Print the specified ARGs to stdout" \ + IF_FEATURE_FANCY_ECHO( "\n" \ + "\nOptions:" \ + "\n -n Suppress trailing newline" \ + "\n -e Interpret backslash escapes (i.e., \\t=tab)" \ + "\n -E Don't interpret backslash escapes (default)" \ + ) +#define echo_example_usage \ + "$ echo \"Erik is cool\"\n" \ + "Erik is cool\n" \ + IF_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \ + "Erik\n" \ + "is\n" \ + "cool\n" \ + "$ echo \"Erik\\nis\\ncool\"\n" \ + "Erik\\nis\\ncool\n") + +#define eject_trivial_usage \ + "[-t] [-T] [DEVICE]" +#define eject_full_usage "\n\n" \ + "Eject DEVICE or default /dev/cdrom\n" \ + "\nOptions:" \ + IF_FEATURE_EJECT_SCSI( \ + "\n -s SCSI device" \ + ) \ + "\n -t Close tray" \ + "\n -T Open/close tray (toggle)" \ + +#define ed_trivial_usage "" +#define ed_full_usage "" + +#define env_trivial_usage \ + "[-iu] [-] [name=value]... [PROG ARGS]" +#define env_full_usage "\n\n" \ + "Print the current environment or run PROG after setting up\n" \ + "the specified environment\n" \ + "\nOptions:" \ + "\n -, -i Start with an empty environment" \ + "\n -u Remove variable from the environment" \ + +#define ether_wake_trivial_usage \ + "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC" +#define ether_wake_full_usage "\n\n" \ + "Send a magic packet to wake up sleeping machines.\n" \ + "MAC must be a station address (00:11:22:33:44:55) or\n" \ + "a hostname with a known 'ethers' entry.\n" \ + "\nOptions:" \ + "\n -b Send wake-up packet to the broadcast address" \ + "\n -i iface Interface to use (default eth0)" \ + "\n -p pass Append four or six byte password PW to the packet" \ + +#define expand_trivial_usage \ + "[-i] [-t N] [FILE]..." +#define expand_full_usage "\n\n" \ + "Convert tabs to spaces, writing to stdout\n" \ + "\nOptions:" \ + IF_FEATURE_EXPAND_LONG_OPTIONS( \ + "\n -i,--initial Don't convert tabs after non blanks" \ + "\n -t,--tabs=N Tabstops every N chars" \ + ) \ + IF_NOT_FEATURE_EXPAND_LONG_OPTIONS( \ + "\n -i Don't convert tabs after non blanks" \ + "\n -t Tabstops every N chars" \ + ) + +#define expr_trivial_usage \ + "EXPRESSION" +#define expr_full_usage "\n\n" \ + "Print the value of EXPRESSION to stdout\n" \ + "\n" \ + "EXPRESSION may be:\n" \ + " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" \ + " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" \ + " ARG1 < ARG2 1 if ARG1 is less than ARG2, else 0. Similarly:\n" \ + " ARG1 <= ARG2\n" \ + " ARG1 = ARG2\n" \ + " ARG1 != ARG2\n" \ + " ARG1 >= ARG2\n" \ + " ARG1 > ARG2\n" \ + " ARG1 + ARG2 Sum of ARG1 and ARG2. Similarly:\n" \ + " ARG1 - ARG2\n" \ + " ARG1 * ARG2\n" \ + " ARG1 / ARG2\n" \ + " ARG1 % ARG2\n" \ + " STRING : REGEXP Anchored pattern match of REGEXP in STRING\n" \ + " match STRING REGEXP Same as STRING : REGEXP\n" \ + " substr STRING POS LENGTH Substring of STRING, POS counted from 1\n" \ + " index STRING CHARS Index in STRING where any CHARS is found, or 0\n" \ + " length STRING Length of STRING\n" \ + " quote TOKEN Interpret TOKEN as a string, even if\n" \ + " it is a keyword like 'match' or an\n" \ + " operator like '/'\n" \ + " (EXPRESSION) Value of EXPRESSION\n" \ + "\n" \ + "Beware that many operators need to be escaped or quoted for shells.\n" \ + "Comparisons are arithmetic if both ARGs are numbers, else\n" \ + "lexicographical. Pattern matches return the string matched between\n" \ + "\\( and \\) or null; if \\( and \\) are not used, they return the number\n" \ + "of characters matched or 0." + +#define fakeidentd_trivial_usage \ + "[-fiw] [-b ADDR] [STRING]" +#define fakeidentd_full_usage "\n\n" \ + "Provide fake ident (auth) service\n" \ + "\nOptions:" \ + "\n -f Run in foreground" \ + "\n -i Inetd mode" \ + "\n -w Inetd 'wait' mode" \ + "\n -b ADDR Bind to specified address" \ + "\n STRING Ident answer string (default: nobody)" \ + +#define false_trivial_usage \ + "" +#define false_full_usage "\n\n" \ + "Return an exit code of FALSE (1)" + +#define false_example_usage \ + "$ false\n" \ + "$ echo $?\n" \ + "1\n" + +#define fbsplash_trivial_usage \ + "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" +#define fbsplash_full_usage "\n\n" \ + "Options:" \ + "\n -s Image" \ + "\n -c Hide cursor" \ + "\n -d Framebuffer device (default /dev/fb0)" \ + "\n -i Config file (var=value):" \ + "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" \ + "\n BAR_R,BAR_G,BAR_B" \ + "\n -f Control pipe (else exit after drawing image)" \ + "\n commands: 'NN' (% for progress bar) or 'exit'" \ + +#define fbset_trivial_usage \ + "[OPTIONS] [MODE]" +#define fbset_full_usage "\n\n" \ + "Show and modify frame buffer settings" + +#define fbset_example_usage \ + "$ fbset\n" \ + "mode \"1024x768-76\"\n" \ + " # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz\n" \ + " geometry 1024 768 1024 768 16\n" \ + " timings 12714 128 32 16 4 128 4\n" \ + " accel false\n" \ + " rgba 5/11,6/5,5/0,0/0\n" \ + "endmode\n" + +#define fdflush_trivial_usage \ + "DEVICE" +#define fdflush_full_usage "\n\n" \ + "Force floppy disk drive to detect disk change" + +#define fdformat_trivial_usage \ + "[-n] DEVICE" +#define fdformat_full_usage "\n\n" \ + "Format floppy disk\n" \ + "\nOptions:" \ + "\n -n Don't verify after format" \ + +/* Looks like someone forgot to add this to config system */ +#ifndef ENABLE_FEATURE_FDISK_BLKSIZE +# define ENABLE_FEATURE_FDISK_BLKSIZE 0 +# define IF_FEATURE_FDISK_BLKSIZE(a) +#endif + +#define fdisk_trivial_usage \ + "[-ul" IF_FEATURE_FDISK_BLKSIZE("s") "] " \ + "[-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" +#define fdisk_full_usage "\n\n" \ + "Change partition table\n" \ + "\nOptions:" \ + "\n -u Start and End are in sectors (instead of cylinders)" \ + "\n -l Show partition table for each DISK, then exit" \ + IF_FEATURE_FDISK_BLKSIZE( \ + "\n -s Show partition sizes in kb for each DISK, then exit" \ + ) \ + "\n -b 2048 (for certain MO disks) use 2048-byte sectors" \ + "\n -C CYLINDERS Set number of cylinders/heads/sectors" \ + "\n -H HEADS" \ + "\n -S SECTORS" \ + +#define fgconsole_trivial_usage \ + "" +#define fgconsole_full_usage "\n\n" \ + "Get active console" + +#define findfs_trivial_usage \ + "LABEL=label or UUID=uuid" +#define findfs_full_usage "\n\n" \ + "Find a filesystem device based on a label or UUID" +#define findfs_example_usage \ + "$ findfs LABEL=MyDevice" + +#define find_trivial_usage \ + "[PATH]... [EXPRESSION]" +#define find_full_usage "\n\n" \ + "Search for files. The default PATH is the current directory,\n" \ + "default EXPRESSION is '-print'\n" \ + "\nEXPRESSION may consist of:" \ + "\n -follow Follow symlinks" \ + IF_FEATURE_FIND_XDEV( \ + "\n -xdev Don't descend directories on other filesystems") \ + IF_FEATURE_FIND_MAXDEPTH( \ + "\n -maxdepth N Descend at most N levels. -maxdepth 0 applies" \ + "\n tests/actions to command line arguments only") \ + "\n -mindepth N Don't act on first N levels" \ + "\n -name PATTERN File name (w/o directory name) matches PATTERN" \ + "\n -iname PATTERN Case insensitive -name" \ + IF_FEATURE_FIND_PATH( \ + "\n -path PATTERN Path matches PATTERN") \ + IF_FEATURE_FIND_REGEX( \ + "\n -regex PATTERN Path matches regex PATTERN") \ + IF_FEATURE_FIND_TYPE( \ + "\n -type X File type is X (X is one of: f,d,l,b,c,...)") \ + IF_FEATURE_FIND_PERM( \ + "\n -perm NNN Permissions match any of (+NNN), all of (-NNN)," \ + "\n or exactly NNN") \ + IF_FEATURE_FIND_MTIME( \ + "\n -mtime DAYS Modified time is greater than (+N), less than (-N)," \ + "\n or exactly N days") \ + IF_FEATURE_FIND_MMIN( \ + "\n -mmin MINS Modified time is greater than (+N), less than (-N)," \ + "\n or exactly N minutes") \ + IF_FEATURE_FIND_NEWER( \ + "\n -newer FILE Modified time is more recent than FILE's") \ + IF_FEATURE_FIND_INUM( \ + "\n -inum N File has inode number N") \ + IF_FEATURE_FIND_USER( \ + "\n -user NAME File is owned by user NAME (numeric user ID allowed)") \ + IF_FEATURE_FIND_GROUP( \ + "\n -group NAME File belongs to group NAME (numeric group ID allowed)") \ + IF_FEATURE_FIND_DEPTH( \ + "\n -depth Process directory name after traversing it") \ + IF_FEATURE_FIND_SIZE( \ + "\n -size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.))" \ + "\n +/-N: file size is bigger/smaller than N") \ + IF_FEATURE_FIND_LINKS( \ + "\n -links N Number of links is greater than (+N), less than (-N)," \ + "\n or exactly N") \ + "\n -print Print (default and assumed)" \ + IF_FEATURE_FIND_PRINT0( \ + "\n -print0 Delimit output with null characters rather than" \ + "\n newlines") \ + IF_FEATURE_FIND_CONTEXT ( \ + "\n -context File has specified security context") \ + IF_FEATURE_FIND_EXEC( \ + "\n -exec CMD ARG ; Run CMD with all instances of {} replaced by the" \ + "\n matching files") \ + IF_FEATURE_FIND_PRUNE( \ + "\n -prune Stop traversing current subtree") \ + IF_FEATURE_FIND_DELETE( \ + "\n -delete Delete files, turns on -depth option") \ + IF_FEATURE_FIND_PAREN( \ + "\n (EXPR) Group an expression") \ + +#define find_example_usage \ + "$ find / -name passwd\n" \ + "/etc/passwd\n" + +#define flash_lock_trivial_usage \ + "MTD_DEVICE OFFSET SECTORS" +#define flash_lock_full_usage "\n\n" \ + "Lock part or all of an MTD device. If SECTORS is -1, then all sectors\n" \ + "will be locked, regardless of the value of OFFSET" + +#define flash_unlock_trivial_usage \ + "MTD_DEVICE" +#define flash_unlock_full_usage "\n\n" \ + "Unlock an MTD device" + +#define flash_eraseall_trivial_usage \ + "[-jq] MTD_DEVICE" +#define flash_eraseall_full_usage "\n\n" \ + "Erase an MTD device\n" \ + "\nOptions:" \ + "\n -j Format the device for jffs2" \ + "\n -q Don't display progress messages" \ + +#define flashcp_trivial_usage \ + "-v FILE MTD_DEVICE" +#define flashcp_full_usage "\n\n" \ + "Copy an image to MTD device\n" \ + "\nOptions:" \ + "\n -v Verbose" \ + +#define flock_trivial_usage \ + "[-sxun] FD|{FILE [-c] PROG ARGS}" +#define flock_full_usage "\n\n" \ + "[Un]lock file descriptor, or lock FILE and run PROG\n" \ + "\nOptions:" \ + "\n -s Shared lock" \ + "\n -x Exclusive lock (default)" \ + "\n -u Unlock FD" \ + "\n -n Fail rather than wait" \ + +#define fold_trivial_usage \ + "[-bs] [-w WIDTH] [FILE]..." +#define fold_full_usage "\n\n" \ + "Wrap input lines in each FILE (or stdin), writing to stdout\n" \ + "\nOptions:" \ + "\n -b Count bytes rather than columns" \ + "\n -s Break at spaces" \ + "\n -w Use WIDTH columns instead of 80" \ + +#define free_trivial_usage \ + "" +#define free_full_usage "\n\n" \ + "Display the amount of free and used system memory" +#define free_example_usage \ + "$ free\n" \ + " total used free shared buffers\n" \ + " Mem: 257628 248724 8904 59644 93124\n" \ + " Swap: 128516 8404 120112\n" \ + "Total: 386144 257128 129016\n" \ + +#define freeramdisk_trivial_usage \ + "DEVICE" +#define freeramdisk_full_usage "\n\n" \ + "Free all memory used by the specified ramdisk" +#define freeramdisk_example_usage \ + "$ freeramdisk /dev/ram2\n" + +#define fsck_trivial_usage \ + "[-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]..." +#define fsck_full_usage "\n\n" \ + "Check and repair filesystems\n" \ + "\nOptions:" \ + "\n -A Walk /etc/fstab and check all filesystems" \ + "\n -N Don't execute, just show what would be done" \ + "\n -P With -A, check filesystems in parallel" \ + "\n -R With -A, skip the root filesystem" \ + "\n -T Don't show title on startup" \ + "\n -V Verbose" \ + "\n -C n Write status information to specified filedescriptor" \ + "\n -t TYPE List of filesystem types to check" \ + +#define fsck_minix_trivial_usage \ + "[-larvsmf] BLOCKDEV" +#define fsck_minix_full_usage "\n\n" \ + "Check MINIX filesystem\n" \ + "\nOptions:" \ + "\n -l List all filenames" \ + "\n -r Perform interactive repairs" \ + "\n -a Perform automatic repairs" \ + "\n -v Verbose" \ + "\n -s Output superblock information" \ + "\n -m Show \"mode not cleared\" warnings" \ + "\n -f Force file system check" \ + +#define ftpd_trivial_usage \ + "[-wvS] [-t N] [-T N] [DIR]" +#define ftpd_full_usage "\n\n" \ + "Anonymous FTP server\n" \ + "\n" \ + "ftpd should be used as an inetd service.\n" \ + "ftpd's line for inetd.conf:\n" \ + " 21 stream tcp nowait root ftpd ftpd /files/to/serve\n" \ + "It also can be ran from tcpsvd:\n" \ + " tcpsvd -vE 0.0.0.0 21 ftpd /files/to/serve\n" \ + "\nOptions:" \ + "\n -w Allow upload" \ + "\n -v Log to stderr" \ + "\n -S Log to syslog" \ + "\n -t,-T Idle and absolute timeouts" \ + "\n DIR Change root to this directory" \ + +#define ftpget_trivial_usage \ + "[OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE" +#define ftpget_full_usage "\n\n" \ + "Retrieve a remote file via FTP\n" \ + "\nOptions:" \ + IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ + "\n -c,--continue Continue previous transfer" \ + "\n -v,--verbose Verbose" \ + "\n -u,--username Username" \ + "\n -p,--password Password" \ + "\n -P,--port Port number" \ + ) \ + IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ + "\n -c Continue previous transfer" \ + "\n -v Verbose" \ + "\n -u Username" \ + "\n -p Password" \ + "\n -P Port number" \ + ) + +#define ftpput_trivial_usage \ + "[OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE" +#define ftpput_full_usage "\n\n" \ + "Store a local file on a remote machine via FTP\n" \ + "\nOptions:" \ + IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ + "\n -v,--verbose Verbose" \ + "\n -u,--username Username" \ + "\n -p,--password Password" \ + "\n -P,--port Port number" \ + ) \ + IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ + "\n -v Verbose" \ + "\n -u Username" \ + "\n -p Password" \ + "\n -P Port number" \ + ) + +#define fuser_trivial_usage \ + "[OPTIONS] FILE or PORT/PROTO" +#define fuser_full_usage "\n\n" \ + "Find processes which use FILEs or PORTs\n" \ + "\nOptions:" \ + "\n -m Find processes which use same fs as FILEs" \ + "\n -4 Search only IPv4 space" \ + "\n -6 Search only IPv6 space" \ + "\n -s Don't display PIDs" \ + "\n -k Kill found processes" \ + "\n -SIGNAL Signal to send (default: KILL)" \ + +#define getenforce_trivial_usage NOUSAGE_STR +#define getenforce_full_usage "" + +#define getopt_trivial_usage \ + "[OPTIONS]" +#define getopt_full_usage "\n\n" \ + "Options:" \ + IF_LONG_OPTS( \ + "\n -a,--alternative Allow long options starting with single -" \ + "\n -l,--longoptions=longopts Long options to be recognized" \ + "\n -n,--name=progname The name under which errors are reported" \ + "\n -o,--options=optstring Short options to be recognized" \ + "\n -q,--quiet Disable error reporting by getopt(3)" \ + "\n -Q,--quiet-output No normal output" \ + "\n -s,--shell=shell Set shell quoting conventions" \ + "\n -T,--test Test for getopt(1) version" \ + "\n -u,--unquoted Don't quote the output" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -a Allow long options starting with single -" \ + "\n -l longopts Long options to be recognized" \ + "\n -n progname The name under which errors are reported" \ + "\n -o optstring Short options to be recognized" \ + "\n -q Disable error reporting by getopt(3)" \ + "\n -Q No normal output" \ + "\n -s shell Set shell quoting conventions" \ + "\n -T Test for getopt(1) version" \ + "\n -u Don't quote the output" \ + ) +#define getopt_example_usage \ + "$ cat getopt.test\n" \ + "#!/bin/sh\n" \ + "GETOPT=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \\\n" \ + " -n 'example.busybox' -- \"$@\"`\n" \ + "if [ $? != 0 ]; then exit 1; fi\n" \ + "eval set -- \"$GETOPT\"\n" \ + "while true; do\n" \ + " case $1 in\n" \ + " -a|--a-long) echo \"Option a\"; shift;;\n" \ + " -b|--b-long) echo \"Option b, argument '$2'\"; shift 2;;\n" \ + " -c|--c-long)\n" \ + " case \"$2\" in\n" \ + " \"\") echo \"Option c, no argument\"; shift 2;;\n" \ + " *) echo \"Option c, argument '$2'\"; shift 2;;\n" \ + " esac;;\n" \ + " --) shift; break;;\n" \ + " *) echo \"Internal error!\"; exit 1;;\n" \ + " esac\n" \ + "done\n" + +#define getsebool_trivial_usage \ + "-a or getsebool boolean..." +#define getsebool_full_usage "\n\n" \ + " -a Show all selinux booleans" + +#define getty_trivial_usage \ + "[OPTIONS] BAUD_RATE TTY [TERMTYPE]" +#define getty_full_usage "\n\n" \ + "Open a tty, prompt for a login name, then invoke /bin/login\n" \ + "\nOptions:" \ + "\n -h Enable hardware (RTS/CTS) flow control" \ + "\n -i Don't display /etc/issue before running login" \ + "\n -L Local line, don't do carrier detect" \ + "\n -m Get baud rate from modem's CONNECT status message" \ + "\n -w Wait for a CR or LF before sending /etc/issue" \ + "\n -n Don't prompt the user for a login name" \ + "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ + "\n -l LOGIN Invoke LOGIN instead of /bin/login" \ + "\n -t SEC Terminate after SEC if no username is read" \ + "\n -I INITSTR Send INITSTR before anything else" \ + "\n -H HOST Log HOST into the utmp file as the hostname" \ + +#define grep_trivial_usage \ + "[-HhnlLoqvsriw" \ + "F" \ + IF_FEATURE_GREP_EGREP_ALIAS("E") \ + IF_EXTRA_COMPAT("z") \ + "] [-m N] " \ + IF_FEATURE_GREP_CONTEXT("[-A/B/C N] ") \ + "PATTERN/-e PATTERN.../-f FILE [FILE]..." +#define grep_full_usage "\n\n" \ + "Search for PATTERN in FILEs (or stdin)\n" \ + "\nOptions:" \ + "\n -H Add 'filename:' prefix" \ + "\n -h Do not add 'filename:' prefix" \ + "\n -n Add 'line_no:' prefix" \ + "\n -l Show only names of files that match" \ + "\n -L Show only names of files that don't match" \ + "\n -c Show only count of matching lines" \ + "\n -o Show only the matching part of line" \ + "\n -q Quiet. Return 0 if PATTERN is found, 1 otherwise" \ + "\n -v Select non-matching lines" \ + "\n -s Suppress open and read errors" \ + "\n -r Recurse" \ + "\n -i Ignore case" \ + "\n -w Match whole words only" \ + "\n -F PATTERN is a literal (not regexp)" \ + IF_FEATURE_GREP_EGREP_ALIAS( \ + "\n -E PATTERN is an extended regexp" \ + ) \ + IF_EXTRA_COMPAT( \ + "\n -z Input is NUL terminated" \ + ) \ + "\n -m N Match up to N times per file" \ + IF_FEATURE_GREP_CONTEXT( \ + "\n -A N Print N lines of trailing context" \ + "\n -B N Print N lines of leading context" \ + "\n -C N Same as '-A N -B N'" \ + ) \ + "\n -e PTRN Pattern to match" \ + "\n -f FILE Read pattern from file" \ + +#define grep_example_usage \ + "$ grep root /etc/passwd\n" \ + "root:x:0:0:root:/root:/bin/bash\n" \ + "$ grep ^[rR]oo. /etc/passwd\n" \ + "root:x:0:0:root:/root:/bin/bash\n" + +#define egrep_trivial_usage NOUSAGE_STR +#define egrep_full_usage "" + +#define fgrep_trivial_usage NOUSAGE_STR +#define fgrep_full_usage "" + +#define gunzip_trivial_usage \ + "[OPTIONS] [FILE]..." +#define gunzip_full_usage "\n\n" \ + "Decompress FILEs (or stdin)\n" \ + "\nOptions:" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + "\n -t Test file integrity" \ + +#define gunzip_example_usage \ + "$ ls -la /tmp/BusyBox*\n" \ + "-rw-rw-r-- 1 andersen andersen 557009 Apr 11 10:55 /tmp/BusyBox-0.43.tar.gz\n" \ + "$ gunzip /tmp/BusyBox-0.43.tar.gz\n" \ + "$ ls -la /tmp/BusyBox*\n" \ + "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/BusyBox-0.43.tar\n" + +#define gzip_trivial_usage \ + "[OPTIONS] [FILE]..." +#define gzip_full_usage "\n\n" \ + "Compress FILEs (or stdin)\n" \ + "\nOptions:" \ + "\n -d Decompress" \ + "\n -c Write to stdout" \ + "\n -f Force" \ + +#define gzip_example_usage \ + "$ ls -la /tmp/busybox*\n" \ + "-rw-rw-r-- 1 andersen andersen 1761280 Apr 14 17:47 /tmp/busybox.tar\n" \ + "$ gzip /tmp/busybox.tar\n" \ + "$ ls -la /tmp/busybox*\n" \ + "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" + +#define halt_trivial_usage \ + "[-d DELAY] [-n] [-f]" IF_FEATURE_WTMP(" [-w]") +#define halt_full_usage "\n\n" \ + "Halt the system\n" \ + "\nOptions:" \ + "\n -d Delay interval for halting" \ + "\n -n No call to sync()" \ + "\n -f Force halt (don't go through init)" \ + IF_FEATURE_WTMP( \ + "\n -w Only write a wtmp record" \ + ) + +#define hdparm_trivial_usage \ + "[OPTIONS] [DEVICE]" +#define hdparm_full_usage "\n\n" \ + "Options:" \ + "\n -a Get/set fs readahead" \ + "\n -A Set drive read-lookahead flag (0/1)" \ + "\n -b Get/set bus state (0 == off, 1 == on, 2 == tristate)" \ + "\n -B Set Advanced Power Management setting (1-255)" \ + "\n -c Get/set IDE 32-bit IO setting" \ + "\n -C Check IDE power mode status" \ + IF_FEATURE_HDPARM_HDIO_GETSET_DMA( \ + "\n -d Get/set using_dma flag") \ + "\n -D Enable/disable drive defect-mgmt" \ + "\n -f Flush buffer cache for device on exit" \ + "\n -g Display drive geometry" \ + "\n -h Display terse usage information" \ + IF_FEATURE_HDPARM_GET_IDENTITY( \ + "\n -i Display drive identification") \ + IF_FEATURE_HDPARM_GET_IDENTITY( \ + "\n -I Detailed/current information directly from drive") \ + "\n -k Get/set keep_settings_over_reset flag (0/1)" \ + "\n -K Set drive keep_features_over_reset flag (0/1)" \ + "\n -L Set drive doorlock (0/1) (removable harddisks only)" \ + "\n -m Get/set multiple sector count" \ + "\n -n Get/set ignore-write-errors flag (0/1)" \ + "\n -p Set PIO mode on IDE interface chipset (0,1,2,3,4,...)" \ + "\n -P Set drive prefetch count" \ +/* "\n -q Change next setting quietly" - not supported ib bbox */ \ + "\n -Q Get/set DMA tagged-queuing depth (if supported)" \ + "\n -r Get/set readonly flag (DANGEROUS to set)" \ + IF_FEATURE_HDPARM_HDIO_SCAN_HWIF( \ + "\n -R Register an IDE interface (DANGEROUS)") \ + "\n -S Set standby (spindown) timeout" \ + "\n -t Perform device read timings" \ + "\n -T Perform cache read timings" \ + "\n -u Get/set unmaskirq flag (0/1)" \ + IF_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \ + "\n -U Unregister an IDE interface (DANGEROUS)") \ + "\n -v Defaults; same as -mcudkrag for IDE drives" \ + "\n -V Display program version and exit immediately" \ + IF_FEATURE_HDPARM_HDIO_DRIVE_RESET( \ + "\n -w Perform device reset (DANGEROUS)") \ + "\n -W Set drive write-caching flag (0/1) (DANGEROUS)" \ + IF_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \ + "\n -x Tristate device for hotswap (0/1) (DANGEROUS)") \ + "\n -X Set IDE xfer mode (DANGEROUS)" \ + "\n -y Put IDE drive in standby mode" \ + "\n -Y Put IDE drive to sleep" \ + "\n -Z Disable Seagate auto-powersaving mode" \ + "\n -z Reread partition table" \ + +#define head_trivial_usage \ + "[OPTIONS] [FILE]..." +#define head_full_usage "\n\n" \ + "Print first 10 lines of each FILE (or stdin) to stdout.\n" \ + "With more than one FILE, precede each with a filename header.\n" \ + "\nOptions:" \ + "\n -n N[kbm] Print first N lines" \ + IF_FEATURE_FANCY_HEAD( \ + "\n -c N[kbm] Print first N bytes" \ + "\n -q Never print headers" \ + "\n -v Always print headers" \ + ) \ + "\n" \ + "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ + +#define head_example_usage \ + "$ head -n 2 /etc/passwd\n" \ + "root:x:0:0:root:/root:/bin/bash\n" \ + "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" + +#define tail_trivial_usage \ + "[OPTIONS] [FILE]..." +#define tail_full_usage "\n\n" \ + "Print last 10 lines of each FILE (or stdin) to stdout.\n" \ + "With more than one FILE, precede each with a filename header.\n" \ + "\nOptions:" \ + "\n -f Print data as file grows" \ + IF_FEATURE_FANCY_TAIL( \ + "\n -s SECONDS Wait SECONDS between reads with -f" \ + ) \ + "\n -n N[kbm] Print last N lines" \ + IF_FEATURE_FANCY_TAIL( \ + "\n -c N[kbm] Print last N bytes" \ + "\n -q Never print headers" \ + "\n -v Always print headers" \ + "\n" \ + "\nN may be suffixed by k (x1024), b (x512), or m (x1024^2)." \ + "\nIf N starts with a '+', output begins with the Nth item from the start" \ + "\nof each file, not from the end." \ + ) \ + +#define tail_example_usage \ + "$ tail -n 1 /etc/resolv.conf\n" \ + "nameserver 10.0.0.1\n" + +#define hexdump_trivial_usage \ + "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..." +#define hexdump_full_usage "\n\n" \ + "Display FILEs (or stdin) in a user specified format\n" \ + "\nOptions:" \ + "\n -b One-byte octal display" \ + "\n -c One-byte character display" \ + "\n -C Canonical hex+ASCII, 16 bytes per line" \ + "\n -d Two-byte decimal display" \ + "\n -e FORMAT STRING" \ + "\n -f FORMAT FILE" \ + "\n -n LENGTH Interpret only LENGTH bytes of input" \ + "\n -o Two-byte octal display" \ + "\n -s OFFSET Skip OFFSET bytes" \ + "\n -v Display all input data" \ + "\n -x Two-byte hexadecimal display" \ + IF_FEATURE_HEXDUMP_REVERSE( \ + "\n -R Reverse of 'hexdump -Cv'") \ + +#define hd_trivial_usage \ + "FILE..." +#define hd_full_usage "\n\n" \ + "hd is an alias for hexdump -C" + +#define hostid_trivial_usage \ + "" +#define hostid_full_usage "\n\n" \ + "Print out a unique 32-bit identifier for the machine" + +#define hostname_trivial_usage \ + "[OPTIONS] [HOSTNAME | -F FILE]" +#define hostname_full_usage "\n\n" \ + "Get or set hostname or DNS domain name\n" \ + "\nOptions:" \ + "\n -s Short" \ + "\n -i Addresses for the hostname" \ + "\n -d DNS domain name" \ + "\n -f Fully qualified domain name" \ + "\n -F FILE Use FILE's content as hostname" \ + +#define hostname_example_usage \ + "$ hostname\n" \ + "sage\n" + +#define dnsdomainname_trivial_usage NOUSAGE_STR +#define dnsdomainname_full_usage "" + +#define httpd_trivial_usage \ + "[-ifv[v]]" \ + " [-c CONFFILE]" \ + " [-p [IP:]PORT]" \ + IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \ + IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \ + " [-h HOME]\n" \ + "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING" +#define httpd_full_usage "\n\n" \ + "Listen for incoming HTTP requests\n" \ + "\nOptions:" \ + "\n -i Inetd mode" \ + "\n -f Don't daemonize" \ + "\n -v[v] Verbose" \ + "\n -p [IP:]PORT Bind to ip:port (default *:80)" \ + IF_FEATURE_HTTPD_SETUID( \ + "\n -u USER[:GRP] Set uid/gid after binding to port") \ + IF_FEATURE_HTTPD_BASIC_AUTH( \ + "\n -r REALM Authentication Realm for Basic Authentication") \ + "\n -h HOME Home directory (default .)" \ + "\n -c FILE Configuration file (default {/etc,HOME}/httpd.conf)" \ + IF_FEATURE_HTTPD_AUTH_MD5( \ + "\n -m STRING MD5 crypt STRING") \ + "\n -e STRING HTML encode STRING" \ + "\n -d STRING URL decode STRING" \ + +#define hwclock_trivial_usage \ + IF_FEATURE_HWCLOCK_LONG_OPTIONS( \ + "[-r|--show] [-s|--hctosys] [-w|--systohc]" \ + " [-l|--localtime] [-u|--utc]" \ + " [-f FILE]" \ + ) \ + IF_NOT_FEATURE_HWCLOCK_LONG_OPTIONS( \ + "[-r] [-s] [-w] [-l] [-u] [-f FILE]" \ + ) +#define hwclock_full_usage "\n\n" \ + "Query and set hardware clock (RTC)\n" \ + "\nOptions:" \ + "\n -r Show hardware clock time" \ + "\n -s Set system time from hardware clock" \ + "\n -w Set hardware clock to system time" \ + "\n -u Hardware clock is in UTC" \ + "\n -l Hardware clock is in local time" \ + "\n -f FILE Use specified device (e.g. /dev/rtc2)" \ + +#define id_trivial_usage \ + "[OPTIONS] [USER]" +#define id_full_usage "\n\n" \ + "Print information about USER or the current user\n" \ + "\nOptions:" \ + IF_SELINUX( \ + "\n -Z Print the security context" \ + ) \ + "\n -u Print user ID" \ + "\n -g Print group ID" \ + "\n -G Print supplementary group IDs" \ + "\n -n Print name instead of a number" \ + "\n -r Print real user ID instead of effective ID" \ + +#define id_example_usage \ + "$ id\n" \ + "uid=1000(andersen) gid=1000(andersen)\n" + +#define ifconfig_trivial_usage \ + IF_FEATURE_IFCONFIG_STATUS("[-a]") " interface [address]" +#define ifconfig_full_usage "\n\n" \ + "Configure a network interface\n" \ + "\nOptions:" \ + "\n" \ + IF_FEATURE_IPV6( \ + " [add ADDRESS[/PREFIXLEN]]\n") \ + IF_FEATURE_IPV6( \ + " [del ADDRESS[/PREFIXLEN]]\n") \ + " [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]]\n" \ + " [netmask ADDRESS] [dstaddr ADDRESS]\n" \ + IF_FEATURE_IFCONFIG_SLIP( \ + " [outfill NN] [keepalive NN]\n") \ + " " IF_FEATURE_IFCONFIG_HW("[hw ether" IF_FEATURE_HWIB("|infiniband")" ADDRESS] ") "[metric NN] [mtu NN]\n" \ + " [[-]trailers] [[-]arp] [[-]allmulti]\n" \ + " [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic]\n" \ + IF_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \ + " [mem_start NN] [io_addr NN] [irq NN]\n") \ + " [up|down] ..." + +#define ifenslave_trivial_usage \ + "[-cdf] MASTER_IFACE SLAVE_IFACE..." +#define ifenslave_full_usage "\n\n" \ + "Configure network interfaces for parallel routing\n" \ + "\nOptions:" \ + "\n -c, --change-active Change active slave" \ + "\n -d, --detach Remove slave interface from bonding device" \ + "\n -f, --force Force, even if interface is not Ethernet" \ +/* "\n -r, --receive-slave Create a receive-only slave" */ + +#define ifenslave_example_usage \ + "To create a bond device, simply follow these three steps:\n" \ + "- ensure that the required drivers are properly loaded:\n" \ + " # modprobe bonding ; modprobe <3c59x|eepro100|pcnet32|tulip|...>\n" \ + "- assign an IP address to the bond device:\n" \ + " # ifconfig bond0 netmask broadcast \n" \ + "- attach all the interfaces you need to the bond device:\n" \ + " # ifenslave bond0 eth0 eth1 eth2\n" \ + " If bond0 didn't have a MAC address, it will take eth0's. Then, all\n" \ + " interfaces attached AFTER this assignment will get the same MAC addr.\n\n" \ + " To detach a dead interface without setting the bond device down:\n" \ + " # ifenslave -d bond0 eth1\n\n" \ + " To set the bond device down and automatically release all the slaves:\n" \ + " # ifconfig bond0 down\n\n" \ + " To change active slave:\n" \ + " # ifenslave -c bond0 eth0\n" \ + +#define ifplugd_trivial_usage \ + "[OPTIONS]" +#define ifplugd_full_usage "\n\n" \ + "Network interface plug detection daemon\n" \ + "\nOptions:" \ + "\n -n Don't daemonize" \ + "\n -s Don't log to syslog" \ + "\n -i IFACE Interface" \ + "\n -f/-F Treat link detection error as link down/link up" \ + "\n (otherwise exit on error)" \ + "\n -a Don't up interface at each link probe" \ + "\n -M Monitor creation/destruction of interface" \ + "\n (otherwise it must exist)" \ + "\n -r PROG Script to run" \ + "\n -x ARG Extra argument for script" \ + "\n -I Don't exit on nonzero exit code from script" \ + "\n -p Don't run script on daemon startup" \ + "\n -q Don't run script on daemon quit" \ + "\n -l Run script on startup even if no cable is detected" \ + "\n -t SECS Poll time in seconds" \ + "\n -u SECS Delay before running script after link up" \ + "\n -d SECS Delay after link down" \ + "\n -m MODE API mode (mii, priv, ethtool, wlan, iff, auto)" \ + "\n -k Kill running daemon" \ + +#define ifup_trivial_usage \ + "[-ain"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] IFACE..." +#define ifup_full_usage "\n\n" \ + "Options:" \ + "\n -a De/configure all interfaces automatically" \ + "\n -i FILE Use FILE for interface definitions" \ + "\n -n Print out what would happen, but don't do it" \ + IF_FEATURE_IFUPDOWN_MAPPING( \ + "\n (note: doesn't disable mappings)" \ + "\n -m Don't run any mappings" \ + ) \ + "\n -v Print out what would happen before doing it" \ + "\n -f Force de/configuration" \ + +#define ifdown_trivial_usage \ + "[-ain"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] ifaces..." +#define ifdown_full_usage "\n\n" \ + "Options:" \ + "\n -a De/configure all interfaces automatically" \ + "\n -i FILE Use FILE for interface definitions" \ + "\n -n Print out what would happen, but don't do it" \ + IF_FEATURE_IFUPDOWN_MAPPING( \ + "\n (note: doesn't disable mappings)" \ + "\n -m Don't run any mappings" \ + ) \ + "\n -v Print out what would happen before doing it" \ + "\n -f Force de/configuration" \ + +#define inetd_trivial_usage \ + "[-fe] [-q N] [-R N] [CONFFILE]" +#define inetd_full_usage "\n\n" \ + "Listen for network connections and launch programs\n" \ + "\nOptions:" \ + "\n -f Run in foreground" \ + "\n -e Log to stderr" \ + "\n -q N Socket listen queue (default: 128)" \ + "\n -R N Pause services after N connects/min" \ + "\n (default: 0 - disabled)" \ + +#define init_trivial_usage \ + "" +#define init_full_usage "\n\n" \ + "Init is the parent of all processes" + +#define init_notes_usage \ +"This version of init is designed to be run only by the kernel.\n" \ +"\n" \ +"BusyBox init doesn't support multiple runlevels. The runlevels field of\n" \ +"the /etc/inittab file is completely ignored by BusyBox init. If you want\n" \ +"runlevels, use sysvinit.\n" \ +"\n" \ +"BusyBox init works just fine without an inittab. If no inittab is found,\n" \ +"it has the following default behavior:\n" \ +"\n" \ +" ::sysinit:/etc/init.d/rcS\n" \ +" ::askfirst:/bin/sh\n" \ +" ::ctrlaltdel:/sbin/reboot\n" \ +" ::shutdown:/sbin/swapoff -a\n" \ +" ::shutdown:/bin/umount -a -r\n" \ +" ::restart:/sbin/init\n" \ +"\n" \ +"if it detects that /dev/console is _not_ a serial console, it will also run:\n" \ +"\n" \ +" tty2::askfirst:/bin/sh\n" \ +" tty3::askfirst:/bin/sh\n" \ +" tty4::askfirst:/bin/sh\n" \ +"\n" \ +"If you choose to use an /etc/inittab file, the inittab entry format is as follows:\n" \ +"\n" \ +" :::\n" \ +"\n" \ +" :\n" \ +"\n" \ +" WARNING: This field has a non-traditional meaning for BusyBox init!\n" \ +" The id field is used by BusyBox init to specify the controlling tty for\n" \ +" the specified process to run on. The contents of this field are\n" \ +" appended to \"/dev/\" and used as-is. There is no need for this field to\n" \ +" be unique, although if it isn't you may have strange results. If this\n" \ +" field is left blank, the controlling tty is set to the console. Also\n" \ +" note that if BusyBox detects that a serial console is in use, then only\n" \ +" entries whose controlling tty is either the serial console or /dev/null\n" \ +" will be run. BusyBox init does nothing with utmp. We don't need no\n" \ +" stinkin' utmp.\n" \ +"\n" \ +" :\n" \ +"\n" \ +" The runlevels field is completely ignored.\n" \ +"\n" \ +" :\n" \ +"\n" \ +" Valid actions include: sysinit, respawn, askfirst, wait,\n" \ +" once, restart, ctrlaltdel, and shutdown.\n" \ +"\n" \ +" The available actions can be classified into two groups: actions\n" \ +" that are run only once, and actions that are re-run when the specified\n" \ +" process exits.\n" \ +"\n" \ +" Run only-once actions:\n" \ +"\n" \ +" 'sysinit' is the first item run on boot. init waits until all\n" \ +" sysinit actions are completed before continuing. Following the\n" \ +" completion of all sysinit actions, all 'wait' actions are run.\n" \ +" 'wait' actions, like 'sysinit' actions, cause init to wait until\n" \ +" the specified task completes. 'once' actions are asynchronous,\n" \ +" therefore, init does not wait for them to complete. 'restart' is\n" \ +" the action taken to restart the init process. By default this should\n" \ +" simply run /sbin/init, but can be a script which runs pivot_root or it\n" \ +" can do all sorts of other interesting things. The 'ctrlaltdel' init\n" \ +" actions are run when the system detects that someone on the system\n" \ +" console has pressed the CTRL-ALT-DEL key combination. Typically one\n" \ +" wants to run 'reboot' at this point to cause the system to reboot.\n" \ +" Finally the 'shutdown' action specifies the actions to taken when\n" \ +" init is told to reboot. Unmounting filesystems and disabling swap\n" \ +" is a very good here.\n" \ +"\n" \ +" Run repeatedly actions:\n" \ +"\n" \ +" 'respawn' actions are run after the 'once' actions. When a process\n" \ +" started with a 'respawn' action exits, init automatically restarts\n" \ +" it. Unlike sysvinit, BusyBox init does not stop processes from\n" \ +" respawning out of control. The 'askfirst' actions acts just like\n" \ +" respawn, except that before running the specified process it\n" \ +" displays the line \"Please press Enter to activate this console.\"\n" \ +" and then waits for the user to press enter before starting the\n" \ +" specified process.\n" \ +"\n" \ +" Unrecognized actions (like initdefault) will cause init to emit an\n" \ +" error message, and then go along with its business. All actions are\n" \ +" run in the order they appear in /etc/inittab.\n" \ +"\n" \ +" :\n" \ +"\n" \ +" Specifies the process to be executed and its command line.\n" \ +"\n" \ +"Example /etc/inittab file:\n" \ +"\n" \ +" # This is run first except when booting in single-user mode\n" \ +" #\n" \ +" ::sysinit:/etc/init.d/rcS\n" \ +" \n" \ +" # /bin/sh invocations on selected ttys\n" \ +" #\n" \ +" # Start an \"askfirst\" shell on the console (whatever that may be)\n" \ +" ::askfirst:-/bin/sh\n" \ +" # Start an \"askfirst\" shell on /dev/tty2-4\n" \ +" tty2::askfirst:-/bin/sh\n" \ +" tty3::askfirst:-/bin/sh\n" \ +" tty4::askfirst:-/bin/sh\n" \ +" \n" \ +" # /sbin/getty invocations for selected ttys\n" \ +" #\n" \ +" tty4::respawn:/sbin/getty 38400 tty4\n" \ +" tty5::respawn:/sbin/getty 38400 tty5\n" \ +" \n" \ +" \n" \ +" # Example of how to put a getty on a serial line (for a terminal)\n" \ +" #\n" \ +" #::respawn:/sbin/getty -L ttyS0 9600 vt100\n" \ +" #::respawn:/sbin/getty -L ttyS1 9600 vt100\n" \ +" #\n" \ +" # Example how to put a getty on a modem line\n" \ +" #::respawn:/sbin/getty 57600 ttyS2\n" \ +" \n" \ +" # Stuff to do when restarting the init process\n" \ +" ::restart:/sbin/init\n" \ +" \n" \ +" # Stuff to do before rebooting\n" \ +" ::ctrlaltdel:/sbin/reboot\n" \ +" ::shutdown:/bin/umount -a -r\n" \ +" ::shutdown:/sbin/swapoff -a\n" + +#define inotifyd_trivial_usage \ + "PROG FILE1[:MASK]..." +#define inotifyd_full_usage "\n\n" \ + "Run PROG on filesystem changes." \ + "\nWhen a filesystem event matching MASK occurs on FILEn," \ + "\nPROG ACTUAL_EVENTS FILEn [SUBFILE] is run." \ + "\nEvents:" \ + "\n a File is accessed" \ + "\n c File is modified" \ + "\n e Metadata changed" \ + "\n w Writable file is closed" \ + "\n 0 Unwritable file is closed" \ + "\n r File is opened" \ + "\n D File is deleted" \ + "\n M File is moved" \ + "\n u Backing fs is unmounted" \ + "\n o Event queue overflowed" \ + "\n x File can't be watched anymore" \ + "\nIf watching a directory:" \ + "\n m Subfile is moved into dir" \ + "\n y Subfile is moved out of dir" \ + "\n n Subfile is created" \ + "\n d Subfile is deleted" \ + "\n" \ + "\ninotifyd waits for PROG to exit." \ + "\nWhen x event happens for all FILEs, inotifyd exits." \ + +/* 2.6 style insmod has no options and required filename + * (not module name - .ko can't be omitted) */ +#define insmod_trivial_usage \ + IF_FEATURE_2_4_MODULES("[OPTIONS] MODULE ") \ + IF_NOT_FEATURE_2_4_MODULES("FILE ") \ + "[symbol=value]..." +#define insmod_full_usage "\n\n" \ + "Load the specified kernel modules into the kernel" \ + IF_FEATURE_2_4_MODULES( "\n" \ + "\nOptions:" \ + "\n -f Force module to load into the wrong kernel version" \ + "\n -k Make module autoclean-able" \ + "\n -v Verbose" \ + "\n -q Quiet" \ + "\n -L Lock to prevent simultaneous loads of a module" \ + IF_FEATURE_INSMOD_LOAD_MAP( \ + "\n -m Output load map to stdout" \ + ) \ + "\n -o NAME Set internal module name to NAME" \ + "\n -x Don't export externs" \ + ) + +/* -v, -b, -c are ignored */ +#define install_trivial_usage \ + "[-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST" +#define install_full_usage "\n\n" \ + "Copy files and set attributes\n" \ + "\nOptions:" \ + "\n -c Just copy (default)" \ + "\n -d Create directories" \ + "\n -D Create leading target directories" \ + "\n -s Strip symbol table" \ + "\n -p Preserve date" \ + "\n -o USER Set ownership" \ + "\n -g GRP Set group ownership" \ + "\n -m MODE Set permissions" \ + IF_SELINUX( \ + "\n -Z Set security context" \ + ) + +#define ionice_trivial_usage \ + "[-c 1-3] [-n 0-7] [-p PID] [PROG]" +#define ionice_full_usage "\n\n" \ + "Change I/O scheduling class and priority\n" \ + "\nOptions:" \ + "\n -c Class. 1:realtime 2:best-effort 3:idle" \ + "\n -n Priority" \ + +/* would need to make the " | " optional depending on more than one selected: */ +#define ip_trivial_usage \ + "[OPTIONS] {" \ + IF_FEATURE_IP_ADDRESS("address | ") \ + IF_FEATURE_IP_ROUTE("route | ") \ + IF_FEATURE_IP_LINK("link | ") \ + IF_FEATURE_IP_TUNNEL("tunnel | ") \ + IF_FEATURE_IP_RULE("rule") \ + "} {COMMAND}" +#define ip_full_usage "\n\n" \ + "ip [OPTIONS] OBJECT {COMMAND}\n" \ + "where OBJECT := {" \ + IF_FEATURE_IP_ADDRESS("address | ") \ + IF_FEATURE_IP_ROUTE("route | ") \ + IF_FEATURE_IP_LINK("link | ") \ + IF_FEATURE_IP_TUNNEL("tunnel | ") \ + IF_FEATURE_IP_RULE("rule") \ + "}\n" \ + "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" \ + +#define ipaddr_trivial_usage \ + "{ {add|del} IFADDR dev STRING | {show|flush}\n" \ + " [dev STRING] [to PREFIX] }" +#define ipaddr_full_usage "\n\n" \ + "ipaddr {add|delete} IFADDR dev STRING\n" \ + "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n" \ + " [to PREFIX] [label PATTERN]\n" \ + " IFADDR := PREFIX | ADDR peer PREFIX\n" \ + " [broadcast ADDR] [anycast ADDR]\n" \ + " [label STRING] [scope SCOPE-ID]\n" \ + " SCOPE-ID := [host | link | global | NUMBER]" \ + +#define ipcalc_trivial_usage \ + "[OPTIONS] ADDRESS[[/]NETMASK] [NETMASK]" +#define ipcalc_full_usage "\n\n" \ + "Calculate IP network settings from a IP address\n" \ + "\nOptions:" \ + IF_FEATURE_IPCALC_LONG_OPTIONS( \ + "\n -b,--broadcast Display calculated broadcast address" \ + "\n -n,--network Display calculated network address" \ + "\n -m,--netmask Display default netmask for IP" \ + IF_FEATURE_IPCALC_FANCY( \ + "\n -p,--prefix Display the prefix for IP/NETMASK" \ + "\n -h,--hostname Display first resolved host name" \ + "\n -s,--silent Don't ever display error messages" \ + ) \ + ) \ + IF_NOT_FEATURE_IPCALC_LONG_OPTIONS( \ + "\n -b Display calculated broadcast address" \ + "\n -n Display calculated network address" \ + "\n -m Display default netmask for IP" \ + IF_FEATURE_IPCALC_FANCY( \ + "\n -p Display the prefix for IP/NETMASK" \ + "\n -h Display first resolved host name" \ + "\n -s Don't ever display error messages" \ + ) \ + ) + +#define ipcrm_trivial_usage \ + "[-MQS key] [-mqs id]" +#define ipcrm_full_usage "\n\n" \ + "Upper-case options MQS remove an object by shmkey value.\n" \ + "Lower-case options remove an object by shmid value.\n" \ + "\nOptions:" \ + "\n -mM Remove memory segment after last detach" \ + "\n -qQ Remove message queue" \ + "\n -sS Remove semaphore" \ + +#define ipcs_trivial_usage \ + "[[-smq] -i shmid] | [[-asmq] [-tcplu]]" +#define ipcs_full_usage "\n\n" \ + " -i Show specific resource" \ + "\nResource specification:" \ + "\n -m Shared memory segments" \ + "\n -q Message queues" \ + "\n -s Semaphore arrays" \ + "\n -a All (default)" \ + "\nOutput format:" \ + "\n -t Time" \ + "\n -c Creator" \ + "\n -p Pid" \ + "\n -l Limits" \ + "\n -u Summary" \ + +#define iplink_trivial_usage \ + "{ set DEVICE { up | down | arp { on | off } | show [DEVICE] }" +#define iplink_full_usage "\n\n" \ + "iplink set DEVICE { up | down | arp | multicast { on | off } |\n" \ + " dynamic { on | off } |\n" \ + " mtu MTU }\n" \ + "iplink show [DEVICE]" \ + +#define iproute_trivial_usage \ + "{ list | flush | { add | del | change | append |\n" \ + " replace | monitor } ROUTE }" +#define iproute_full_usage "\n\n" \ + "iproute { list | flush } SELECTOR\n" \ + "iproute get ADDRESS [from ADDRESS iif STRING]\n" \ + " [oif STRING] [tos TOS]\n" \ + "iproute { add | del | change | append | replace | monitor } ROUTE\n" \ + " SELECTOR := [root PREFIX] [match PREFIX] [proto RTPROTO]\n" \ + " ROUTE := [TYPE] PREFIX [tos TOS] [proto RTPROTO]\n" \ + " [metric METRIC]" \ + +#define iprule_trivial_usage \ + "{[list | add | del] RULE}" +#define iprule_full_usage "\n\n" \ + "iprule [list | add | del] SELECTOR ACTION\n" \ + " SELECTOR := [from PREFIX] [to PREFIX] [tos TOS] [fwmark FWMARK]\n" \ + " [dev STRING] [pref NUMBER]\n" \ + " ACTION := [table TABLE_ID] [nat ADDRESS]\n" \ + " [prohibit | reject | unreachable]\n" \ + " [realms [SRCREALM/]DSTREALM]\n" \ + " TABLE_ID := [local | main | default | NUMBER]" \ + +#define iptunnel_trivial_usage \ + "{ add | change | del | show } [NAME]\n" \ + " [mode { ipip | gre | sit }]\n" \ + " [remote ADDR] [local ADDR] [ttl TTL]" +#define iptunnel_full_usage "\n\n" \ + "iptunnel { add | change | del | show } [NAME]\n" \ + " [mode { ipip | gre | sit }] [remote ADDR] [local ADDR]\n" \ + " [[i|o]seq] [[i|o]key KEY] [[i|o]csum]\n" \ + " [ttl TTL] [tos TOS] [[no]pmtudisc] [dev PHYS_DEV]" \ + +#define kbd_mode_trivial_usage \ + "[-a|k|s|u] [-C TTY]" +#define kbd_mode_full_usage "\n\n" \ + "Report or set the keyboard mode\n" \ + "\nOptions:" \ + "\n -a Default (ASCII)" \ + "\n -k Medium-raw (keyboard)" \ + "\n -s Raw (scancode)" \ + "\n -u Unicode (utf-8)" \ + "\n -C TTY Affect TTY instead of /dev/tty" \ + +#define kill_trivial_usage \ + "[-l] [-SIG] PID..." +#define kill_full_usage "\n\n" \ + "Send a signal (default: TERM) to given PIDs\n" \ + "\nOptions:" \ + "\n -l List all signal names and numbers" \ +/* "\n -s SIG Yet another way of specifying SIG" */ \ + +#define kill_example_usage \ + "$ ps | grep apache\n" \ + "252 root root S [apache]\n" \ + "263 www-data www-data S [apache]\n" \ + "264 www-data www-data S [apache]\n" \ + "265 www-data www-data S [apache]\n" \ + "266 www-data www-data S [apache]\n" \ + "267 www-data www-data S [apache]\n" \ + "$ kill 252\n" + +#define killall_trivial_usage \ + "[-l] [-q] [-SIG] PROCESS_NAME..." +#define killall_full_usage "\n\n" \ + "Send a signal (default: TERM) to given processes\n" \ + "\nOptions:" \ + "\n -l List all signal names and numbers" \ +/* "\n -s SIG Yet another way of specifying SIG" */ \ + "\n -q Don't complain if no processes were killed" \ + +#define killall_example_usage \ + "$ killall apache\n" + +#define killall5_trivial_usage \ + "[-l] [-SIG] [-o PID]..." +#define killall5_full_usage "\n\n" \ + "Send a signal (default: TERM) to all processes outside current session\n" \ + "\nOptions:" \ + "\n -l List all signal names and numbers" \ + "\n -o PID Don't signal this PID" \ +/* "\n -s SIG Yet another way of specifying SIG" */ \ + +#define klogd_trivial_usage \ + "[-c N] [-n]" +#define klogd_full_usage "\n\n" \ + "Kernel logger\n" \ + "\nOptions:" \ + "\n -c N Only messages with level < N are printed to console" \ + "\n -n Run in foreground" \ + +#define length_trivial_usage \ + "STRING" +#define length_full_usage "\n\n" \ + "Print STRING's length" + +#define length_example_usage \ + "$ length Hello\n" \ + "5\n" + +#define less_trivial_usage \ + "[-EMNmh~I?] [FILE]..." +#define less_full_usage "\n\n" \ + "View FILE (or stdin) one screenful at a time\n" \ + "\nOptions:" \ + "\n -E Quit once the end of a file is reached" \ + "\n -M,-m Display status line with line numbers" \ + "\n and percentage through the file" \ + "\n -N Prefix line number to each line" \ + "\n -I Ignore case in all searches" \ + "\n -~ Suppress ~s displayed past the end of the file" \ + +#define linux32_trivial_usage NOUSAGE_STR +#define linux32_full_usage "" +#define linux64_trivial_usage NOUSAGE_STR +#define linux64_full_usage "" + +#define linuxrc_trivial_usage NOUSAGE_STR +#define linuxrc_full_usage "" + +#define setarch_trivial_usage \ + "personality PROG ARGS" +#define setarch_full_usage "\n\n" \ + "Personality may be:\n" \ + " linux32 Set 32bit uname emulation\n" \ + " linux64 Set 64bit uname emulation" \ + +#define ln_trivial_usage \ + "[OPTIONS] TARGET... LINK|DIR" +#define ln_full_usage "\n\n" \ + "Create a link LINK or DIR/TARGET to the specified TARGET(s)\n" \ + "\nOptions:" \ + "\n -s Make symlinks instead of hardlinks" \ + "\n -f Remove existing destinations" \ + "\n -n Don't dereference symlinks - treat like normal file" \ + "\n -b Make a backup of the target (if exists) before link operation" \ + "\n -S suf Use suffix instead of ~ when making backup files" \ + +#define ln_example_usage \ + "$ ln -s BusyBox /tmp/ls\n" \ + "$ ls -l /tmp/ls\n" \ + "lrwxrwxrwx 1 root root 7 Apr 12 18:39 ls -> BusyBox*\n" + +#define load_policy_trivial_usage NOUSAGE_STR +#define load_policy_full_usage "" + +#define loadfont_trivial_usage \ + "< font" +#define loadfont_full_usage "\n\n" \ + "Load a console font from stdin" \ +/* "\n -C TTY Affect TTY instead of /dev/tty" */ \ + +#define loadfont_example_usage \ + "$ loadfont < /etc/i18n/fontname\n" + +#define loadkmap_trivial_usage \ + "< keymap" +#define loadkmap_full_usage "\n\n" \ + "Load a binary keyboard translation table from stdin\n" \ +/* "\n -C TTY Affect TTY instead of /dev/tty" */ \ + +#define loadkmap_example_usage \ + "$ loadkmap < /etc/i18n/lang-keymap\n" + +#define logger_trivial_usage \ + "[OPTIONS] [MESSAGE]" +#define logger_full_usage "\n\n" \ + "Write MESSAGE (or stdin) to syslog\n" \ + "\nOptions:" \ + "\n -s Log to stderr as well as the system log" \ + "\n -t TAG Log using the specified tag (defaults to user name)" \ + "\n -p PRIO Priority (numeric or facility.level pair)" \ + +#define logger_example_usage \ + "$ logger \"hello\"\n" + +#define login_trivial_usage \ + "[-p] [-h HOST] [[-f] USER]" +#define login_full_usage "\n\n" \ + "Begin a new session on the system\n" \ + "\nOptions:" \ + "\n -f Don't authenticate (user already authenticated)" \ + "\n -h Name of the remote host" \ + "\n -p Preserve environment" \ + +#define logname_trivial_usage \ + "" +#define logname_full_usage "\n\n" \ + "Print the name of the current user" +#define logname_example_usage \ + "$ logname\n" \ + "root\n" + +#define logread_trivial_usage \ + "[OPTIONS]" +#define logread_full_usage "\n\n" \ + "Show messages in syslogd's circular buffer\n" \ + "\nOptions:" \ + "\n -f Output data as log grows" \ + +#define losetup_trivial_usage \ + "[-o OFS] LOOPDEV FILE - associate loop devices\n" \ + " losetup -d LOOPDEV - disassociate\n" \ + " losetup [-f] - show" +#define losetup_full_usage "\n\n" \ + "Options:" \ + "\n -o OFS Start OFS bytes into FILE" \ + "\n -f Show first free loop device" \ + +#define losetup_notes_usage \ + "No arguments will display all current associations.\n" \ + "One argument (losetup /dev/loop1) will display the current association\n" \ + "(if any), or disassociate it (with -d). The display shows the offset\n" \ + "and filename of the file the loop device is currently bound to.\n\n" \ + "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \ + "with an optional offset (-o 12345). Encryption is not yet supported.\n" \ + "losetup -f will show the first loop free loop device\n\n" + +#define lpd_trivial_usage \ + "SPOOLDIR [HELPER [ARGS]]" +#define lpd_full_usage "\n\n" \ + "SPOOLDIR must contain (symlinks to) device nodes or directories" \ + "\nwith names matching print queue names. In the first case, jobs are" \ + "\nsent directly to the device. Otherwise each job is stored in queue" \ + "\ndirectory and HELPER program is called. Name of file to print" \ + "\nis passed in $DATAFILE variable." \ + "\nExample:" \ + "\n tcpsvd -E 0 515 softlimit -m 999999 lpd /var/spool ./print" \ + +#define lpq_trivial_usage \ + "[-P queue[@host[:port]]] [-U USERNAME] [-d JOBID]... [-fs]" +#define lpq_full_usage "\n\n" \ + "Options:" \ + "\n -P lp service to connect to (else uses $PRINTER)" \ + "\n -d Delete jobs" \ + "\n -f Force any waiting job to be printed" \ + "\n -s Short display" \ + +#define lpr_trivial_usage \ + "-P queue[@host[:port]] -U USERNAME -J TITLE -Vmh [FILE]..." +/* -C CLASS exists too, not shown. + * CLASS is supposed to be printed on banner page, if one is requested */ +#define lpr_full_usage "\n\n" \ + "Options:" \ + "\n -P lp service to connect to (else uses $PRINTER)"\ + "\n -m Send mail on completion" \ + "\n -h Print banner page too" \ + "\n -V Verbose" \ + +#define ls_trivial_usage \ + "[-1Aa" IF_FEATURE_LS_TIMESTAMPS("c") "Cd" \ + IF_FEATURE_LS_TIMESTAMPS("e") IF_FEATURE_LS_FILETYPES("F") "iln" \ + IF_FEATURE_LS_FILETYPES("p") IF_FEATURE_LS_FOLLOWLINKS("L") \ + IF_FEATURE_LS_RECURSIVE("R") IF_FEATURE_LS_SORTFILES("rS") "s" \ + IF_FEATURE_AUTOWIDTH("T") IF_FEATURE_LS_TIMESTAMPS("tu") \ + IF_FEATURE_LS_SORTFILES("v") IF_FEATURE_AUTOWIDTH("w") "x" \ + IF_FEATURE_LS_SORTFILES("X") IF_FEATURE_HUMAN_READABLE("h") "k" \ + IF_SELINUX("K") "] [FILE]..." +#define ls_full_usage "\n\n" \ + "List directory contents\n" \ + "\nOptions:" \ + "\n -1 List in a single column" \ + "\n -A Don't list . and .." \ + "\n -a Don't hide entries starting with ." \ + "\n -C List by columns" \ + IF_FEATURE_LS_TIMESTAMPS( \ + "\n -c With -l: sort by ctime") \ + IF_FEATURE_LS_COLOR( \ + "\n --color[={always,never,auto}] Control coloring") \ + "\n -d List directory entries instead of contents" \ + IF_FEATURE_LS_TIMESTAMPS( \ + "\n -e List full date and time") \ + IF_FEATURE_LS_FILETYPES( \ + "\n -F Append indicator (one of */=@|) to entries") \ + "\n -i List inode numbers" \ + "\n -l Long listing format" \ + "\n -n List numeric UIDs and GIDs instead of names" \ + IF_FEATURE_LS_FILETYPES( \ + "\n -p Append indicator (one of /=@|) to entries") \ + IF_FEATURE_LS_FOLLOWLINKS( \ + "\n -L List entries pointed to by symlinks") \ + IF_FEATURE_LS_RECURSIVE( \ + "\n -R Recurse") \ + IF_FEATURE_LS_SORTFILES( \ + "\n -r Sort in reverse order") \ + IF_FEATURE_LS_SORTFILES( \ + "\n -S Sort by file size") \ + "\n -s List the size of each file, in blocks" \ + IF_FEATURE_AUTOWIDTH( \ + "\n -T N Assume tabstop every N columns") \ + IF_FEATURE_LS_TIMESTAMPS( \ + "\n -t With -l: sort by modification time") \ + IF_FEATURE_LS_TIMESTAMPS( \ + "\n -u With -l: sort by access time") \ + IF_FEATURE_LS_SORTFILES( \ + "\n -v Sort by version") \ + IF_FEATURE_AUTOWIDTH( \ + "\n -w N Assume the terminal is N columns wide") \ + "\n -x List by lines" \ + IF_FEATURE_LS_SORTFILES( \ + "\n -X Sort by extension") \ + IF_FEATURE_HUMAN_READABLE( \ + "\n -h List sizes in human readable format (1K 243M 2G)") \ + IF_SELINUX( \ + "\n -k List security context") \ + IF_SELINUX( \ + "\n -K List security context in long format") \ + IF_SELINUX( \ + "\n -Z List security context and permission") \ + +#define lsattr_trivial_usage \ + "[-Radlv] [FILE]..." +#define lsattr_full_usage "\n\n" \ + "List file attributes on an ext2 fs\n" \ + "\nOptions:" \ + "\n -R Recurse" \ + "\n -a Don't hide entries starting with ." \ + "\n -d List directory entries instead of contents" \ + "\n -l List long flag names" \ + "\n -v List the file's version/generation number" \ + +#define lsmod_trivial_usage \ + "" +#define lsmod_full_usage "\n\n" \ + "List the currently loaded kernel modules" + +#define lspci_trivial_usage \ + "[-mk]" +#define lspci_full_usage "\n\n" \ + "List all PCI devices" \ + "\n" \ + "\n -m Parseable output" \ + "\n -k Show driver" \ + +#define lsusb_trivial_usage NOUSAGE_STR +#define lsusb_full_usage "" + +#if ENABLE_FEATURE_MAKEDEVS_LEAF +#define makedevs_trivial_usage \ + "NAME TYPE MAJOR MINOR FIRST LAST [s]" +#define makedevs_full_usage "\n\n" \ + "Create a range of block or character special files" \ + "\n" \ + "\nTYPE is:" \ + "\n b Block device" \ + "\n c Character device" \ + "\n f FIFO, MAJOR and MINOR are ignored" \ + "\n" \ + "\nFIRST..LAST specify numbers appended to NAME." \ + "\nIf 's' is the last argument, the base device is created as well." \ + "\n" \ + "\nExamples:" \ + "\n makedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63" \ + "\n makedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" +#define makedevs_example_usage \ + "# makedevs /dev/ttyS c 4 66 2 63\n" \ + "[creates ttyS2-ttyS63]\n" \ + "# makedevs /dev/hda b 3 0 0 8 s\n" \ + "[creates hda,hda1-hda8]\n" +#endif + +#if ENABLE_FEATURE_MAKEDEVS_TABLE +#define makedevs_trivial_usage \ + "[-d device_table] rootdir" +#define makedevs_full_usage "\n\n" \ + "Create a range of special files as specified in a device table.\n" \ + "Device table entries take the form of:\n" \ + " \n" \ + "Where name is the file name, type can be one of:\n" \ + " f Regular file\n" \ + " d Directory\n" \ + " c Character device\n" \ + " b Block device\n" \ + " p Fifo (named pipe)\n" \ + "uid is the user id for the target file, gid is the group id for the\n" \ + "target file. The rest of the entries (major, minor, etc) apply to\n" \ + "to device special files. A '-' may be used for blank entries." +#define makedevs_example_usage \ + "For example:\n" \ + " \n" \ + "/dev d 755 0 0 - - - - -\n" \ + "/dev/console c 666 0 0 5 1 - - -\n" \ + "/dev/null c 666 0 0 1 3 0 0 -\n" \ + "/dev/zero c 666 0 0 1 5 0 0 -\n" \ + "/dev/hda b 640 0 0 3 0 0 0 -\n" \ + "/dev/hda b 640 0 0 3 1 1 1 15\n\n" \ + "Will Produce:\n" \ + "/dev\n" \ + "/dev/console\n" \ + "/dev/null\n" \ + "/dev/zero\n" \ + "/dev/hda\n" \ + "/dev/hda[0-15]\n" +#endif + +#define makemime_trivial_usage \ + "[OPTIONS] [FILE]..." +#define makemime_full_usage "\n\n" \ + "Create multipart MIME-encoded message from FILEs\n" \ +/* "Transfer encoding is base64, disposition is inline (not attachment)\n" */ \ + "\nOptions:" \ + "\n -o FILE Output. Default: stdout" \ + "\n -a HDR Add header. Examples:" \ + "\n \"From: user@host.org\", \"Date: `date -R`\"" \ + "\n -c CT Content type. Default: text/plain" \ + "\n -C CS Charset. Default: " CONFIG_FEATURE_MIME_CHARSET \ +/* "\n -e ENC Transfer encoding. Ignored. base64 is assumed" */ \ + "\n" \ + "\nOther options are silently ignored" \ + +#define man_trivial_usage \ + "[OPTIONS] [MANPAGE]..." +#define man_full_usage "\n\n" \ + "Format and display manual page\n" \ + "\nOptions:" \ + "\n -a Display all pages" \ + "\n -w Show page locations" \ + +#define matchpathcon_trivial_usage \ + "[-n] [-N] [-f file_contexts_file] [-p prefix] [-V]" +#define matchpathcon_full_usage "\n\n" \ + " -n Don't display path" \ + "\n -N Don't use translations" \ + "\n -f Use alternate file_context file" \ + "\n -p Use prefix to speed translations" \ + "\n -V Verify file context on disk matches defaults" \ + +#define md5sum_trivial_usage \ + "[OPTIONS] [FILE]..." \ + IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTIONS] -c [FILE]") +#define md5sum_full_usage "\n\n" \ + "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums" \ + IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ + "\nOptions:" \ + "\n -c Check sums against given list" \ + "\n -s Don't output anything, status code shows success" \ + "\n -w Warn about improperly formatted checksum lines" \ + ) + +#define md5sum_example_usage \ + "$ md5sum < busybox\n" \ + "6fd11e98b98a58f64ff3398d7b324003\n" \ + "$ md5sum busybox\n" \ + "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ + "$ md5sum -c -\n" \ + "6fd11e98b98a58f64ff3398d7b324003 busybox\n" \ + "busybox: OK\n" \ + "^D\n" + +#define sha1sum_trivial_usage \ + "[OPTIONS] [FILE]..." \ + IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTIONS] -c [FILE]") +#define sha1sum_full_usage "\n\n" \ + "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums" \ + IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ + "\nOptions:" \ + "\n -c Check sums against given list" \ + "\n -s Don't output anything, status code shows success" \ + "\n -w Warn about improperly formatted checksum lines" \ + ) + +#define sha256sum_trivial_usage \ + "[OPTIONS] [FILE]..." \ + IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha256sum [OPTIONS] -c [FILE]") +#define sha256sum_full_usage "\n\n" \ + "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA256 checksums" \ + IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ + "\nOptions:" \ + "\n -c Check sums against given list" \ + "\n -s Don't output anything, status code shows success" \ + "\n -w Warn about improperly formatted checksum lines" \ + ) + +#define sha512sum_trivial_usage \ + "[OPTIONS] [FILE]..." \ + IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha512sum [OPTIONS] -c [FILE]") +#define sha512sum_full_usage "\n\n" \ + "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA512 checksums" \ + IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ + "\nOptions:" \ + "\n -c Check sums against given list" \ + "\n -s Don't output anything, status code shows success" \ + "\n -w Warn about improperly formatted checksum lines" \ + ) + +#define mdev_trivial_usage \ + "[-s]" +#define mdev_full_usage "\n\n" \ + " -s Scan /sys and populate /dev during system boot\n" \ + "\n" \ + "It can be run by kernel as a hotplug helper. To activate it:\n" \ + " echo /sbin/mdev > /proc/sys/kernel/hotplug\n" \ + IF_FEATURE_MDEV_CONF( \ + "It uses /etc/mdev.conf with lines\n" \ + "[-]DEVNAME UID:GID PERM" \ + IF_FEATURE_MDEV_RENAME(" [>|=PATH]") \ + IF_FEATURE_MDEV_EXEC(" [@|$|*PROG]") \ + ) \ + +#define mdev_notes_usage "" \ + IF_FEATURE_MDEV_CONFIG( \ + "The mdev config file contains lines that look like:\n" \ + " hd[a-z][0-9]* 0:3 660\n\n" \ + "That's device name (with regex match), uid:gid, and permissions.\n\n" \ + IF_FEATURE_MDEV_EXEC( \ + "Optionally, that can be followed (on the same line) by a special character\n" \ + "and a command line to run after creating/before deleting the corresponding\n" \ + "device(s). The environment variable $MDEV indicates the active device node\n" \ + "(which is useful if it's a regex match). For example:\n\n" \ + " hdc root:cdrom 660 *ln -s $MDEV cdrom\n\n" \ + "The special characters are @ (run after creating), $ (run before deleting),\n" \ + "and * (run both after creating and before deleting). The commands run in\n" \ + "the /dev directory, and use system() which calls /bin/sh.\n\n" \ + ) \ + "Config file parsing stops on the first matching line. If no config\n" \ + "entry is matched, devices are created with default 0:0 660. (Make\n" \ + "the last line match .* to override this.)\n\n" \ + ) + +#define mesg_trivial_usage \ + "[y|n]" +#define mesg_full_usage "\n\n" \ + "Control write access to your terminal\n" \ + " y Allow write access to your terminal\n" \ + " n Disallow write access to your terminal" + +#define microcom_trivial_usage \ + "[-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY" +#define microcom_full_usage "\n\n" \ + "Copy bytes for stdin to TTY and from TTY to stdout\n" \ + "\nOptions:" \ + "\n -d Wait up to DELAY ms for TTY output before sending every" \ + "\n next byte to it" \ + "\n -t Exit if both stdin and TTY are silent for TIMEOUT ms" \ + "\n -s Set serial line to SPEED" \ + "\n -X Disable special meaning of NUL and Ctrl-X from stdin" \ + +#define mkdir_trivial_usage \ + "[OPTIONS] DIRECTORY..." +#define mkdir_full_usage "\n\n" \ + "Create DIRECTORY\n" \ + "\nOptions:" \ + "\n -m Mode" \ + "\n -p No error if exists; make parent directories as needed" \ + IF_SELINUX( \ + "\n -Z Set security context" \ + ) + +#define mkdir_example_usage \ + "$ mkdir /tmp/foo\n" \ + "$ mkdir /tmp/foo\n" \ + "/tmp/foo: File exists\n" \ + "$ mkdir /tmp/foo/bar/baz\n" \ + "/tmp/foo/bar/baz: No such file or directory\n" \ + "$ mkdir -p /tmp/foo/bar/baz\n" + +#define mkfifo_trivial_usage \ + "[OPTIONS] name" +#define mkfifo_full_usage "\n\n" \ + "Create named pipe (identical to 'mknod name p')\n" \ + "\nOptions:" \ + "\n -m MODE Mode (default a=rw)" \ + IF_SELINUX( \ + "\n -Z Set security context" \ + ) + +#define mkfs_ext2_trivial_usage \ + "[-Fn] " \ + /* "[-c|-l filename] " */ \ + "[-b BLK_SIZE] " \ + /* "[-f fragment-size] [-g blocks-per-group] " */ \ + "[-i INODE_RATIO] [-I INODE_SIZE] " \ + /* "[-j] [-J journal-options] [-N number-of-inodes] " */ \ + "[-m RESERVED_PERCENT] " \ + /* "[-o creator-os] [-O feature[,...]] [-q] " */ \ + /* "[r fs-revision-level] [-E extended-options] [-v] [-F] " */ \ + "[-L LABEL] " \ + /* "[-M last-mounted-directory] [-S] [-T filesystem-type] " */ \ + "BLOCKDEV [KBYTES]" +#define mkfs_ext2_full_usage "\n\n" \ + " -b BLK_SIZE Block size, bytes" \ +/* "\n -c Check device for bad blocks" */ \ +/* "\n -E opts Set extended options" */ \ +/* "\n -f size Fragment size in bytes" */ \ + "\n -F Force" \ +/* "\n -g N Number of blocks in a block group" */ \ + "\n -i RATIO Max number of files is filesystem_size / RATIO" \ + "\n -I BYTES Inode size (min 128)" \ +/* "\n -j Create a journal (ext3)" */ \ +/* "\n -J opts Set journal options (size/device)" */ \ +/* "\n -l file Read bad blocks list from file" */ \ + "\n -L LBL Volume label" \ + "\n -m PERCENT Percent of blocks to reserve for admin" \ +/* "\n -M dir Set last mounted directory" */ \ + "\n -n Dry run" \ +/* "\n -N N Number of inodes to create" */ \ +/* "\n -o os Set the 'creator os' field" */ \ +/* "\n -O features Dir_index/filetype/has_journal/journal_dev/sparse_super" */ \ +/* "\n -q Quiet" */ \ +/* "\n -r rev Set filesystem revision" */ \ +/* "\n -S Write superblock and group descriptors only" */ \ +/* "\n -T fs-type Set usage type (news/largefile/largefile4)" */ \ +/* "\n -v Verbose" */ \ + +#define mkfs_minix_trivial_usage \ + "[-c | -l FILE] [-nXX] [-iXX] BLOCKDEV [KBYTES]" +#define mkfs_minix_full_usage "\n\n" \ + "Make a MINIX filesystem\n" \ + "\nOptions:" \ + "\n -c Check device for bad blocks" \ + "\n -n [14|30] Maximum length of filenames" \ + "\n -i INODES Number of inodes for the filesystem" \ + "\n -l FILE Read bad blocks list from FILE" \ + "\n -v Make version 2 filesystem" \ + +#define mkfs_reiser_trivial_usage \ + "[-f] [-l LABEL] BLOCKDEV [4K-BLOCKS]" + +#define mkfs_reiser_full_usage "\n\n" \ + "Make a ReiserFS V3 filesystem\n" \ + "\nOptions:" \ + "\n -f Force" \ + "\n -l LBL Volume label" \ + +#define mkfs_vfat_trivial_usage \ + "[-v] [-n LABEL] BLOCKDEV [KBYTES]" +/* Accepted but ignored: + "[-c] [-C] [-I] [-l bad-block-file] [-b backup-boot-sector] " + "[-m boot-msg-file] [-i volume-id] " + "[-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs] " + "[-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors] " +*/ +#define mkfs_vfat_full_usage "\n\n" \ + "Make a FAT32 filesystem\n" \ + "\nOptions:" \ +/* "\n -c Check device for bad blocks" */ \ + "\n -v Verbose" \ +/* "\n -I Allow to use entire disk device (e.g. /dev/hda)" */ \ + "\n -n LBL Volume label" \ + +#define mknod_trivial_usage \ + "[OPTIONS] NAME TYPE MAJOR MINOR" +#define mknod_full_usage "\n\n" \ + "Create a special file (block, character, or pipe)\n" \ + "\nOptions:" \ + "\n -m Create the special file using the specified mode (default a=rw)" \ + "\nTYPEs include:" \ + "\n b: Make a block device" \ + "\n c or u: Make a character device" \ + "\n p: Make a named pipe (MAJOR and MINOR are ignored)" \ + IF_SELINUX( \ + "\n -Z Set security context" \ + ) + +#define mknod_example_usage \ + "$ mknod /dev/fd0 b 2 0\n" \ + "$ mknod -m 644 /tmp/pipe p\n" + +#define mkswap_trivial_usage \ + "[OPTIONS] BLOCKDEV [KBYTES]" +#define mkswap_full_usage "\n\n" \ + "Prepare BLOCKDEV to be used as swap partition\n" \ + "\nOptions:" \ + "\n -L LBL Label" \ + +#define mktemp_trivial_usage \ + "[-dt] [-p DIR] [TEMPLATE]" +#define mktemp_full_usage "\n\n" \ + "Create a temporary file with name based on TEMPLATE and print its name.\n" \ + "TEMPLATE must end with XXXXXX (e.g. [/dir/]nameXXXXXX).\n" \ + "\nOptions:" \ + "\n -d Make a directory instead of a file" \ +/* "\n -q Fail silently if an error occurs" - we ignore it */ \ + "\n -t Generate a path rooted in temporary directory" \ + "\n -p DIR Use DIR as a temporary directory (implies -t)" \ + "\n" \ + "\nFor -t or -p, directory is chosen as follows:" \ + "\n$TMPDIR if set, else -p DIR, else /tmp" \ + +#define mktemp_example_usage \ + "$ mktemp /tmp/temp.XXXXXX\n" \ + "/tmp/temp.mWiLjM\n" \ + "$ ls -la /tmp/temp.mWiLjM\n" \ + "-rw------- 1 andersen andersen 0 Apr 25 17:10 /tmp/temp.mWiLjM\n" + +#define modprobe_trivial_usage \ + IF_MODPROBE_SMALL("[-qfwrsv] MODULE [symbol=value]...") \ + IF_NOT_MODPROBE_SMALL("[-" \ + IF_FEATURE_2_4_MODULES("k")"nqrsv" \ + IF_FEATURE_MODPROBE_BLACKLIST("b")"] MODULE [symbol=value]...") +#define modprobe_full_usage "\n\n" \ + "Options:" \ + IF_MODPROBE_SMALL( \ + "\n -q Quiet" \ + "\n -f Force" \ + "\n -w Wait for unload" \ + "\n -r Remove module (stacks) or do autoclean" \ + "\n -s Report via syslog instead of stderr" \ + "\n -v Verbose" \ + ) \ + IF_NOT_MODPROBE_SMALL( \ + IF_FEATURE_2_4_MODULES( \ + "\n -k Make module autoclean-able" \ + ) \ + "\n -n Dry run" \ + "\n -q Quiet" \ + "\n -r Remove module (stacks) or do autoclean" \ + "\n -s Report via syslog instead of stderr" \ + "\n -v Verbose" \ + IF_FEATURE_MODPROBE_BLACKLIST( \ + "\n -b Apply blacklist to module names too" \ + ) \ + ) + +#define modprobe_notes_usage \ +"modprobe can (un)load a stack of modules, passing each module options (when\n" \ +"loading). modprobe uses a configuration file to determine what option(s) to\n" \ +"pass each module it loads.\n" \ +"\n" \ +"The configuration file is searched (in this order):\n" \ +"\n" \ +" /etc/modprobe.conf (2.6 only)\n" \ +" /etc/modules.conf\n" \ +" /etc/conf.modules (deprecated)\n" \ +"\n" \ +"They all have the same syntax (see below). If none is present, it is\n" \ +"_not_ an error; each loaded module is then expected to load without\n" \ +"options. Once a file is found, the others are tested for.\n" \ +"\n" \ +"/etc/modules.conf entry format:\n" \ +"\n" \ +" alias \n" \ +" Makes it possible to modprobe alias_name, when there is no such module.\n" \ +" It makes sense if your mod_name is long, or you want a more representative\n" \ +" name for that module (eg. 'scsi' in place of 'aha7xxx').\n" \ +" This makes it also possible to use a different set of options (below) for\n" \ +" the module and the alias.\n" \ +" A module can be aliased more than once.\n" \ +"\n" \ +" options \n" \ +" When loading module mod_name (or the module aliased by alias_name), pass\n" \ +" the \"symbol=value\" pairs as option to that module.\n" \ +"\n" \ +"Sample /etc/modules.conf file:\n" \ +"\n" \ +" options tulip irq=3\n" \ +" alias tulip tulip2\n" \ +" options tulip2 irq=4 io=0x308\n" \ +"\n" \ +"Other functionality offered by 'classic' modprobe is not available in\n" \ +"this implementation.\n" \ +"\n" \ +"If module options are present both in the config file, and on the command line,\n" \ +"then the options from the command line will be passed to the module _after_\n" \ +"the options from the config file. That way, you can have defaults in the config\n" \ +"file, and override them for a specific usage from the command line.\n" +#define modprobe_example_usage \ + "(with the above /etc/modules.conf):\n\n" \ + "$ modprobe tulip\n" \ + " will load the module 'tulip' with default option 'irq=3'\n\n" \ + "$ modprobe tulip irq=5\n" \ + " will load the module 'tulip' with option 'irq=5', thus overriding the default\n\n" \ + "$ modprobe tulip2\n" \ + " will load the module 'tulip' with default options 'irq=4 io=0x308',\n" \ + " which are the default for alias 'tulip2'\n\n" \ + "$ modprobe tulip2 irq=8\n" \ + " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=8',\n" \ + " which are the default for alias 'tulip2' overridden by the option 'irq=8'\n\n" \ + " from the command line\n\n" \ + "$ modprobe tulip2 irq=2 io=0x210\n" \ + " will load the module 'tulip' with default options 'irq=4 io=0x308 irq=4 io=0x210',\n" \ + " which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \ + " from the command line\n" + +#define more_trivial_usage \ + "[FILE]..." +#define more_full_usage "\n\n" \ + "View FILE (or stdin) one screenful at a time" + +#define more_example_usage \ + "$ dmesg | more\n" + +#define mount_trivial_usage \ + "[OPTIONS] [-o OPTS] DEVICE NODE" +#define mount_full_usage "\n\n" \ + "Mount a filesystem. Filesystem autodetection requires /proc.\n" \ + "\nOptions:" \ + "\n -a Mount all filesystems in fstab" \ + IF_FEATURE_MOUNT_FAKE( \ + IF_FEATURE_MTAB_SUPPORT( \ + "\n -f Update /etc/mtab, but don't mount" \ + ) \ + IF_NOT_FEATURE_MTAB_SUPPORT( \ + "\n -f Dry run" \ + ) \ + ) \ + IF_FEATURE_MOUNT_HELPERS( \ + "\n -i Don't run mount helper" \ + ) \ + IF_FEATURE_MTAB_SUPPORT( \ + "\n -n Don't update /etc/mtab" \ + ) \ + "\n -r Read-only mount" \ + "\n -w Read-write mount (default)" \ + "\n -t FSTYPE Filesystem type" \ + "\n -O OPT Mount only filesystems with option OPT (-a only)" \ + "\n-o OPT:" \ + IF_FEATURE_MOUNT_LOOP( \ + "\n loop Ignored (loop devices are autodetected)" \ + ) \ + IF_FEATURE_MOUNT_FLAGS( \ + "\n [a]sync Writes are [a]synchronous" \ + "\n [no]atime Disable/enable updates to inode access times" \ + "\n [no]diratime Disable/enable atime updates to directories" \ + "\n [no]relatime Disable/enable atime updates relative to modification time" \ + "\n [no]dev (Dis)allow use of special device files" \ + "\n [no]exec (Dis)allow use of executable files" \ + "\n [no]suid (Dis)allow set-user-id-root programs" \ + "\n [r]shared Convert [recursively] to a shared subtree" \ + "\n [r]slave Convert [recursively] to a slave subtree" \ + "\n [r]private Convert [recursively] to a private subtree" \ + "\n [un]bindable Make mount point [un]able to be bind mounted" \ + "\n bind Bind a file or directory to another location" \ + "\n move Relocate an existing mount point" \ + ) \ + "\n remount Remount a mounted filesystem, changing flags" \ + "\n ro/rw Same as -r/-w" \ + "\n" \ + "\nThere are filesystem-specific -o flags." \ + +#define mount_example_usage \ + "$ mount\n" \ + "/dev/hda3 on / type minix (rw)\n" \ + "proc on /proc type proc (rw)\n" \ + "devpts on /dev/pts type devpts (rw)\n" \ + "$ mount /dev/fd0 /mnt -t msdos -o ro\n" \ + "$ mount /tmp/diskimage /opt -t ext2 -o loop\n" \ + "$ mount cd_image.iso mydir\n" +#define mount_notes_usage \ + "Returns 0 for success, number of failed mounts for -a, or errno for one mount." + +#define mountpoint_trivial_usage \ + "[-q] <[-dn] DIR | -x DEVICE>" +#define mountpoint_full_usage "\n\n" \ + "Check if the directory is a mountpoint\n" \ + "\nOptions:" \ + "\n -q Quiet" \ + "\n -d Print major/minor device number of the filesystem" \ + "\n -n Print device name of the filesystem" \ + "\n -x Print major/minor device number of the blockdevice" \ + +#define mountpoint_example_usage \ + "$ mountpoint /proc\n" \ + "/proc is not a mountpoint\n" \ + "$ mountpoint /sys\n" \ + "/sys is a mountpoint\n" + +#define mt_trivial_usage \ + "[-f device] opcode value" +#define mt_full_usage "\n\n" \ + "Control magnetic tape drive operation\n" \ + "\n" \ + "Available Opcodes:\n" \ + "\n" \ + "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" \ + "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" \ + "ras3 reset retension rewind rewoffline seek setblk setdensity\n" \ + "setpart tell unload unlock weof wset" \ + +#define mv_trivial_usage \ + "[OPTIONS] SOURCE DEST\n" \ + "or: mv [OPTIONS] SOURCE... DIRECTORY" +#define mv_full_usage "\n\n" \ + "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY\n" \ + "\nOptions:" \ + "\n -f Don't prompt before overwriting" \ + "\n -i Interactive, prompt before overwrite" \ + +#define mv_example_usage \ + "$ mv /tmp/foo /bin/bar\n" + +#define nameif_trivial_usage \ + "[-s] [-c FILE] [{IFNAME MACADDR}]" +#define nameif_full_usage "\n\n" \ + "Rename network interface while it in the down state\n" \ + "\nOptions:" \ + "\n -c FILE Use configuration file (default: /etc/mactab)" \ + "\n -s Use syslog (LOCAL0 facility)" \ + "\n IFNAME MACADDR new_interface_name interface_mac_address" \ + +#define nameif_example_usage \ + "$ nameif -s dmz0 00:A0:C9:8C:F6:3F\n" \ + " or\n" \ + "$ nameif -c /etc/my_mactab_file\n" \ + +#if !ENABLE_DESKTOP + +#if ENABLE_NC_SERVER || ENABLE_NC_EXTRA +#define NC_OPTIONS_STR "\n\nOptions:" +#else +#define NC_OPTIONS_STR +#endif + +#define nc_trivial_usage \ + IF_NC_EXTRA("[-iN] [-wN] ")IF_NC_SERVER("[-l] [-p PORT] ") \ + "["IF_NC_EXTRA("-f FILENAME|")"IPADDR PORT]"IF_NC_EXTRA(" [-e PROG]") +#define nc_full_usage "\n\n" \ + "Open a pipe to IP:port" IF_NC_EXTRA(" or file") \ + NC_OPTIONS_STR \ + IF_NC_EXTRA( \ + "\n -e PROG Run PROG after connect" \ + "\n -i SEC Delay interval for lines sent" \ + "\n -w SEC Timeout for connect" \ + "\n -f FILE Use file (ala /dev/ttyS0) instead of network" \ + ) \ + IF_NC_SERVER( \ + "\n -l Listen mode, for inbound connects" \ + IF_NC_EXTRA( \ + "\n (use -l twice with -e for persistent server)") \ + "\n -p PORT Local port" \ + ) + +#define nc_notes_usage "" \ + IF_NC_EXTRA( \ + "To use netcat as a terminal emulator on a serial port:\n\n" \ + "$ stty 115200 -F /dev/ttyS0\n" \ + "$ stty raw -echo -ctlecho && nc -f /dev/ttyS0\n" \ + ) + +#define nc_example_usage \ + "$ nc foobar.somedomain.com 25\n" \ + "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \ + "help\n" \ + "214-Commands supported:\n" \ + "214- HELO EHLO MAIL RCPT DATA AUTH\n" \ + "214 NOOP QUIT RSET HELP\n" \ + "quit\n" \ + "221 foobar closing connection\n" + +#else /* DESKTOP nc - much more compatible with nc 1.10 */ + +#define nc_trivial_usage \ + "[OPTIONS] HOST PORT - connect" \ + IF_NC_SERVER("\n" \ + "nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen") +#define nc_full_usage "\n\n" \ + "Options:" \ + "\n -e PROG Run PROG after connect (must be last)" \ + IF_NC_SERVER( \ + "\n -l Listen mode, for inbound connects" \ + ) \ + "\n -n Don't do DNS resolution" \ + "\n -s ADDR Local address" \ + "\n -p PORT Local port" \ + "\n -u UDP mode" \ + "\n -v Verbose" \ + "\n -w SEC Timeout for connects and final net reads" \ + IF_NC_EXTRA( \ + "\n -i SEC Delay interval for lines sent" /* ", ports scanned" */ \ + "\n -o FILE Hex dump traffic" \ + "\n -z Zero-I/O mode (scanning)" \ + ) \ +/* "\n -r Randomize local and remote ports" */ +/* "\n -g gateway Source-routing hop point[s], up to 8" */ +/* "\n -G num Source-routing pointer: 4, 8, 12, ..." */ +/* "\nport numbers can be individual or ranges: lo-hi [inclusive]" */ + +/* -e PROG can take ARGS too: "nc ... -e ls -l", but we don't document it + * in help text: nc 1.10 does not allow that. We don't want to entice + * users to use this incompatibility */ + +#endif + +#define netstat_trivial_usage \ + "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]" +#define netstat_full_usage "\n\n" \ + "Display networking information\n" \ + "\nOptions:" \ + "\n -l Display listening server sockets" \ + "\n -a Display all sockets (default: connected)" \ + "\n -e Display other/more information" \ + "\n -n Don't resolve names" \ + "\n -t Tcp sockets" \ + "\n -u Udp sockets" \ + "\n -w Raw sockets" \ + "\n -x Unix sockets" \ + "\n -r Display routing table" \ + IF_FEATURE_NETSTAT_WIDE( \ + "\n -W Display with no column truncation" \ + ) \ + IF_FEATURE_NETSTAT_PRG( \ + "\n -p Display PID/Program name for sockets" \ + ) + +#define nice_trivial_usage \ + "[-n ADJUST] [PROG ARGS]" +#define nice_full_usage "\n\n" \ + "Run PROG with modified scheduling priority\n" \ + "\nOptions:" \ + "\n -n ADJUST Adjust priority by ADJUST" \ + +#define nmeter_trivial_usage \ + "format_string" +#define nmeter_full_usage "\n\n" \ + "Monitor system in real time\n\n" \ + "Format specifiers:\n" \ + " %Nc or %[cN] Monitor CPU. N - bar size, default 10\n" \ + " (displays: S:system U:user N:niced D:iowait I:irq i:softirq)\n" \ + " %[niface] Monitor network interface 'iface'\n" \ + " %m Monitor allocated memory\n" \ + " %[mf] Monitor free memory\n" \ + " %[mt] Monitor total memory\n" \ + " %s Monitor allocated swap\n" \ + " %f Monitor number of used file descriptors\n" \ + " %Ni Monitor total/specific IRQ rate\n" \ + " %x Monitor context switch rate\n" \ + " %p Monitor forks\n" \ + " %[pn] Monitor # of processes\n" \ + " %b Monitor block io\n" \ + " %Nt Show time (with N decimal points)\n" \ + " %Nd Milliseconds between updates (default:1000)\n" \ + " %r Print instead of at EOL" \ + +#define nmeter_example_usage \ + "nmeter '%250d%t %20c int %i bio %b mem %m forks%p'" + +#define nohup_trivial_usage \ + "PROG ARGS" +#define nohup_full_usage "\n\n" \ + "Run PROG immune to hangups, with output to a non-tty" +#define nohup_example_usage \ + "$ nohup make &" + +#define nslookup_trivial_usage \ + "[HOST] [SERVER]" +#define nslookup_full_usage "\n\n" \ + "Query the nameserver for the IP address of the given HOST\n" \ + "optionally using a specified DNS server" +#define nslookup_example_usage \ + "$ nslookup localhost\n" \ + "Server: default\n" \ + "Address: default\n" \ + "\n" \ + "Name: debian\n" \ + "Address: 127.0.0.1\n" + +#define ntpd_trivial_usage \ + "[-dnqwl] [-S PROG] [-p PEER]..." +#define ntpd_full_usage "\n\n" \ + "NTP client/server\n" \ + "\nOptions:" \ + "\n -d Verbose" \ + "\n -n Do not daemonize" \ + "\n -q Quit after clock is set" \ +/* -N exists for mostly compat reasons, thus not essential to inform */ \ +/* the user that it exists: user may use nice as well */ \ +/* "\n -N Run at high priority" */ \ + "\n -w Do not set time (only query peers), implies -n" \ + "\n -l Run as server on port 123" \ + "\n -S PROG Run PROG after stepping time, stratum change, and every 11 mins" \ + "\n -p PEER Obtain time from PEER (may be repeated)" \ + +#define od_trivial_usage \ + "[-aBbcDdeFfHhIiLlOovXx] " IF_DESKTOP("[-t TYPE] ") "[FILE]" +#define od_full_usage "\n\n" \ + "Write an unambiguous representation, octal bytes by default, of FILE\n" \ + "(or stdin) to stdout" + +#define openvt_trivial_usage \ + "[-c N] [-sw] [PROG ARGS]" +#define openvt_full_usage "\n\n" \ + "Start PROG on a new virtual terminal\n" \ + "\nOptions:" \ + "\n -c N Use specified VT" \ + "\n -s Switch to the VT" \ +/* "\n -l Run PROG as login shell (by prepending '-')" */ \ + "\n -w Wait for PROG to exit" \ + +#define openvt_example_usage \ + "openvt 2 /bin/ash\n" + +/* +#define parse_trivial_usage \ + "[-n MAXTOKENS] [-m MINTOKENS] [-d DELIMS] [-f FLAGS] FILE..." +#define parse_full_usage "" +*/ + +#define passwd_trivial_usage \ + "[OPTIONS] [USER]" +#define passwd_full_usage "\n\n" \ + "Change USER's password. If no USER is specified,\n" \ + "changes the password for the current user.\n" \ + "\nOptions:" \ + "\n -a Algorithm to use for password (des, md5)" /* ", sha1)" */ \ + "\n -d Delete password for the account" \ + "\n -l Lock (disable) account" \ + "\n -u Unlock (re-enable) account" \ + +#define chpasswd_trivial_usage \ + IF_LONG_OPTS("[--md5|--encrypted]") IF_NOT_LONG_OPTS("[-m|-e]") +#define chpasswd_full_usage "\n\n" \ + "Read user:password from stdin and update /etc/passwd\n" \ + "\nOptions:" \ + IF_LONG_OPTS( \ + "\n -e,--encrypted Supplied passwords are in encrypted form" \ + "\n -m,--md5 Use MD5 encryption instead of DES" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -e Supplied passwords are in encrypted form" \ + "\n -m Use MD5 encryption instead of DES" \ + ) + +#define patch_trivial_usage \ + "[OPTIONS] [ORIGFILE [PATCHFILE]]" +#define patch_full_usage "\n\n" \ + IF_LONG_OPTS( \ + " -p,--strip N Strip N leading components from file names" \ + "\n -i,--input DIFF Read DIFF instead of stdin" \ + "\n -R,--reverse Reverse patch" \ + "\n -N,--forward Ignore already applied patches" \ + "\n --dry-run Don't actually change files" \ + ) \ + IF_NOT_LONG_OPTS( \ + " -p N Strip N leading components from file names" \ + "\n -i DIFF Read DIFF instead of stdin" \ + "\n -R Reverse patch" \ + "\n -N Ignore already applied patches" \ + ) + +#define patch_example_usage \ + "$ patch -p1 < example.diff\n" \ + "$ patch -p0 -i example.diff" + +#define pgrep_trivial_usage \ + "[-flnovx] [-s SID|-P PPID|PATTERN]" +#define pgrep_full_usage "\n\n" \ + "Display process(es) selected by regex PATTERN\n" \ + "\nOptions:" \ + "\n -l Show command name too" \ + "\n -f Match against entire command line" \ + "\n -n Show the newest process only" \ + "\n -o Show the oldest process only" \ + "\n -v Negate the match" \ + "\n -x Match whole name (not substring)" \ + "\n -s Match session ID (0 for current)" \ + "\n -P Match parent process ID" \ + +#if (ENABLE_FEATURE_PIDOF_SINGLE || ENABLE_FEATURE_PIDOF_OMIT) +#define pidof_trivial_usage \ + "[OPTIONS] [NAME]..." +#define USAGE_PIDOF "\n\nOptions:" +#else +#define pidof_trivial_usage \ + "[NAME]..." +#define USAGE_PIDOF /* none */ +#endif +#define pidof_full_usage "\n\n" \ + "List PIDs of all processes with names that match NAMEs" \ + USAGE_PIDOF \ + IF_FEATURE_PIDOF_SINGLE( \ + "\n -s Show only one PID") \ + IF_FEATURE_PIDOF_OMIT( \ + "\n -o PID Omit given pid" \ + "\n Use %PPID to omit pid of pidof's parent") \ + +#define pidof_example_usage \ + "$ pidof init\n" \ + "1\n" \ + IF_FEATURE_PIDOF_OMIT( \ + "$ pidof /bin/sh\n20351 5973 5950\n") \ + IF_FEATURE_PIDOF_OMIT( \ + "$ pidof /bin/sh -o %PPID\n20351 5950") + +#if !ENABLE_FEATURE_FANCY_PING +#define ping_trivial_usage \ + "host" +#define ping_full_usage "\n\n" \ + "Send ICMP ECHO_REQUEST packets to network hosts" +#define ping6_trivial_usage \ + "host" +#define ping6_full_usage "\n\n" \ + "Send ICMP ECHO_REQUEST packets to network hosts" +#else +#define ping_trivial_usage \ + "[OPTIONS] HOST" +#define ping_full_usage "\n\n" \ + "Send ICMP ECHO_REQUEST packets to network hosts\n" \ + "\nOptions:" \ + "\n -4, -6 Force IP or IPv6 name resolution" \ + "\n -c CNT Send only CNT pings" \ + "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ + "\n -I IFACE/IP Use interface or IP address as source" \ + "\n -W SEC Seconds to wait for the first response (default:10)" \ + "\n (after all -c CNT packets are sent)" \ + "\n -w SEC Seconds until ping exits (default:infinite)" \ + "\n (can exit earlier with -c CNT)" \ + "\n -q Quiet, only displays output at start" \ + "\n and when finished" \ + +#define ping6_trivial_usage \ + "[OPTIONS] HOST" +#define ping6_full_usage "\n\n" \ + "Send ICMP ECHO_REQUEST packets to network hosts\n" \ + "\nOptions:" \ + "\n -c CNT Send only CNT pings" \ + "\n -s SIZE Send SIZE data bytes in packets (default:56)" \ + "\n -I IFACE/IP Use interface or IP address as source" \ + "\n -q Quiet, only displays output at start" \ + "\n and when finished" \ + +#endif +#define ping_example_usage \ + "$ ping localhost\n" \ + "PING slag (127.0.0.1): 56 data bytes\n" \ + "64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=20.1 ms\n" \ + "\n" \ + "--- debian ping statistics ---\n" \ + "1 packets transmitted, 1 packets received, 0% packet loss\n" \ + "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" +#define ping6_example_usage \ + "$ ping6 ip6-localhost\n" \ + "PING ip6-localhost (::1): 56 data bytes\n" \ + "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \ + "\n" \ + "--- ip6-localhost ping statistics ---\n" \ + "1 packets transmitted, 1 packets received, 0% packet loss\n" \ + "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" + +#define pipe_progress_trivial_usage NOUSAGE_STR +#define pipe_progress_full_usage "" + +#define pivot_root_trivial_usage \ + "NEW_ROOT PUT_OLD" +#define pivot_root_full_usage "\n\n" \ + "Move the current root file system to PUT_OLD and make NEW_ROOT\n" \ + "the new root file system" + +#define pkill_trivial_usage \ + "[-l|-SIGNAL] [-fnovx] [-s SID|-P PPID|PATTERN]" +#define pkill_full_usage "\n\n" \ + "Send a signal to process(es) selected by regex PATTERN\n" \ + "\nOptions:" \ + "\n -l List all signals" \ + "\n -f Match against entire command line" \ + "\n -n Signal the newest process only" \ + "\n -o Signal the oldest process only" \ + "\n -v Negate the match" \ + "\n -x Match whole name (not substring)" \ + "\n -s Match session ID (0 for current)" \ + "\n -P Match parent process ID" \ + +#define popmaildir_trivial_usage \ + "[OPTIONS] MAILDIR [CONN_HELPER ARGS]" +#define popmaildir_full_usage "\n\n" \ + "Fetch content of remote mailbox to local maildir\n" \ + "\nOptions:" \ +/* "\n -b Binary mode. Ignored" */ \ +/* "\n -d Debug. Ignored" */ \ +/* "\n -m Show used memory. Ignored" */ \ +/* "\n -V Show version. Ignored" */ \ +/* "\n -c Use tcpclient. Ignored" */ \ +/* "\n -a Use APOP protocol. Implied. If server supports APOP -> use it" */ \ + "\n -s Skip authorization" \ + "\n -T Get messages with TOP instead of RETR" \ + "\n -k Keep retrieved messages on the server" \ + "\n -t SEC Network timeout" \ + IF_FEATURE_POPMAILDIR_DELIVERY( \ + "\n -F \"PROG ARGS\" Filter program (may be repeated)" \ + "\n -M \"PROG ARGS\" Delivery program" \ + ) \ + "\n" \ + "\nFetch from plain POP3 server:" \ + "\npopmaildir -k DIR nc pop3.server.com 110 = BYTES. Ignored" */ +/* "\n -Z N1-N2 Remove messages from N1 to N2 (dangerous). Ignored" */ +/* "\n -L BYTES Don't retrieve new messages >= BYTES. Ignored" */ +/* "\n -H LINES Type first LINES of a message. Ignored" */ +#define popmaildir_example_usage \ + "$ popmaildir -k ~/Maildir -- nc pop.drvv.ru 110 [ after signal is processed" \ + +#define rx_trivial_usage \ + "FILE" +#define rx_full_usage "\n\n" \ + "Receive a file using the xmodem protocol" +#define rx_example_usage \ + "$ rx /tmp/foo\n" + +#define script_trivial_usage \ + "[-afq" IF_SCRIPTREPLAY("t") "] [-c PROG] [OUTFILE]" +#define script_full_usage "\n\n" \ + "Options:" \ + "\n -a Append output" \ + "\n -c PROG Run PROG, not shell" \ + "\n -f Flush output after each write" \ + "\n -q Quiet" \ + IF_SCRIPTREPLAY( \ + "\n -t Send timing to stderr" \ + ) + +#define sed_trivial_usage \ + "[-efinr] SED_CMD [FILE]..." +#define sed_full_usage "\n\n" \ + "Options:" \ + "\n -e CMD Add CMD to sed commands to be executed" \ + "\n -f FILE Add FILE contents to sed commands to be executed" \ + "\n -i Edit files in-place (else sends result to stdout)" \ + "\n -n Suppress automatic printing of pattern space" \ + "\n -r Use extended regex syntax" \ + "\n" \ + "\nIf no -e or -f, the first non-option argument is the sed command string." \ + "\nRemaining arguments are input files (stdin if none)." + +#define sed_example_usage \ + "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \ + "bar\n" + +#define selinuxenabled_trivial_usage NOUSAGE_STR +#define selinuxenabled_full_usage "" + +#define sendmail_trivial_usage \ + "[OPTIONS] [RECIPIENT_EMAIL]..." +#define sendmail_full_usage "\n\n" \ + "Read email from stdin and send it\n" \ + "\nStandard options:" \ + "\n -t Read additional recipients from message body" \ + "\n -f sender Sender (required)" \ + "\n -o options Various options. -oi implied, others are ignored" \ + "\n -i -oi synonym. implied and ignored" \ + "\n" \ + "\nBusybox specific options:" \ + "\n -w seconds Network timeout" \ + "\n -H 'PROG ARGS' Run connection helper" \ + "\n Examples:" \ + "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \ + "\n -connect smtp.gmail.com:25' -ap]" \ + "\n -H 'exec openssl s_client -quiet -tls1" \ + "\n -connect smtp.gmail.com:465' -ap]" \ + "\n -S server[:port] Server" \ + "\n -au Username for AUTH LOGIN" \ + "\n -ap Password for AUTH LOGIN" \ + "\n -am Authentication method. Ignored. LOGIN is implied" \ + "\n" \ + "\nOther options are silently ignored; -oi -t is implied" \ + IF_MAKEMIME( \ + "\nUse makemime applet to create message with attachments" \ + ) + +#define seq_trivial_usage \ + "[-w] [-s SEP] [FIRST [INC]] LAST" +#define seq_full_usage "\n\n" \ + "Print numbers from FIRST to LAST, in steps of INC.\n" \ + "FIRST, INC default to 1.\n" \ + "\nOptions:" \ + "\n -w Pad to last with leading zeros" \ + "\n -s SEP String separator" \ + +#define sestatus_trivial_usage \ + "[-vb]" +#define sestatus_full_usage "\n\n" \ + " -v Verbose" \ + "\n -b Display current state of booleans" \ + +#define setconsole_trivial_usage \ + "[-r" IF_FEATURE_SETCONSOLE_LONG_OPTIONS("|--reset") "] [DEVICE]" +#define setconsole_full_usage "\n\n" \ + "Redirect system console output to DEVICE (default: /dev/tty)\n" \ + "\nOptions:" \ + "\n -r Reset output to /dev/console" \ + +#define setenforce_trivial_usage \ + "[Enforcing | Permissive | 1 | 0]" +#define setenforce_full_usage "" + +#define setfiles_trivial_usage \ + "[-dnpqsvW] [-e DIR]... [-o FILE] [-r alt_root_path]" \ + IF_FEATURE_SETFILES_CHECK_OPTION( \ + " [-c policyfile] spec_file" \ + ) \ + " pathname" +#define setfiles_full_usage "\n\n" \ + "Reset file contexts under pathname according to spec_file\n" \ + IF_FEATURE_SETFILES_CHECK_OPTION( \ + "\n -c FILE Check the validity of the contexts against the specified binary policy" \ + ) \ + "\n -d Show which specification matched each file" \ + "\n -l Log changes in file labels to syslog" \ + "\n -n Don't change any file labels" \ + "\n -q Suppress warnings" \ + "\n -r DIR Use an alternate root path" \ + "\n -e DIR Exclude DIR" \ + "\n -F Force reset of context to match file_context for customizable files" \ + "\n -o FILE Save list of files with incorrect context" \ + "\n -s Take a list of files from stdin (instead of command line)" \ + "\n -v Show changes in file labels, if type or role are changing" \ + "\n -vv Show changes in file labels, if type, role, or user are changing" \ + "\n -W Display warnings about entries that had no matching files" \ + +#define setfont_trivial_usage \ + "FONT [-m MAPFILE] [-C TTY]" +#define setfont_full_usage "\n\n" \ + "Load a console font\n" \ + "\nOptions:" \ + "\n -m MAPFILE Load console screen map" \ + "\n -C TTY Affect TTY instead of /dev/tty" \ + +#define setfont_example_usage \ + "$ setfont -m koi8-r /etc/i18n/fontname\n" + +#define setkeycodes_trivial_usage \ + "SCANCODE KEYCODE..." +#define setkeycodes_full_usage "\n\n" \ + "Set entries into the kernel's scancode-to-keycode map,\n" \ + "allowing unusual keyboards to generate usable keycodes.\n\n" \ + "SCANCODE may be either xx or e0xx (hexadecimal),\n" \ + "and KEYCODE is given in decimal." \ + +#define setkeycodes_example_usage \ + "$ setkeycodes e030 127\n" + +#define setlogcons_trivial_usage \ + "N" +#define setlogcons_full_usage "\n\n" \ + "Redirect the kernel output to console N (0 for current)" + +#define setsebool_trivial_usage \ + "boolean value" + +#define setsebool_full_usage "\n\n" \ + "Change boolean setting" + +#define setsid_trivial_usage \ + "PROG ARGS" +#define setsid_full_usage "\n\n" \ + "Run PROG in a new session. PROG will have no controlling terminal\n" \ + "and will not be affected by keyboard signals (Ctrl-C etc).\n" \ + "See setsid(2) for details." \ + +#define last_trivial_usage \ + ""IF_FEATURE_LAST_FANCY("[-HW] [-f FILE]") +#define last_full_usage "\n\n" \ + "Show listing of the last users that logged into the system" \ + IF_FEATURE_LAST_FANCY( "\n" \ + "\nOptions:" \ +/* "\n -H Show header line" */ \ + "\n -W Display with no host column truncation" \ + "\n -f FILE Read from FILE instead of /var/log/wtmp" \ + ) + +#define showkey_trivial_usage \ + "[-a | -k | -s]" +#define showkey_full_usage "\n\n" \ + "Show keys pressed\n" \ + "\nOptions:" \ + "\n -a Display decimal/octal/hex values of the keys" \ + "\n -k Display interpreted keycodes (default)" \ + "\n -s Display raw scan-codes" \ + +#define slattach_trivial_usage \ + "[-cehmLF] [-s SPEED] [-p PROTOCOL] DEVICE" +#define slattach_full_usage "\n\n" \ + "Attach network interface(s) to serial line(s)\n" \ + "\nOptions:" \ + "\n -p PROT Set protocol (slip, cslip, slip6, clisp6 or adaptive)" \ + "\n -s SPD Set line speed" \ + "\n -e Exit after initializing device" \ + "\n -h Exit when the carrier is lost" \ + "\n -c PROG Run PROG when the line is hung up" \ + "\n -m Do NOT initialize the line in raw 8 bits mode" \ + "\n -L Enable 3-wire operation" \ + "\n -F Disable RTS/CTS flow control" \ + +#define sleep_trivial_usage \ + IF_FEATURE_FANCY_SLEEP("[") "N" IF_FEATURE_FANCY_SLEEP("]...") +#define sleep_full_usage "\n\n" \ + IF_NOT_FEATURE_FANCY_SLEEP("Pause for N seconds") \ + IF_FEATURE_FANCY_SLEEP( \ + "Pause for a time equal to the total of the args given, where each arg can\n" \ + "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays") +#define sleep_example_usage \ + "$ sleep 2\n" \ + "[2 second delay results]\n" \ + IF_FEATURE_FANCY_SLEEP( \ + "$ sleep 1d 3h 22m 8s\n" \ + "[98528 second delay results]\n") + +#define sort_trivial_usage \ + "[-nru" \ + IF_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR") \ + "] [FILE]..." +#define sort_full_usage "\n\n" \ + "Sort lines of text\n" \ + "\nOptions:" \ + IF_FEATURE_SORT_BIG( \ + "\n -b Ignore leading blanks" \ + "\n -c Check whether input is sorted" \ + "\n -d Dictionary order (blank or alphanumeric only)" \ + "\n -f Ignore case" \ + "\n -g General numerical sort" \ + "\n -i Ignore unprintable characters" \ + "\n -k Sort key" \ + "\n -M Sort month" \ + ) \ + "\n -n Sort numbers" \ + IF_FEATURE_SORT_BIG( \ + "\n -o Output to file" \ + "\n -k Sort by key" \ + "\n -t CHAR Key separator" \ + ) \ + "\n -r Reverse sort order" \ + IF_FEATURE_SORT_BIG( \ + "\n -s Stable (don't sort ties alphabetically)" \ + ) \ + "\n -u Suppress duplicate lines" \ + IF_FEATURE_SORT_BIG( \ + "\n -z Lines are terminated by NUL, not newline" \ + "\n -mST Ignored for GNU compatibility") \ + +#define sort_example_usage \ + "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \ + "a\n" \ + "b\n" \ + "c\n" \ + "d\n" \ + "e\n" \ + "f\n" \ + IF_FEATURE_SORT_BIG( \ + "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ + "d 2\n" \ + "b 2\n" \ + "c 3\n" \ + ) \ + "" + +#define split_trivial_usage \ + "[OPTIONS] [INPUT [PREFIX]]" +#define split_full_usage "\n\n" \ + "Options:" \ + "\n -b n[k|m] Split by bytes" \ + "\n -l n Split by lines" \ + "\n -a n Use n letters as suffix" \ + +#define split_example_usage \ + "$ split TODO foo\n" \ + "$ cat TODO | split -a 2 -l 2 TODO_\n" + +#define start_stop_daemon_trivial_usage \ + "[OPTIONS] [-S|-K] ... [-- ARGS...]" +#define start_stop_daemon_full_usage "\n\n" \ + "Search for matching processes, and then\n" \ + "-K: stop all matching processes.\n" \ + "-S: start a process unless a matching process is found.\n" \ + IF_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ + "\nProcess matching:" \ + "\n -u,--user USERNAME|UID Match only this user's processes" \ + "\n -n,--name NAME Match processes with NAME" \ + "\n in comm field in /proc/PID/stat" \ + "\n -x,--exec EXECUTABLE Match processes with this command" \ + "\n in /proc/PID/cmdline" \ + "\n -p,--pidfile FILE Match a process with PID from the file" \ + "\n All specified conditions must match" \ + "\n-S only:" \ + "\n -x,--exec EXECUTABLE Program to run" \ + "\n -a,--startas NAME Zeroth argument" \ + "\n -b,--background Background" \ + IF_FEATURE_START_STOP_DAEMON_FANCY( \ + "\n -N,--nicelevel N Change nice level" \ + ) \ + "\n -c,--chuid USER[:[GRP]] Change to user/group" \ + "\n -m,--make-pidfile Write PID to the pidfile specified by -p" \ + "\n-K only:" \ + "\n -s,--signal SIG Signal to send" \ + "\n -t,--test Match only, exit with 0 if a process is found" \ + "\nOther:" \ + IF_FEATURE_START_STOP_DAEMON_FANCY( \ + "\n -o,--oknodo Exit with status 0 if nothing is done" \ + "\n -v,--verbose Verbose" \ + ) \ + "\n -q,--quiet Quiet" \ + ) \ + IF_NOT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ + "\nProcess matching:" \ + "\n -u USERNAME|UID Match only this user's processes" \ + "\n -n NAME Match processes with NAME" \ + "\n in comm field in /proc/PID/stat" \ + "\n -x EXECUTABLE Match processes with this command" \ + "\n command in /proc/PID/cmdline" \ + "\n -p FILE Match a process with PID from the file" \ + "\n All specified conditions must match" \ + "\n-S only:" \ + "\n -x EXECUTABLE Program to run" \ + "\n -a NAME Zeroth argument" \ + "\n -b Background" \ + IF_FEATURE_START_STOP_DAEMON_FANCY( \ + "\n -N N Change nice level" \ + ) \ + "\n -c USER[:[GRP]] Change to user/group" \ + "\n -m Write PID to the pidfile specified by -p" \ + "\n-K only:" \ + "\n -s SIG Signal to send" \ + "\n -t Match only, exit with 0 if a process is found" \ + "\nOther:" \ + IF_FEATURE_START_STOP_DAEMON_FANCY( \ + "\n -o Exit with status 0 if nothing is done" \ + "\n -v Verbose" \ + ) \ + "\n -q Quiet" \ + ) \ + +#define stat_trivial_usage \ + "[OPTIONS] FILE..." +#define stat_full_usage "\n\n" \ + "Display file (default) or filesystem status\n" \ + "\nOptions:" \ + IF_FEATURE_STAT_FORMAT( \ + "\n -c fmt Use the specified format" \ + ) \ + "\n -f Display filesystem status" \ + "\n -L Follow links" \ + "\n -t Display info in terse form" \ + IF_SELINUX( \ + "\n -Z Print security context" \ + ) \ + IF_FEATURE_STAT_FORMAT( \ + "\n\nValid format sequences for files:\n" \ + " %a Access rights in octal\n" \ + " %A Access rights in human readable form\n" \ + " %b Number of blocks allocated (see %B)\n" \ + " %B The size in bytes of each block reported by %b\n" \ + " %d Device number in decimal\n" \ + " %D Device number in hex\n" \ + " %f Raw mode in hex\n" \ + " %F File type\n" \ + " %g Group ID of owner\n" \ + " %G Group name of owner\n" \ + " %h Number of hard links\n" \ + " %i Inode number\n" \ + " %n File name\n" \ + " %N File name, with -> TARGET if symlink\n" \ + " %o I/O block size\n" \ + " %s Total size, in bytes\n" \ + " %t Major device type in hex\n" \ + " %T Minor device type in hex\n" \ + " %u User ID of owner\n" \ + " %U User name of owner\n" \ + " %x Time of last access\n" \ + " %X Time of last access as seconds since Epoch\n" \ + " %y Time of last modification\n" \ + " %Y Time of last modification as seconds since Epoch\n" \ + " %z Time of last change\n" \ + " %Z Time of last change as seconds since Epoch\n" \ + "\nValid format sequences for file systems:\n" \ + " %a Free blocks available to non-superuser\n" \ + " %b Total data blocks in file system\n" \ + " %c Total file nodes in file system\n" \ + " %d Free file nodes in file system\n" \ + " %f Free blocks in file system\n" \ + IF_SELINUX( \ + " %C Security context in selinux\n" \ + ) \ + " %i File System ID in hex\n" \ + " %l Maximum length of filenames\n" \ + " %n File name\n" \ + " %s Block size (for faster transfer)\n" \ + " %S Fundamental block size (for block counts)\n" \ + " %t Type in hex\n" \ + " %T Type in human readable form" \ + ) \ + +#define strings_trivial_usage \ + "[-afo] [-n LEN] [FILE]..." +#define strings_full_usage "\n\n" \ + "Display printable strings in a binary file\n" \ + "\nOptions:" \ + "\n -a Scan whole file (default)" \ + "\n -f Precede strings with filenames" \ + "\n -n LEN At least LEN characters form a string (default 4)" \ + "\n -o Precede strings with decimal offsets" \ + +#define stty_trivial_usage \ + "[-a|g] [-F DEVICE] [SETTING]..." +#define stty_full_usage "\n\n" \ + "Without arguments, prints baud rate, line discipline,\n" \ + "and deviations from stty sane\n" \ + "\nOptions:" \ + "\n -F DEVICE Open device instead of stdin" \ + "\n -a Print all current settings in human-readable form" \ + "\n -g Print in stty-readable form" \ + "\n [SETTING] See manpage" \ + +#define su_trivial_usage \ + "[OPTIONS] [-] [USERNAME]" +#define su_full_usage "\n\n" \ + "Change user id or become root\n" \ + "\nOptions:" \ + "\n -p,-m Preserve environment" \ + "\n -c CMD Command to pass to 'sh -c'" \ + "\n -s SH Shell to use instead of default shell" \ + +#define sulogin_trivial_usage \ + "[-t N] [TTY]" +#define sulogin_full_usage "\n\n" \ + "Single user login\n" \ + "\nOptions:" \ + "\n -t N Timeout" \ + +#define sum_trivial_usage \ + "[-rs] [FILE]..." +#define sum_full_usage "\n\n" \ + "Checksum and count the blocks in a file\n" \ + "\nOptions:" \ + "\n -r Use BSD sum algorithm (1K blocks)" \ + "\n -s Use System V sum algorithm (512byte blocks)" \ + +#define sv_trivial_usage \ + "[-v] [-w SEC] CMD SERVICE_DIR..." +#define sv_full_usage "\n\n" \ + "Control services monitored by runsv supervisor.\n" \ + "Commands (only first character is enough):\n" \ + "\n" \ + "status: query service status\n" \ + "up: if service isn't running, start it. If service stops, restart it\n" \ + "once: like 'up', but if service stops, don't restart it\n" \ + "down: send TERM and CONT signals. If ./run exits, start ./finish\n" \ + " if it exists. After it stops, don't restart service\n" \ + "exit: send TERM and CONT signals to service and log service. If they exit,\n" \ + " runsv exits too\n" \ + "pause, cont, hup, alarm, interrupt, quit, 1, 2, term, kill: send\n" \ + "STOP, CONT, HUP, ALRM, INT, QUIT, USR1, USR2, TERM, KILL signal to service" \ + +#define svlogd_trivial_usage \ + "[-ttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR..." +#define svlogd_full_usage "\n\n" \ + "Continuously read log data from stdin, optionally\n" \ + "filter log messages, and write the data to one or more automatically\n" \ + "rotated logs" \ + +#define swapoff_trivial_usage \ + "[-a] [DEVICE]" +#define swapoff_full_usage "\n\n" \ + "Stop swapping on DEVICE\n" \ + "\nOptions:" \ + "\n -a Stop swapping on all swap devices" \ + +#define swapon_trivial_usage \ + "[-a]" IF_FEATURE_SWAPON_PRI(" [-p PRI]") " [DEVICE]" +#define swapon_full_usage "\n\n" \ + "Start swapping on DEVICE\n" \ + "\nOptions:" \ + "\n -a Start swapping on all swap devices" \ + IF_FEATURE_SWAPON_PRI( \ + "\n -p PRI Set swap device priority" \ + ) \ + +#define switch_root_trivial_usage \ + "[-c /dev/console] NEW_ROOT NEW_INIT [ARGS]" +#define switch_root_full_usage "\n\n" \ + "Free initramfs and switch to another root fs:\n" \ + "chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /,\n" \ + "execute NEW_INIT. PID must be 1. NEW_ROOT must be a mountpoint.\n" \ + "\nOptions:" \ + "\n -c DEV Reopen stdio to DEV after switch" \ + +#define sync_trivial_usage \ + "" +#define sync_full_usage "\n\n" \ + "Write all buffered blocks to disk" + +#define fsync_trivial_usage \ + "[OPTIONS] FILE..." +#define fsync_full_usage "\n\n" \ + "Write files' buffered blocks to disk\n" \ + "\nOptions:" \ + "\n -d Avoid syncing metadata" + +#define sysctl_trivial_usage \ + "[OPTIONS] [VALUE]..." +#define sysctl_full_usage "\n\n" \ + "Configure kernel parameters at runtime\n" \ + "\nOptions:" \ + "\n -n Don't print key names" \ + "\n -e Don't warn about unknown keys" \ + "\n -w Change sysctl setting" \ + "\n -p FILE Load sysctl settings from FILE (default /etc/sysctl.conf)" \ + "\n -a Display all values" \ + "\n -A Display all values in table form" \ + +#define sysctl_example_usage \ + "sysctl [-n] [-e] variable...\n" \ + "sysctl [-n] [-e] -w variable=value...\n" \ + "sysctl [-n] [-e] -a\n" \ + "sysctl [-n] [-e] -p file (default /etc/sysctl.conf)\n" \ + "sysctl [-n] [-e] -A\n" + +#define syslogd_trivial_usage \ + "[OPTIONS]" +#define syslogd_full_usage "\n\n" \ + "System logging utility.\n" \ + "This version of syslogd ignores /etc/syslog.conf\n" \ + "\nOptions:" \ + "\n -n Run in foreground" \ + "\n -O FILE Log to given file (default:/var/log/messages)" \ + "\n -l N Set local log level" \ + "\n -S Smaller logging output" \ + IF_FEATURE_ROTATE_LOGFILE( \ + "\n -s SIZE Max size (KB) before rotate (default:200KB, 0=off)" \ + "\n -b N N rotated logs to keep (default:1, max=99, 0=purge)") \ + IF_FEATURE_REMOTE_LOG( \ + "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \ + "\n -L Log locally and via network (default is network only if -R)") \ + IF_FEATURE_SYSLOGD_DUP( \ + "\n -D Drop duplicates") \ + IF_FEATURE_IPC_SYSLOG( \ + "\n -C[size(KiB)] Log to shared mem buffer (read it using logread)") \ + /* NB: -Csize shouldn't have space (because size is optional) */ +/* "\n -m MIN Minutes between MARK lines (default:20, 0=off)" */ + +#define syslogd_example_usage \ + "$ syslogd -R masterlog:514\n" \ + "$ syslogd -R 192.168.1.1:601\n" + +#define tac_trivial_usage \ + "[FILE]..." +#define tac_full_usage "\n\n" \ + "Concatenate FILEs and print them in reverse" + +#define tar_trivial_usage \ + "-[" IF_FEATURE_TAR_CREATE("c") "xt" IF_FEATURE_SEAMLESS_GZ("z") \ + IF_FEATURE_SEAMLESS_BZ2("j") IF_FEATURE_SEAMLESS_LZMA("a") \ + IF_FEATURE_SEAMLESS_Z("Z") IF_FEATURE_TAR_NOPRESERVE_TIME("m") "vO] " \ + IF_FEATURE_TAR_FROM("[-X FILE] ") \ + "[-f TARFILE] [-C DIR] [FILE]..." +#define tar_full_usage "\n\n" \ + IF_FEATURE_TAR_CREATE("Create, extract, ") \ + IF_NOT_FEATURE_TAR_CREATE("Extract ") \ + "or list files from a tar file\n" \ + "\nOptions:" \ + IF_FEATURE_TAR_CREATE( \ + "\n c Create" \ + ) \ + "\n x Extract" \ + "\n t List" \ + "\nArchive format selection:" \ + IF_FEATURE_SEAMLESS_GZ( \ + "\n z Filter the archive through gzip" \ + ) \ + IF_FEATURE_SEAMLESS_BZ2( \ + "\n j Filter the archive through bzip2" \ + ) \ + IF_FEATURE_SEAMLESS_LZMA( \ + "\n a Filter the archive through lzma" \ + ) \ + IF_FEATURE_SEAMLESS_Z( \ + "\n Z Filter the archive through compress" \ + ) \ + IF_FEATURE_TAR_NOPRESERVE_TIME( \ + "\n m Do not restore mtime" \ + ) \ + "\nFile selection:" \ + "\n f Name of TARFILE or \"-\" for stdin" \ + "\n O Extract to stdout" \ + IF_FEATURE_TAR_FROM( \ + IF_FEATURE_TAR_LONG_OPTIONS( \ + "\n exclude File to exclude" \ + ) \ + "\n X File with names to exclude" \ + ) \ + "\n C Change to DIR before operation" \ + "\n v Verbose" \ + +#define tar_example_usage \ + "$ zcat /tmp/tarball.tar.gz | tar -xf -\n" \ + "$ tar -cf /tmp/tarball.tar /usr/local\n" + +#define taskset_trivial_usage \ + "[-p] [MASK] [PID | PROG ARGS]" +#define taskset_full_usage "\n\n" \ + "Set or get CPU affinity\n" \ + "\nOptions:" \ + "\n -p Operate on an existing PID" \ + +#define taskset_example_usage \ + "$ taskset 0x7 ./dgemm_test&\n" \ + "$ taskset -p 0x1 $!\n" \ + "pid 4790's current affinity mask: 7\n" \ + "pid 4790's new affinity mask: 1\n" \ + "$ taskset 0x7 /bin/sh -c './taskset -p 0x1 $$'\n" \ + "pid 6671's current affinity mask: 1\n" \ + "pid 6671's new affinity mask: 1\n" \ + "$ taskset -p 1\n" \ + "pid 1's current affinity mask: 3\n" + +#define tee_trivial_usage \ + "[OPTIONS] [FILE]..." +#define tee_full_usage "\n\n" \ + "Copy stdin to each FILE, and also to stdout\n" \ + "\nOptions:" \ + "\n -a Append to the given FILEs, don't overwrite" \ + "\n -i Ignore interrupt signals (SIGINT)" \ + +#define tee_example_usage \ + "$ echo \"Hello\" | tee /tmp/foo\n" \ + "$ cat /tmp/foo\n" \ + "Hello\n" + +#if ENABLE_FEATURE_TELNET_AUTOLOGIN +#define telnet_trivial_usage \ + "[-a] [-l USER] HOST [PORT]" +#define telnet_full_usage "\n\n" \ + "Connect to telnet server\n" \ + "\nOptions:" \ + "\n -a Automatic login with $USER variable" \ + "\n -l USER Automatic login as USER" \ + +#else +#define telnet_trivial_usage \ + "HOST [PORT]" +#define telnet_full_usage "\n\n" \ + "Connect to telnet server" +#endif + +#define telnetd_trivial_usage \ + "[OPTIONS]" +#define telnetd_full_usage "\n\n" \ + "Handle incoming telnet connections" \ + IF_NOT_FEATURE_TELNETD_STANDALONE(" via inetd") "\n" \ + "\nOptions:" \ + "\n -l LOGIN Exec LOGIN on connect" \ + "\n -f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue" \ + "\n -K Close connection as soon as login exits" \ + "\n (normally wait until all programs close slave pty)" \ + IF_FEATURE_TELNETD_STANDALONE( \ + "\n -p PORT Port to listen on" \ + "\n -b ADDR[:PORT] Address to bind to" \ + "\n -F Run in foreground" \ + "\n -i Inetd mode" \ + IF_FEATURE_TELNETD_INETD_WAIT( \ + "\n -w SEC Inetd 'wait' mode, linger time SEC" \ + "\n -S Log to syslog (implied by -i or without -F and -w)" \ + ) \ + ) + +/* "test --help" does not print help (POSIX compat), only "[ --help" does. + * We display " EXPRESSION ]" here (not " EXPRESSION") + * Unfortunately, it screws up generated BusyBox.html. TODO. */ +#define test_trivial_usage \ + "EXPRESSION ]" +#define test_full_usage "\n\n" \ + "Check file types, compare values etc. Return a 0/1 exit code\n" \ + "depending on logical value of EXPRESSION" +#define test_example_usage \ + "$ test 1 -eq 2\n" \ + "$ echo $?\n" \ + "1\n" \ + "$ test 1 -eq 1\n" \ + "$ echo $?\n" \ + "0\n" \ + "$ [ -d /etc ]\n" \ + "$ echo $?\n" \ + "0\n" \ + "$ [ -d /junk ]\n" \ + "$ echo $?\n" \ + "1\n" + +#define tc_trivial_usage \ + /*"[OPTIONS] "*/"OBJECT CMD [dev STRING]" +#define tc_full_usage "\n\n" \ + "OBJECT: {qdisc|class|filter}\n" \ + "CMD: {add|del|change|replace|show}\n" \ + "\n" \ + "qdisc [ handle QHANDLE ] [ root |"IF_FEATURE_TC_INGRESS(" ingress |")" parent CLASSID ]\n" \ + /* "[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ + " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ + " QDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }\n" \ + "qdisc show [ dev STRING ]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" \ + "class [ classid CLASSID ] [ root | parent CLASSID ]\n" \ + " [ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ + "class show [ dev STRING ] [ root | parent CLASSID ]\n" \ + "filter [ pref PRIO ] [ protocol PROTO ]\n" \ + /* "\t[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ + " [ root | classid CLASSID ] [ handle FILTERID ]\n" \ + " [ [ FILTER_TYPE ] [ help | OPTIONS ] ]\n" \ + "filter show [ dev STRING ] [ root | parent CLASSID ]" + +#define tcpsvd_trivial_usage \ + "[-hEv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] IP PORT PROG" +/* with not-implemented options: */ +/* "[-hpEvv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] [-i DIR|-x CDB] [-t SEC] IP PORT PROG" */ +#define tcpsvd_full_usage "\n\n" \ + "Create TCP socket, bind to IP:PORT and listen\n" \ + "for incoming connection. Run PROG for each connection.\n" \ + "\n IP IP to listen on. '0' = all" \ + "\n PORT Port to listen on" \ + "\n PROG ARGS Program to run" \ + "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ + "\n -u USER[:GRP] Change to user/group after bind" \ + "\n -c N Handle up to N connections simultaneously" \ + "\n -b N Allow a backlog of approximately N TCP SYNs" \ + "\n -C N[:MSG] Allow only up to N connections from the same IP" \ + "\n New connections from this IP address are closed" \ + "\n immediately. MSG is written to the peer before close" \ + "\n -h Look up peer's hostname" \ + "\n -E Don't set up environment variables" \ + "\n -v Verbose" \ + +#define udpsvd_trivial_usage \ + "[-hEv] [-c N] [-u USER] [-l NAME] IP PORT PROG" +#define udpsvd_full_usage "\n\n" \ + "Create UDP socket, bind to IP:PORT and wait\n" \ + "for incoming packets. Run PROG for each packet,\n" \ + "redirecting all further packets with same peer ip:port to it.\n" \ + "\n IP IP to listen on. '0' = all" \ + "\n PORT Port to listen on" \ + "\n PROG ARGS Program to run" \ + "\n -l NAME Local hostname (else looks up local hostname in DNS)" \ + "\n -u USER[:GRP] Change to user/group after bind" \ + "\n -c N Handle up to N connections simultaneously" \ + "\n -h Look up peer's hostname" \ + "\n -E Don't set up environment variables" \ + "\n -v Verbose" \ + +#define tftp_trivial_usage \ + "[OPTIONS] HOST [PORT]" +#define tftp_full_usage "\n\n" \ + "Transfer a file from/to tftp server\n" \ + "\nOptions:" \ + "\n -l FILE Local FILE" \ + "\n -r FILE Remote FILE" \ + IF_FEATURE_TFTP_GET( \ + "\n -g Get file" \ + ) \ + IF_FEATURE_TFTP_PUT( \ + "\n -p Put file" \ + ) \ + IF_FEATURE_TFTP_BLOCKSIZE( \ + "\n -b SIZE Transfer blocks of SIZE octets" \ + ) + +#define tftpd_trivial_usage \ + "[-cr] [-u USER] [DIR]" +#define tftpd_full_usage "\n\n" \ + "Transfer a file on tftp client's request\n" \ + "\n" \ + "tftpd should be used as an inetd service.\n" \ + "tftpd's line for inetd.conf:\n" \ + " 69 dgram udp nowait root tftpd tftpd /files/to/serve\n" \ + "It also can be ran from udpsvd:\n" \ + " udpsvd -vE 0.0.0.0 69 tftpd /files/to/serve\n" \ + "\nOptions:" \ + "\n -r Prohibit upload" \ + "\n -c Allow file creation via upload" \ + "\n -u Access files as USER" \ + +#define time_trivial_usage \ + "[OPTIONS] PROG ARGS" +#define time_full_usage "\n\n" \ + "Run PROG, display resource usage when it exits\n" \ + "\nOptions:" \ + "\n -v Verbose" \ + +#define timeout_trivial_usage \ + "[-t SECS] [-s SIG] PROG ARGS" +#define timeout_full_usage "\n\n" \ + "Runs PROG. Sends SIG to it if it is not gone in SECS seconds.\n" \ + "Defaults: SECS: 10, SIG: TERM." \ + +#define top_trivial_usage \ + "[-b] [-nCOUNT] [-dSECONDS]" IF_FEATURE_TOPMEM(" [-m]") +#define top_full_usage "\n\n" \ + "Provide a view of process activity in real time.\n" \ + "Read the status of all processes from /proc each SECONDS\n" \ + "and display a screenful of them." \ +//TODO: add options and keyboard commands + +#define touch_trivial_usage \ + "[-c] [-d DATE] FILE [FILE]..." +#define touch_full_usage "\n\n" \ + "Update the last-modified date on the given FILE[s]\n" \ + "\nOptions:" \ + "\n -c Don't create files" \ + "\n -d DT Date/time to use" \ + +#define touch_example_usage \ + "$ ls -l /tmp/foo\n" \ + "/bin/ls: /tmp/foo: No such file or directory\n" \ + "$ touch /tmp/foo\n" \ + "$ ls -l /tmp/foo\n" \ + "-rw-rw-r-- 1 andersen andersen 0 Apr 15 01:11 /tmp/foo\n" + +#define tr_trivial_usage \ + "[-cds] STRING1 [STRING2]" +#define tr_full_usage "\n\n" \ + "Translate, squeeze, or delete characters from stdin, writing to stdout\n" \ + "\nOptions:" \ + "\n -c Take complement of STRING1" \ + "\n -d Delete input characters coded STRING1" \ + "\n -s Squeeze multiple output characters of STRING2 into one character" \ + +#define tr_example_usage \ + "$ echo \"gdkkn vnqkc\" | tr [a-y] [b-z]\n" \ + "hello world\n" + +#define traceroute_trivial_usage \ + "[-"IF_TRACEROUTE6("46")"FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ + " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE]\n" \ + " [-z PAUSE_MSEC] HOST [BYTES]" +#define traceroute_full_usage "\n\n" \ + "Trace the route to HOST\n" \ + "\nOptions:" \ + IF_TRACEROUTE6( \ + "\n -4, -6 Force IP or IPv6 name resolution" \ + ) \ + "\n -F Set the don't fragment bit" \ + "\n -I Use ICMP ECHO instead of UDP datagrams" \ + "\n -l Display the TTL value of the returned packet" \ + "\n -d Set SO_DEBUG options to socket" \ + "\n -n Print numeric addresses" \ + "\n -r Bypass routing tables, send directly to HOST" \ + "\n -v Verbose" \ + "\n -m Max time-to-live (max number of hops)" \ + "\n -p Base UDP port number used in probes" \ + "\n (default 33434)" \ + "\n -q Number of probes per TTL (default 3)" \ + "\n -s IP address to use as the source address" \ + "\n -t Type-of-service in probe packets (default 0)" \ + "\n -w Time in seconds to wait for a response (default 3)" \ + "\n -g Loose source route gateway (8 max)" \ + +#define traceroute6_trivial_usage \ + "[-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES]\n" \ + " [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-i IFACE]\n" \ + " HOST [BYTES]" +#define traceroute6_full_usage "\n\n" \ + "Trace the route to HOST\n" \ + "\nOptions:" \ + "\n -d Set SO_DEBUG options to socket" \ + "\n -n Print numeric addresses" \ + "\n -r Bypass routing tables, send directly to HOST" \ + "\n -v Verbose" \ + "\n -m Max time-to-live (max number of hops)" \ + "\n -p Base UDP port number used in probes" \ + "\n (default is 33434)" \ + "\n -q Number of probes per TTL (default 3)" \ + "\n -s IP address to use as the source address" \ + "\n -t Type-of-service in probe packets (default 0)" \ + "\n -w Time in seconds to wait for a response (default 3)" \ + +#define true_trivial_usage \ + "" +#define true_full_usage "\n\n" \ + "Return an exit code of TRUE (0)" +#define true_example_usage \ + "$ true\n" \ + "$ echo $?\n" \ + "0\n" + +#define tty_trivial_usage \ + "" +#define tty_full_usage "\n\n" \ + "Print file name of stdin's terminal" \ + IF_INCLUDE_SUSv2( "\n" \ + "\nOptions:" \ + "\n -s Print nothing, only return exit status" \ + ) +#define tty_example_usage \ + "$ tty\n" \ + "/dev/tty2\n" + +#define ttysize_trivial_usage \ + "[w] [h]" +#define ttysize_full_usage "\n\n" \ + "Print dimension(s) of stdin's terminal, on error return 80x25" + +#define tunctl_trivial_usage \ + "[-f device] ([-t name] | -d name)" IF_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]") +#define tunctl_full_usage "\n\n" \ + "Create or delete tun interfaces\n" \ + "\nOptions:" \ + "\n -f name tun device (/dev/net/tun)" \ + "\n -t name Create iface 'name'" \ + "\n -d name Delete iface 'name'" \ + IF_FEATURE_TUNCTL_UG( \ + "\n -u owner Set iface owner" \ + "\n -g group Set iface group" \ + "\n -b Brief output" \ + ) +#define tunctl_example_usage \ + "# tunctl\n" \ + "# tunctl -d tun0\n" + +#define tune2fs_trivial_usage \ +/* "[-c max-mounts-count] [-e errors-behavior] [-g group] " */ \ +/* "[-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s sparse-flag] " */ \ +/* "[-m reserved-blocks-percent] [-o [^]mount-options[,...]] " */ \ +/* "[-r reserved-blocks-count] [-u user] [-C mount-count] " */ \ + "[-L LABEL] " \ +/* "[-M last-mounted-dir] [-O [^]feature[,...]] " */ \ +/* "[-T last-check-time] [-U UUID] " */ \ + "BLOCKDEV" +#define tune2fs_full_usage "\n\n" \ + "Adjust filesystem options on ext[23] filesystems" + +#define udhcpc_trivial_usage \ + "[-fbnqvoCR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n" \ + " [-H HOSTNAME] [-c CID] [-V VENDOR] [-O DHCP_OPT]..." IF_FEATURE_UDHCP_PORT(" [-P N]") +#define udhcpc_full_usage "\n" \ + IF_LONG_OPTS( \ + "\n -i,--interface IFACE Interface to use (default eth0)" \ + "\n -p,--pidfile FILE Create pidfile" \ + "\n -r,--request IP IP address to request" \ + "\n -s,--script PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \ + "\n -t,--retries N Send up to N discover packets" \ + "\n -T,--timeout N Pause between packets (default 3 seconds)" \ + "\n -A,--tryagain N Wait N seconds after failure (default 20)" \ + "\n -f,--foreground Run in foreground" \ + USE_FOR_MMU( \ + "\n -b,--background Background if lease is not obtained" \ + ) \ + "\n -S,--syslog Log to syslog too" \ + "\n -n,--now Exit if lease is not obtained" \ + "\n -q,--quit Exit after obtaining lease" \ + "\n -R,--release Release IP on exit" \ + IF_FEATURE_UDHCP_PORT( \ + "\n -P,--client-port N Use port N (default 68)" \ + ) \ + IF_FEATURE_UDHCPC_ARPING( \ + "\n -a,--arping Use arping to validate offered address" \ + ) \ + "\n -O,--request-option OPT Request DHCP option OPT (cumulative)" \ + "\n -o,--no-default-options Don't request any options (unless -O is given)" \ + "\n -x OPT:VAL Include option OPT in sent packets (cumulative)" \ + "\n -F,--fqdn NAME Ask server to update DNS mapping for NAME" \ + "\n -H,-h,--hostname NAME Send NAME as client hostname (default none)" \ + "\n -V,--vendorclass VENDOR Vendor identifier (default 'udhcp VERSION')" \ + "\n -c,--clientid CLIENTID Client identifier (default own MAC)" \ + "\n -C,--clientid-none Don't send client identifier" \ + ) \ + IF_NOT_LONG_OPTS( \ + "\n -i IFACE Interface to use (default eth0)" \ + "\n -p FILE Create pidfile" \ + "\n -r IP IP address to request" \ + "\n -s PROG Run PROG at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \ + "\n -t N Send up to N discover packets" \ + "\n -T N Pause between packets (default 3 seconds)" \ + "\n -A N Wait N seconds (default 20) after failure" \ + "\n -x OPT:VAL Include option OPT in sent packets" \ + "\n -O OPT Request DHCP option OPT (cumulative)" \ + "\n -o Don't request any options (unless -O is given)" \ + "\n -f Run in foreground" \ + USE_FOR_MMU( \ + "\n -b Background if lease is not obtained" \ + ) \ + "\n -S Log to syslog too" \ + "\n -n Exit if lease is not obtained" \ + "\n -q Exit after obtaining lease" \ + "\n -R Release IP on exit" \ + IF_FEATURE_UDHCP_PORT( \ + "\n -P N Use port N (default 68)" \ + ) \ + IF_FEATURE_UDHCPC_ARPING( \ + "\n -a Use arping to validate offered address" \ + ) \ + "\n -F NAME Ask server to update DNS mapping for NAME" \ + "\n -H,-h NAME Send NAME as client hostname (default none)" \ + "\n -V VENDOR Vendor identifier (default 'udhcp VERSION')" \ + "\n -c CLIENTID Client identifier (default own MAC)" \ + "\n -C Don't send client identifier" \ + ) + +#define udhcpd_trivial_usage \ + "[-fS]" IF_FEATURE_UDHCP_PORT(" [-P N]") " [configfile]" \ + +#define udhcpd_full_usage "\n\n" \ + "DHCP server\n" \ + "\n -f Run in foreground" \ + "\n -S Log to syslog too" \ + IF_FEATURE_UDHCP_PORT( \ + "\n -P N Use port N (default 67)" \ + ) + +#define umount_trivial_usage \ + "[OPTIONS] FILESYSTEM|DIRECTORY" +#define umount_full_usage "\n\n" \ + "Unmount file systems\n" \ + "\nOptions:" \ + IF_FEATURE_UMOUNT_ALL( \ + "\n -a Unmount all file systems" IF_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \ + ) \ + IF_FEATURE_MTAB_SUPPORT( \ + "\n -n Don't erase /etc/mtab entries" \ + ) \ + "\n -r Try to remount devices as read-only if mount is busy" \ + "\n -l Lazy umount (detach filesystem)" \ + "\n -f Force umount (i.e., unreachable NFS server)" \ + IF_FEATURE_MOUNT_LOOP( \ + "\n -d Free loop device if it has been used" \ + ) + +#define umount_example_usage \ + "$ umount /dev/hdc1\n" + +#define uname_trivial_usage \ + "[-amnrspv]" +#define uname_full_usage "\n\n" \ + "Print system information\n" \ + "\nOptions:" \ + "\n -a Print all" \ + "\n -m The machine (hardware) type" \ + "\n -n Hostname" \ + "\n -r OS release" \ + "\n -s OS name (default)" \ + "\n -p Processor type" \ + "\n -v OS version" \ + +#define uname_example_usage \ + "$ uname -a\n" \ + "Linux debian 2.4.23 #2 Tue Dec 23 17:09:10 MST 2003 i686 GNU/Linux\n" + +#define uncompress_trivial_usage \ + "[-cf] [FILE]..." +#define uncompress_full_usage "\n\n" \ + "Decompress .Z file[s]\n" \ + "\nOptions:" \ + "\n -c Write to stdout" \ + "\n -f Overwrite" \ + +#define unexpand_trivial_usage \ + "[-fa][-t N] [FILE]..." +#define unexpand_full_usage "\n\n" \ + "Convert spaces to tabs, writing to stdout\n" \ + "\nOptions:" \ + IF_FEATURE_UNEXPAND_LONG_OPTIONS( \ + "\n -a,--all Convert all blanks" \ + "\n -f,--first-only Convert only leading blanks" \ + "\n -t,--tabs=N Tabstops every N chars" \ + ) \ + IF_NOT_FEATURE_UNEXPAND_LONG_OPTIONS( \ + "\n -a Convert all blanks" \ + "\n -f Convert only leading blanks" \ + "\n -t N Tabstops every N chars" \ + ) + +#define uniq_trivial_usage \ + "[-cdu][-f,s,w N] [INPUT [OUTPUT]]" +#define uniq_full_usage "\n\n" \ + "Discard duplicate lines\n" \ + "\nOptions:" \ + "\n -c Prefix lines by the number of occurrences" \ + "\n -d Only print duplicate lines" \ + "\n -u Only print unique lines" \ + "\n -f N Skip first N fields" \ + "\n -s N Skip first N chars (after any skipped fields)" \ + "\n -w N Compare N characters in line" \ + +#define uniq_example_usage \ + "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \ + "a\n" \ + "b\n" \ + "c\n" + +#define unzip_trivial_usage \ + "[-opts[modifiers]] FILE[.zip] [LIST] [-x XLIST] [-d DIR]" +#define unzip_full_usage "\n\n" \ + "Extract files from ZIP archives\n" \ + "\nOptions:" \ + "\n -l List archive contents (with -q for short form)" \ + "\n -n Never overwrite files (default)" \ + "\n -o Overwrite" \ + "\n -p Send output to stdout" \ + "\n -q Quiet" \ + "\n -x XLST Exclude these files" \ + "\n -d DIR Extract files into DIR" \ + +#define uptime_trivial_usage \ + "" +#define uptime_full_usage "\n\n" \ + "Display the time since the last boot" + +#define uptime_example_usage \ + "$ uptime\n" \ + " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n" + +#define usleep_trivial_usage \ + "N" +#define usleep_full_usage "\n\n" \ + "Pause for N microseconds" + +#define usleep_example_usage \ + "$ usleep 1000000\n" \ + "[pauses for 1 second]\n" + +#define uudecode_trivial_usage \ + "[-o OUTFILE] [INFILE]" +#define uudecode_full_usage "\n\n" \ + "Uudecode a file\n" \ + "Finds outfile name in uuencoded source unless -o is given" + +#define uudecode_example_usage \ + "$ uudecode -o busybox busybox.uu\n" \ + "$ ls -l busybox\n" \ + "-rwxr-xr-x 1 ams ams 245264 Jun 7 21:35 busybox\n" + +#define uuencode_trivial_usage \ + "[-m] [INFILE] STORED_FILENAME" +#define uuencode_full_usage "\n\n" \ + "Uuencode a file to stdout\n" \ + "\nOptions:" \ + "\n -m Use base64 encoding per RFC1521" \ + +#define uuencode_example_usage \ + "$ uuencode busybox busybox\n" \ + "begin 755 busybox\n" \ + "\n" \ + "$ uudecode busybox busybox > busybox.uu\n" \ + "$\n" + +#define vconfig_trivial_usage \ + "COMMAND [OPTIONS]" +#define vconfig_full_usage "\n\n" \ + "Create and remove virtual ethernet devices\n" \ + "\nOptions:" \ + "\n add [interface-name] [vlan_id]" \ + "\n rem [vlan-name]" \ + "\n set_flag [interface-name] [flag-num] [0 | 1]" \ + "\n set_egress_map [vlan-name] [skb_priority] [vlan_qos]" \ + "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ + "\n set_name_type [name-type]" \ + +#define vi_trivial_usage \ + "[OPTIONS] [FILE]..." +#define vi_full_usage "\n\n" \ + "Edit FILE\n" \ + "\nOptions:" \ + IF_FEATURE_VI_COLON( \ + "\n -c Initial command to run ($EXINIT also available)") \ + IF_FEATURE_VI_READONLY( \ + "\n -R Read-only") \ + "\n -H Short help regarding available features" \ + +#define vlock_trivial_usage \ + "[OPTIONS]" +#define vlock_full_usage "\n\n" \ + "Lock a virtual terminal. A password is required to unlock.\n" \ + "\nOptions:" \ + "\n -a Lock all VTs" \ + +#define volname_trivial_usage \ + "[DEVICE]" +#define volname_full_usage "\n\n" \ + "Show CD volume name of the DEVICE (default /dev/cdrom)" + +#define wall_trivial_usage \ + "[FILE]" +#define wall_full_usage "\n\n" \ + "Write content of FILE or stdin to all logged-in users" +#define wall_sample_usage \ + "echo foo | wall\n" \ + "wall ./mymessage" + +#define watch_trivial_usage \ + "[-n SEC] [-t] PROG ARGS" +#define watch_full_usage "\n\n" \ + "Run PROG periodically\n" \ + "\nOptions:" \ + "\n -n Loop period in seconds (default 2)" \ + "\n -t Don't print header" \ + +#define watch_example_usage \ + "$ watch date\n" \ + "Mon Dec 17 10:31:40 GMT 2000\n" \ + "Mon Dec 17 10:31:42 GMT 2000\n" \ + "Mon Dec 17 10:31:44 GMT 2000" + +#define watchdog_trivial_usage \ + "[-t N[ms]] [-T N[ms]] [-F] DEV" +#define watchdog_full_usage "\n\n" \ + "Periodically write to watchdog device DEV\n" \ + "\nOptions:" \ + "\n -T N Reboot after N seconds if not reset (default 60)" \ + "\n -t N Reset every N seconds (default 30)" \ + "\n -F Run in foreground" \ + "\n" \ + "\nUse 500ms to specify period in milliseconds" \ + +#define wc_trivial_usage \ + "[OPTIONS] [FILE]..." +#define wc_full_usage "\n\n" \ + "Print line, word, and byte counts for each FILE (or stdin),\n" \ + "and a total line if more than one FILE is specified\n" \ + "\nOptions:" \ + "\n -c Print the byte counts" \ + "\n -l Print the newline counts" \ + "\n -L Print the length of the longest line" \ + "\n -w Print the word counts" \ + +#define wc_example_usage \ + "$ wc /etc/passwd\n" \ + " 31 46 1365 /etc/passwd\n" + +#define wget_trivial_usage \ + IF_FEATURE_WGET_LONG_OPTIONS( \ + "[-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]\n" \ + " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ + " [--no-check-certificate] [-U|--user-agent AGENT] URL" \ + ) \ + IF_NOT_FEATURE_WGET_LONG_OPTIONS( \ + "[-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL" \ + ) +#define wget_full_usage "\n\n" \ + "Retrieve files via HTTP or FTP\n" \ + "\nOptions:" \ + "\n -s Spider mode - only check file existence" \ + "\n -c Continue retrieval of aborted transfer" \ + "\n -q Quiet" \ + "\n -P Set directory prefix to DIR" \ + "\n -O FILE Save to FILE ('-' for stdout)" \ + "\n -U STR Use STR for User-Agent header" \ + "\n -Y Use proxy ('on' or 'off')" \ + +#define which_trivial_usage \ + "[COMMAND]..." +#define which_full_usage "\n\n" \ + "Locate a COMMAND" +#define which_example_usage \ + "$ which login\n" \ + "/bin/login\n" + +#define who_trivial_usage \ + "[-a]" +#define who_full_usage "\n\n" \ + "Show who is logged on\n" \ + "\nOptions:" \ + "\n -a show all" \ + +#define whoami_trivial_usage \ + "" +#define whoami_full_usage "\n\n" \ + "Print the user name associated with the current effective user id" + +#define xargs_trivial_usage \ + "[OPTIONS] [PROG ARGS]" +#define xargs_full_usage "\n\n" \ + "Run PROG on every item given by stdin\n" \ + "\nOptions:" \ + IF_FEATURE_XARGS_SUPPORT_CONFIRMATION( \ + "\n -p Ask user whether to run each command") \ + "\n -r Don't run command if input is empty" \ + IF_FEATURE_XARGS_SUPPORT_ZERO_TERM( \ + "\n -0 Input is separated by NUL characters") \ + "\n -t Print the command on stderr before execution" \ + "\n -e[STR] STR stops input processing" \ + "\n -n N Pass no more than N args to PROG" \ + "\n -s N Pass command line of no more than N bytes" \ + IF_FEATURE_XARGS_SUPPORT_TERMOPT( \ + "\n -x Exit if size is exceeded") \ + +#define xargs_example_usage \ + "$ ls | xargs gzip\n" \ + "$ find . -name '*.c' -print | xargs rm\n" + +#define yes_trivial_usage \ + "[OPTIONS] [STRING]" +#define yes_full_usage "\n\n" \ + "Repeatedly output a line with STRING, or 'y'" + +#define zcat_trivial_usage \ + "FILE" +#define zcat_full_usage "\n\n" \ + "Decompress to stdout" + +#define zcip_trivial_usage \ + "[OPTIONS] IFACE SCRIPT" +#define zcip_full_usage "\n\n" \ + "Manage a ZeroConf IPv4 link-local address\n" \ + "\nOptions:" \ + "\n -f Run in foreground" \ + "\n -q Quit after obtaining address" \ + "\n -r 169.254.x.x Request this address first" \ + "\n -v Verbose" \ + "\n" \ + "\nWith no -q, runs continuously monitoring for ARP conflicts," \ + "\nexits only on I/O errors (link down etc)" \ + + +#endif diff --git a/scripts/Makefile.IMA b/scripts/Makefile.IMA index bddd70229..11ae39eae 100644 --- a/scripts/Makefile.IMA +++ b/scripts/Makefile.IMA @@ -200,7 +200,7 @@ applets/usage: include/autoconf.h applets/applet_tables: include/autoconf.h $(HOSTCC) -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I$(srctree)/include -o applets/applet_tables applets/applet_tables.c -include/usage_compressed.h: $(srctree)/include/usage.h applets/usage +include/usage_compressed.h: include/usage.h applets/usage $(srctree)/applets/usage_compressed include/usage_compressed.h applets include/applet_tables.h: include/applets.h diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh index 44e8c1744..647c7daf7 100755 --- a/scripts/gen_build_files.sh +++ b/scripts/gen_build_files.sh @@ -10,7 +10,7 @@ srctree="$1" # (Re)generate include/applets.h src="$srctree/include/applets.src.h" dst="include/applets.h" -s=`sed -n 's@^//applet:@@p' -- */*.c */*/*.c` +s=`sed -n 's@^//applet:@@p' -- "$srctree"/*/*.c "$srctree"/*/*/*.c` echo "/* DO NOT EDIT. This file is generated from applets.src.h */" >"$dst.$$.tmp" # Why "IFS='' read -r REPLY"?? # This atrocity is needed to read lines without mangling. @@ -27,6 +27,30 @@ else mv -- "$dst.$$.tmp" "$dst" fi +# (Re)generate include/usage.h +src="$srctree/include/usage.src.h" +dst="include/usage.h" +# We add line continuation backslash after each line, +# and insert empty line before each line which doesn't start +# with space or tab +# (note: we need to use \\\\ because of ``) +s=`sed -n -e 's@^//usage:\([ \t].*\)$@\1 \\\\@p' -e 's@^//usage:\([^ \t].*\)$@\n\1 \\\\@p' -- "$srctree"/*/*.c "$srctree"/*/*/*.c` +echo "/* DO NOT EDIT. This file is generated from usage.src.h */" >"$dst.$$.tmp" +# Why "IFS='' read -r REPLY"?? +# This atrocity is needed to read lines without mangling. +# IFS='' prevents whitespace trimming, +# -r suppresses backslash handling. +while IFS='' read -r REPLY; do + test x"$REPLY" = x"INSERT" && REPLY="$s" + printf "%s\n" "$REPLY" +done <"$src" >>"$dst.$$.tmp" +if test -f "$dst" && cmp -s "$dst.$$.tmp" "$dst"; then + rm -- "$dst.$$.tmp" +else + echo " GEN $dst" + mv -- "$dst.$$.tmp" "$dst" +fi + # (Re)generate */Kbuild and */Config.in find -type d | while read -r d; do d="${d#./}" -- cgit v1.2.3-55-g6feb From 2f32bf8be63f70125049402ba43101d8c6083d46 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 04:14:28 +0200 Subject: remove defconfig. Now "make defconfig" simply uses defaults from Config.in Signed-off-by: Denys Vlasenko --- Config.in | 20 +- applets/usage_compressed | 2 +- archival/Config.src | 64 +-- console-tools/Config.src | 42 +- coreutils/Config.src | 194 ++++----- coreutils/basename.c | 2 +- coreutils/cat.c | 2 +- coreutils/date.c | 4 +- coreutils/test.c | 4 +- coreutils/tr.c | 6 +- debianutils/Config.src | 18 +- e2fsprogs/Config.src | 16 +- editors/Config.src | 22 +- findutils/find.c | 6 +- findutils/grep.c | 2 +- findutils/xargs.c | 10 +- init/Config.src | 22 +- libbb/Config.src | 12 +- loginutils/Config.src | 40 +- mailutils/Config.src | 10 +- miscutils/Config.src | 120 +++--- modutils/Config.src | 6 +- networking/Config.src | 156 ++++---- networking/udhcp/Config.src | 16 +- printutils/Config.src | 6 +- procps/Config.src | 50 +-- runit/Config.src | 14 +- scripts/defconfig | 927 -------------------------------------------- scripts/kconfig/confdata.c | 2 +- scripts/test_make_clean | 14 + shell/Config.src | 48 +-- sysklogd/Config.src | 16 +- util-linux/Config.src | 184 +++++---- 33 files changed, 573 insertions(+), 1484 deletions(-) delete mode 100644 scripts/defconfig create mode 100755 scripts/test_make_clean diff --git a/Config.in b/Config.in index 8baf565db..fc02a2d93 100644 --- a/Config.in +++ b/Config.in @@ -82,7 +82,7 @@ config SHOW_USAGE config FEATURE_VERBOSE_USAGE bool "Show verbose applet usage messages" - default n + default y depends on SHOW_USAGE help All BusyBox applets will show more verbose help messages when @@ -106,7 +106,7 @@ config FEATURE_COMPRESS_USAGE config FEATURE_INSTALLER bool "Support --install [-s] to install applet links at runtime" - default n + default y help Enable 'busybox --install [-s]' support. This will allow you to use busybox at runtime to create hard links or symlinks for all the @@ -121,7 +121,7 @@ config LOCALE_SUPPORT config UNICODE_SUPPORT bool "Support Unicode" - default n + default y help This makes various applets aware that one byte is not one character on screen. @@ -141,7 +141,7 @@ config UNICODE_USING_LOCALE config FEATURE_CHECK_UNICODE_IN_ENV bool "Check $LANG environment variable" - default y + default n depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE help With this option on, Unicode support is activated @@ -265,7 +265,7 @@ config FEATURE_CLEAN_UP config FEATURE_UTMP bool "Support utmp file" - default n + default y help The file /var/run/utmp is used to track who is currently logged in. With this option on, certain applets (getty, login, telnetd etc) @@ -274,7 +274,7 @@ config FEATURE_UTMP config FEATURE_WTMP bool "Support wtmp file" - default n + default y select FEATURE_UTMP help The file /var/run/wtmp is used to track when users have logged into @@ -285,14 +285,14 @@ config FEATURE_WTMP config FEATURE_PIDFILE bool "Support writing pidfiles" - default n + default y help This option makes some applets (e.g. crond, syslogd, inetd) write a pidfile in /var/run. Some applications rely on them. config FEATURE_SUID bool "Support for SUID/SGID handling" - default n + default y help With this option you can install the busybox binary belonging to root with the suid bit set, and it will automatically drop @@ -309,7 +309,7 @@ config FEATURE_SUID config FEATURE_SUID_CONFIG bool "Runtime SUID/SGID configuration via /etc/busybox.conf" - default n if FEATURE_SUID + default y if FEATURE_SUID depends on FEATURE_SUID help Allow the SUID / SGID state of an applet to be determined at runtime @@ -528,7 +528,7 @@ config FEATURE_SHARED_BUSYBOX config LFS bool "Build with Large File Support (for accessing files > 2 GB)" - default n + default y select FDISK_SUPPORT_LARGE_DISKS help If you want to build BusyBox with large file support, then enable diff --git a/applets/usage_compressed b/applets/usage_compressed index 12efd2c9c..bfd5aa873 100755 --- a/applets/usage_compressed +++ b/applets/usage_compressed @@ -11,7 +11,7 @@ test "$DD" || DD=dd exec >"$target" -echo '#define UNPACKED_USAGE \' +echo '#define UNPACKED_USAGE "" \' "$loc/usage" | od -v -t x1 \ | $SED -e 's/^[^ ]*//' \ -e 's/ //g' \ diff --git a/archival/Config.src b/archival/Config.src index 4f762e860..de453bc21 100644 --- a/archival/Config.src +++ b/archival/Config.src @@ -7,25 +7,25 @@ menu "Archival Utilities" config FEATURE_SEAMLESS_XZ bool "Make tar, rpm, modprobe etc understand .xz data" - default n + default y help Make tar, rpm, modprobe etc understand .xz data. config FEATURE_SEAMLESS_LZMA bool "Make tar, rpm, modprobe etc understand .lzma data" - default n + default y help Make tar, rpm, modprobe etc understand .lzma data. config FEATURE_SEAMLESS_BZ2 bool "Make tar, rpm, modprobe etc understand .bz2 data" - default n + default y help Make tar, rpm, modprobe etc understand .bz2 data. config FEATURE_SEAMLESS_GZ bool "Make tar, rpm, modprobe etc understand .gz data" - default n + default y help Make tar, rpm, modprobe etc understand .gz data. @@ -37,7 +37,7 @@ config FEATURE_SEAMLESS_Z config AR bool "ar" - default n + default y help ar is an archival utility program used to create, modify, and extract contents from archives. An archive is a single file holding @@ -60,7 +60,7 @@ config AR config FEATURE_AR_LONG_FILENAMES bool "Support for long filenames (not needed for debs)" - default n + default y depends on AR help By default the ar format can only store the first 15 characters @@ -70,14 +70,14 @@ config FEATURE_AR_LONG_FILENAMES config FEATURE_AR_CREATE bool "Support archive creation" - default n + default y depends on AR help This enables archive creation (-c and -r) with busybox ar. config BUNZIP2 bool "bunzip2" - default n + default y help bunzip2 is a compression utility using the Burrows-Wheeler block sorting text compression algorithm, and Huffman coding. Compression @@ -90,7 +90,7 @@ config BUNZIP2 config BZIP2 bool "bzip2" - default n + default y help bzip2 is a compression utility using the Burrows-Wheeler block sorting text compression algorithm, and Huffman coding. Compression @@ -103,7 +103,7 @@ config BZIP2 config CPIO bool "cpio" - default n + default y help cpio is an archival utility program used to create, modify, and extract contents from archives. @@ -117,7 +117,7 @@ config CPIO config FEATURE_CPIO_O bool "Support for archive creation" - default n + default y depends on CPIO help This implementation of cpio can create cpio archives in the "newc" @@ -125,7 +125,7 @@ config FEATURE_CPIO_O config FEATURE_CPIO_P bool "Support for passthrough mode" - default n + default y depends on FEATURE_CPIO_O help Passthrough mode. Rarely used. @@ -165,7 +165,7 @@ config FEATURE_DPKG_DEB_EXTRACT_ONLY config GUNZIP bool "gunzip" - default n + default y help gunzip is used to decompress archives created by gzip. You can use the `-t' option to test the integrity of @@ -173,21 +173,21 @@ config GUNZIP config GZIP bool "gzip" - default n + default y help gzip is used to compress files. It's probably the most widely used UNIX compression program. config FEATURE_GZIP_LONG_OPTIONS bool "Enable long options" - default n + default y depends on GZIP && LONG_OPTS help Enable use of long options, increases size by about 106 Bytes config LZOP bool "lzop" - default n + default y help Lzop compression/decompresion. @@ -202,19 +202,19 @@ config LZOP_COMPR_HIGH config RPM2CPIO bool "rpm2cpio" - default n + default y help Converts an RPM file into a CPIO archive. config RPM bool "rpm" - default n + default y help Mini RPM applet - queries and extracts RPM packages. config TAR bool "tar" - default n + default y help tar is an archiving program. It's commonly used with gzip to create compressed archives. It's probably the most widely used @@ -230,7 +230,7 @@ config FEATURE_TAR_CREATE config FEATURE_TAR_AUTODETECT bool "Autodetect compressed tarballs" - default n + default y depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA || FEATURE_SEAMLESS_XZ) help With this option tar can automatically detect compressed @@ -238,7 +238,7 @@ config FEATURE_TAR_AUTODETECT config FEATURE_TAR_FROM bool "Enable -X (exclude from) and -T (include from) options)" - default n + default y depends on TAR help If you enable this option you'll be able to specify @@ -246,7 +246,7 @@ config FEATURE_TAR_FROM config FEATURE_TAR_OLDGNU_COMPATIBILITY bool "Support for old tar header format" - default N + default y depends on TAR || DPKG help This option is required to unpack archives created in @@ -255,7 +255,7 @@ config FEATURE_TAR_OLDGNU_COMPATIBILITY config FEATURE_TAR_OLDSUN_COMPATIBILITY bool "Enable untarring of tarballs with checksums produced by buggy Sun tar" - default N + default y depends on TAR || DPKG help This option is required to unpack archives created by some old @@ -273,14 +273,14 @@ config FEATURE_TAR_GNU_EXTENSIONS config FEATURE_TAR_LONG_OPTIONS bool "Enable long options" - default n + default y depends on TAR && LONG_OPTS help Enable use of long options, increases size by about 400 Bytes config FEATURE_TAR_UNAME_GNAME bool "Enable use of user and group names" - default n + default y depends on TAR help Enables use of user and group names in tar. This affects contents @@ -289,7 +289,7 @@ config FEATURE_TAR_UNAME_GNAME config FEATURE_TAR_NOPRESERVE_TIME bool "Enable -m (do not preserve time) option" - default n + default y depends on TAR help With this option busybox supports GNU tar -m @@ -312,7 +312,7 @@ config UNCOMPRESS config UNLZMA bool "unlzma" - default n + default y help unlzma is a compression utility using the Lempel-Ziv-Markov chain compression algorithm, and range coding. Compression @@ -327,7 +327,7 @@ config UNLZMA config FEATURE_LZMA_FAST bool "Optimize unlzma for speed" - default n + default y depends on UNLZMA help This option reduces decompression time by about 25% at the cost of @@ -335,7 +335,7 @@ config FEATURE_LZMA_FAST config LZMA bool "Provide lzma alias which supports only unpacking" - default n + default y depends on UNLZMA help Enable this option if you want commands like "lzma -d" to work. @@ -343,13 +343,13 @@ config LZMA config UNXZ bool "unxz" - default n + default y help unxz is a unlzma successor. config XZ bool "Provide xz alias which supports only unpacking" - default n + default y depends on UNXZ help Enable this option if you want commands like "xz -d" to work. @@ -357,7 +357,7 @@ config XZ config UNZIP bool "unzip" - default n + default y help unzip will list or extract files from a ZIP archive, commonly found on DOS/WIN systems. The default behavior diff --git a/console-tools/Config.src b/console-tools/Config.src index a7e995936..1a8e2e128 100644 --- a/console-tools/Config.src +++ b/console-tools/Config.src @@ -7,79 +7,79 @@ menu "Console Utilities" config CHVT bool "chvt" - default n + default y help This program is used to change to another terminal. Example: chvt 4 (change to terminal /dev/tty4) config FGCONSOLE bool "fgconsole" - default n + default y help This program prints active (foreground) console number. config CLEAR bool "clear" - default n + default y help This program clears the terminal screen. config DEALLOCVT bool "deallocvt" - default n + default y help This program deallocates unused virtual consoles. config DUMPKMAP bool "dumpkmap" - default n + default y help This program dumps the kernel's keyboard translation table to stdout, in binary format. You can then use loadkmap to load it. config KBD_MODE bool "kbd_mode" - default n + default y help This program reports and sets keyboard mode. config LOADFONT bool "loadfont" - default n + default y help This program loads a console font from standard input. config LOADKMAP bool "loadkmap" - default n + default y help This program loads a keyboard translation table from standard input. config OPENVT bool "openvt" - default n + default y help This program is used to start a command on an unused virtual terminal. config RESET bool "reset" - default n + default y help This program is used to reset the terminal screen, if it gets messed up. config RESIZE bool "resize" - default n + default y help This program is used to (re)set the width and height of your current terminal. config FEATURE_RESIZE_PRINT bool "Print environment variables" - default n + default y depends on RESIZE help Prints the newly set size (number of columns and rows) of @@ -89,27 +89,27 @@ config FEATURE_RESIZE_PRINT config SETCONSOLE bool "setconsole" - default n + default y help This program redirects the system console to another device, like the current tty while logged in via telnet. config FEATURE_SETCONSOLE_LONG_OPTIONS bool "Enable long options" - default n + default y depends on SETCONSOLE && LONG_OPTS help Support long options for the setconsole applet. config SETFONT bool "setfont" - default n + default y help Allows to load console screen map. Useful for i18n. config FEATURE_SETFONT_TEXTUAL_MAP bool "Support reading textual screen maps" - default n + default y depends on SETFONT help Support reading textual screen maps. @@ -124,20 +124,20 @@ config DEFAULT_SETFONT_DIR config SETKEYCODES bool "setkeycodes" - default n + default y help This program loads entries into the kernel's scancode-to-keycode map, allowing unusual keyboards to generate usable keycodes. config SETLOGCONS bool "setlogcons" - default n + default y help This program redirects the output console of kernel messages. config SHOWKEY bool "showkey" - default n + default y help Shows keys pressed. @@ -146,14 +146,14 @@ comment "Common options for loadfont and setfont" config FEATURE_LOADFONT_PSF2 bool "Support for PSF2 console fonts" - default n + default y depends on LOADFONT || SETFONT help Support PSF2 console fonts. config FEATURE_LOADFONT_RAW bool "Support for old (raw) console fonts" - default n + default y depends on LOADFONT || SETFONT help Support old (raw) console fonts. diff --git a/coreutils/Config.src b/coreutils/Config.src index 99384e300..d4c9e0541 100644 --- a/coreutils/Config.src +++ b/coreutils/Config.src @@ -9,72 +9,72 @@ INSERT config CAL bool "cal" - default n + default y help cal is used to display a monthly calender. config CATV bool "catv" - default n + default y help Display nonprinting characters as escape sequences (like some implementations' cat -v option). config CHGRP bool "chgrp" - default n + default y help chgrp is used to change the group ownership of files. config CHMOD bool "chmod" - default n + default y help chmod is used to change the access permission of files. config CHOWN bool "chown" - default n + default y help chown is used to change the user and/or group ownership of files. config FEATURE_CHOWN_LONG_OPTIONS bool "Enable long options" - default n + default y depends on CHOWN && LONG_OPTS help Enable use of long options config CHROOT bool "chroot" - default n + default y help chroot is used to change the root directory and run a command. The default command is `/bin/sh'. config CKSUM bool "cksum" - default n + default y help cksum is used to calculate the CRC32 checksum of a file. config COMM bool "comm" - default n + default y help comm is used to compare two files line by line and return a three-column output. config CP bool "cp" - default n + default y help cp is used to copy files and directories. config FEATURE_CP_LONG_OPTIONS bool "Enable long options for cp" - default n + default y depends on CP && LONG_OPTS help Enable long options for cp. @@ -82,14 +82,14 @@ config FEATURE_CP_LONG_OPTIONS config CUT bool "cut" - default n + default y help cut is used to print selected parts of lines from each file to stdout. config DD bool "dd" - default n + default y help dd copies a file (from standard input to standard output, by default) using specific input and output blocksizes, @@ -111,7 +111,7 @@ config FEATURE_DD_SIGNAL_HANDLING config FEATURE_DD_THIRD_STATUS_LINE bool "Enable the third status line upon signal" - default n + default y depends on DD && FEATURE_DD_SIGNAL_HANDLING help Displays a coreutils-like third status line with transferred bytes, @@ -119,7 +119,7 @@ config FEATURE_DD_THIRD_STATUS_LINE config FEATURE_DD_IBS_OBS bool "Enable ibs, obs and conv options" - default n + default y depends on DD help Enables support for writing a certain number of bytes in and out, @@ -127,14 +127,14 @@ config FEATURE_DD_IBS_OBS config DF bool "df" - default n + default y help df reports the amount of disk space used and available on filesystems. config FEATURE_DF_FANCY bool "Enable -a, -i, -B" - default n + default y depends on DF help This option enables -a, -i and -B. @@ -145,14 +145,14 @@ config FEATURE_DF_FANCY config DIRNAME bool "dirname" - default n + default y help dirname is used to strip a non-directory suffix from a file name. config DOS2UNIX bool "dos2unix/unix2dos" - default n + default y help dos2unix is used to convert a text file from DOS format to UNIX format, and vice versa. @@ -167,7 +167,7 @@ config UNIX2DOS config DU bool "du (default blocksize of 512 bytes)" - default n + default y help du is used to report the amount of disk space used for specified files. @@ -181,7 +181,7 @@ config FEATURE_DU_DEFAULT_BLOCKSIZE_1K config ECHO bool "echo (basic SuSv3 version taking no options)" - default n + default y help echo is used to print a specified string to stdout. @@ -195,7 +195,7 @@ config FEATURE_FANCY_ECHO config ENV bool "env" - default n + default y help env is used to set an environment variable and run a command; without options it displays the current @@ -203,34 +203,34 @@ config ENV config FEATURE_ENV_LONG_OPTIONS bool "Enable long options" - default n + default y depends on ENV && LONG_OPTS help Support long options for the env applet. config EXPAND bool "expand" - default n + default y help By default, convert all tabs to spaces. config FEATURE_EXPAND_LONG_OPTIONS bool "Enable long options" - default n + default y depends on EXPAND && LONG_OPTS help Support long options for the expand applet. config EXPR bool "expr" - default n + default y help expr is used to calculate numbers and print the result to standard output. config EXPR_MATH_SUPPORT_64 bool "Extend Posix numbers support to 64 bit" - default n + default y depends on EXPR help Enable 64-bit math support in the expr applet. This will make @@ -239,83 +239,83 @@ config EXPR_MATH_SUPPORT_64 config FALSE bool "false" - default n + default y help false returns an exit code of FALSE (1). config FOLD bool "fold" - default n + default y help Wrap text to fit a specific width. config FSYNC bool "fsync" - default n + default y help fsync is used to flush file-related cached blocks to disk. config HEAD bool "head" - default n + default y help head is used to print the first specified number of lines from files. config FEATURE_FANCY_HEAD bool "Enable head options (-c, -q, and -v)" - default n + default y depends on HEAD help This enables the head options (-c, -q, and -v). config HOSTID bool "hostid" - default n + default y help hostid prints the numeric identifier (in hexadecimal) for the current host. config ID bool "id" - default n + default y help id displays the current user and group ID names. config INSTALL bool "install" - default n + default y help Copy files and set attributes. config FEATURE_INSTALL_LONG_OPTIONS bool "Enable long options" - default n + default y depends on INSTALL && LONG_OPTS help Support long options for the install applet. config LENGTH bool "length" - default n + default y help length is used to print out the length of a specified string. config LN bool "ln" - default n + default y help ln is used to create hard or soft links between files. config LOGNAME bool "logname" - default n + default y help logname is used to print the current user's login name. config LS bool "ls" - default n + default y help ls is used to list the contents of directories. @@ -370,7 +370,7 @@ config FEATURE_LS_COLOR config FEATURE_LS_COLOR_IS_DEFAULT bool "Produce colored ls output by default" - default n + default y depends on FEATURE_LS_COLOR help Saying yes here will turn coloring on by default, @@ -381,123 +381,123 @@ config FEATURE_LS_COLOR_IS_DEFAULT config MD5SUM bool "md5sum" - default n + default y help md5sum is used to print or check MD5 checksums. config MKDIR bool "mkdir" - default n + default y help mkdir is used to create directories with the specified names. config FEATURE_MKDIR_LONG_OPTIONS bool "Enable long options" - default n + default y depends on MKDIR && LONG_OPTS help Support long options for the mkdir applet. config MKFIFO bool "mkfifo" - default n + default y help mkfifo is used to create FIFOs (named pipes). The `mknod' program can also create FIFOs. config MKNOD bool "mknod" - default n + default y help mknod is used to create FIFOs or block/character special files with the specified names. config MV bool "mv" - default n + default y help mv is used to move or rename files or directories. config FEATURE_MV_LONG_OPTIONS bool "Enable long options" - default n + default y depends on MV && LONG_OPTS help Support long options for the mv applet. config NICE bool "nice" - default n + default y help nice runs a program with modified scheduling priority. config NOHUP bool "nohup" - default n + default y help run a command immune to hangups, with output to a non-tty. config OD bool "od" - default n + default y help od is used to dump binary files in octal and other formats. config PRINTENV bool "printenv" - default n + default y help printenv is used to print all or part of environment. config PRINTF bool "printf" - default n + default y help printf is used to format and print specified strings. It's similar to `echo' except it has more options. config PWD bool "pwd" - default n + default y help pwd is used to print the current directory. config READLINK bool "readlink" - default n + default y help This program reads a symbolic link and returns the name of the file it points to config FEATURE_READLINK_FOLLOW bool "Enable canonicalization by following all symlinks (-f)" - default n + default y depends on READLINK help Enable the readlink option (-f). config REALPATH bool "realpath" - default n + default y help Return the canonicalized absolute pathname. This isn't provided by GNU shellutils, but where else does it belong. config RM bool "rm" - default n + default y help rm is used to remove files or directories. config RMDIR bool "rmdir" - default n + default y help rmdir is used to remove empty directories. config FEATURE_RMDIR_LONG_OPTIONS bool "Enable long options" - default n + default y depends on RMDIR && LONG_OPTS help Support long options for the rmdir applet, including @@ -505,31 +505,31 @@ config FEATURE_RMDIR_LONG_OPTIONS config SEQ bool "seq" - default n + default y help print a sequence of numbers config SHA1SUM bool "sha1sum" - default n + default y help Compute and check SHA1 message digest config SHA256SUM bool "sha256sum" - default n + default y help Compute and check SHA256 message digest config SHA512SUM bool "sha512sum" - default n + default y help Compute and check SHA512 message digest config SLEEP bool "sleep" - default n + default y help sleep is used to pause for a specified number of seconds. It comes in 3 versions: @@ -543,21 +543,21 @@ config SLEEP config FEATURE_FANCY_SLEEP bool "Enable multiple arguments and s/m/h/d suffixes" - default n + default y depends on SLEEP help Allow sleep to pause for specified minutes, hours, and days. config FEATURE_FLOAT_SLEEP bool "Enable fractional arguments" - default n + default y depends on FEATURE_FANCY_SLEEP help Allow for fractional numeric parameters. config SORT bool "sort" - default n + default y help sort is used to sort lines of text in specified files. @@ -575,13 +575,13 @@ config FEATURE_SORT_BIG config SPLIT bool "split" - default n + default y help split a file into pieces. config FEATURE_SPLIT_FANCY bool "Fancy extensions" - default n + default y depends on SPLIT help Add support for features not required by SUSv3. @@ -590,13 +590,13 @@ config FEATURE_SPLIT_FANCY config STAT bool "stat" - default n + default y help display file or filesystem status. config FEATURE_STAT_FORMAT bool "Enable custom formats (-c)" - default n + default y depends on STAT help Without this, stat will not support the '-c format' option where @@ -605,31 +605,31 @@ config FEATURE_STAT_FORMAT config STTY bool "stty" - default n + default y help stty is used to change and print terminal line settings. config SUM bool "sum" - default n + default y help checksum and count the blocks in a file config SYNC bool "sync" - default n + default y help sync is used to flush filesystem buffers. config TAC bool "tac" - default n + default y help tac is used to concatenate and print files in reverse. config TAIL bool "tail" - default n + default y help tail is used to print the last specified number of lines from files. @@ -648,112 +648,112 @@ config FEATURE_FANCY_TAIL config TEE bool "tee" - default n + default y help tee is used to read from standard input and write to standard output and files. config FEATURE_TEE_USE_BLOCK_IO bool "Enable block I/O (larger/faster) instead of byte I/O" - default n + default y depends on TEE help Enable this option for a faster tee, at expense of size. config TOUCH bool "touch" - default n + default y help touch is used to create or change the access and/or modification timestamp of specified files. config TRUE bool "true" - default n + default y help true returns an exit code of TRUE (0). config TTY bool "tty" - default n + default y help tty is used to print the name of the current terminal to standard output. config UNAME bool "uname" - default n + default y help uname is used to print system information. config UNEXPAND bool "unexpand" - default n + default y help By default, convert only leading sequences of blanks to tabs. config FEATURE_UNEXPAND_LONG_OPTIONS bool "Enable long options" - default n + default y depends on UNEXPAND && LONG_OPTS help Support long options for the unexpand applet. config UNIQ bool "uniq" - default n + default y help uniq is used to remove duplicate lines from a sorted file. config USLEEP bool "usleep" - default n + default y help usleep is used to pause for a specified number of microseconds. config UUDECODE bool "uudecode" - default n + default y help uudecode is used to decode a uuencoded file. config UUENCODE bool "uuencode" - default n + default y help uuencode is used to uuencode a file. config WC bool "wc" - default n + default y help wc is used to print the number of bytes, words, and lines, in specified files. config FEATURE_WC_LARGE bool "Support very large files in wc" - default n + default y depends on WC help Use "unsigned long long" in wc for counter variables. config WHO bool "who" - default n + default y depends on FEATURE_UTMP help who is used to show who is logged on. config WHOAMI bool "whoami" - default n + default y help whoami is used to print the username of the current user id (same as id -un). config YES bool "yes" - default n + default y help yes is used to repeatedly output a specific string, or the default string `y'. @@ -763,7 +763,7 @@ comment "Common options for cp and mv" config FEATURE_PRESERVE_HARDLINKS bool "Preserve hard links" - default n + default y depends on CP || MV help Allow cp and mv to preserve hard links. @@ -787,7 +787,7 @@ comment "Common options for df, du, ls" config FEATURE_HUMAN_READABLE bool "Support for human readable output (example 13k, 23M, 235G)" - default n + default y depends on DF || DU || LS help Allow df, du, and ls to have human readable output. @@ -797,7 +797,7 @@ comment "Common options for md5sum, sha1sum, sha256sum, sha512sum" config FEATURE_MD5_SHA1_SUM_CHECK bool "Enable -c, -s and -w options" - default n + default y depends on MD5SUM || SHA1SUM || SHA256SUM || SHA512SUM help Enabling the -c options allows files to be checked diff --git a/coreutils/basename.c b/coreutils/basename.c index f35bdf08e..d1ad91ba1 100644 --- a/coreutils/basename.c +++ b/coreutils/basename.c @@ -24,7 +24,7 @@ //config:config BASENAME //config: bool "basename" -//config: default n +//config: default y //config: help //config: basename is used to strip the directory and suffix from filenames, //config: leaving just the filename itself. Enable this option if you wish diff --git a/coreutils/cat.c b/coreutils/cat.c index dbb6246ba..ab682588f 100644 --- a/coreutils/cat.c +++ b/coreutils/cat.c @@ -17,7 +17,7 @@ //config:config CAT //config: bool "cat" -//config: default n +//config: default y //config: help //config: cat is used to concatenate files and print them to the standard //config: output. Enable this option if you wish to enable the 'cat' utility. diff --git a/coreutils/date.c b/coreutils/date.c index 2720a3507..c599df735 100644 --- a/coreutils/date.c +++ b/coreutils/date.c @@ -56,7 +56,7 @@ //config:config DATE //config: bool "date" -//config: default n +//config: default y //config: help //config: date is used to set the system date or display the //config: current time in the given format. @@ -71,7 +71,7 @@ //config: //config:config FEATURE_DATE_NANO //config: bool "Support %[num]N nanosecond format specifier" -//config: default y +//config: default n //config: depends on DATE //config: help //config: Support %[num]N format specifier. Adds ~250 bytes of code. diff --git a/coreutils/test.c b/coreutils/test.c index cc4a132a7..70eac5f6c 100644 --- a/coreutils/test.c +++ b/coreutils/test.c @@ -26,7 +26,7 @@ //config:config TEST //config: bool "test" -//config: default n +//config: default y //config: help //config: test is used to check file types and compare values, //config: returning an appropriate exit code. The bash shell @@ -34,7 +34,7 @@ //config: //config:config FEATURE_TEST_64 //config: bool "Extend test to 64 bit" -//config: default n +//config: default y //config: depends on TEST || ASH_BUILTIN_TEST || HUSH //config: help //config: Enable 64-bit support in test. diff --git a/coreutils/tr.c b/coreutils/tr.c index 25f503860..f3db3793f 100644 --- a/coreutils/tr.c +++ b/coreutils/tr.c @@ -23,14 +23,14 @@ //config:config TR //config: bool "tr" -//config: default n +//config: default y //config: help //config: tr is used to squeeze, and/or delete characters from standard //config: input, writing to standard output. //config: //config:config FEATURE_TR_CLASSES //config: bool "Enable character classes (such as [:upper:])" -//config: default n +//config: default y //config: depends on TR //config: help //config: Enable character classes, enabling commands such as: @@ -38,7 +38,7 @@ //config: //config:config FEATURE_TR_EQUIV //config: bool "Enable equivalence classes" -//config: default n +//config: default y //config: depends on TR //config: help //config: Enable equivalence classes, which essentially add the enclosed diff --git a/debianutils/Config.src b/debianutils/Config.src index 9146f3ef4..9bce0498c 100644 --- a/debianutils/Config.src +++ b/debianutils/Config.src @@ -7,19 +7,19 @@ menu "Debian Utilities" config MKTEMP bool "mktemp" - default n + default y help mktemp is used to create unique temporary files config PIPE_PROGRESS bool "pipe_progress" - default n + default y help Display a dot to indicate pipe activity. config RUN_PARTS bool "run-parts" - default n + default y help run-parts is a utility designed to run all the scripts in a directory. @@ -34,14 +34,14 @@ config RUN_PARTS config FEATURE_RUN_PARTS_LONG_OPTIONS bool "Enable long options" - default n + default y depends on RUN_PARTS && LONG_OPTS help Support long options for the run-parts applet. config FEATURE_RUN_PARTS_FANCY bool "Support additional arguments" - default n + default y depends on RUN_PARTS help Support additional options: @@ -50,7 +50,7 @@ config FEATURE_RUN_PARTS_FANCY config START_STOP_DAEMON bool "start-stop-daemon" - default n + default y help start-stop-daemon is used to control the creation and termination of system-level processes, usually the ones @@ -58,7 +58,7 @@ config START_STOP_DAEMON config FEATURE_START_STOP_DAEMON_FANCY bool "Support additional arguments" - default n + default y depends on START_STOP_DAEMON help Support additional arguments. @@ -68,14 +68,14 @@ config FEATURE_START_STOP_DAEMON_FANCY config FEATURE_START_STOP_DAEMON_LONG_OPTIONS bool "Enable long options" - default n + default y depends on START_STOP_DAEMON && LONG_OPTS help Support long options for the start-stop-daemon applet. config WHICH bool "which" - default n + default y help which is used to find programs in your PATH and print out their pathnames. diff --git a/e2fsprogs/Config.src b/e2fsprogs/Config.src index 964d08e4c..e331ee5ef 100644 --- a/e2fsprogs/Config.src +++ b/e2fsprogs/Config.src @@ -7,13 +7,13 @@ menu "Linux Ext2 FS Progs" config CHATTR bool "chattr" - default n + default y help chattr changes the file attributes on a second extended file system. ### config E2FSCK ### bool "e2fsck" -### default n +### default y ### help ### e2fsck is used to check Linux second extended file systems (ext2fs). ### e2fsck also supports ext2 filesystems countaining a journal (ext3). @@ -22,7 +22,7 @@ config CHATTR config FSCK bool "fsck" - default n + default y help fsck is used to check and optionally repair one or more filesystems. In actuality, fsck is simply a front-end for the various file system @@ -30,27 +30,27 @@ config FSCK config LSATTR bool "lsattr" - default n + default y help lsattr lists the file attributes on a second extended file system. ### config MKE2FS ### bool "mke2fs" -### default n +### default y ### help ### mke2fs is used to create an ext2/ext3 filesystem. The normal compat ### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. config TUNE2FS bool "tune2fs" - default n + default y help tune2fs allows the system administrator to adjust various tunable filesystem parameters on Linux ext2/ext3 filesystems. ### config E2LABEL ### bool "e2label" -### default n +### default y ### depends on TUNE2FS ### help ### e2label will display or change the filesystem label on the ext2 @@ -59,7 +59,7 @@ config TUNE2FS ### NB: this one is now provided by util-linux/volume_id/* ### config FINDFS ### bool "findfs" -### default n +### default y ### depends on TUNE2FS ### help ### findfs will search the disks in the system looking for a filesystem diff --git a/editors/Config.src b/editors/Config.src index 5f9566f0a..6cf21919c 100644 --- a/editors/Config.src +++ b/editors/Config.src @@ -7,14 +7,14 @@ menu "Editors" config AWK bool "awk" - default n + default y help Awk is used as a pattern scanning and processing language. This is the BusyBox implementation of that programming language. config FEATURE_AWK_LIBM bool "Enable math functions (requires libm)" - default n + default y depends on AWK help Enable math functions of the Awk programming language. @@ -22,14 +22,14 @@ config FEATURE_AWK_LIBM config CMP bool "cmp" - default n + default y help cmp is used to compare two files and returns the result to standard output. config DIFF bool "diff" - default n + default y help diff compares two files or directories and outputs the differences between them in a form that can be given to @@ -37,7 +37,7 @@ config DIFF config FEATURE_DIFF_LONG_OPTIONS bool "Enable long options" - default n + default y depends on DIFF && LONG_OPTS help Enable use of long options. @@ -52,7 +52,7 @@ config FEATURE_DIFF_DIR config ED bool "ed" - default n + default y help The original 1970's Unix text editor, from the days of teletypes. Small, simple, evil. Part of SUSv3. If you're not already using @@ -60,20 +60,20 @@ config ED config PATCH bool "patch" - default n + default y help Apply a unified diff formatted patch. config SED bool "sed" - default n + default y help sed is used to perform text transformations on a file or input from a pipeline. config VI bool "vi" - default n + default y help 'vi' is a text editor. More specifically, it is the One True text editor . It does, however, have a rather steep @@ -91,7 +91,7 @@ config FEATURE_VI_MAX_LEN config FEATURE_VI_8BIT bool "Allow vi to display 8-bit chars (otherwise shows dots)" - default y + default n depends on VI help If your terminal can display characters with high bit set, @@ -170,7 +170,7 @@ config FEATURE_VI_WIN_RESIZE config FEATURE_VI_ASK_TERMINAL bool "Use 'tell me cursor position' ESC sequence to measure window" - default n + default y depends on VI help If terminal size can't be retrieved and $LINES/$COLUMNS are not set, diff --git a/findutils/find.c b/findutils/find.c index 9022867a2..ca630b6c5 100644 --- a/findutils/find.c +++ b/findutils/find.c @@ -57,7 +57,7 @@ //config: //config:config FIND //config: bool "find" -//config: default n +//config: default y //config: help //config: find is used to search your system to find specified files. //config: @@ -193,7 +193,7 @@ //config: //config:config FEATURE_FIND_DELETE //config: bool "Enable -delete: delete files/dirs" -//config: default n +//config: default y //config: depends on FIND && FEATURE_FIND_DEPTH //config: help //config: Support the 'find -delete' option for deleting files and directories. @@ -223,7 +223,7 @@ //config: //config:config FEATURE_FIND_LINKS //config: bool "Enable -links: link count matching" -//config: default n +//config: default y //config: depends on FIND //config: help //config: Support the 'find -links' option for matching number of links. diff --git a/findutils/grep.c b/findutils/grep.c index be290118f..dd1a4efc4 100644 --- a/findutils/grep.c +++ b/findutils/grep.c @@ -23,7 +23,7 @@ //config: //config:config GREP //config: bool "grep" -//config: default n +//config: default y //config: help //config: grep is used to search files for a specified pattern. //config: diff --git a/findutils/xargs.c b/findutils/xargs.c index c55ac5724..7db374c4a 100644 --- a/findutils/xargs.c +++ b/findutils/xargs.c @@ -21,14 +21,14 @@ //config: //config:config XARGS //config: bool "xargs" -//config: default n +//config: default y //config: help //config: xargs is used to execute a specified command for //config: every item from standard input. //config: //config:config FEATURE_XARGS_SUPPORT_CONFIRMATION //config: bool "Enable -p: prompt and confirmation" -//config: default n +//config: default y //config: depends on XARGS //config: help //config: Support -p: prompt the user whether to run each command @@ -36,14 +36,14 @@ //config: //config:config FEATURE_XARGS_SUPPORT_QUOTES //config: bool "Enable single and double quotes and backslash" -//config: default n +//config: default y //config: depends on XARGS //config: help //config: Support quoting in the input. //config: //config:config FEATURE_XARGS_SUPPORT_TERMOPT //config: bool "Enable -x: exit if -s or -n is exceeded" -//config: default n +//config: default y //config: depends on XARGS //config: help //config: Support -x: exit if the command size (see the -s or -n option) @@ -51,7 +51,7 @@ //config: //config:config FEATURE_XARGS_SUPPORT_ZERO_TERM //config: bool "Enable -0: NUL-terminated input" -//config: default n +//config: default y //config: depends on XARGS //config: help //config: Support -0: input items are terminated by a NUL character diff --git a/init/Config.src b/init/Config.src index 76d509207..e8121c96a 100644 --- a/init/Config.src +++ b/init/Config.src @@ -7,7 +7,7 @@ menu "Init Utilities" config INIT bool "init" - default n + default y select FEATURE_SYSLOG help init is the first program run when the system boots. @@ -21,12 +21,12 @@ config FEATURE_USE_INITTAB config FEATURE_KILL_REMOVED bool "Support killing processes that have been removed from inittab" - default y + default n depends on FEATURE_USE_INITTAB help When respawn entries are removed from inittab and a SIGHUP is - sent to init, this feature will kill the processes that have - been removed. + sent to init, this option will make init kill the processes + that have been removed. config FEATURE_KILL_DELAY int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED @@ -41,7 +41,7 @@ config FEATURE_KILL_DELAY config FEATURE_INIT_SCTTY bool "Run commands with leading dash with controlling tty" - default n + default y depends on INIT help If this option is enabled, init will try to give a controlling @@ -56,7 +56,7 @@ config FEATURE_INIT_SCTTY config FEATURE_INIT_SYSLOG bool "Enable init to write to syslog" - default n + default y depends on INIT config FEATURE_EXTRA_QUIET @@ -68,7 +68,7 @@ config FEATURE_EXTRA_QUIET config FEATURE_INIT_COREDUMPS bool "Support dumping core for child processes (debugging only)" - default n + default y depends on INIT help If this option is enabled and the file /.init_enable_core @@ -89,13 +89,13 @@ config FEATURE_INITRD config HALT bool "poweroff, halt, and reboot" - default n + default y help Stop all processes and either halt, reboot, or power off the system. config FEATURE_CALL_TELINIT bool "Call telinit on shutdown and reboot" - default n + default y depends on HALT && !INIT help Call an external program (normally telinit) to facilitate @@ -115,14 +115,14 @@ config TELINIT_PATH config MESG bool "mesg" - default n + default y help Mesg controls access to your terminal by others. It is typically used to allow or disallow other users to write to your terminal config BOOTCHARTD bool "bootchartd" - default n + default y help bootchartd is commonly used to profile the boot process for the purpose of speeding it up. In this case, it is started diff --git a/libbb/Config.src b/libbb/Config.src index 55367b21b..a0aeb3683 100644 --- a/libbb/Config.src +++ b/libbb/Config.src @@ -28,7 +28,7 @@ config MD5_SIZE_VS_SPEED config FEATURE_FAST_TOP bool "Faster /proc scanning code (+100 bytes)" - default n + default y help This option makes top (and ps) ~20% faster (or 20% less CPU hungry), but code size is slightly bigger. @@ -43,7 +43,7 @@ config FEATURE_ETC_NETWORKS config FEATURE_EDITING bool "Command line editing" - default n + default y help Enable line editing (mainly for shell command line). @@ -68,21 +68,21 @@ config FEATURE_EDITING_VI config FEATURE_EDITING_HISTORY int "History size" range 0 99999 - default 15 + default 255 depends on FEATURE_EDITING help Specify command history size. config FEATURE_EDITING_SAVEHISTORY bool "History saving" - default n + default y depends on ASH && FEATURE_EDITING help Enable history saving in ash shell. config FEATURE_TAB_COMPLETION bool "Tab completion" - default n + default y depends on FEATURE_EDITING help Enable tab completion. @@ -150,7 +150,7 @@ config FEATURE_COPYBUF_KB config MONOTONIC_SYSCALL bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" - default y + default n help Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring time intervals (time, ping, traceroute etc need this). diff --git a/loginutils/Config.src b/loginutils/Config.src index a9b5f5a9f..982d5d669 100644 --- a/loginutils/Config.src +++ b/loginutils/Config.src @@ -7,7 +7,7 @@ menu "Login/Password Management Utilities" config FEATURE_SHADOWPASSWDS bool "Support for shadow passwords" - default n + default y help Build support for shadow password in /etc/shadow. This file is only readable by root and thus the encrypted passwords are no longer @@ -15,7 +15,7 @@ config FEATURE_SHADOWPASSWDS config USE_BB_PWD_GRP bool "Use internal password and group functions rather than system functions" - default n + default y help If you leave this disabled, busybox will use the system's password and group functions. And if you are using the GNU C library @@ -81,7 +81,7 @@ config USE_BB_CRYPT config USE_BB_CRYPT_SHA bool "Enable SHA256/512 crypt functions" - default n + default y depends on USE_BB_CRYPT help Enable this if you have passwords starting with "$5$" or "$6$" @@ -93,20 +93,20 @@ config USE_BB_CRYPT_SHA config ADDGROUP bool "addgroup" - default n + default y help Utility for creating a new group account. config FEATURE_ADDGROUP_LONG_OPTIONS bool "Enable long options" - default n + default y depends on ADDGROUP && LONG_OPTS help Support long options for the addgroup applet. config FEATURE_ADDUSER_TO_GROUP bool "Support for adding users to groups" - default n + default y depends on ADDGROUP help If called with two non-option arguments, @@ -115,13 +115,13 @@ config FEATURE_ADDUSER_TO_GROUP config DELGROUP bool "delgroup" - default n + default y help Utility for deleting a group account. config FEATURE_DEL_USER_FROM_GROUP bool "Support for removing users from groups" - default n + default y depends on DELGROUP help If called with two non-option arguments, deluser @@ -141,13 +141,13 @@ config FEATURE_CHECK_NAMES config ADDUSER bool "adduser" - default n + default y help Utility for creating a new user account. config FEATURE_ADDUSER_LONG_OPTIONS bool "Enable long options" - default n + default y depends on ADDUSER && LONG_OPTS help Support long options for the adduser applet. @@ -170,20 +170,20 @@ config LAST_SYSTEM_ID config DELUSER bool "deluser" - default n + default y help Utility for deleting a user account. config GETTY bool "getty" - default n + default y select FEATURE_SYSLOG help getty lets you log in on a tty, it is normally invoked by init. config LOGIN bool "login" - default n + default y select FEATURE_SUID select FEATURE_SYSLOG help @@ -202,7 +202,7 @@ config PAM config LOGIN_SCRIPTS bool "Support for login scripts" depends on LOGIN - default n + default y help Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT just prior to switching from root to logged-in user. @@ -226,7 +226,7 @@ config FEATURE_SECURETTY config PASSWD bool "passwd" - default n + default y select FEATURE_SUID select FEATURE_SYSLOG help @@ -247,7 +247,7 @@ config FEATURE_PASSWD_WEAK_CHECK config CRYPTPW bool "cryptpw" - default n + default y help Encrypts the given password with the crypt(3) libc function using the given salt. Debian has this utility under mkpasswd @@ -255,14 +255,14 @@ config CRYPTPW config CHPASSWD bool "chpasswd" - default n + default y help Reads a file of user name and password pairs from standard input and uses this information to update a group of existing users. config SU bool "su" - default n + default y select FEATURE_SUID select FEATURE_SYSLOG help @@ -284,7 +284,7 @@ config FEATURE_SU_CHECKS_SHELLS config SULOGIN bool "sulogin" - default n + default y select FEATURE_SYSLOG help sulogin is invoked when the system goes into single user @@ -292,7 +292,7 @@ config SULOGIN config VLOCK bool "vlock" - default n + default y select FEATURE_SUID help Build the "vlock" applet which allows you to lock (virtual) terminals. diff --git a/mailutils/Config.src b/mailutils/Config.src index 519d562ae..baa04331a 100644 --- a/mailutils/Config.src +++ b/mailutils/Config.src @@ -2,7 +2,7 @@ menu "Mail Utilities" config MAKEMIME bool "makemime" - default n + default y help Create MIME-formatted messages. @@ -15,14 +15,14 @@ config FEATURE_MIME_CHARSET config POPMAILDIR bool "popmaildir" - default n + default y help Simple yet powerful POP3 mail popper. Delivers content of remote mailboxes to local Maildir. config FEATURE_POPMAILDIR_DELIVERY bool "Allow message filters and custom delivery program" - default n + default y depends on POPMAILDIR help Allow to use a custom program to filter the content @@ -32,7 +32,7 @@ config FEATURE_POPMAILDIR_DELIVERY config REFORMIME bool "reformime" - default n + default y help Parse MIME-formatted messages. @@ -46,7 +46,7 @@ config FEATURE_REFORMIME_COMPAT config SENDMAIL bool "sendmail" - default n + default y help Barebones sendmail. diff --git a/miscutils/Config.src b/miscutils/Config.src index 7a69dd10f..a822f2a19 100644 --- a/miscutils/Config.src +++ b/miscutils/Config.src @@ -7,7 +7,7 @@ menu "Miscellaneous Utilities" config ADJTIMEX bool "adjtimex" - default n + default y help Adjtimex reads and optionally sets adjustment parameters for the Linux clock adjustment algorithm. @@ -21,7 +21,7 @@ config BBCONFIG config BEEP bool "beep" - default n + default y help The beep applets beeps in a given freq/Hz. @@ -43,7 +43,7 @@ config FEATURE_BEEP_LENGTH_MS config CHAT bool "chat" - default n + default y help Simple chat utility. @@ -77,7 +77,7 @@ config FEATURE_CHAT_IMPLICIT_CR config FEATURE_CHAT_SWALLOW_OPTS bool "Swallow options" depends on CHAT - default n + default y help Busybox chat require no options. To make it not fail when used in place of original chat (which has a bunch of options) turn @@ -86,7 +86,7 @@ config FEATURE_CHAT_SWALLOW_OPTS config FEATURE_CHAT_SEND_ESCAPES bool "Support weird SEND escapes" depends on CHAT - default n + default y help Original chat uses some escape sequences in SEND arguments which are not sent to device but rather performs special actions. @@ -97,27 +97,27 @@ config FEATURE_CHAT_SEND_ESCAPES config FEATURE_CHAT_VAR_ABORT_LEN bool "Support variable-length ABORT conditions" depends on CHAT - default n + default y help Original chat uses fixed 50-bytes length ABORT conditions. Say N here. config FEATURE_CHAT_CLR_ABORT bool "Support revoking of ABORT conditions" depends on CHAT - default n + default y help Support CLR_ABORT directive. config CHRT bool "chrt" - default n + default y help manipulate real-time attributes of a process. This requires sched_{g,s}etparam support in your libc. config CROND bool "crond" - default n + default y select FEATURE_SUID select FEATURE_SYSLOG help @@ -132,13 +132,13 @@ config CROND config FEATURE_CROND_D bool "Support option -d to redirect output to stderr" depends on CROND - default n + default y help -d sets loglevel to 0 (most verbose) and directs all output to stderr. config FEATURE_CROND_CALL_SENDMAIL bool "Report command output via email (using sendmail)" - default n + default y depends on CROND help Command output will be sent to corresponding user via email. @@ -152,7 +152,7 @@ config FEATURE_CROND_DIR config CRONTAB bool "crontab" - default n + default y select FEATURE_SUID help Crontab manipulates the crontab for a particular user. Only @@ -162,14 +162,14 @@ config CRONTAB config DC bool "dc" - default n + default y help Dc is a reverse-polish desk calculator which supports unlimited precision arithmetic. config FEATURE_DC_LIBM bool "Enable power and exp functions (requires libm)" - default n + default y depends on DC help Enable power and exp functions. @@ -196,7 +196,7 @@ config DEVFSD config DEVFSD_MODLOAD bool "Adds support for MODLOAD keyword in devsfd.conf" - default n + default y depends on DEVFSD help This actually doesn't work with busybox modutils but needs @@ -204,7 +204,7 @@ config DEVFSD_MODLOAD config DEVFSD_FG_NP bool "Enables the -fg and -np options" - default n + default y depends on DEVFSD help -fg Run the daemon in the foreground. @@ -213,7 +213,7 @@ config DEVFSD_FG_NP config DEVFSD_VERBOSE bool "Increases logging (and size)" - default n + default y depends on DEVFSD help Increases logging to stderr or syslog. @@ -232,20 +232,20 @@ config FEATURE_DEVFS config DEVMEM bool "devmem" - default n + default y help devmem is a small program that reads and writes from physical memory using /dev/mem. config EJECT bool "eject" - default n + default y help Used to eject cdroms. (defaults to /dev/cdrom) config FEATURE_EJECT_SCSI bool "SCSI support" - default n + default y depends on EJECT help Add the -s option to eject, this allows to eject SCSI-Devices and @@ -253,7 +253,7 @@ config FEATURE_EJECT_SCSI config FBSPLASH bool "fbsplash" - default n + default y help Shows splash image and progress bar on framebuffer device. Can be used during boot phase of an embedded device. ~2kb. @@ -274,49 +274,49 @@ config FBSPLASH config FLASHCP bool "flashcp" - default n + default y help The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7. This utility is used to copy images into a MTD device. config FLASH_LOCK bool "flash_lock" - default n + default y help The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This utility locks part or all of the flash device. config FLASH_UNLOCK bool "flash_unlock" - default n + default y help The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This utility unlocks part or all of the flash device. config FLASH_ERASEALL bool "flash_eraseall" - default n + default y help The flash_eraseall binary from mtd-utils as of git head c4c6a59eb. This utility is used to erase the whole MTD device. config IONICE bool "ionice" - default n + default y help Set/set program io scheduling class and priority Requires kernel >= 2.6.13 config INOTIFYD bool "inotifyd" - default n + default y help Simple inotify daemon. Reports filesystem changes. Requires kernel >= 2.6.13 config LAST bool "last" - default n + default y depends on FEATURE_WTMP help 'last' displays a list of the last users that logged into the system. @@ -324,7 +324,7 @@ config LAST choice prompt "Choose last implementation" depends on LAST - default FEATURE_LAST_SMALL + default FEATURE_LAST_FANCY config FEATURE_LAST_SMALL bool "small" @@ -341,7 +341,7 @@ endchoice config LESS bool "less" - default n + default y help 'less' is a pager, meaning that it displays text files. It possesses a wide array of features, and is an improvement over 'more'. @@ -371,28 +371,28 @@ config FEATURE_LESS_FLAGS config FEATURE_LESS_MARKS bool "Enable marks" - default n + default y depends on LESS help Marks enable positions in a file to be stored for easy reference. config FEATURE_LESS_REGEXP bool "Enable regular expressions" - default n + default y depends on LESS help Enable regular expressions, allowing complex file searches. config FEATURE_LESS_WINCH bool "Enable automatic resizing on window size changes" - default n + default y depends on LESS help Makes less track window size changes. config FEATURE_LESS_DASHCMD bool "Enable flag changes ('-' command)" - default n + default y depends on LESS help This enables the ability to change command-line flags within @@ -400,14 +400,14 @@ config FEATURE_LESS_DASHCMD config FEATURE_LESS_LINENUMS bool "Enable dynamic switching of line numbers" - default n + default y depends on FEATURE_LESS_DASHCMD help Enable "-N" command. config HDPARM bool "hdparm" - default n + default y help Get/Set hard drive parameters. Primarily intended for ATA drives. Adds about 13k (or around 30k if you enable the @@ -425,7 +425,7 @@ config FEATURE_HDPARM_GET_IDENTITY config FEATURE_HDPARM_HDIO_SCAN_HWIF bool "Register an IDE interface (DANGEROUS)" - default n + default y depends on HDPARM help Enables the 'hdparm -R' option to register an IDE interface. @@ -433,7 +433,7 @@ config FEATURE_HDPARM_HDIO_SCAN_HWIF config FEATURE_HDPARM_HDIO_UNREGISTER_HWIF bool "Un-register an IDE interface (DANGEROUS)" - default n + default y depends on HDPARM help Enables the 'hdparm -U' option to un-register an IDE interface. @@ -441,7 +441,7 @@ config FEATURE_HDPARM_HDIO_UNREGISTER_HWIF config FEATURE_HDPARM_HDIO_DRIVE_RESET bool "Perform device reset (DANGEROUS)" - default n + default y depends on HDPARM help Enables the 'hdparm -w' option to perform a device reset. @@ -449,7 +449,7 @@ config FEATURE_HDPARM_HDIO_DRIVE_RESET config FEATURE_HDPARM_HDIO_TRISTATE_HWIF bool "Tristate device for hotswap (DANGEROUS)" - default n + default y depends on HDPARM help Enables the 'hdparm -x' option to tristate device for hotswap, @@ -458,14 +458,14 @@ config FEATURE_HDPARM_HDIO_TRISTATE_HWIF config FEATURE_HDPARM_HDIO_GETSET_DMA bool "Get/set using_dma flag" - default n + default y depends on HDPARM help Enables the 'hdparm -d' option to get/set using_dma flag. config MAKEDEVS bool "makedevs" - default n + default y help 'makedevs' is a utility used to create a batch of devices with one command. @@ -497,25 +497,25 @@ endchoice config MAN bool "man" - default n + default y help Format and display manual pages. config MICROCOM bool "microcom" - default n + default y help The poor man's minicom utility for chatting with serial port devices. config MOUNTPOINT bool "mountpoint" - default n + default y help mountpoint checks if the directory is a mountpoint. config MT bool "mt" - default n + default y help mt is used to control tape devices. You can use the mt utility to advance or rewind a tape past a specified number of archive @@ -523,14 +523,14 @@ config MT config RAIDAUTORUN bool "raidautorun" - default n + default y help raidautorun tells the kernel md driver to search and start RAID arrays. config READAHEAD bool "readahead" - default n + default y depends on LFS help Preload the files listed on the command line into RAM cache so that @@ -547,7 +547,7 @@ config READAHEAD config RFKILL bool "rfkill" - default n + default y help Enable/disable wireless devices. @@ -558,7 +558,7 @@ config RFKILL config RUNLEVEL bool "runlevel" - default n + default y help find the current and previous system runlevel. @@ -567,26 +567,26 @@ config RUNLEVEL config RX bool "rx" - default n + default y help Receive files using the Xmodem protocol. config SETSID bool "setsid" - default n + default y help setsid runs a program in a new session config STRINGS bool "strings" - default n + default y help strings prints the printable character sequences for each file specified. config TASKSET bool "taskset" - default n + default y help Retrieve or set a processes's CPU affinity. This requires sched_{g,s}etaffinity support in your libc. @@ -602,7 +602,7 @@ config FEATURE_TASKSET_FANCY config TIME bool "time" - default n + default y help The time command runs the specified program with the given arguments. When the command finishes, time writes a message to standard output @@ -610,14 +610,14 @@ config TIME config TIMEOUT bool "timeout" - default n + default y help Runs a program and watches it. If it does not terminate in specified number of seconds, it is sent a signal. config TTYSIZE bool "ttysize" - default n + default y help A replacement for "stty size". Unlike stty, can report only width, only height, or both, in any order. It also does not complain on @@ -626,19 +626,19 @@ config TTYSIZE config VOLNAME bool "volname" - default n + default y help Prints a CD-ROM volume name. config WALL bool "wall" - default n + default y help Write a message to all users that are logged in. config WATCHDOG bool "watchdog" - default n + default y help The watchdog utility is used with hardware or software watchdog device drivers. It opens the specified watchdog device special file diff --git a/modutils/Config.src b/modutils/Config.src index 83c12b67f..3d02f87ee 100644 --- a/modutils/Config.src +++ b/modutils/Config.src @@ -7,7 +7,7 @@ menu "Linux Module Utilities" config MODPROBE_SMALL bool "Simplified modutils" - default n + default y help Simplified modutils. @@ -40,14 +40,14 @@ config MODPROBE_SMALL config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE bool "Accept module options on modprobe command line" - default n + default y depends on MODPROBE_SMALL help Allow insmod and modprobe take module options from command line. config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED bool "Skip loading of already loaded modules" - default n + default y depends on MODPROBE_SMALL help Check if the module is already loaded. diff --git a/networking/Config.src b/networking/Config.src index ce7166f98..eb8dc1ce2 100644 --- a/networking/Config.src +++ b/networking/Config.src @@ -7,7 +7,7 @@ menu "Networking Utilities" config FEATURE_IPV6 bool "Enable IPv6 support" - default n + default y help Enable IPv6 support in busybox. This adds IPv6 support in the networking applets. @@ -48,26 +48,26 @@ config VERBOSE_RESOLUTION_ERRORS config ARP bool "arp" - default n + default y help Manipulate the system ARP cache. config ARPING bool "arping" - default n + default y help Ping hosts by ARP packets. config BRCTL bool "brctl" - default n + default y help Manage ethernet bridges. Supports addbr/delbr and addif/delif. config FEATURE_BRCTL_FANCY bool "Fancy options" - default n + default y depends on BRCTL help Add support for extended option like: @@ -78,7 +78,7 @@ config FEATURE_BRCTL_FANCY config FEATURE_BRCTL_SHOW bool "Support show, showmac and showstp" - default n + default y depends on BRCTL && FEATURE_BRCTL_FANCY help Add support for option which prints the current config: @@ -86,19 +86,19 @@ config FEATURE_BRCTL_SHOW config DNSD bool "dnsd" - default n + default y help Small and static DNS server daemon. config ETHER_WAKE bool "ether-wake" - default n + default y help Send a magic packet to wake up sleeping machines. config FAKEIDENTD bool "fakeidentd" - default n + default y select FEATURE_SYSLOG help fakeidentd listens on the ident port and returns a predefined @@ -106,7 +106,7 @@ config FAKEIDENTD config FTPD bool "ftpd" - default n + default y help simple FTP daemon. You have to run it via inetd. @@ -130,38 +130,38 @@ config FEATURE_FTPD_ACCEPT_BROKEN_LIST config FTPGET bool "ftpget" - default n + default y help Retrieve a remote file via FTP. config FTPPUT bool "ftpput" - default n + default y help Store a remote file via FTP. config FEATURE_FTPGETPUT_LONG_OPTIONS bool "Enable long options in ftpget/ftpput" - default n + default y depends on LONG_OPTS && (FTPGET || FTPPUT) help Support long options for the ftpget/ftpput applet. config HOSTNAME bool "hostname" - default n + default y help Show or set the system's host name. config HTTPD bool "httpd" - default n + default y help Serve web pages via an HTTP server. config FEATURE_HTTPD_RANGES bool "Support 'Ranges:' header" - default n + default y depends on HTTPD help Makes httpd emit "Accept-Ranges: bytes" header and understand @@ -170,7 +170,7 @@ config FEATURE_HTTPD_RANGES config FEATURE_HTTPD_USE_SENDFILE bool "Use sendfile system call" - default n + default y depends on HTTPD help When enabled, httpd will use the kernel sendfile() function @@ -178,7 +178,7 @@ config FEATURE_HTTPD_USE_SENDFILE config FEATURE_HTTPD_SETUID bool "Enable -u option" - default n + default y depends on HTTPD help This option allows the server to run as a specific user @@ -196,7 +196,7 @@ config FEATURE_HTTPD_BASIC_AUTH config FEATURE_HTTPD_AUTH_MD5 bool "Support MD5 crypted passwords for http Authentication" - default n + default y depends on FEATURE_HTTPD_BASIC_AUTH help Enables basic per URL authentication from /etc/httpd.conf @@ -212,7 +212,7 @@ config FEATURE_HTTPD_CGI config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR bool "Support for running scripts through an interpreter" - default n + default y depends on FEATURE_HTTPD_CGI help This option enables support for running scripts through an @@ -223,7 +223,7 @@ config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV bool "Set REMOTE_PORT environment variable for CGI" - default n + default y depends on FEATURE_HTTPD_CGI help Use of this option can assist scripts in generating @@ -241,7 +241,7 @@ config FEATURE_HTTPD_ENCODE_URL_STR config FEATURE_HTTPD_ERROR_PAGES bool "Support for custom error pages" - default n + default y depends on HTTPD help This option allows you to define custom error pages in @@ -254,7 +254,7 @@ config FEATURE_HTTPD_ERROR_PAGES config FEATURE_HTTPD_PROXY bool "Support for reverse proxy" - default n + default y depends on HTTPD help This option allows you to define URLs that will be forwarded @@ -266,7 +266,7 @@ config FEATURE_HTTPD_PROXY config IFCONFIG bool "ifconfig" - default n + default y help Ifconfig is used to configure the kernel-resident network interfaces. @@ -280,7 +280,7 @@ config FEATURE_IFCONFIG_STATUS config FEATURE_IFCONFIG_SLIP bool "Enable slip-specific options \"keepalive\" and \"outfill\"" - default n + default y depends on IFCONFIG help Allow "keepalive" and "outfill" support for SLIP. If you're not @@ -288,7 +288,7 @@ config FEATURE_IFCONFIG_SLIP config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ bool "Enable options \"mem_start\", \"io_addr\", and \"irq\"" - default n + default y depends on IFCONFIG help Allow the start address for shared memory, start address for I/O, @@ -305,7 +305,7 @@ config FEATURE_IFCONFIG_HW config FEATURE_IFCONFIG_BROADCAST_PLUS bool "Set the broadcast automatically" - default n + default y depends on IFCONFIG help Setting this will make ifconfig attempt to find the broadcast @@ -313,20 +313,20 @@ config FEATURE_IFCONFIG_BROADCAST_PLUS config IFENSLAVE bool "ifenslave" - default n + default y help Userspace application to bind several interfaces to a logical interface (use with kernel bonding driver). config IFPLUGD bool "ifplugd" - default n + default y help Network interface plug detection daemon. config IFUPDOWN bool "ifupdown" - default n + default y help Activate or deactivate the specified interfaces. This applet makes use of either "ifconfig" and "route" or the "ip" command to actually @@ -353,7 +353,7 @@ config IFUPDOWN_IFSTATE_PATH config FEATURE_IFUPDOWN_IP bool "Use ip applet" - default n + default y depends on IFUPDOWN help Use the iproute "ip" command to implement "ifup" and "ifdown", rather @@ -375,7 +375,7 @@ config FEATURE_IFUPDOWN_IP_BUILTIN config FEATURE_IFUPDOWN_IFCONFIG_BUILTIN bool "Use busybox ifconfig and route applets" - default y + default n depends on IFUPDOWN && !FEATURE_IFUPDOWN_IP select IFCONFIG select ROUTE @@ -396,7 +396,7 @@ config FEATURE_IFUPDOWN_IPV4 config FEATURE_IFUPDOWN_IPV6 bool "Support for IPv6" - default n + default y depends on IFUPDOWN && FEATURE_IPV6 help If you need support for IPv6, turn this option on. @@ -404,7 +404,7 @@ config FEATURE_IFUPDOWN_IPV6 ### UNUSED ###config FEATURE_IFUPDOWN_IPX ### bool "Support for IPX" -### default n +### default y ### depends on IFUPDOWN ### help ### If this option is selected you can use busybox to work with IPX @@ -412,7 +412,7 @@ config FEATURE_IFUPDOWN_IPV6 config FEATURE_IFUPDOWN_MAPPING bool "Enable mapping support" - default n + default y depends on IFUPDOWN help This enables support for the "mapping" stanza, unless you have @@ -430,7 +430,7 @@ config FEATURE_IFUPDOWN_EXTERNAL_DHCP config INETD bool "inetd" - default n + default y select FEATURE_SYSLOG help Internet superserver daemon @@ -472,7 +472,7 @@ config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN config FEATURE_INETD_RPC bool "Support RPC services" - default n + default y depends on INETD select FEATURE_HAVE_RPC help @@ -480,7 +480,7 @@ config FEATURE_INETD_RPC config IP bool "ip" - default n + default y help The "ip" applet is a TCP/IP interface configuration and routing utility. You generally don't need "ip" to use busybox with @@ -509,21 +509,21 @@ config FEATURE_IP_ROUTE config FEATURE_IP_TUNNEL bool "ip tunnel" - default n + default y depends on IP help Add support for tunneling commands to "ip". config FEATURE_IP_RULE bool "ip rule" - default n + default y depends on IP help Add support for rule commands to "ip". config FEATURE_IP_SHORT_FORMS bool "Support short forms of ip commands" - default n + default y depends on IP help Also support short-form of ip commands: @@ -573,7 +573,7 @@ config IPRULE config IPCALC bool "ipcalc" - default n + default y help ipcalc takes an IP address and netmask and calculates the resulting broadcast, network, and host range. @@ -588,14 +588,14 @@ config FEATURE_IPCALC_FANCY config FEATURE_IPCALC_LONG_OPTIONS bool "Enable long options" - default n + default y depends on IPCALC && LONG_OPTS help Support long options for the ipcalc applet. config NAMEIF bool "nameif" - default n + default y select FEATURE_SYSLOG help nameif is used to rename network interface by its MAC address. @@ -610,7 +610,7 @@ config NAMEIF config FEATURE_NAMEIF_EXTENDED bool "Extended nameif" - default n + default y depends on NAMEIF help This extends the nameif syntax to support the bus_info and driver @@ -623,21 +623,21 @@ config FEATURE_NAMEIF_EXTENDED config NC bool "nc" - default n + default y help A simple Unix utility which reads and writes data across network connections. config NC_SERVER bool "Netcat server options (-l)" - default n + default y depends on NC help Allow netcat to act as a server. config NC_EXTRA bool "Netcat extensions (-eiw and filename)" - default n + default y depends on NC help Add -e (support for executing the rest of the command line after @@ -646,13 +646,13 @@ config NC_EXTRA config NETSTAT bool "netstat" - default n + default y help netstat prints information about the Linux networking subsystem. config FEATURE_NETSTAT_WIDE bool "Enable wide netstat output" - default n + default y depends on NETSTAT help Add support for wide columns. Useful when displaying IPv6 addresses @@ -660,7 +660,7 @@ config FEATURE_NETSTAT_WIDE config FEATURE_NETSTAT_PRG bool "Enable PID/Program name output" - default n + default y depends on NETSTAT help Add support for -p flag to print out PID and program name. @@ -668,13 +668,13 @@ config FEATURE_NETSTAT_PRG config NSLOOKUP bool "nslookup" - default n + default y help nslookup is a tool to query Internet name servers. config NTPD bool "ntpd" - default n + default y help The NTP client/server daemon. @@ -688,14 +688,14 @@ config FEATURE_NTPD_SERVER config PING bool "ping" - default n + default y help ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. config PING6 bool "ping6" - default n + default y depends on FEATURE_IPV6 && PING help This will give you a ping that can talk IPv6. @@ -710,26 +710,26 @@ config FEATURE_FANCY_PING config PSCAN bool "pscan" - default n + default y help Simple network port scanner. config ROUTE bool "route" - default n + default y help Route displays or manipulates the kernel's IP routing tables. config SLATTACH bool "slattach" - default n + default y help slattach is a small utility to attach network interfaces to serial lines. #config TC # bool "tc" -# default n +# default y # help # show / manipulate traffic control settings # @@ -739,14 +739,14 @@ config SLATTACH config TCPSVD bool "tcpsvd" - default n + default y help tcpsvd listens on a TCP port and runs a program for each new connection. config TELNET bool "telnet" - default n + default y help Telnet is an interface to the TELNET protocol, but is also commonly used to test other simple protocols. @@ -772,7 +772,7 @@ config FEATURE_TELNET_AUTOLOGIN config TELNETD bool "telnetd" - default n + default y select FEATURE_SYSLOG help A daemon for the TELNET protocol, allowing you to log onto the host @@ -815,14 +815,14 @@ config TELNETD config FEATURE_TELNETD_STANDALONE bool "Support standalone telnetd (not inetd only)" - default n + default y depends on TELNETD help Selecting this will make telnetd able to run standalone. config FEATURE_TELNETD_INETD_WAIT bool "Support -w SEC option (inetd wait mode)" - default n + default y depends on FEATURE_TELNETD_STANDALONE help This option allows you to run telnetd in "inet wait" mode. @@ -843,7 +843,7 @@ config FEATURE_TELNETD_INETD_WAIT config TFTP bool "tftp" - default n + default y help This enables the Trivial File Transfer Protocol client program. TFTP is usually used for simple, small transfers such as a root image @@ -851,7 +851,7 @@ config TFTP config TFTPD bool "tftpd" - default n + default y help This enables the Trivial File Transfer Protocol server program. It expects that stdin is a datagram socket and a packet @@ -882,7 +882,7 @@ config FEATURE_TFTP_PUT config FEATURE_TFTP_BLOCKSIZE bool "Enable 'blksize' and 'tsize' protocol options" - default n + default y depends on TFTP || TFTPD help Allow tftp to specify block size, and tftpd to understand @@ -890,7 +890,7 @@ config FEATURE_TFTP_BLOCKSIZE config FEATURE_TFTP_PROGRESS_BAR bool "Enable tftp progress meter" - default n + default y depends on TFTP && FEATURE_TFTP_BLOCKSIZE help Show progress bar. @@ -905,20 +905,20 @@ config TFTP_DEBUG config TRACEROUTE bool "traceroute" - default n + default y help Utility to trace the route of IP packets. config TRACEROUTE6 bool "traceroute6" - default n + default y depends on FEATURE_IPV6 && TRACEROUTE help Utility to trace the route of IPv6 packets. config FEATURE_TRACEROUTE_VERBOSE bool "Enable verbose output" - default n + default y depends on TRACEROUTE help Add some verbosity to traceroute. This includes among other things @@ -941,13 +941,13 @@ config FEATURE_TRACEROUTE_USE_ICMP config TUNCTL bool "tunctl" - default n + default y help tunctl creates or deletes tun devices. config FEATURE_TUNCTL_UG bool "Support owner:group assignment" - default n + default y depends on TUNCTL help Allow to specify owner and group of newly created interface. @@ -966,20 +966,20 @@ config IFUPDOWN_UDHCPC_CMD_OPTIONS config UDPSVD bool "udpsvd" - default n + default y help udpsvd listens on an UDP port and runs a program for each new connection. config VCONFIG bool "vconfig" - default n + default y help Creates, removes, and configures VLAN interfaces config WGET bool "wget" - default n + default y help wget is a utility for non-interactive download of files from HTTP, HTTPS, and FTP servers. @@ -1000,14 +1000,14 @@ config FEATURE_WGET_AUTHENTICATION config FEATURE_WGET_LONG_OPTIONS bool "Enable long options" - default n + default y depends on WGET && LONG_OPTS help Support long options for the wget applet. config ZCIP bool "zcip" - default n + default y select FEATURE_SYSLOG help ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. diff --git a/networking/udhcp/Config.src b/networking/udhcp/Config.src index 34adf35fe..f5840a945 100644 --- a/networking/udhcp/Config.src +++ b/networking/udhcp/Config.src @@ -5,14 +5,14 @@ config UDHCPD bool "udhcp server (udhcpd)" - default n + default y help udhcpd is a DHCP server geared primarily toward embedded systems, while striving to be fully functional and RFC compliant. config DHCPRELAY bool "dhcprelay" - default n + default y depends on UDHCPD help dhcprelay listens for dhcp requests on one or more interfaces @@ -21,7 +21,7 @@ config DHCPRELAY config DUMPLEASES bool "Lease display utility (dumpleases)" - default n + default y depends on UDHCPD help dumpleases displays the leases written out by the udhcpd server. @@ -30,7 +30,7 @@ config DUMPLEASES config FEATURE_UDHCPD_WRITE_LEASES_EARLY bool "Rewrite the lease file at every new acknowledge" - default n + default y depends on UDHCPD help If selected, udhcpd will write a new file with leases every @@ -48,7 +48,7 @@ config DHCPD_LEASES_FILE config UDHCPC bool "udhcp client (udhcpc)" - default n + default y help udhcpc is a DHCP client geared primarily toward embedded systems, while striving to be fully functional and RFC compliant. @@ -68,7 +68,7 @@ config FEATURE_UDHCPC_ARPING config FEATURE_UDHCP_PORT bool "Enable '-P port' option for udhcpd and udhcpc" - default n + default y depends on UDHCPD || UDHCPC help At the cost of ~300 bytes, enables -P port option. @@ -76,7 +76,7 @@ config FEATURE_UDHCP_PORT config UDHCP_DEBUG int "Maximum verbosity level for udhcp applets (0..9)" - default 0 + default 9 range 0 9 depends on UDHCPD || UDHCPC || DHCPRELAY help @@ -88,7 +88,7 @@ config UDHCP_DEBUG config FEATURE_UDHCP_RFC3397 bool "Support for RFC3397 domain search (experimental)" - default n + default y depends on UDHCPD || UDHCPC help If selected, both client and server will support passing of domain diff --git a/printutils/Config.src b/printutils/Config.src index 6912ece6c..194789660 100644 --- a/printutils/Config.src +++ b/printutils/Config.src @@ -7,19 +7,19 @@ menu "Print Utilities" config LPD bool "lpd" - default n + default y help lpd is a print spooling daemon. config LPR bool "lpr" - default n + default y help lpr sends files (or standard input) to a print spooling daemon. config LPQ bool "lpq" - default n + default y help lpq is a print spool queue examination and manipulation program. diff --git a/procps/Config.src b/procps/Config.src index 6a9a36638..01f6b0cf9 100644 --- a/procps/Config.src +++ b/procps/Config.src @@ -7,7 +7,7 @@ menu "Process Utilities" config FREE bool "free" - default n + default y help free displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel. @@ -15,7 +15,7 @@ config FREE config FUSER bool "fuser" - default n + default y help fuser lists all PIDs (Process IDs) that currently have a given file open. fuser can also list all PIDs that have a given network @@ -23,7 +23,7 @@ config FUSER config KILL bool "kill" - default n + default y help The command kill sends the specified signal to the specified process or process group. If no signal is specified, the TERM @@ -31,7 +31,7 @@ config KILL config KILLALL bool "killall" - default n + default y depends on KILL help killall sends a signal to all processes running any of the @@ -40,38 +40,38 @@ config KILLALL config KILLALL5 bool "killall5" - default n + default y depends on KILL config NMETER bool "nmeter" - default n + default y help Prints selected system stats continuously, one line per update. config PGREP bool "pgrep" - default n + default y help Look for processes by name. config PIDOF bool "pidof" - default n + default y help Pidof finds the process id's (pids) of the named programs. It prints those id's on the standard output. config FEATURE_PIDOF_SINGLE bool "Enable argument for single shot (-s)" - default n + default y depends on PIDOF help Support argument '-s' for returning only the first pid found. config FEATURE_PIDOF_OMIT bool "Enable argument for omitting pids (-o)" - default n + default y depends on PIDOF help Support argument '-o' for omitting the given pids in output. @@ -80,19 +80,19 @@ config FEATURE_PIDOF_OMIT config PKILL bool "pkill" - default n + default y help Send signals to processes by name. config PS bool "ps" - default n + default y help ps gives a snapshot of the current processes. config FEATURE_PS_WIDE bool "Enable wide output option (-w)" - default n + default y depends on PS help Support argument 'w' for wide output. @@ -101,14 +101,14 @@ config FEATURE_PS_WIDE config FEATURE_PS_TIME bool "Enable time and elapsed time output" - default n + default y depends on PS && DESKTOP help Support -o time and -o etime output specifiers. config FEATURE_PS_ADDITIONAL_COLUMNS bool "Enable additional ps columns" - default n + default y depends on PS && DESKTOP help Support -o rgroup, -o ruser, -o nice output specifiers. @@ -123,20 +123,20 @@ config FEATURE_PS_UNUSUAL_SYSTEMS config RENICE bool "renice" - default n + default y help Renice alters the scheduling priority of one or more running processes. config BB_SYSCTL bool "sysctl" - default n + default y help Configure kernel parameters at runtime. config TOP bool "top" - default n + default y help The top program provides a dynamic real-time view of a running system. @@ -159,7 +159,7 @@ config FEATURE_TOP_CPU_GLOBAL_PERCENTS config FEATURE_TOP_SMP_CPU bool "SMP CPU usage display ('c' key)" - default n + default y depends on FEATURE_TOP_CPU_GLOBAL_PERCENTS help Allow 'c' key to switch between individual/cumulative CPU stats @@ -167,7 +167,7 @@ config FEATURE_TOP_SMP_CPU config FEATURE_TOP_DECIMALS bool "Show 1/10th of a percent in CPU/mem statistics" - default n + default y depends on FEATURE_TOP_CPU_USAGE_PERCENTAGE help Show 1/10th of a percent in CPU/mem statistics. @@ -175,7 +175,7 @@ config FEATURE_TOP_DECIMALS config FEATURE_TOP_SMP_PROCESS bool "Show CPU process runs on ('j' field)" - default n + default y depends on TOP help Show CPU where process was last found running on. @@ -183,21 +183,21 @@ config FEATURE_TOP_SMP_PROCESS config FEATURE_TOPMEM bool "Topmem command ('s' key)" - default n + default y depends on TOP help Enable 's' in top (gives lots of memory info). config FEATURE_SHOW_THREADS bool "Support for showing threads in ps/top" - default n + default y depends on PS || TOP help Enables ps -T option and 'h' command in top config UPTIME bool "uptime" - default n + default y help uptime gives a one line display of the current time, how long the system has been running, how many users are currently logged @@ -205,7 +205,7 @@ config UPTIME config WATCH bool "watch" - default n + default y help watch is used to execute a program periodically, showing output to the screen. diff --git a/runit/Config.src b/runit/Config.src index 422ca7517..53b445101 100644 --- a/runit/Config.src +++ b/runit/Config.src @@ -7,14 +7,14 @@ menu "Runit Utilities" config RUNSV bool "runsv" - default n + default y help runsv starts and monitors a service and optionally an appendant log service. config RUNSVDIR bool "runsvdir" - default n + default y help runsvdir starts a runsv process for each subdirectory, or symlink to a directory, in the services directory dir, up to a limit of 1000 @@ -31,7 +31,7 @@ config FEATURE_RUNSVDIR_LOG config SV bool "sv" - default n + default y help sv reports the current status and controls the state of services monitored by the runsv supervisor. @@ -46,7 +46,7 @@ config SV_DEFAULT_SERVICE_DIR config SVLOGD bool "svlogd" - default n + default y help svlogd continuously reads log data from its standard input, optionally filters log messages, and writes the data to one or more automatically @@ -54,29 +54,33 @@ config SVLOGD config CHPST bool "chpst" - default n + default y help chpst changes the process state according to the given options, and execs specified program. config SETUIDGID bool "setuidgid" + default y help Sets soft resource limits as specified by options config ENVUIDGID bool "envuidgid" + default y help Sets $UID to account's uid and $GID to account's gid config ENVDIR bool "envdir" + default y help Sets various environment variables as specified by files in the given directory config SOFTLIMIT bool "softlimit" + default y help Sets soft resource limits as specified by options diff --git a/scripts/defconfig b/scripts/defconfig deleted file mode 100644 index 896571bd9..000000000 --- a/scripts/defconfig +++ /dev/null @@ -1,927 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.16.0 -# Wed Jan 27 20:00:00 2010 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -# CONFIG_DESKTOP is not set -# CONFIG_EXTRA_COMPAT is not set -CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_FEATURE_INSTALLER=y -CONFIG_LOCALE_SUPPORT=y -CONFIG_UNICODE_SUPPORT=y -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="" -CONFIG_EXTRA_CFLAGS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options -# -# CONFIG_INSTALL_NO_USR is not set -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="./_install" - -# -# Busybox Library Tuning -# -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -CONFIG_FEATURE_FAST_TOP=y -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -# CONFIG_FEATURE_EDITING_VI is not set -CONFIG_FEATURE_EDITING_HISTORY=15 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -# CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set -# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set -CONFIG_FEATURE_NON_POSIX_CP=y -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set -CONFIG_FEATURE_COPYBUF_KB=4 -# CONFIG_MONOTONIC_SYSCALL is not set -CONFIG_IOCTL_HEX2STR_ERROR=y -CONFIG_FEATURE_HWIB=y - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_LZMA=y -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -CONFIG_FEATURE_AR_LONG_FILENAMES=y -CONFIG_FEATURE_AR_CREATE=y -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -CONFIG_FEATURE_CPIO_P=y -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y -CONFIG_LZOP=y -# CONFIG_LZOP_COMPR_HIGH is not set -CONFIG_RPM2CPIO=y -CONFIG_RPM=y -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y -CONFIG_FEATURE_TAR_UNAME_GNAME=y -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y -CONFIG_UNCOMPRESS=y -CONFIG_UNLZMA=y -CONFIG_FEATURE_LZMA_FAST=y -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAL=y -CONFIG_CAT=y -CONFIG_CATV=y -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y -CONFIG_CHROOT=y -CONFIG_CKSUM=y -CONFIG_COMM=y -CONFIG_CP=y -CONFIG_FEATURE_CP_LONG_OPTIONS=y -CONFIG_CUT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -CONFIG_FEATURE_DATE_COMPAT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -CONFIG_EXPAND=y -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -CONFIG_FOLD=y -CONFIG_FSYNC=y -CONFIG_HEAD=y -CONFIG_FEATURE_FANCY_HEAD=y -CONFIG_HOSTID=y -CONFIG_ID=y -CONFIG_INSTALL=y -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y -CONFIG_LENGTH=y -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -CONFIG_PRINTENV=y -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -CONFIG_FEATURE_FLOAT_SLEEP=y -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -CONFIG_SPLIT=y -CONFIG_FEATURE_SPLIT_FANCY=y -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -CONFIG_SUM=y -CONFIG_SYNC=y -CONFIG_TAC=y -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -CONFIG_UNEXPAND=y -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -CONFIG_FEATURE_WC_LARGE=y -CONFIG_WHO=y -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -CONFIG_FGCONSOLE=y -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -CONFIG_RESIZE=y -CONFIG_FEATURE_RESIZE_PRINT=y -CONFIG_SETCONSOLE=y -CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y -CONFIG_SETFONT=y -CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y -CONFIG_DEFAULT_SETFONT_DIR="" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -CONFIG_PIPE_PROGRESS=y -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -CONFIG_FEATURE_RUN_PARTS_FANCY=y -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_AWK=y -CONFIG_FEATURE_AWK_LIBM=y -CONFIG_CMP=y -CONFIG_DIFF=y -CONFIG_FEATURE_DIFF_LONG_OPTIONS=y -CONFIG_FEATURE_DIFF_DIR=y -CONFIG_ED=y -CONFIG_PATCH=y -CONFIG_SED=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=4096 -# CONFIG_FEATURE_VI_8BIT is not set -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -CONFIG_FEATURE_FIND_DELETE=y -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -# CONFIG_FEATURE_KILL_REMOVED is not set -CONFIG_FEATURE_KILL_DELAY=0 -CONFIG_FEATURE_INIT_SCTTY=y -CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y -CONFIG_FEATURE_INIT_COREDUMPS=y -CONFIG_FEATURE_INITRD=y -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_MESG=y - -# -# Login/Password Management Utilities -# -CONFIG_FEATURE_SHADOWPASSWDS=y -CONFIG_USE_BB_PWD_GRP=y -CONFIG_USE_BB_SHADOW=y -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDGROUP=y -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -# CONFIG_FEATURE_CHECK_NAMES is not set -CONFIG_ADDUSER=y -CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y -CONFIG_FIRST_SYSTEM_ID=100 -CONFIG_LAST_SYSTEM_ID=999 -CONFIG_DELUSER=y -CONFIG_GETTY=y -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -CONFIG_FEATURE_SECURETTY=y -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -CONFIG_CRYPTPW=y -CONFIG_CHPASSWD=y -CONFIG_SU=y -CONFIG_FEATURE_SU_SYSLOG=y -CONFIG_FEATURE_SU_CHECKS_SHELLS=y -CONFIG_SULOGIN=y -CONFIG_VLOCK=y - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -CONFIG_FSCK=y -CONFIG_LSATTR=y - -# -# Linux Module Utilities -# -CONFIG_MODPROBE_SMALL=y -CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y -CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y -# CONFIG_INSMOD is not set -# CONFIG_RMMOD is not set -# CONFIG_LSMOD is not set -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set -# CONFIG_MODPROBE is not set -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set -# CONFIG_DEPMOD is not set - -# -# Options common to multiple modutils -# -# CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set -# CONFIG_FEATURE_MODUTILS_ALIAS is not set -# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -CONFIG_ACPID=y -CONFIG_FEATURE_ACPID_COMPAT=y -CONFIG_BLKID=y -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFLUSH=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -# CONFIG_FEATURE_OSF_LABEL is not set -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -CONFIG_FREERAMDISK=y -CONFIG_FSCK_MINIX=y -CONFIG_MKFS_EXT2=y -CONFIG_MKFS_MINIX=y - -# -# Minix filesystem support -# -CONFIG_FEATURE_MINIX2=y -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -CONFIG_HD=y -CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y -CONFIG_IPCRM=y -CONFIG_IPCS=y -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_VOLUMEID=y -CONFIG_FEATURE_VOLUMEID_EXT=y -CONFIG_FEATURE_VOLUMEID_BTRFS=y -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -CONFIG_FEATURE_VOLUMEID_OCFS2=y -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y -CONFIG_MOUNT=y -CONFIG_FEATURE_MOUNT_FAKE=y -CONFIG_FEATURE_MOUNT_VERBOSE=y -# CONFIG_FEATURE_MOUNT_HELPERS is not set -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_PIVOT_ROOT=y -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -CONFIG_RTCWAKE=y -CONFIG_SCRIPT=y -CONFIG_SCRIPTREPLAY=y -CONFIG_SETARCH=y -CONFIG_SWAPONOFF=y -CONFIG_FEATURE_SWAPON_PRI=y -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set -# CONFIG_FEATURE_MTAB_SUPPORT is not set - -# -# Miscellaneous Utilities -# -CONFIG_ADJTIMEX=y -# CONFIG_BBCONFIG is not set -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -CONFIG_CHAT=y -CONFIG_FEATURE_CHAT_NOFAIL=y -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y -CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y -CONFIG_FEATURE_CHAT_SEND_ESCAPES=y -CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y -CONFIG_FEATURE_CHAT_CLR_ABORT=y -CONFIG_CHRT=y -CONFIG_CROND=y -CONFIG_FEATURE_CROND_D=y -CONFIG_FEATURE_CROND_CALL_SENDMAIL=y -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -CONFIG_FEATURE_DC_LIBM=y -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -CONFIG_FLASHCP=y -CONFIG_FLASH_LOCK=y -CONFIG_FLASH_UNLOCK=y -CONFIG_FLASH_ERASEALL=y -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -CONFIG_LAST=y -# CONFIG_FEATURE_LAST_SMALL is not set -CONFIG_FEATURE_LAST_FANCY=y -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_MARKS=y -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_DASHCMD=y -CONFIG_FEATURE_LESS_LINENUMS=y -CONFIG_HDPARM=y -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y -CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y -CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -CONFIG_MAKEDEVS=y -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -CONFIG_FEATURE_MAKEDEVS_TABLE=y -CONFIG_MAN=y -CONFIG_MICROCOM=y -CONFIG_MOUNTPOINT=y -CONFIG_MT=y -CONFIG_RAIDAUTORUN=y -CONFIG_READAHEAD=y -CONFIG_RUNLEVEL=y -CONFIG_RX=y -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -CONFIG_TTYSIZE=y -CONFIG_VOLNAME=y -CONFIG_WALL=y -CONFIG_WATCHDOG=y - -# -# Networking Utilities -# -CONFIG_FEATURE_IPV6=y -# CONFIG_FEATURE_UNIX_LOCAL is not set -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -CONFIG_ARPING=y -CONFIG_BRCTL=y -CONFIG_FEATURE_BRCTL_FANCY=y -CONFIG_FEATURE_BRCTL_SHOW=y -CONFIG_DNSD=y -CONFIG_ETHER_WAKE=y -CONFIG_FAKEIDENTD=y -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -CONFIG_HOSTNAME=y -CONFIG_HTTPD=y -CONFIG_FEATURE_HTTPD_RANGES=y -CONFIG_FEATURE_HTTPD_USE_SENDFILE=y -CONFIG_FEATURE_HTTPD_SETUID=y -CONFIG_FEATURE_HTTPD_BASIC_AUTH=y -CONFIG_FEATURE_HTTPD_AUTH_MD5=y -CONFIG_FEATURE_HTTPD_CGI=y -CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y -CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y -CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y -CONFIG_FEATURE_HTTPD_ERROR_PAGES=y -CONFIG_FEATURE_HTTPD_PROXY=y -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -CONFIG_FEATURE_IFCONFIG_SLIP=y -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -CONFIG_IFENSLAVE=y -CONFIG_IFPLUGD=y -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set -CONFIG_INETD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y -CONFIG_FEATURE_INETD_RPC=y -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -CONFIG_FEATURE_IP_SHORT_FORMS=y -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPCALC=y -CONFIG_FEATURE_IPCALC_FANCY=y -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y -CONFIG_NAMEIF=y -CONFIG_FEATURE_NAMEIF_EXTENDED=y -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -CONFIG_NETSTAT=y -CONFIG_FEATURE_NETSTAT_WIDE=y -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -CONFIG_NTPD=y -CONFIG_FEATURE_NTPD_SERVER=y -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_PSCAN=y -CONFIG_ROUTE=y -CONFIG_SLATTACH=y -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -CONFIG_FEATURE_TELNETD_STANDALONE=y -CONFIG_FEATURE_TELNETD_INETD_WAIT=y -CONFIG_TFTP=y -CONFIG_TFTPD=y -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_FEATURE_TFTP_PROGRESS_BAR=y -# CONFIG_TFTP_DEBUG is not set -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -CONFIG_UDHCPD=y -CONFIG_DHCPRELAY=y -CONFIG_DUMPLEASES=y -CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" -CONFIG_UDHCPC=y -CONFIG_FEATURE_UDHCPC_ARPING=y -CONFIG_FEATURE_UDHCP_PORT=y -CONFIG_UDHCP_DEBUG=9 -CONFIG_FEATURE_UDHCP_RFC3397=y -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_ZCIP=y -CONFIG_TCPSVD=y -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -CONFIG_UDPSVD=y - -# -# Print Utilities -# -CONFIG_LPD=y -CONFIG_LPR=y -CONFIG_LPQ=y - -# -# Mail Utilities -# -CONFIG_MAKEMIME=y -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -CONFIG_POPMAILDIR=y -CONFIG_FEATURE_POPMAILDIR_DELIVERY=y -CONFIG_REFORMIME=y -CONFIG_FEATURE_REFORMIME_COMPAT=y -CONFIG_SENDMAIL=y - -# -# Process Utilities -# -CONFIG_FREE=y -CONFIG_FUSER=y -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -CONFIG_NMETER=y -CONFIG_PGREP=y -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -CONFIG_PKILL=y -CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -# CONFIG_FEATURE_PS_TIME is not set -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -CONFIG_BB_SYSCTL=y -CONFIG_TOP=y -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y -CONFIG_FEATURE_TOP_SMP_CPU=y -CONFIG_FEATURE_TOP_DECIMALS=y -CONFIG_FEATURE_TOP_SMP_PROCESS=y -CONFIG_FEATURE_TOPMEM=y -CONFIG_FEATURE_SHOW_THREADS=y -CONFIG_UPTIME=y -CONFIG_WATCH=y - -# -# Runit Utilities -# -CONFIG_RUNSV=y -CONFIG_RUNSVDIR=y -# CONFIG_FEATURE_RUNSVDIR_LOG is not set -CONFIG_SV=y -CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" -CONFIG_SVLOGD=y -CONFIG_CHPST=y -CONFIG_SETUIDGID=y -CONFIG_ENVUIDGID=y -CONFIG_ENVDIR=y -CONFIG_SOFTLIMIT=y -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y -# CONFIG_ASH_MAIL is not set -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -CONFIG_HUSH=y -CONFIG_HUSH_BASH_COMPAT=y -CONFIG_HUSH_HELP=y -CONFIG_HUSH_INTERACTIVE=y -CONFIG_HUSH_JOB=y -CONFIG_HUSH_TICK=y -CONFIG_HUSH_IF=y -CONFIG_HUSH_LOOPS=y -CONFIG_HUSH_CASE=y -CONFIG_HUSH_FUNCTIONS=y -CONFIG_HUSH_LOCAL=y -CONFIG_HUSH_EXPORT_N=y -CONFIG_HUSH_RANDOM_SUPPORT=y -# CONFIG_LASH is not set -CONFIG_MSH=y -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_CTTYHACK=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -CONFIG_FEATURE_SYSLOGD_DUP=y -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_LOGGER=y diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 4f83fbfa2..bd2d70e19 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -22,7 +22,7 @@ static int conf_lineno, conf_warnings, conf_unsaved; const char conf_def_filename[] = ".config"; -const char conf_defname[] = "scripts/defconfig"; +const char conf_defname[] = "/dev/null"; //bbox const char *conf_confnames[] = { conf_def_filename, diff --git a/scripts/test_make_clean b/scripts/test_make_clean new file mode 100755 index 000000000..fa3a543d8 --- /dev/null +++ b/scripts/test_make_clean @@ -0,0 +1,14 @@ +#!/bin/sh + +b=`basename $PWD` +test "${b#busybox}" != "$b" || { echo "Must be run in busybox tree"; exit 1; } + +cd .. +cp -pPR "$b" busybox.$$.test_tree +cd busybox.$$.test_tree +make defconfig +make $MAKEOPTS +make clean +cd .. +diff -urp "$b" busybox.$$.test_tree >busybox.$$.test_tree.diff +cat busybox.$$.test_tree.diff diff --git a/shell/Config.src b/shell/Config.src index 286a3415e..234d05367 100644 --- a/shell/Config.src +++ b/shell/Config.src @@ -7,7 +7,7 @@ menu "Shells" choice prompt "Choose which shell is aliased to 'sh' name" - default FEATURE_SH_IS_NONE + default FEATURE_SH_IS_ASH help Choose which shell you want to be executed by 'sh' alias. The ash shell is the most bash compatible and full featured one. @@ -59,7 +59,7 @@ endchoice config ASH bool "ash" - default n + default y depends on !NOMMU help Tha 'ash' shell adds about 60k in the default configuration and is @@ -91,7 +91,7 @@ config ASH_ALIAS config ASH_GETOPTS bool "Builtin getopt to parse positional parameters" - default n + default y depends on ASH help Enable getopts builtin in the ash shell. @@ -119,7 +119,7 @@ config ASH_BUILTIN_TEST config ASH_CMDCMD bool "'command' command to override shell builtins" - default n + default y depends on ASH help Enable support for the ash 'command' builtin, which allows @@ -128,7 +128,7 @@ config ASH_CMDCMD config ASH_MAIL bool "Check for new mail on interactive shells" - default y + default n depends on ASH help Enable "check for new mail" in the ash shell. @@ -142,7 +142,7 @@ config ASH_OPTIMIZE_FOR_SIZE config ASH_RANDOM_SUPPORT bool "Pseudorandom generator and $RANDOM variable" - default n + default y depends on ASH help Enable pseudorandom generator and dynamic variable "$RANDOM". @@ -153,7 +153,7 @@ config ASH_RANDOM_SUPPORT config ASH_EXPAND_PRMT bool "Expand prompt string" - default n + default y depends on ASH help "PS#" may contain volatile content, such as backquote commands. @@ -162,7 +162,7 @@ config ASH_EXPAND_PRMT config HUSH bool "hush" - default n + default y help hush is a small shell (22k). It handles the normal flow control constructs such as if/then/elif/else/fi, for/in/do/done, while loops, @@ -183,7 +183,7 @@ config HUSH_BASH_COMPAT config HUSH_HELP bool "help builtin" - default n + default y depends on HUSH help Enable help builtin in hush. Code size + ~1 kbyte. @@ -200,7 +200,7 @@ config HUSH_INTERACTIVE config HUSH_JOB bool "Job control" - default n + default y depends on HUSH_INTERACTIVE help Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current @@ -211,56 +211,56 @@ config HUSH_JOB config HUSH_TICK bool "Process substitution" - default n + default y depends on HUSH help Enable process substitution `command` and $(command) in hush. config HUSH_IF bool "Support if/then/elif/else/fi" - default n + default y depends on HUSH help Enable if/then/elif/else/fi in hush. config HUSH_LOOPS bool "Support for, while and until loops" - default n + default y depends on HUSH help Enable for, while and until loops in hush. config HUSH_CASE bool "Support case ... esac statement" - default n + default y depends on HUSH help Enable case ... esac statement in hush. +400 bytes. config HUSH_FUNCTIONS bool "Support funcname() { commands; } syntax" - default n + default y depends on HUSH help Enable support for shell functions in hush. +800 bytes. config HUSH_LOCAL bool "Support local builtin" - default n + default y depends on HUSH_FUNCTIONS help Enable support for local variables in functions. config HUSH_EXPORT_N bool "Support export '-n' option" - default n + default y depends on HUSH help Enable support for export '-n' option in hush. It is a bash extension. config HUSH_RANDOM_SUPPORT bool "Pseudorandom generator and $RANDOM variable" - default n + default y depends on HUSH help Enable pseudorandom generator and dynamic variable "$RANDOM". @@ -298,7 +298,7 @@ config SH_MATH_SUPPORT config SH_MATH_SUPPORT_64 bool "Extend POSIX math support to 64 bit" - default n + default y depends on SH_MATH_SUPPORT help Enable 64-bit math support in the shell. This will make the shell @@ -307,15 +307,15 @@ config SH_MATH_SUPPORT_64 config FEATURE_SH_EXTRA_QUIET bool "Hide message on interactive shell startup" - default n - depends on MSH || LASH || HUSH || ASH + default y + depends on HUSH || ASH help Remove the busybox introduction when starting a shell. config FEATURE_SH_STANDALONE bool "Standalone shell" default n - depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS + depends on (HUSH || ASH) && FEATURE_PREFER_APPLETS help This option causes busybox shells to use busybox applets in preference to executables in the PATH whenever possible. For @@ -348,7 +348,7 @@ config FEATURE_SH_STANDALONE config FEATURE_SH_NOFORK bool "Run 'nofork' applets directly" default n - depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS + depends on (HUSH || ASH) && FEATURE_PREFER_APPLETS help This option causes busybox shells [currently only ash] to not execute typical fork/exec/wait sequence, but call _main @@ -364,7 +364,7 @@ config FEATURE_SH_NOFORK config CTTYHACK bool "cttyhack" - default n + default y help One common problem reported on the mailing list is "can't access tty; job control turned off" error message which typically appears when diff --git a/sysklogd/Config.src b/sysklogd/Config.src index b500d5471..af00d65bb 100644 --- a/sysklogd/Config.src +++ b/sysklogd/Config.src @@ -7,7 +7,7 @@ menu "System Logging Utilities" config SYSLOGD bool "syslogd" - default n + default y help The syslogd utility is used to record logs of all the significant events that occur on a system. Every @@ -22,7 +22,7 @@ config SYSLOGD config FEATURE_ROTATE_LOGFILE bool "Rotate message files" - default n + default y depends on SYSLOGD help This enables syslogd to rotate the message files @@ -30,7 +30,7 @@ config FEATURE_ROTATE_LOGFILE config FEATURE_REMOTE_LOG bool "Remote Log support" - default n + default y depends on SYSLOGD help When you enable this feature, the syslogd utility can @@ -44,7 +44,7 @@ config FEATURE_REMOTE_LOG config FEATURE_SYSLOGD_DUP bool "Support -D (drop dups) option" - default n + default y depends on SYSLOGD help Option -D instructs syslogd to drop consecutive messages @@ -62,7 +62,7 @@ config FEATURE_SYSLOGD_READ_BUFFER_SIZE config FEATURE_IPC_SYSLOG bool "Circular Buffer support" - default n + default y depends on SYSLOGD help When you enable this feature, the syslogd utility will @@ -95,7 +95,7 @@ config LOGREAD config FEATURE_LOGREAD_REDUCED_LOCKING bool "Double buffering" - default n + default y depends on LOGREAD help 'logread' ouput to slow serial terminals can have @@ -106,7 +106,7 @@ config FEATURE_LOGREAD_REDUCED_LOCKING config KLOGD bool "klogd" - default n + default y help klogd is a utility which intercepts and logs all messages from the Linux kernel and sends the messages @@ -116,7 +116,7 @@ config KLOGD config LOGGER bool "logger" - default n + default y select FEATURE_SYSLOG help The logger utility allows you to send arbitrary text diff --git a/util-linux/Config.src b/util-linux/Config.src index a59cc1ddf..27c741813 100644 --- a/util-linux/Config.src +++ b/util-linux/Config.src @@ -7,7 +7,7 @@ menu "Linux System Utilities" config ACPID bool "acpid" - default n + default y help acpid listens to ACPI events coming either in textual form from /proc/acpi/event (though it is marked deprecated it is still widely @@ -22,14 +22,14 @@ config ACPID config FEATURE_ACPID_COMPAT bool "Accept and ignore redundant options" - default n + default y depends on ACPID help Accept and ignore compatibility options -g -m -s -S -v. config BLKID bool "blkid" - default n + default y select VOLUMEID help Lists labels and UUIDs of all filesystems. @@ -38,7 +38,7 @@ config BLKID config DMESG bool "dmesg" - default n + default y help dmesg is used to examine or control the kernel ring buffer. When the Linux kernel prints messages to the system log, they are stored in @@ -71,7 +71,7 @@ config FEATURE_DMESG_PRETTY config FBSET bool "fbset" - default n + default y help fbset is used to show or change the settings of a Linux frame buffer device. The frame buffer device provides a simple and unique @@ -80,7 +80,7 @@ config FBSET config FEATURE_FBSET_FANCY bool "Turn on extra fbset options" - default n + default y depends on FBSET help This option enables extended fbset options, allowing one to set the @@ -90,7 +90,7 @@ config FEATURE_FBSET_FANCY config FEATURE_FBSET_READMODE bool "Turn on fbset readmode support" - default n + default y depends on FBSET help This option allows fbset to read the video mode database stored by @@ -99,7 +99,7 @@ config FEATURE_FBSET_READMODE config FDFLUSH bool "fdflush" - default n + default y help fdflush is only needed when changing media on slightly-broken removable media drives. It is used to make Linux believe that a @@ -111,13 +111,13 @@ config FDFLUSH config FDFORMAT bool "fdformat" - default n + default y help fdformat is used to low-level format a floppy disk. config FDISK bool "fdisk" - default n + default y help The fdisk utility is used to divide hard disks into one or more logical disks, which are generally called partitions. This utility @@ -174,7 +174,7 @@ config FEATURE_OSF_LABEL config FEATURE_FDISK_ADVANCED bool "Support expert mode" - default n + default y depends on FDISK && FEATURE_FDISK_WRITABLE help Enabling this option allows you to do terribly unsafe things like @@ -184,7 +184,7 @@ config FEATURE_FDISK_ADVANCED config FINDFS bool "findfs" - default n + default y select VOLUMEID help Prints the name of a filesystem with given label or UUID. @@ -193,13 +193,13 @@ config FINDFS config FLOCK bool "flock" - default n + default y help Manage locks from shell scripts config FREERAMDISK bool "freeramdisk" - default n + default y help Linux allows you to create ramdisks. This utility allows you to delete them and completely free all memory that was used for the @@ -210,7 +210,7 @@ config FREERAMDISK config FSCK_MINIX bool "fsck_minix" - default n + default y help The minix filesystem is a nice, small, compact, read-write filesystem with little overhead. It is not a journaling filesystem however and @@ -221,21 +221,18 @@ config FSCK_MINIX config MKFS_EXT2 bool "mkfs_ext2" - default n + default y help Utility to create EXT2 filesystems. config MKFS_MINIX bool "mkfs_minix" - default n + default y help The minix filesystem is a nice, small, compact, read-write filesystem with little overhead. If you wish to be able to create minix filesystems this utility will do the job for you. -comment "Minix filesystem support" - depends on FSCK_MINIX || MKFS_MINIX - config FEATURE_MINIX2 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)" default y @@ -250,16 +247,17 @@ config MKFS_REISER default n help Utility to create ReiserFS filesystems. + Note: this applet needs a lot of testing and polishing. config MKFS_VFAT bool "mkfs_vfat" - default n + default y help Utility to create FAT32 filesystems. config GETOPT bool "getopt" - default n + default y help The getopt utility is used to break up (parse) options in command lines to make it easy to write complex shell scripts that also check @@ -277,14 +275,14 @@ config FEATURE_GETOPT_LONG config HEXDUMP bool "hexdump" - default n + default y help The hexdump utility is used to display binary data in a readable way that is comparable to the output from most hex editors. config FEATURE_HEXDUMP_REVERSE bool "Support -R, reverse of 'hexdump -Cv'" - default n + default y depends on HEXDUMP help The hexdump utility is used to display binary data in an ascii @@ -294,14 +292,14 @@ config FEATURE_HEXDUMP_REVERSE config HD bool "hd" - default n + default y select HEXDUMP help hd is an alias to hexdump -C. config HWCLOCK bool "hwclock" - default n + default y help The hwclock utility is used to read and set the hardware clock on a system. This is primarily used to set the current time on @@ -310,7 +308,7 @@ config HWCLOCK config FEATURE_HWCLOCK_LONG_OPTIONS bool "Support long options (--hctosys,...)" - default n + default y depends on HWCLOCK && LONG_OPTS help By default, the hwclock utility only uses short options. If you @@ -331,7 +329,7 @@ config FEATURE_HWCLOCK_ADJTIME_FHS config IPCRM bool "ipcrm" - default n + default y select FEATURE_SUID help The ipcrm utility allows the removal of System V interprocess @@ -340,7 +338,7 @@ config IPCRM config IPCS bool "ipcs" - default n + default y select FEATURE_SUID help The ipcs utility is used to provide information on the currently @@ -348,7 +346,7 @@ config IPCS config LOSETUP bool "losetup" - default n + default y help losetup is used to associate or detach a loop device with a regular file or block device, and to query the status of a loop device. This @@ -356,7 +354,7 @@ config LOSETUP config LSPCI bool "lspci" - default n + default y help lspci is a utility for displaying information about PCI buses in the system and devices connected to them. @@ -365,7 +363,7 @@ config LSPCI config LSUSB bool "lsusb" - default n + default y help lsusb is a utility for displaying information about USB buses in the system and devices connected to them. @@ -374,7 +372,7 @@ config LSUSB config MDEV bool "mdev" - default n + default y help mdev is a mini-udev implementation for dynamically creating device nodes in the /dev directory. @@ -383,7 +381,7 @@ config MDEV config FEATURE_MDEV_CONF bool "Support /etc/mdev.conf" - default n + default y depends on MDEV help Add support for the mdev config file to control ownership and @@ -393,7 +391,7 @@ config FEATURE_MDEV_CONF config FEATURE_MDEV_RENAME bool "Support subdirs/symlinks" - default n + default y depends on FEATURE_MDEV_CONF help Add support for renaming devices and creating symlinks. @@ -402,7 +400,7 @@ config FEATURE_MDEV_RENAME config FEATURE_MDEV_RENAME_REGEXP bool "Support regular expressions substitutions when renaming device" - default n + default y depends on FEATURE_MDEV_RENAME help Add support for regular expressions substitutions when renaming @@ -410,7 +408,7 @@ config FEATURE_MDEV_RENAME_REGEXP config FEATURE_MDEV_EXEC bool "Support command execution at device addition/removal" - default n + default y depends on FEATURE_MDEV_CONF help This adds support for an optional field to /etc/mdev.conf for @@ -420,7 +418,7 @@ config FEATURE_MDEV_EXEC config FEATURE_MDEV_LOAD_FIRMWARE bool "Support loading of firmwares" - default n + default y depends on MDEV help Some devices need to load firmware before they can be usable. @@ -431,7 +429,7 @@ config FEATURE_MDEV_LOAD_FIRMWARE config MKSWAP bool "mkswap" - default n + default y help The mkswap utility is used to configure a file or disk partition as Linux swap space. This allows Linux to use the entire file or @@ -444,14 +442,14 @@ config MKSWAP config FEATURE_MKSWAP_UUID bool "UUID support" - default n + default y depends on MKSWAP help Generate swap spaces with universally unique identifiers. config MORE bool "more" - default n + default y help more is a simple utility which allows you to read text one screen sized page at a time. If you want to read text that is larger than @@ -472,137 +470,137 @@ config FEATURE_USE_TERMIOS config VOLUMEID bool #No description makes it a hidden option - default n + default y config FEATURE_VOLUMEID_EXT bool "Ext filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_BTRFS bool "btrfs filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_REISERFS bool "Reiser filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_FAT bool "fat filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_HFS bool "hfs filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_JFS bool "jfs filesystem" - default n + default y depends on VOLUMEID help TODO ### config FEATURE_VOLUMEID_UFS ### bool "ufs filesystem" -### default n +### default y ### depends on VOLUMEID ### help ### TODO config FEATURE_VOLUMEID_XFS bool "xfs filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_NTFS bool "ntfs filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_ISO9660 bool "iso9660 filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_UDF bool "udf filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_LUKS bool "luks filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_LINUXSWAP bool "linux swap filesystem" - default n + default y depends on VOLUMEID help TODO ### config FEATURE_VOLUMEID_LVM ### bool "lvm" -### default n +### default y ### depends on VOLUMEID ### help ### TODO config FEATURE_VOLUMEID_CRAMFS bool "cramfs filesystem" - default n + default y depends on VOLUMEID help TODO ### config FEATURE_VOLUMEID_HPFS ### bool "hpfs filesystem" -### default n +### default y ### depends on VOLUMEID ### help ### TODO config FEATURE_VOLUMEID_ROMFS bool "romfs filesystem" - default n + default y depends on VOLUMEID help TODO config FEATURE_VOLUMEID_SYSV bool "sysv filesystem" - default n + default y depends on VOLUMEID help TODO ### config FEATURE_VOLUMEID_MINIX ### bool "minix filesystem" -### default n +### default y ### depends on VOLUMEID ### help ### TODO @@ -610,84 +608,84 @@ config FEATURE_VOLUMEID_SYSV ### These only detect partition tables - not used (yet?) ### config FEATURE_VOLUMEID_MAC ### bool "mac filesystem" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### ### config FEATURE_VOLUMEID_MSDOS ### bool "msdos filesystem" -### default n +### default y ### depends on VOLUMEID ### help ### TODO config FEATURE_VOLUMEID_OCFS2 bool "ocfs2 filesystem" - default n + default y depends on VOLUMEID help TODO ### config FEATURE_VOLUMEID_HIGHPOINTRAID ### bool "highpoint raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### config FEATURE_VOLUMEID_ISWRAID ### bool "intel raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### config FEATURE_VOLUMEID_LSIRAID ### bool "lsi raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### config FEATURE_VOLUMEID_VIARAID ### bool "via raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### config FEATURE_VOLUMEID_SILICONRAID ### bool "silicon raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### config FEATURE_VOLUMEID_NVIDIARAID ### bool "nvidia raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO ### config FEATURE_VOLUMEID_PROMISERAID ### bool "promise raid" -### default n +### default y ### depends on VOLUMEID ### help ### TODO config FEATURE_VOLUMEID_LINUXRAID bool "linuxraid" - default n + default y depends on VOLUMEID help TODO config MOUNT bool "mount" - default n + default y help All files and filesystems in Unix are arranged into one big directory tree. The 'mount' utility is used to graft a filesystem onto a @@ -698,14 +696,14 @@ config MOUNT config FEATURE_MOUNT_FAKE bool "Support option -f" - default n + default y depends on MOUNT help Enable support for faking a file system mount. config FEATURE_MOUNT_VERBOSE bool "Support option -v" - default n + default y depends on MOUNT help Enable multi-level -v[vv...] verbose messages. Useful if you @@ -726,7 +724,7 @@ config FEATURE_MOUNT_HELPERS config FEATURE_MOUNT_LABEL bool "Support specifiying devices by label or UUID" - default n + default y depends on MOUNT select VOLUMEID help @@ -736,7 +734,7 @@ config FEATURE_MOUNT_LABEL config FEATURE_MOUNT_NFS bool "Support mounting NFS file systems" - default n + default y depends on MOUNT select FEATURE_HAVE_RPC select FEATURE_SYSLOG @@ -745,7 +743,7 @@ config FEATURE_MOUNT_NFS config FEATURE_MOUNT_CIFS bool "Support mounting CIFS/SMB file systems" - default n + default y depends on MOUNT help Enable support for samba mounts. @@ -769,7 +767,7 @@ config FEATURE_MOUNT_FSTAB config PIVOT_ROOT bool "pivot_root" - default n + default y help The pivot_root utility swaps the mount points for the root filesystem with some other mounted filesystem. This allows you to do all sorts @@ -781,7 +779,7 @@ config PIVOT_ROOT config RDATE bool "rdate" - default n + default y help The rdate utility allows you to synchronize the date and time of your system clock with the date and time of a remote networked system using @@ -790,38 +788,38 @@ config RDATE config RDEV bool "rdev" - default n + default y help Print the device node associated with the filesystem mounted at '/'. config READPROFILE bool "readprofile" - default n + default y help This allows you to parse /proc/profile for basic profiling. config RTCWAKE bool "rtcwake" - default n + default y help Enter a system sleep state until specified wakeup time. config SCRIPT bool "script" - default n + default y help The script makes typescript of terminal session. config SCRIPTREPLAY bool "scriptreplay" - default n + default y help This program replays a typescript, using timing information given by script -t. config SETARCH bool "setarch" - default n + default y help The linux32 utility is used to create a 32bit environment for the specified program (usually a shell). It only makes sense to have @@ -830,7 +828,7 @@ config SETARCH config SWAPONOFF bool "swaponoff" - default n + default y help This option enables both the 'swapon' and the 'swapoff' utilities. Once you have created some swap space using 'mkswap', you also need @@ -841,14 +839,14 @@ config SWAPONOFF config FEATURE_SWAPON_PRI bool "Support priority option -p" - default n + default y depends on SWAPONOFF help Enable support for setting swap device priority in swapon. config SWITCH_ROOT bool "switch_root" - default n + default y help The switch_root utility is used from initramfs to select a new root device. Under initramfs, you have to use this instead of @@ -867,7 +865,7 @@ config SWITCH_ROOT config UMOUNT bool "umount" - default n + default y help When you want to remove a mounted filesystem from its current mount point, for example when you are shutting down the system, the @@ -876,7 +874,7 @@ config UMOUNT config FEATURE_UMOUNT_ALL bool "Support option -a" - default n + default y depends on UMOUNT help Support -a option to unmount all currently mounted filesystems. @@ -886,7 +884,7 @@ comment "Common options for mount/umount" config FEATURE_MOUNT_LOOP bool "Support loopback mounts" - default n + default y depends on MOUNT || UMOUNT help Enabling this feature allows automatic mounting of files (containing @@ -903,7 +901,7 @@ config FEATURE_MOUNT_LOOP config FEATURE_MOUNT_LOOP_CREATE bool "Create new loopback devices if needed" - default n + default y depends on FEATURE_MOUNT_LOOP help Linux kernels >= 2.6.24 support unlimited loopback devices. They are -- cgit v1.2.3-55-g6feb From 22bdf90334515e047fcccf36ae80a543b6a056de Mon Sep 17 00:00:00 2001 From: Pascal Bellard Date: Sun, 6 Jun 2010 04:55:13 +0200 Subject: modinfo: new applet function old new delta modinfo_main - 307 +307 modinfo - 280 +280 packed_usage 27037 27131 +94 display - 74 +74 static.shortcuts - 24 +24 applet_names 2254 2262 +8 applet_main 1324 1328 +4 applet_nameofs 662 664 +2 ------------------------------------------------------------------------------ (add/remove: 5/0 grow/shrink: 4/0 up/down: 793/0) Total: 793 bytes Signed-off-by: Pascal Bellard Signed-off-by: Denys Vlasenko --- modutils/Config.src | 2 + modutils/Kbuild.src | 1 + modutils/modinfo.c | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 153 insertions(+) create mode 100644 modutils/modinfo.c diff --git a/modutils/Config.src b/modutils/Config.src index 3d02f87ee..2ced9b308 100644 --- a/modutils/Config.src +++ b/modutils/Config.src @@ -5,6 +5,8 @@ menu "Linux Module Utilities" +INSERT + config MODPROBE_SMALL bool "Simplified modutils" default y diff --git a/modutils/Kbuild.src b/modutils/Kbuild.src index 31f7cbf93..fc0808d7f 100644 --- a/modutils/Kbuild.src +++ b/modutils/Kbuild.src @@ -5,6 +5,7 @@ # Licensed under the GPL v2, see the file LICENSE in this tarball. lib-y:= +INSERT lib-$(CONFIG_MODPROBE_SMALL) += modprobe-small.o lib-$(CONFIG_DEPMOD) += depmod.o modutils.o lib-$(CONFIG_INSMOD) += insmod.o modutils.o diff --git a/modutils/modinfo.c b/modutils/modinfo.c new file mode 100644 index 000000000..c68d2e974 --- /dev/null +++ b/modutils/modinfo.c @@ -0,0 +1,150 @@ +/* vi: set sw=4 ts=4: */ +/* + * modinfo - retrieve module info + * Copyright (c) 2008 Pascal Bellard + * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + */ + +//applet:IF_MODINFO(APPLET(modinfo, _BB_DIR_SBIN, _BB_SUID_DROP)) + +//kbuild:lib-$(CONFIG_MODINFO) += modinfo.o + +//config:config MODINFO +//config: bool "modinfo" +//config: default y +//config: help +//config: Show information about a Linux Kernel module + +#include +#include /* uname() */ +#include "libbb.h" +#include "modutils.h" + + +enum { + OPT_TAGS = (1 << 6) - 1, + OPT_F = (1 << 6), /* field name */ + OPT_0 = (1 << 7), /* \0 as separator */ +}; + +struct modinfo_env { + char *field; + int tags; +}; + +static int display(const char *data, const char *pattern, int flag) +{ + if (flag) { + int n = printf("%s:", pattern); + while (n++ < 16) + bb_putchar(' '); + } + return printf("%s%c", data, (option_mask32 & OPT_0) ? '\0' : '\n'); +} + +static void modinfo(const char *path, struct modinfo_env *env) +{ + static const char *const shortcuts[] = { + "filename", + "description", + "author", + "license", + "vermagic", + "parm", + }; + size_t len; + int j, length; + char *ptr, *the_module; + const char *field = env->field; + int tags = env->tags; + + if (tags & 1) { /* filename */ + display(path, shortcuts[0], 1 != tags); + } + len = MAXINT(ssize_t); + the_module = xmalloc_open_zipped_read_close(path, &len); + if (!the_module) + return; + if (field) + tags |= OPT_F; + for (j = 1; (1< Date: Sun, 6 Jun 2010 05:07:11 +0200 Subject: fix a few goofs uncovered by "make allnoconfig" testing Signed-off-by: Denys Vlasenko --- shell/ash.c | 2 +- util-linux/Config.src | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/ash.c b/shell/ash.c index b2c56f0aa..90680e849 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -9479,7 +9479,7 @@ preadfd(void) } } #else - nr = nonblock_safe_read(g_parsefile->fd, buf, IBUFSIZ - 1); + nr = nonblock_safe_read(g_parsefile->pf_fd, buf, IBUFSIZ - 1); #endif #if 0 diff --git a/util-linux/Config.src b/util-linux/Config.src index 27c741813..997cdec83 100644 --- a/util-linux/Config.src +++ b/util-linux/Config.src @@ -293,7 +293,7 @@ config FEATURE_HEXDUMP_REVERSE config HD bool "hd" default y - select HEXDUMP + depends on HEXDUMP help hd is an alias to hexdump -C. -- cgit v1.2.3-55-g6feb From f2177abe1d1da0f845147e29f5565a53d9cba09d Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 05:23:09 +0200 Subject: yes: this applet doesn't have options, don't lie that it does. Signed-off-by: Denys Vlasenko --- coreutils/yes.c | 5 +++++ include/usage.src.h | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/coreutils/yes.c b/coreutils/yes.c index d757a4504..ead674b27 100644 --- a/coreutils/yes.c +++ b/coreutils/yes.c @@ -18,6 +18,11 @@ /* This is a NOFORK applet. Be very careful! */ +//usage:#define yes_trivial_usage +//usage: "[STRING]" +//usage:#define yes_full_usage "\n\n" +//usage: "Repeatedly output a line with STRING, or 'y'" + int yes_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int yes_main(int argc UNUSED_PARAM, char **argv) { diff --git a/include/usage.src.h b/include/usage.src.h index 78c0a0f1c..f9f457871 100644 --- a/include/usage.src.h +++ b/include/usage.src.h @@ -5236,11 +5236,6 @@ INSERT "$ ls | xargs gzip\n" \ "$ find . -name '*.c' -print | xargs rm\n" -#define yes_trivial_usage \ - "[OPTIONS] [STRING]" -#define yes_full_usage "\n\n" \ - "Repeatedly output a line with STRING, or 'y'" - #define zcat_trivial_usage \ "FILE" #define zcat_full_usage "\n\n" \ -- cgit v1.2.3-55-g6feb From 87496aa08180cdfffed88f7802e46ab25f659890 Mon Sep 17 00:00:00 2001 From: Maksym Kryzhanovskyy Date: Sun, 6 Jun 2010 08:24:39 +0200 Subject: top: code shrink text data bss dec hex filename 853034 453 6820 860307 d2093 busybox_old 852726 453 6820 859999 d1f5f busybox_unstripped Signed-off-by: Maksym Kryzhanovskyy Signed-off-by: Denys Vlasenko --- procps/top.c | 119 +++++++++++++++++++++-------------------------------------- 1 file changed, 42 insertions(+), 77 deletions(-) diff --git a/procps/top.c b/procps/top.c index e4afafc4c..51b167171 100644 --- a/procps/top.c +++ b/procps/top.c @@ -696,111 +696,76 @@ static int topmem_sort(char *a, char *b) return inverted ? -n : n; } -/* Cut "NNNN" out of " NNNN kb" */ -static char *grab_number(char *str, const char *match, unsigned sz) -{ - if (strncmp(str, match, sz) == 0) { - str = skip_whitespace(str + sz); - (skip_non_whitespace(str))[0] = '\0'; - return xstrdup(str); - } - return NULL; -} - /* display header info (meminfo / loadavg) */ static void display_topmem_header(int scr_width, int *lines_rem_p) { + enum { + TOTAL = 0, MFREE, BUF, CACHE, + SWAPTOTAL, SWAPFREE, DIRTY, + MWRITE, ANON, MAP, SLAB, + NUM_FIELDS + }; + static const char match[NUM_FIELDS][11] = { + "\x09" "MemTotal:", // TOTAL + "\x08" "MemFree:", // MFREE + "\x08" "Buffers:", // BUF + "\x07" "Cached:", // CACHE + "\x0a" "SwapTotal:", // SWAPTOTAL + "\x09" "SwapFree:", // SWAPFREE + "\x06" "Dirty:", // DIRTY + "\x0a" "Writeback:", // MWRITE + "\x0a" "AnonPages:", // ANON + "\x07" "Mapped:", // MAP + "\x05" "Slab:", // SLAB + }; +//TODO? Note that fields always appear in the above order. +//Thus, as each new line read from /proc/meminfo, we can compare it *once* +//with match[last_matched+1], instead of looping thru all match[i]'s. +//If it matches, memorize its data and last_matched++ (and if == NUM_FIELDS, +//we're done with reading /proc/meminfo!); otherwise fgets next line. +//The code below is slower, but is robust against a case when /proc/meminfo +//gets reordered in the future. + char Z[NUM_FIELDS][sizeof(long long)*3]; char linebuf[128]; unsigned i; FILE *fp; - union { - struct { - /* 1 */ char *total; - /* 2 */ char *mfree; - /* 3 */ char *buf; - /* 4 */ char *cache; - /* 5 */ char *swaptotal; - /* 6 */ char *swapfree; - /* 7 */ char *dirty; - /* 8 */ char *mwrite; - /* 9 */ char *anon; - /* 10 */ char *map; - /* 11 */ char *slab; - } u; - char *str[11]; - } Z; -#define total Z.u.total -#define mfree Z.u.mfree -#define buf Z.u.buf -#define cache Z.u.cache -#define swaptotal Z.u.swaptotal -#define swapfree Z.u.swapfree -#define dirty Z.u.dirty -#define mwrite Z.u.mwrite -#define anon Z.u.anon -#define map Z.u.map -#define slab Z.u.slab -#define str Z.str memset(&Z, 0, sizeof(Z)); + for (i = 0; i < NUM_FIELDS; i++) + Z[i][0] = '?'; /* read memory info */ fp = xfopen_for_read("meminfo"); while (fgets(linebuf, sizeof(linebuf), fp)) { - char *p; - -#define SCAN(match, name) \ - p = grab_number(linebuf, match, sizeof(match)-1); \ - if (p) { name = p; continue; } - - SCAN("MemTotal:", total); - SCAN("MemFree:", mfree); - SCAN("Buffers:", buf); - SCAN("Cached:", cache); - SCAN("SwapTotal:", swaptotal); - SCAN("SwapFree:", swapfree); - SCAN("Dirty:", dirty); - SCAN("Writeback:", mwrite); - SCAN("AnonPages:", anon); - SCAN("Mapped:", map); - SCAN("Slab:", slab); -#undef SCAN + for (i = 0; i < NUM_FIELDS; i++) { + unsigned sz = (unsigned char)match[i][0]; + if (strncmp(linebuf, match[i] + 1, sz) == 0) { + /* Cut "NNNN" out of " NNNN kb" */ + char *s = skip_whitespace(linebuf + sz); + skip_non_whitespace(s)[0] = '\0'; + safe_strncpy(Z[i], s, sizeof(Z[i])); + break; + } + } } fclose(fp); -#define S(s) (s ? s : "0") snprintf(linebuf, sizeof(linebuf), "Mem total:%s anon:%s map:%s free:%s", - S(total), S(anon), S(map), S(mfree)); + Z[TOTAL], Z[ANON], Z[MAP], Z[MFREE]); printf(OPT_BATCH_MODE ? "%.*s\n" : "\033[H\033[J%.*s\n", scr_width, linebuf); snprintf(linebuf, sizeof(linebuf), " slab:%s buf:%s cache:%s dirty:%s write:%s", - S(slab), S(buf), S(cache), S(dirty), S(mwrite)); + Z[SLAB], Z[BUF], Z[CACHE], Z[DIRTY], Z[MWRITE]); printf("%.*s\n", scr_width, linebuf); snprintf(linebuf, sizeof(linebuf), "Swap total:%s free:%s", // TODO: % used? - S(swaptotal), S(swapfree)); + Z[SWAPTOTAL], Z[SWAPFREE]); printf("%.*s\n", scr_width, linebuf); (*lines_rem_p) -= 3; -#undef S - - for (i = 0; i < ARRAY_SIZE(str); i++) - free(str[i]); -#undef total -#undef free -#undef buf -#undef cache -#undef swaptotal -#undef swapfree -#undef dirty -#undef write -#undef anon -#undef map -#undef slab -#undef str } static void ulltoa6_and_space(unsigned long long ul, char buf[6]) -- cgit v1.2.3-55-g6feb From d94332f2b6615e30a8a4d3420407dbd938885b7b Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 17:40:54 +0200 Subject: top: code shrink, -26 bytes Signed-off-by: Denys Vlasenko --- procps/top.c | 60 +++++++++++++++++++++++++++--------------------------------- 1 file changed, 27 insertions(+), 33 deletions(-) diff --git a/procps/top.c b/procps/top.c index 51b167171..04dd82633 100644 --- a/procps/top.c +++ b/procps/top.c @@ -103,11 +103,11 @@ struct globals { }; //FIX_ALIASING; - large code growth enum { LINE_BUF_SIZE = COMMON_BUFSIZE - offsetof(struct globals, line_buf) }; #define G (*(struct globals*)&bb_common_bufsiz1) -#define INIT_G() do { \ - struct G_sizecheck { \ - char G_sizecheck[sizeof(G) > COMMON_BUFSIZE ? -1 : 1]; \ - }; \ -} while (0) +struct BUG_bad_size { + char BUG_G_too_big[sizeof(G) <= COMMON_BUFSIZE ? 1 : -1]; + char BUG_line_buf_too_small[LINE_BUF_SIZE > 80 ? 1 : -1]; +}; +#define INIT_G() do { } while (0) #define top (G.top ) #define ntop (G.ntop ) #define sort_field (G.sort_field ) @@ -705,7 +705,7 @@ static void display_topmem_header(int scr_width, int *lines_rem_p) MWRITE, ANON, MAP, SLAB, NUM_FIELDS }; - static const char match[NUM_FIELDS][11] = { + static const char match[NUM_FIELDS][12] = { "\x09" "MemTotal:", // TOTAL "\x08" "MemFree:", // MFREE "\x08" "Buffers:", // BUF @@ -718,52 +718,46 @@ static void display_topmem_header(int scr_width, int *lines_rem_p) "\x07" "Mapped:", // MAP "\x05" "Slab:", // SLAB }; -//TODO? Note that fields always appear in the above order. -//Thus, as each new line read from /proc/meminfo, we can compare it *once* -//with match[last_matched+1], instead of looping thru all match[i]'s. -//If it matches, memorize its data and last_matched++ (and if == NUM_FIELDS, -//we're done with reading /proc/meminfo!); otherwise fgets next line. -//The code below is slower, but is robust against a case when /proc/meminfo -//gets reordered in the future. - char Z[NUM_FIELDS][sizeof(long long)*3]; - char linebuf[128]; + char meminfo_buf[4 * 1024]; + const char *Z[NUM_FIELDS]; unsigned i; - FILE *fp; + int sz; - memset(&Z, 0, sizeof(Z)); for (i = 0; i < NUM_FIELDS; i++) - Z[i][0] = '?'; + Z[i] = "?"; /* read memory info */ - fp = xfopen_for_read("meminfo"); - while (fgets(linebuf, sizeof(linebuf), fp)) { + sz = open_read_close("meminfo", meminfo_buf, sizeof(meminfo_buf) - 1); + if (sz >= 0) { + char *p = meminfo_buf; + meminfo_buf[sz] = '\0'; + /* Note that fields always appear in the match[] order */ for (i = 0; i < NUM_FIELDS; i++) { - unsigned sz = (unsigned char)match[i][0]; - if (strncmp(linebuf, match[i] + 1, sz) == 0) { + char *found = strstr(p, match[i] + 1); + if (found) { /* Cut "NNNN" out of " NNNN kb" */ - char *s = skip_whitespace(linebuf + sz); - skip_non_whitespace(s)[0] = '\0'; - safe_strncpy(Z[i], s, sizeof(Z[i])); - break; + char *s = skip_whitespace(found + match[i][0]); + p = skip_non_whitespace(s); + *p++ = '\0'; + Z[i] = s; } } } - fclose(fp); - snprintf(linebuf, sizeof(linebuf), + snprintf(line_buf, LINE_BUF_SIZE, "Mem total:%s anon:%s map:%s free:%s", Z[TOTAL], Z[ANON], Z[MAP], Z[MFREE]); - printf(OPT_BATCH_MODE ? "%.*s\n" : "\033[H\033[J%.*s\n", scr_width, linebuf); + printf(OPT_BATCH_MODE ? "%.*s\n" : "\033[H\033[J%.*s\n", scr_width, line_buf); - snprintf(linebuf, sizeof(linebuf), + snprintf(line_buf, LINE_BUF_SIZE, " slab:%s buf:%s cache:%s dirty:%s write:%s", Z[SLAB], Z[BUF], Z[CACHE], Z[DIRTY], Z[MWRITE]); - printf("%.*s\n", scr_width, linebuf); + printf("%.*s\n", scr_width, line_buf); - snprintf(linebuf, sizeof(linebuf), + snprintf(line_buf, LINE_BUF_SIZE, "Swap total:%s free:%s", // TODO: % used? Z[SWAPTOTAL], Z[SWAPFREE]); - printf("%.*s\n", scr_width, linebuf); + printf("%.*s\n", scr_width, line_buf); (*lines_rem_p) -= 3; } -- cgit v1.2.3-55-g6feb From f2da16f451812f40bed51fd60a304df3d7dfc1bd Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 17:53:48 +0200 Subject: date: make FEATURE_NANO compile on glibc systems Signed-off-by: Denys Vlasenko --- coreutils/date.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/coreutils/date.c b/coreutils/date.c index c599df735..3d78a5336 100644 --- a/coreutils/date.c +++ b/coreutils/date.c @@ -204,7 +204,11 @@ int date_main(int argc UNUSED_PARAM, char **argv) xstat(filename, &statbuf); ts.tv_sec = statbuf.st_mtime; #if ENABLE_FEATURE_DATE_NANO - ts.tv_nsec = statbuf.st_mtimensec; //or st_atim.tv_nsec? +# if defined __GLIBC__ && !defined __UCLIBC__ + ts.tv_nsec = statbuf.st_mtim.tv_nsec; +# else + ts.tv_nsec = statbuf.st_mtimensec; +# endif #endif } else { #if ENABLE_FEATURE_DATE_NANO -- cgit v1.2.3-55-g6feb From 2fd45c2cdbf51dbafe1f44a49421a45a1cee4907 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 18:09:57 +0200 Subject: dumpkmap,loadkmap: abort if there are params on cmdline function old new delta loadkmap_main 201 219 +18 dumpkmap_main 208 223 +15 Signed-off-by: Denys Vlasenko --- console-tools/dumpkmap.c | 7 ++++++- console-tools/loadkmap.c | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/console-tools/dumpkmap.c b/console-tools/dumpkmap.c index 061fc4792..a03b59340 100644 --- a/console-tools/dumpkmap.c +++ b/console-tools/dumpkmap.c @@ -24,12 +24,17 @@ struct kbentry { #define MAX_NR_KEYMAPS 256 int dumpkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int dumpkmap_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) +int dumpkmap_main(int argc UNUSED_PARAM, char **argv) { struct kbentry ke; int i, j, fd; RESERVE_CONFIG_BUFFER(flags, MAX_NR_KEYMAPS); + /* When user accidentally runs "dumpkmap FILE" + * instead of "dumpkmap >FILE", we'd dump binary stuff to tty. + * Let's prevent it: */ + if (argv[1]) + bb_show_usage(); /* bb_warn_ignoring_args(argv[1]);*/ fd = get_console_fd_or_die(); diff --git a/console-tools/loadkmap.c b/console-tools/loadkmap.c index 912291a7d..9e2c779e0 100644 --- a/console-tools/loadkmap.c +++ b/console-tools/loadkmap.c @@ -32,6 +32,11 @@ int loadkmap_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) /* const char *tty_name = CURRENT_TTY; */ RESERVE_CONFIG_BUFFER(flags, MAX_NR_KEYMAPS); + /* When user accidentally runs "loadkmap FILE" + * instead of "loadkmap Date: Sun, 6 Jun 2010 18:10:50 +0200 Subject: loadkmap: remove UNUSED_PARAM from argv Signed-off-by: Denys Vlasenko --- console-tools/loadkmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/console-tools/loadkmap.c b/console-tools/loadkmap.c index 9e2c779e0..8f1a9153a 100644 --- a/console-tools/loadkmap.c +++ b/console-tools/loadkmap.c @@ -24,7 +24,7 @@ struct kbentry { #define MAX_NR_KEYMAPS 256 int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int loadkmap_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) +int loadkmap_main(int argc UNUSED_PARAM, char **argv) { struct kbentry ke; int i, j, fd; -- cgit v1.2.3-55-g6feb From 5f3303712ef483d270097cae4ba0a559b1056121 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 6 Jun 2010 18:19:25 +0200 Subject: pipe_progress: shrink function old new delta pipe_progress_main 163 151 -12 Signed-off-by: Denys Vlasenko --- debianutils/pipe_progress.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/debianutils/pipe_progress.c b/debianutils/pipe_progress.c index fa98e8b38..ced5fb307 100644 --- a/debianutils/pipe_progress.c +++ b/debianutils/pipe_progress.c @@ -6,7 +6,6 @@ * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ - #include "libbb.h" #define PIPE_PROGRESS_SIZE 4096 @@ -17,23 +16,20 @@ int pipe_progress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int pipe_progress_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) { - RESERVE_CONFIG_BUFFER(buf, PIPE_PROGRESS_SIZE); + char buf[PIPE_PROGRESS_SIZE]; time_t t = time(NULL); - size_t len; + int len; - while ((len = fread(buf, 1, PIPE_PROGRESS_SIZE, stdin)) > 0) { + while ((len = safe_read(STDIN_FILENO, buf, PIPE_PROGRESS_SIZE)) > 0) { time_t new_time = time(NULL); if (new_time != t) { t = new_time; fputc('.', stderr); } - fwrite(buf, len, 1, stdout); + full_write(STDOUT_FILENO, buf, len); } fputc('\n', stderr); - if (ENABLE_FEATURE_CLEAN_UP) - RELEASE_CONFIG_BUFFER(buf); - return 0; } -- cgit v1.2.3-55-g6feb