move help text from include/usage.src.h to debianutils/*.c e2fsprogs/*.c editors/*.c loginutils/*.c mailutils/*.c
No binary (build failed)
—
(log yok)
| @@ -5,6 +5,15 @@ | |
| /* BB_AUDIT SUSv3 N/A -- Apparently a busybox (obsolete?) extension. */ | |
| + | //usage:#define length_trivial_usage |
| + | //usage: "STRING" |
| + | //usage:#define length_full_usage "\n\n" |
| + | //usage: "Print STRING's length" |
| + | //usage: |
| + | //usage:#define length_example_usage |
| + | //usage: "$ length Hello\n" |
| + | //usage: "5\n" |
| + | |
| #include "libbb.h" | |
| /* This is a NOFORK applet. Be very careful! */ | |
| @@ -6,6 +6,10 @@ | |
| * | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| + | |
| + | //usage:#define pipe_progress_trivial_usage NOUSAGE_STR |
| + | //usage:#define pipe_progress_full_usage "" |
| + | |
| #include "libbb.h" | |
| #define PIPE_PROGRESS_SIZE 4096 | |
| @@ -30,6 +30,32 @@ | |
| * -u MASK umask. Set the umask of the program executed to MASK. | |
| */ | |
| + | //usage:#define run_parts_trivial_usage |
| + | //usage: "[-t] "IF_FEATURE_RUN_PARTS_FANCY("[-l] ")"[-a ARG] [-u MASK] DIRECTORY" |
| + | //usage:#define run_parts_full_usage "\n\n" |
| + | //usage: "Run a bunch of scripts in DIRECTORY\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -t Print what would be run, but don't actually run anything" |
| + | //usage: "\n -a ARG Pass ARG as argument for every program" |
| + | //usage: "\n -u MASK Set the umask to MASK before running every program" |
| + | //usage: IF_FEATURE_RUN_PARTS_FANCY( |
| + | //usage: "\n -l Print names of all matching files even if they are not executable" |
| + | //usage: ) |
| + | //usage: |
| + | //usage:#define run_parts_example_usage |
| + | //usage: "$ run-parts -a start /etc/init.d\n" |
| + | //usage: "$ run-parts -a stop=now /etc/init.d\n\n" |
| + | //usage: "Let's assume you have a script foo/dosomething:\n" |
| + | //usage: "#!/bin/sh\n" |
| + | //usage: "for i in $*; do eval $i; done; unset i\n" |
| + | //usage: "case \"$1\" in\n" |
| + | //usage: "start*) echo starting something;;\n" |
| + | //usage: "stop*) set -x; shutdown -h $stop;;\n" |
| + | //usage: "esac\n\n" |
| + | //usage: "Running this yields:\n" |
| + | //usage: "$run-parts -a stop=+4m foo/\n" |
| + | //usage: "+ shutdown -h +4m" |
| + | |
| #include "libbb.h" | |
| struct globals { | |
| @@ -56,6 +56,69 @@ Misc options: | |
| -v,--verbose Verbose | |
| */ | |
| + | //usage:#define start_stop_daemon_trivial_usage |
| + | //usage: "[OPTIONS] [-S|-K] ... [-- ARGS...]" |
| + | //usage:#define start_stop_daemon_full_usage "\n\n" |
| + | //usage: "Search for matching processes, and then\n" |
| + | //usage: "-K: stop all matching processes.\n" |
| + | //usage: "-S: start a process unless a matching process is found.\n" |
| + | //usage: IF_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( |
| + | //usage: "\nProcess matching:" |
| + | //usage: "\n -u,--user USERNAME|UID Match only this user's processes" |
| + | //usage: "\n -n,--name NAME Match processes with NAME" |
| + | //usage: "\n in comm field in /proc/PID/stat" |
| + | //usage: "\n -x,--exec EXECUTABLE Match processes with this command" |
| + | //usage: "\n in /proc/PID/cmdline" |
| + | //usage: "\n -p,--pidfile FILE Match a process with PID from the file" |
| + | //usage: "\n All specified conditions must match" |
| + | //usage: "\n-S only:" |
| + | //usage: "\n -x,--exec EXECUTABLE Program to run" |
| + | //usage: "\n -a,--startas NAME Zeroth argument" |
| + | //usage: "\n -b,--background Background" |
| + | //usage: IF_FEATURE_START_STOP_DAEMON_FANCY( |
| + | //usage: "\n -N,--nicelevel N Change nice level" |
| + | //usage: ) |
| + | //usage: "\n -c,--chuid USER[:[GRP]] Change to user/group" |
| + | //usage: "\n -m,--make-pidfile Write PID to the pidfile specified by -p" |
| + | //usage: "\n-K only:" |
| + | //usage: "\n -s,--signal SIG Signal to send" |
| + | //usage: "\n -t,--test Match only, exit with 0 if a process is found" |
| + | //usage: "\nOther:" |
| + | //usage: IF_FEATURE_START_STOP_DAEMON_FANCY( |
| + | //usage: "\n -o,--oknodo Exit with status 0 if nothing is done" |
| + | //usage: "\n -v,--verbose Verbose" |
| + | //usage: ) |
| + | //usage: "\n -q,--quiet Quiet" |
| + | //usage: ) |
| + | //usage: IF_NOT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( |
| + | //usage: "\nProcess matching:" |
| + | //usage: "\n -u USERNAME|UID Match only this user's processes" |
| + | //usage: "\n -n NAME Match processes with NAME" |
| + | //usage: "\n in comm field in /proc/PID/stat" |
| + | //usage: "\n -x EXECUTABLE Match processes with this command" |
| + | //usage: "\n command in /proc/PID/cmdline" |
| + | //usage: "\n -p FILE Match a process with PID from the file" |
| + | //usage: "\n All specified conditions must match" |
| + | //usage: "\n-S only:" |
| + | //usage: "\n -x EXECUTABLE Program to run" |
| + | //usage: "\n -a NAME Zeroth argument" |
| + | //usage: "\n -b Background" |
| + | //usage: IF_FEATURE_START_STOP_DAEMON_FANCY( |
| + | //usage: "\n -N N Change nice level" |
| + | //usage: ) |
| + | //usage: "\n -c USER[:[GRP]] Change to user/group" |
| + | //usage: "\n -m Write PID to the pidfile specified by -p" |
| + | //usage: "\n-K only:" |
| + | //usage: "\n -s SIG Signal to send" |
| + | //usage: "\n -t Match only, exit with 0 if a process is found" |
| + | //usage: "\nOther:" |
| + | //usage: IF_FEATURE_START_STOP_DAEMON_FANCY( |
| + | //usage: "\n -o Exit with status 0 if nothing is done" |
| + | //usage: "\n -v Verbose" |
| + | //usage: ) |
| + | //usage: "\n -q Quiet" |
| + | //usage: ) |
| + | |
| #include <sys/resource.h> | |
| /* Override ENABLE_FEATURE_PIDFILE */ | |
| @@ -10,6 +10,15 @@ | |
| * Based on which from debianutils | |
| */ | |
| + | //usage:#define which_trivial_usage |
| + | //usage: "[COMMAND]..." |
| + | //usage:#define which_full_usage "\n\n" |
| + | //usage: "Locate a COMMAND" |
| + | //usage: |
| + | //usage:#define which_example_usage |
| + | //usage: "$ which login\n" |
| + | //usage: "/bin/login\n" |
| + | |
| #include "libbb.h" | |
| int which_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | |
| @@ -19,6 +19,30 @@ | |
| * 98/12/29 - Display version info only when -V specified (G M Sipe) | |
| */ | |
| + | //usage:#define chattr_trivial_usage |
| + | //usage: "[-R] [-+=AacDdijsStTu] [-v VERSION] [FILE]..." |
| + | //usage:#define chattr_full_usage "\n\n" |
| + | //usage: "Change file attributes on an ext2 fs\n" |
| + | //usage: "\nModifiers:" |
| + | //usage: "\n - Remove attributes" |
| + | //usage: "\n + Add attributes" |
| + | //usage: "\n = Set attributes" |
| + | //usage: "\nAttributes:" |
| + | //usage: "\n A Don't track atime" |
| + | //usage: "\n a Append mode only" |
| + | //usage: "\n c Enable compress" |
| + | //usage: "\n D Write dir contents synchronously" |
| + | //usage: "\n d Don't backup with dump" |
| + | //usage: "\n i Cannot be modified (immutable)" |
| + | //usage: "\n j Write all data to journal first" |
| + | //usage: "\n s Zero disk storage when deleted" |
| + | //usage: "\n S Write file contents synchronously" |
| + | //usage: "\n t Disable tail-merging of partial blocks with other files" |
| + | //usage: "\n u Allow file to be undeleted" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -R Recurse" |
| + | //usage: "\n -v Set the file's version/generation number" |
| + | |
| #include "libbb.h" | |
| #include "e2fs_lib.h" | |
| @@ -34,6 +34,20 @@ | |
| * It doesn't guess filesystem types from on-disk format. | |
| */ | |
| + | //usage:#define fsck_trivial_usage |
| + | //usage: "[-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]..." |
| + | //usage:#define fsck_full_usage "\n\n" |
| + | //usage: "Check and repair filesystems\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -A Walk /etc/fstab and check all filesystems" |
| + | //usage: "\n -N Don't execute, just show what would be done" |
| + | //usage: "\n -P With -A, check filesystems in parallel" |
| + | //usage: "\n -R With -A, skip the root filesystem" |
| + | //usage: "\n -T Don't show title on startup" |
| + | //usage: "\n -V Verbose" |
| + | //usage: "\n -C n Write status information to specified filedescriptor" |
| + | //usage: "\n -t TYPE List of filesystem types to check" |
| + | |
| #include "libbb.h" | |
| /* "progress indicator" code is somewhat buggy and ext[23] specific. | |
| @@ -18,6 +18,17 @@ | |
| * 98/12/29 - Display version info only when -V specified (G M Sipe) | |
| */ | |
| + | //usage:#define lsattr_trivial_usage |
| + | //usage: "[-Radlv] [FILE]..." |
| + | //usage:#define lsattr_full_usage "\n\n" |
| + | //usage: "List file attributes on an ext2 fs\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -R Recurse" |
| + | //usage: "\n -a Don't hide entries starting with ." |
| + | //usage: "\n -d List directory entries instead of contents" |
| + | //usage: "\n -l List long flag names" |
| + | //usage: "\n -v List the file's version/generation number" |
| + | |
| #include "libbb.h" | |
| #include "e2fs_lib.h" | |
| @@ -7,6 +7,14 @@ | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| + | //usage:#define awk_trivial_usage |
| + | //usage: "[OPTIONS] [AWK_PROGRAM] [FILE]..." |
| + | //usage:#define awk_full_usage "\n\n" |
| + | //usage: "Options:" |
| + | //usage: "\n -v VAR=VAL Set variable" |
| + | //usage: "\n -F SEP Use SEP as field separator" |
| + | //usage: "\n -f FILE Read program from FILE" |
| + | |
| #include "libbb.h" | |
| #include "xregex.h" | |
| #include <math.h> | |
| @@ -10,6 +10,15 @@ | |
| /* BB_AUDIT SUSv3 (virtually) compliant -- uses nicer GNU format for -l. */ | |
| /* http://www.opengroup.org/onlinepubs/007904975/utilities/cmp.html */ | |
| + | //usage:#define cmp_trivial_usage |
| + | //usage: "[-l] [-s] FILE1 [FILE2" IF_DESKTOP(" [SKIP1 [SKIP2]]") "]" |
| + | //usage:#define cmp_full_usage "\n\n" |
| + | //usage: "Compare FILE1 with FILE2 (or stdin)\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -l Write the byte numbers (decimal) and values (octal)" |
| + | //usage: "\n for all differing bytes" |
| + | //usage: "\n -s Quiet" |
| + | |
| #include "libbb.h" | |
| static const char fmt_eof[] ALIGN1 = "cmp: EOF on %s\n"; | |
| @@ -76,6 +76,28 @@ | |
| * 6n words for files of length n. | |
| */ | |
| + | //usage:#define diff_trivial_usage |
| + | //usage: "[-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2" |
| + | //usage:#define diff_full_usage "\n\n" |
| + | //usage: "Compare files line by line and output the differences between them.\n" |
| + | //usage: "This implementation supports unified diffs only.\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -a Treat all files as text" |
| + | //usage: "\n -b Ignore changes in the amount of whitespace" |
| + | //usage: "\n -B Ignore changes whose lines are all blank" |
| + | //usage: "\n -d Try hard to find a smaller set of changes" |
| + | //usage: "\n -i Ignore case differences" |
| + | //usage: "\n -L Use LABEL instead of the filename in the unified header" |
| + | //usage: "\n -N Treat absent files as empty" |
| + | //usage: "\n -q Output only whether files differ" |
| + | //usage: "\n -r Recurse" |
| + | //usage: "\n -S Start with FILE when comparing directories" |
| + | //usage: "\n -T Make tabs line up by prefixing a tab when necessary" |
| + | //usage: "\n -s Report when two files are the same" |
| + | //usage: "\n -t Expand tabs to spaces in output" |
| + | //usage: "\n -U Output LINES lines of context" |
| + | //usage: "\n -w Ignore all whitespace" |
| + | |
| #include "libbb.h" | |
| #if 0 | |
| @@ -7,6 +7,9 @@ | |
| * The "ed" built-in command (much simplified) | |
| */ | |
| + | //usage:#define ed_trivial_usage "" |
| + | //usage:#define ed_full_usage "" |
| + | |
| #include "libbb.h" | |
| typedef struct LINE { | |
| @@ -58,6 +58,23 @@ | |
| Reference http://www.opengroup.org/onlinepubs/007904975/utilities/sed.html | |
| */ | |
| + | //usage:#define sed_trivial_usage |
| + | //usage: "[-efinr] SED_CMD [FILE]..." |
| + | //usage:#define sed_full_usage "\n\n" |
| + | //usage: "Options:" |
| + | //usage: "\n -e CMD Add CMD to sed commands to be executed" |
| + | //usage: "\n -f FILE Add FILE contents to sed commands to be executed" |
| + | //usage: "\n -i Edit files in-place (else sends result to stdout)" |
| + | //usage: "\n -n Suppress automatic printing of pattern space" |
| + | //usage: "\n -r Use extended regex syntax" |
| + | //usage: "\n" |
| + | //usage: "\nIf no -e or -f, the first non-option argument is the sed command string." |
| + | //usage: "\nRemaining arguments are input files (stdin if none)." |
| + | //usage: |
| + | //usage:#define sed_example_usage |
| + | //usage: "$ echo \"foo\" | sed -e 's/f[a-zA-Z]o/bar/g'\n" |
| + | //usage: "bar\n" |
| + | |
| #include "libbb.h" | |
| #include "xregex.h" | |
| @@ -21,6 +21,19 @@ | |
| * An "ex" line oriented mode- maybe using "cmdedit" | |
| */ | |
| + | //usage:#define vi_trivial_usage |
| + | //usage: "[OPTIONS] [FILE]..." |
| + | //usage:#define vi_full_usage "\n\n" |
| + | //usage: "Edit FILE\n" |
| + | //usage: "\nOptions:" |
| + | //usage: IF_FEATURE_VI_COLON( |
| + | //usage: "\n -c Initial command to run ($EXINIT also available)" |
| + | //usage: ) |
| + | //usage: IF_FEATURE_VI_READONLY( |
| + | //usage: "\n -R Read-only" |
| + | //usage: ) |
| + | //usage: "\n -H Short help regarding available features" |
| + | |
| #include "libbb.h" | |
| /* the CRASHME code is unmaintained, and doesn't currently build */ | |
| @@ -40,28 +40,6 @@ INSERT | |
| "# acpid -l /var/log/my-acpi-log\n" \ | |
| "# acpid -e /proc/acpi/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" \ | |
| @@ -110,14 +88,6 @@ INSERT | |
| "\n -s SRC_IP Sender IP address" \ | |
| "\n DST_IP Target IP address" \ | |
| - | #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 beep_trivial_usage \ | |
| "-f FREQ -l LEN -d DELAY -r COUNT -n" | |
| #define beep_full_usage "\n\n" \ | |
| @@ -167,30 +137,6 @@ INSERT | |
| "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..." \ | |
| @@ -284,15 +230,6 @@ INSERT | |
| "\n -t N Limit CPU time, process receives" \ | |
| "\n a SIGXCPU after N seconds" \ | |
| - | #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 bbconfig_trivial_usage \ | |
| "" | |
| #define bbconfig_full_usage "\n\n" \ | |
| @@ -355,57 +292,6 @@ INSERT | |
| "\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 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 devmem_trivial_usage \ | |
| "ADDRESS [WIDTH [VALUE]]" | |
| @@ -435,28 +321,6 @@ INSERT | |
| #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 dmesg_trivial_usage \ | |
| "[-c] [-n LEVEL] [-s SIZE]" | |
| #define dmesg_full_usage "\n\n" \ | |
| @@ -531,9 +395,6 @@ INSERT | |
| "\n -t Close tray" \ | |
| "\n -T Open/close tray (toggle)" \ | |
| - | #define ed_trivial_usage "" |
| - | #define ed_full_usage "" |
| - | |
| #define ether_wake_trivial_usage \ | |
| "[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC" | |
| #define ether_wake_full_usage "\n\n" \ | |
| @@ -679,20 +540,6 @@ INSERT | |
| #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" \ | |
| @@ -1279,15 +1126,6 @@ INSERT | |
| #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 logread_trivial_usage \ | |
| "[-f]" | |
| #define logread_full_usage "\n\n" \ | |
| @@ -1344,17 +1182,6 @@ INSERT | |
| "\n -h Print banner page too" \ | |
| "\n -V Verbose" \ | |
| - | #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 lspci_trivial_usage \ | |
| "[-mk]" | |
| #define lspci_full_usage "\n\n" \ | |
| @@ -1424,21 +1251,6 @@ INSERT | |
| "/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: [email protected]\", \"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 \ | |
| "[-aw] [MANPAGE]..." | |
| #define man_full_usage "\n\n" \ | |
| @@ -1712,31 +1524,6 @@ INSERT | |
| #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 ALG 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 pgrep_trivial_usage \ | |
| "[-flnovx] [-s SID|-P PPID|PATTERN]" | |
| #define pgrep_full_usage "\n\n" \ | |
| @@ -1779,9 +1566,6 @@ INSERT | |
| IF_FEATURE_PIDOF_OMIT( \ | |
| "$ pidof /bin/sh -o %PPID\n20351 5950") | |
| - | #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" \ | |
| @@ -1802,38 +1586,6 @@ INSERT | |
| "\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 <user_and_pass.txt" \ |
| - | "\nFetch from SSLed POP3 server and delete fetched emails:" \ |
| - | "\npopmaildir DIR -- openssl s_client -quiet -connect pop3.server.com:995 <user_and_pass.txt" |
| - | /* "\n -R BYTES Remove old messages on the server >= 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 [<password_file]\n" \ |
| - | "$ popmaildir ~/Maildir -- openssl s_client -quiet -connect pop.gmail.com:995 [<password_file]\n" |
| - | |
| #if ENABLE_DESKTOP | |
| @@ -1937,17 +1689,6 @@ INSERT | |
| "\n -r Reset all the counters (root only)" \ | |
| "\n -n Disable byte order auto-detection" \ | |
| - | #define reformime_trivial_usage \ |
| - | "[OPTIONS] [FILE]..." |
| - | #define reformime_full_usage "\n\n" \ |
| - | "Parse MIME-encoded message\n" \ |
| - | "\nOptions:" \ |
| - | "\n -x PREFIX Extract content of MIME sections to files" \ |
| - | "\n -X PROG ARGS Filter content of MIME sections through PROG" \ |
| - | "\n Must be the last option" \ |
| - | "\n" \ |
| - | "\nOther options are silently ignored" \ |
| - | |
| #define scriptreplay_trivial_usage \ | |
| "timingfile [typescript [divisor]]" | |
| #define scriptreplay_full_usage "\n\n" \ | |
| @@ -2034,32 +1775,6 @@ INSERT | |
| "\n -l RNG Levelrange" \ | |
| ) | |
| - | #define run_parts_trivial_usage \ |
| - | "[-t] "IF_FEATURE_RUN_PARTS_FANCY("[-l] ")"[-a ARG] [-u MASK] DIRECTORY" |
| - | #define run_parts_full_usage "\n\n" \ |
| - | "Run a bunch of scripts in DIRECTORY\n" \ |
| - | "\nOptions:" \ |
| - | "\n -t Print what would be run, but don't actually run anything" \ |
| - | "\n -a ARG Pass ARG as argument for every program" \ |
| - | "\n -u MASK Set the umask to MASK before running every program" \ |
| - | IF_FEATURE_RUN_PARTS_FANCY( \ |
| - | "\n -l Print names of all matching files even if they are not executable" \ |
| - | ) |
| - | |
| - | #define run_parts_example_usage \ |
| - | "$ run-parts -a start /etc/init.d\n" \ |
| - | "$ run-parts -a stop=now /etc/init.d\n\n" \ |
| - | "Let's assume you have a script foo/dosomething:\n" \ |
| - | "#!/bin/sh\n" \ |
| - | "for i in $*; do eval $i; done; unset i\n" \ |
| - | "case \"$1\" in\n" \ |
| - | "start*) echo starting something;;\n" \ |
| - | "stop*) set -x; shutdown -h $stop;;\n" \ |
| - | "esac\n\n" \ |
| - | "Running this yields:\n" \ |
| - | "$run-parts -a stop=+4m foo/\n" \ |
| - | "+ shutdown -h +4m" |
| - | |
| #define runlevel_trivial_usage \ | |
| "[FILE]" | |
| #define runlevel_full_usage "\n\n" \ | |
| @@ -2102,23 +1817,6 @@ INSERT | |
| "\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 "" | |
| @@ -2205,69 +1903,6 @@ INSERT | |
| "\n -L Enable 3-wire operation" \ | |
| "\n -F Disable RTS/CTS flow control" \ | |
| - | #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 strings_trivial_usage \ | |
| "[-afo] [-n LEN] [FILE]..." | |
| #define strings_full_usage "\n\n" \ | |
| @@ -2278,13 +1913,6 @@ INSERT | |
| "\n -n LEN At least LEN characters form a string (default 4)" \ | |
| "\n -o Precede strings with decimal offsets" \ | |
| - | #define sulogin_trivial_usage \ |
| - | "[-t N] [TTY]" |
| - | #define sulogin_full_usage "\n\n" \ |
| - | "Single user login\n" \ |
| - | "\nOptions:" \ |
| - | "\n -t N Timeout" \ |
| - | |
| #define sv_trivial_usage \ | |
| "[-v] [-w SEC] CMD SERVICE_DIR..." | |
| #define sv_full_usage "\n\n" \ | |
| @@ -2650,26 +2278,6 @@ INSERT | |
| "\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 \ |
| - | "[-a]" |
| - | #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" \ | |
| @@ -2708,14 +2316,6 @@ INSERT | |
| "\n" \ | |
| "\nUse 500ms to specify period in milliseconds" \ | |
| - | #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 zcip_trivial_usage \ | |
| "[OPTIONS] IFACE SCRIPT" | |
| #define zcip_full_usage "\n\n" \ | |
| @@ -9,6 +9,15 @@ | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| * | |
| */ | |
| + | |
| + | //usage:#define addgroup_trivial_usage |
| + | //usage: "[-g GID] " IF_FEATURE_ADDUSER_TO_GROUP("[USER] ") "GROUP" |
| + | //usage:#define addgroup_full_usage "\n\n" |
| + | //usage: "Add a group " IF_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -g GID Group id" |
| + | //usage: "\n -S Create a system group" |
| + | |
| #include "libbb.h" | |
| #if CONFIG_LAST_SYSTEM_ID < CONFIG_FIRST_SYSTEM_ID | |
| @@ -7,6 +7,21 @@ | |
| * | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| + | |
| + | //usage:#define adduser_trivial_usage |
| + | //usage: "[OPTIONS] USER" |
| + | //usage:#define adduser_full_usage "\n\n" |
| + | //usage: "Add a user\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -h DIR Home directory" |
| + | //usage: "\n -g GECOS GECOS field" |
| + | //usage: "\n -s SHELL Login shell" |
| + | //usage: "\n -G GRP Add user to existing group" |
| + | //usage: "\n -S Create a system user" |
| + | //usage: "\n -D Don't assign a password" |
| + | //usage: "\n -H Don't create home directory" |
| + | //usage: "\n -u UID User id" |
| + | |
| #include "libbb.h" | |
| #if CONFIG_LAST_SYSTEM_ID < CONFIG_FIRST_SYSTEM_ID | |
| @@ -7,6 +7,20 @@ | |
| */ | |
| #include "libbb.h" | |
| + | //usage:#define chpasswd_trivial_usage |
| + | //usage: IF_LONG_OPTS("[--md5|--encrypted]") IF_NOT_LONG_OPTS("[-m|-e]") |
| + | //usage:#define chpasswd_full_usage "\n\n" |
| + | //usage: "Read user:password from stdin and update /etc/passwd\n" |
| + | //usage: "\nOptions:" |
| + | //usage: IF_LONG_OPTS( |
| + | //usage: "\n -e,--encrypted Supplied passwords are in encrypted form" |
| + | //usage: "\n -m,--md5 Use MD5 encryption instead of DES" |
| + | //usage: ) |
| + | //usage: IF_NOT_LONG_OPTS( |
| + | //usage: "\n -e Supplied passwords are in encrypted form" |
| + | //usage: "\n -m Use MD5 encryption instead of DES" |
| + | //usage: ) |
| + | |
| #if ENABLE_LONG_OPTS | |
| static const char chpasswd_longopts[] ALIGN1 = | |
| "encrypted\0" No_argument "e" | |
| @@ -10,6 +10,45 @@ | |
| * Licensed under GPLv2, see file LICENSE in this source tree. | |
| */ | |
| + | //usage:#define cryptpw_trivial_usage |
| + | //usage: "[OPTIONS] [PASSWORD] [SALT]" |
| + | /* We do support -s, we just don't mention it */ |
| + | //usage:#define cryptpw_full_usage "\n\n" |
| + | //usage: "Crypt the PASSWORD using crypt(3)\n" |
| + | //usage: "\nOptions:" |
| + | //usage: IF_LONG_OPTS( |
| + | //usage: "\n -P,--password-fd=N Read password from fd N" |
| + | /* //usage: "\n -s,--stdin Use stdin; like -P0" */ |
| + | //usage: "\n -m,--method=TYPE Encryption method TYPE" |
| + | //usage: "\n -S,--salt=SALT" |
| + | //usage: ) |
| + | //usage: IF_NOT_LONG_OPTS( |
| + | //usage: "\n -P N Read password from fd N" |
| + | /* //usage: "\n -s Use stdin; like -P0" */ |
| + | //usage: "\n -m TYPE Encryption method TYPE" |
| + | //usage: "\n -S SALT" |
| + | //usage: ) |
| + | |
| + | /* mkpasswd is an alias to cryptpw */ |
| + | //usage:#define mkpasswd_trivial_usage |
| + | //usage: "[OPTIONS] [PASSWORD] [SALT]" |
| + | /* We do support -s, we just don't mention it */ |
| + | //usage:#define mkpasswd_full_usage "\n\n" |
| + | //usage: "Crypt the PASSWORD using crypt(3)\n" |
| + | //usage: "\nOptions:" |
| + | //usage: IF_LONG_OPTS( |
| + | //usage: "\n -P,--password-fd=N Read password from fd N" |
| + | /* //usage: "\n -s,--stdin Use stdin; like -P0" */ |
| + | //usage: "\n -m,--method=TYPE Encryption method TYPE" |
| + | //usage: "\n -S,--salt=SALT" |
| + | //usage: ) |
| + | //usage: IF_NOT_LONG_OPTS( |
| + | //usage: "\n -P N Read password from fd N" |
| + | /* //usage: "\n -s Use stdin; like -P0" */ |
| + | //usage: "\n -m TYPE Encryption method TYPE" |
| + | //usage: "\n -S SALT" |
| + | //usage: ) |
| + | |
| #include "libbb.h" | |
| /* Debian has 'mkpasswd' utility, manpage says: | |
| @@ -9,6 +9,18 @@ | |
| * Licensed under GPLv2, see file LICENSE in this source tree. | |
| * | |
| */ | |
| + | |
| + | //usage:#define deluser_trivial_usage |
| + | //usage: "USER" |
| + | //usage:#define deluser_full_usage "\n\n" |
| + | //usage: "Delete USER from the system" |
| + | |
| + | //usage:#define delgroup_trivial_usage |
| + | //usage: IF_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" |
| + | //usage:#define delgroup_full_usage "\n\n" |
| + | //usage: "Delete group GROUP from the system" |
| + | //usage: IF_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") |
| + | |
| #include "libbb.h" | |
| int deluser_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | |
| @@ -2,6 +2,16 @@ | |
| /* | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| + | |
| + | //usage:#define login_trivial_usage |
| + | //usage: "[-p] [-h HOST] [[-f] USER]" |
| + | //usage:#define login_full_usage "\n\n" |
| + | //usage: "Begin a new session on the system\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -f Don't authenticate (user already authenticated)" |
| + | //usage: "\n -h Name of the remote host" |
| + | //usage: "\n -p Preserve environment" |
| + | |
| #include "libbb.h" | |
| #include <syslog.h> | |
| #include <sys/resource.h> | |
| @@ -2,6 +2,18 @@ | |
| /* | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| + | |
| + | //usage:#define passwd_trivial_usage |
| + | //usage: "[OPTIONS] [USER]" |
| + | //usage:#define passwd_full_usage "\n\n" |
| + | //usage: "Change USER's password. If no USER is specified,\n" |
| + | //usage: "changes the password for the current user.\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -a ALG Algorithm to use for password (des, md5)" /* ", sha1)" */ |
| + | //usage: "\n -d Delete password for the account" |
| + | //usage: "\n -l Lock (disable) account" |
| + | //usage: "\n -u Unlock (re-enable) account" |
| + | |
| #include "libbb.h" | |
| #include <syslog.h> | |
| @@ -5,6 +5,13 @@ | |
| * Licensed under GPLv2 or later, see file LICENSE in this source tree. | |
| */ | |
| + | //usage:#define sulogin_trivial_usage |
| + | //usage: "[-t N] [TTY]" |
| + | //usage:#define sulogin_full_usage "\n\n" |
| + | //usage: "Single user login\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -t N Timeout" |
| + | |
| #include "libbb.h" | |
| #include <syslog.h> | |
| @@ -15,6 +15,13 @@ | |
| /* Fixed by Erik Andersen to do passwords the tinylogin way... | |
| * It now works with md5, sha1, etc passwords. */ | |
| + | //usage:#define vlock_trivial_usage |
| + | //usage: "[-a]" |
| + | //usage:#define vlock_full_usage "\n\n" |
| + | //usage: "Lock a virtual terminal. A password is required to unlock.\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -a Lock all VTs" |
| + | |
| #include "libbb.h" | |
| #ifdef __linux__ | |
| @@ -7,6 +7,33 @@ | |
| * | |
| * Licensed under GPLv2, see file LICENSE in this source tree. | |
| */ | |
| + | |
| + | //usage:#define makemime_trivial_usage |
| + | //usage: "[OPTIONS] [FILE]..." |
| + | //usage:#define makemime_full_usage "\n\n" |
| + | //usage: "Create multipart MIME-encoded message from FILEs\n" |
| + | /* //usage: "Transfer encoding is base64, disposition is inline (not attachment)\n" */ |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -o FILE Output. Default: stdout" |
| + | //usage: "\n -a HDR Add header. Examples:" |
| + | //usage: "\n \"From: [email protected]\", \"Date: `date -R`\"" |
| + | //usage: "\n -c CT Content type. Default: text/plain" |
| + | //usage: "\n -C CS Charset. Default: " CONFIG_FEATURE_MIME_CHARSET |
| + | /* //usage: "\n -e ENC Transfer encoding. Ignored. base64 is assumed" */ |
| + | //usage: "\n" |
| + | //usage: "\nOther options are silently ignored" |
| + | |
| + | //usage:#define reformime_trivial_usage |
| + | //usage: "[OPTIONS] [FILE]..." |
| + | //usage:#define reformime_full_usage "\n\n" |
| + | //usage: "Parse MIME-encoded message\n" |
| + | //usage: "\nOptions:" |
| + | //usage: "\n -x PREFIX Extract content of MIME sections to files" |
| + | //usage: "\n -X PROG ARGS Filter content of MIME sections through PROG" |
| + | //usage: "\n Must be the last option" |
| + | //usage: "\n" |
| + | //usage: "\nOther options are silently ignored" |
| + | |
| #include "libbb.h" | |
| #include "mail.h" | |
| @@ -9,6 +9,40 @@ | |
| * | |
| * Licensed under GPLv2, see file LICENSE in this source tree. | |
| */ | |
| + | |
| + | //usage:#define popmaildir_trivial_usage |
| + | //usage: "[OPTIONS] MAILDIR [CONN_HELPER ARGS]" |
| + | //usage:#define popmaildir_full_usage "\n\n" |
| + | //usage: "Fetch content of remote mailbox to local maildir\n" |
| + | //usage: "\nOptions:" |
| + | /* //usage: "\n -b Binary mode. Ignored" */ |
| + | /* //usage: "\n -d Debug. Ignored" */ |
| + | /* //usage: "\n -m Show used memory. Ignored" */ |
| + | /* //usage: "\n -V Show version. Ignored" */ |
| + | /* //usage: "\n -c Use tcpclient. Ignored" */ |
| + | /* //usage: "\n -a Use APOP protocol. Implied. If server supports APOP -> use it" */ |
| + | //usage: "\n -s Skip authorization" |
| + | //usage: "\n -T Get messages with TOP instead of RETR" |
| + | //usage: "\n -k Keep retrieved messages on the server" |
| + | //usage: "\n -t SEC Network timeout" |
| + | //usage: IF_FEATURE_POPMAILDIR_DELIVERY( |
| + | //usage: "\n -F \"PROG ARGS\" Filter program (may be repeated)" |
| + | //usage: "\n -M \"PROG ARGS\" Delivery program" |
| + | //usage: ) |
| + | //usage: "\n" |
| + | //usage: "\nFetch from plain POP3 server:" |
| + | //usage: "\npopmaildir -k DIR nc pop3.server.com 110 <user_and_pass.txt" |
| + | //usage: "\nFetch from SSLed POP3 server and delete fetched emails:" |
| + | //usage: "\npopmaildir DIR -- openssl s_client -quiet -connect pop3.server.com:995 <user_and_pass.txt" |
| + | /* //usage: "\n -R BYTES Remove old messages on the server >= BYTES. Ignored" */ |
| + | /* //usage: "\n -Z N1-N2 Remove messages from N1 to N2 (dangerous). Ignored" */ |
| + | /* //usage: "\n -L BYTES Don't retrieve new messages >= BYTES. Ignored" */ |
| + | /* //usage: "\n -H LINES Type first LINES of a message. Ignored" */ |
| + | //usage: |
| + | //usage:#define popmaildir_example_usage |
| + | //usage: "$ popmaildir -k ~/Maildir -- nc pop.drvv.ru 110 [<password_file]\n" |
| + | //usage: "$ popmaildir ~/Maildir -- openssl s_client -quiet -connect pop.gmail.com:995 [<password_file]\n" |
| + | |
| #include "libbb.h" | |
| #include "mail.h" | |