aboutsummaryrefslogtreecommitdiff
path: root/util-linux
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2017-02-08 20:09:29 +0000
committerRon Yorston <rmy@pobox.com>2017-02-08 20:09:29 +0000
commit373275a708bafb88fa4f0519de2166154f44fed9 (patch)
tree4587b4fd3f695e0f3705b2a217e199f3144df931 /util-linux
parentb74b2619779b1deb903b7766261807df1e9b1f7f (diff)
parentc2b18583a3df06aeecf535c3cea6856aa1f2e205 (diff)
downloadbusybox-w32-373275a708bafb88fa4f0519de2166154f44fed9.tar.gz
busybox-w32-373275a708bafb88fa4f0519de2166154f44fed9.tar.bz2
busybox-w32-373275a708bafb88fa4f0519de2166154f44fed9.zip
Merge branch 'busybox' into merge
Diffstat (limited to 'util-linux')
-rw-r--r--util-linux/Config.src2
-rw-r--r--util-linux/dmesg.c2
-rw-r--r--util-linux/fbset.c4
-rw-r--r--util-linux/fdisk.c6
-rw-r--r--util-linux/freeramdisk.c1
-rw-r--r--util-linux/fsck_minix.c6
-rw-r--r--util-linux/fstrim.c6
-rw-r--r--util-linux/getopt.c8
-rw-r--r--util-linux/hexdump.c40
-rw-r--r--util-linux/hexdump_xxd.c146
-rw-r--r--util-linux/hwclock.c4
-rw-r--r--util-linux/mkfs_ext2.c3
-rw-r--r--util-linux/mkfs_minix.c1
-rw-r--r--util-linux/mkfs_vfat.c3
-rw-r--r--util-linux/more.c106
-rw-r--r--util-linux/mount.c4
-rw-r--r--util-linux/nsenter.c26
-rw-r--r--util-linux/rdate.c38
-rw-r--r--util-linux/rtcwake.c8
-rw-r--r--util-linux/setarch.c1
-rw-r--r--util-linux/swaponoff.c3
-rw-r--r--util-linux/umount.c4
-rw-r--r--util-linux/unshare.c16
-rw-r--r--util-linux/volume_id/bcache.c4
-rw-r--r--util-linux/volume_id/btrfs.c4
-rw-r--r--util-linux/volume_id/cramfs.c4
-rw-r--r--util-linux/volume_id/exfat.c2
-rw-r--r--util-linux/volume_id/ext.c4
-rw-r--r--util-linux/volume_id/f2fs.c2
-rw-r--r--util-linux/volume_id/fat.c4
-rw-r--r--util-linux/volume_id/hfs.c4
-rw-r--r--util-linux/volume_id/iso9660.c4
-rw-r--r--util-linux/volume_id/jfs.c4
-rw-r--r--util-linux/volume_id/linux_raid.c4
-rw-r--r--util-linux/volume_id/linux_swap.c4
-rw-r--r--util-linux/volume_id/luks.c4
-rw-r--r--util-linux/volume_id/nilfs.c2
-rw-r--r--util-linux/volume_id/ntfs.c4
-rw-r--r--util-linux/volume_id/ocfs2.c4
-rw-r--r--util-linux/volume_id/reiserfs.c4
-rw-r--r--util-linux/volume_id/romfs.c4
-rw-r--r--util-linux/volume_id/squashfs.c2
-rw-r--r--util-linux/volume_id/sysv.c4
-rw-r--r--util-linux/volume_id/ubifs.c2
-rw-r--r--util-linux/volume_id/udf.c4
-rw-r--r--util-linux/volume_id/unused_highpoint.c4
-rw-r--r--util-linux/volume_id/unused_hpfs.c4
-rw-r--r--util-linux/volume_id/unused_isw_raid.c4
-rw-r--r--util-linux/volume_id/unused_lsi_raid.c4
-rw-r--r--util-linux/volume_id/unused_lvm.c4
-rw-r--r--util-linux/volume_id/unused_mac.c4
-rw-r--r--util-linux/volume_id/unused_minix.c4
-rw-r--r--util-linux/volume_id/unused_msdos.c4
-rw-r--r--util-linux/volume_id/unused_nvidia_raid.c4
-rw-r--r--util-linux/volume_id/unused_promise_raid.c4
-rw-r--r--util-linux/volume_id/unused_silicon_raid.c4
-rw-r--r--util-linux/volume_id/unused_ufs.c4
-rw-r--r--util-linux/volume_id/unused_via_raid.c4
-rw-r--r--util-linux/volume_id/xfs.c4
59 files changed, 295 insertions, 277 deletions
diff --git a/util-linux/Config.src b/util-linux/Config.src
index 3c522f948..0971d714a 100644
--- a/util-linux/Config.src
+++ b/util-linux/Config.src
@@ -40,7 +40,7 @@ config FEATURE_MOUNT_LOOP_CREATE
40 if it does not find a free one. 40 if it does not find a free one.
41 41
42config FEATURE_MTAB_SUPPORT 42config FEATURE_MTAB_SUPPORT
43 bool "Support for the old /etc/mtab file" 43 bool "Support old /etc/mtab file"
44 default n 44 default n
45 depends on MOUNT || UMOUNT 45 depends on MOUNT || UMOUNT
46 select FEATURE_MOUNT_FAKE 46 select FEATURE_MOUNT_FAKE
diff --git a/util-linux/dmesg.c b/util-linux/dmesg.c
index b7b2c6924..c3574f8f5 100644
--- a/util-linux/dmesg.c
+++ b/util-linux/dmesg.c
@@ -22,7 +22,7 @@
22//config: wish to enable the 'dmesg' utility. 22//config: wish to enable the 'dmesg' utility.
23//config: 23//config:
24//config:config FEATURE_DMESG_PRETTY 24//config:config FEATURE_DMESG_PRETTY
25//config: bool "Pretty dmesg output" 25//config: bool "Pretty output"
26//config: default y 26//config: default y
27//config: depends on DMESG 27//config: depends on DMESG
28//config: help 28//config: help
diff --git a/util-linux/fbset.c b/util-linux/fbset.c
index 8a78c1ef9..673bf9aa4 100644
--- a/util-linux/fbset.c
+++ b/util-linux/fbset.c
@@ -22,7 +22,7 @@
22//config: if you wish to enable the 'fbset' utility. 22//config: if you wish to enable the 'fbset' utility.
23//config: 23//config:
24//config:config FEATURE_FBSET_FANCY 24//config:config FEATURE_FBSET_FANCY
25//config: bool "Turn on extra fbset options" 25//config: bool "Enable extra options"
26//config: default y 26//config: default y
27//config: depends on FBSET 27//config: depends on FBSET
28//config: help 28//config: help
@@ -32,7 +32,7 @@
32//config: options. 32//config: options.
33//config: 33//config:
34//config:config FEATURE_FBSET_READMODE 34//config:config FEATURE_FBSET_READMODE
35//config: bool "Turn on fbset readmode support" 35//config: bool "Enable readmode support"
36//config: default y 36//config: default y
37//config: depends on FBSET 37//config: depends on FBSET
38//config: help 38//config: help
diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c
index b988e65a9..916d4e30e 100644
--- a/util-linux/fdisk.c
+++ b/util-linux/fdisk.c
@@ -21,8 +21,6 @@
21//config: default y 21//config: default y
22//config: depends on FDISK 22//config: depends on FDISK
23//config: depends on !LFS # with LFS no special code is needed 23//config: depends on !LFS # with LFS no special code is needed
24//config: help
25//config: Enable this option to support large disks > 4GB.
26//config: 24//config:
27//config:config FEATURE_FDISK_WRITABLE 25//config:config FEATURE_FDISK_WRITABLE
28//config: bool "Write support" 26//config: bool "Write support"
@@ -105,8 +103,8 @@
105//usage: ) 103//usage: )
106//usage: "\n -b 2048 (for certain MO disks) use 2048-byte sectors" 104//usage: "\n -b 2048 (for certain MO disks) use 2048-byte sectors"
107//usage: "\n -C CYLINDERS Set number of cylinders/heads/sectors" 105//usage: "\n -C CYLINDERS Set number of cylinders/heads/sectors"
108//usage: "\n -H HEADS" 106//usage: "\n -H HEADS Typically 255"
109//usage: "\n -S SECTORS" 107//usage: "\n -S SECTORS Typically 63"
110 108
111#ifndef _LARGEFILE64_SOURCE 109#ifndef _LARGEFILE64_SOURCE
112/* For lseek64 */ 110/* For lseek64 */
diff --git a/util-linux/freeramdisk.c b/util-linux/freeramdisk.c
index 8bc2c443b..28148fcbe 100644
--- a/util-linux/freeramdisk.c
+++ b/util-linux/freeramdisk.c
@@ -33,6 +33,7 @@
33//config: ramdisk. If you have no use for freeing memory from a ramdisk, leave 33//config: ramdisk. If you have no use for freeing memory from a ramdisk, leave
34//config: this disabled. 34//config: this disabled.
35 35
36// APPLET_ODDNAME:name main location suid_type help
36//applet:IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, BB_DIR_BIN, BB_SUID_DROP, fdflush)) 37//applet:IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, BB_DIR_BIN, BB_SUID_DROP, fdflush))
37//applet:IF_FREERAMDISK(APPLET(freeramdisk, BB_DIR_SBIN, BB_SUID_DROP)) 38//applet:IF_FREERAMDISK(APPLET(freeramdisk, BB_DIR_SBIN, BB_SUID_DROP))
38 39
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c
index 0eaac17c0..2ab7530ea 100644
--- a/util-linux/fsck_minix.c
+++ b/util-linux/fsck_minix.c
@@ -1226,7 +1226,6 @@ void check2(void);
1226int fsck_minix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 1226int fsck_minix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
1227int fsck_minix_main(int argc UNUSED_PARAM, char **argv) 1227int fsck_minix_main(int argc UNUSED_PARAM, char **argv)
1228{ 1228{
1229 struct termios tmp;
1230 int retcode = 0; 1229 int retcode = 0;
1231 1230
1232 xfunc_error_retval = 8; 1231 xfunc_error_retval = 8;
@@ -1271,10 +1270,7 @@ int fsck_minix_main(int argc UNUSED_PARAM, char **argv)
1271 read_tables(); 1270 read_tables();
1272 1271
1273 if (OPT_manual) { 1272 if (OPT_manual) {
1274 tcgetattr(0, &sv_termios); 1273 set_termios_to_raw(STDIN_FILENO, &sv_termios, 0);
1275 tmp = sv_termios;
1276 tmp.c_lflag &= ~(ICANON | ECHO);
1277 tcsetattr_stdin_TCSANOW(&tmp);
1278 termios_set = 1; 1274 termios_set = 1;
1279 } 1275 }
1280 1276
diff --git a/util-linux/fstrim.c b/util-linux/fstrim.c
index fc51878b6..563aa9720 100644
--- a/util-linux/fstrim.c
+++ b/util-linux/fstrim.c
@@ -23,9 +23,9 @@
23//usage: "[OPTIONS] MOUNTPOINT" 23//usage: "[OPTIONS] MOUNTPOINT"
24//usage:#define fstrim_full_usage "\n\n" 24//usage:#define fstrim_full_usage "\n\n"
25//usage: IF_LONG_OPTS( 25//usage: IF_LONG_OPTS(
26//usage: " -o,--offset=OFFSET Offset in bytes to discard from" 26//usage: " -o,--offset OFFSET Offset in bytes to discard from"
27//usage: "\n -l,--length=LEN Bytes to discard" 27//usage: "\n -l,--length LEN Bytes to discard"
28//usage: "\n -m,--minimum=MIN Minimum extent length" 28//usage: "\n -m,--minimum MIN Minimum extent length"
29//usage: "\n -v,--verbose Print number of discarded bytes" 29//usage: "\n -v,--verbose Print number of discarded bytes"
30//usage: ) 30//usage: )
31//usage: IF_NOT_LONG_OPTS( 31//usage: IF_NOT_LONG_OPTS(
diff --git a/util-linux/getopt.c b/util-linux/getopt.c
index f6ecc3dde..63294c520 100644
--- a/util-linux/getopt.c
+++ b/util-linux/getopt.c
@@ -57,13 +57,13 @@
57//usage: IF_LONG_OPTS( 57//usage: IF_LONG_OPTS(
58//usage: IF_FEATURE_GETOPT_LONG( 58//usage: IF_FEATURE_GETOPT_LONG(
59//usage: " -a,--alternative Allow long options starting with single -\n" 59//usage: " -a,--alternative Allow long options starting with single -\n"
60//usage: " -l,--longoptions=LOPT[,...] Long options to recognize\n" 60//usage: " -l,--longoptions LOPT[,...] Long options to recognize\n"
61//usage: ) 61//usage: )
62//usage: " -n,--name=PROGNAME The name under which errors are reported" 62//usage: " -n,--name PROGNAME The name under which errors are reported"
63//usage: "\n -o,--options=OPTSTRING Short options to recognize" 63//usage: "\n -o,--options OPTSTRING Short options to recognize"
64//usage: "\n -q,--quiet No error messages on unrecognized options" 64//usage: "\n -q,--quiet No error messages on unrecognized options"
65//usage: "\n -Q,--quiet-output No normal output" 65//usage: "\n -Q,--quiet-output No normal output"
66//usage: "\n -s,--shell=SHELL Set shell quoting conventions" 66//usage: "\n -s,--shell SHELL Set shell quoting conventions"
67//usage: "\n -T,--test Version test (exits with 4)" 67//usage: "\n -T,--test Version test (exits with 4)"
68//usage: "\n -u,--unquoted Don't quote output" 68//usage: "\n -u,--unquoted Don't quote output"
69//usage: ) 69//usage: )
diff --git a/util-linux/hexdump.c b/util-linux/hexdump.c
index 4a7f641db..25f771201 100644
--- a/util-linux/hexdump.c
+++ b/util-linux/hexdump.c
@@ -41,19 +41,21 @@
41//usage: "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..." 41//usage: "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..."
42//usage:#define hexdump_full_usage "\n\n" 42//usage:#define hexdump_full_usage "\n\n"
43//usage: "Display FILEs (or stdin) in a user specified format\n" 43//usage: "Display FILEs (or stdin) in a user specified format\n"
44//usage: "\n -b One-byte octal display" 44//usage: "\n -b 1-byte octal display"
45//usage: "\n -c One-byte character display" 45//usage: "\n -c 1-byte character display"
46//usage: "\n -C Canonical hex+ASCII, 16 bytes per line" 46//usage: "\n -d 2-byte decimal display"
47//usage: "\n -d Two-byte decimal display" 47//usage: "\n -o 2-byte octal display"
48//usage: "\n -e FORMAT_STRING" 48//usage: "\n -x 2-byte hex display"
49//usage: "\n -C hex+ASCII 16 bytes per line"
50//usage: "\n -v Show all (no dup folding)"
51//usage: "\n -e FORMAT_STR Example: '16/1 \"%02x|\"\"\\n\"'"
49//usage: "\n -f FORMAT_FILE" 52//usage: "\n -f FORMAT_FILE"
50//usage: "\n -n LENGTH Interpret only LENGTH bytes of input" 53// exactly the same help text lines in hexdump and xxd:
51//usage: "\n -o Two-byte octal display" 54//usage: "\n -n LENGTH Show only first LENGTH bytes"
52//usage: "\n -s OFFSET Skip OFFSET bytes" 55//usage: "\n -s OFFSET Skip OFFSET bytes"
53//usage: "\n -v Display all input data"
54//usage: "\n -x Two-byte hexadecimal display"
55//usage: IF_FEATURE_HEXDUMP_REVERSE( 56//usage: IF_FEATURE_HEXDUMP_REVERSE(
56//usage: "\n -R Reverse of 'hexdump -Cv'") 57//usage: "\n -R Reverse of 'hexdump -Cv'")
58// TODO: NONCOMPAT!!! move -R to xxd -r
57//usage: 59//usage:
58//usage:#define hd_trivial_usage 60//usage:#define hd_trivial_usage
59//usage: "FILE..." 61//usage: "FILE..."
@@ -83,11 +85,11 @@ static void bb_dump_addfile(dumper_t *dumper, char *name)
83} 85}
84 86
85static const char *const add_strings[] = { 87static const char *const add_strings[] = {
86 "\"%07.7_ax \" 16/1 \"%03o \" \"\\n\"", /* b */ 88 "\"%07.7_ax \"16/1 \"%03o \"\"\n\"", /* b */
87 "\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\"", /* c */ 89 "\"%07.7_ax \"16/1 \"%3_c \"\"\n\"", /* c */
88 "\"%07.7_ax \" 8/2 \" %05u \" \"\\n\"", /* d */ 90 "\"%07.7_ax \"8/2 \" %05u \"\"\n\"", /* d */
89 "\"%07.7_ax \" 8/2 \" %06o \" \"\\n\"", /* o */ 91 "\"%07.7_ax \"8/2 \" %06o \"\"\n\"", /* o */
90 "\"%07.7_ax \" 8/2 \" %04x \" \"\\n\"", /* x */ 92 "\"%07.7_ax \"8/2 \" %04x \"\"\n\"", /* x */
91}; 93};
92 94
93static const char add_first[] ALIGN1 = "\"%07.7_Ax\n\""; 95static const char add_first[] ALIGN1 = "\"%07.7_Ax\n\"";
@@ -125,9 +127,11 @@ int hexdump_main(int argc, char **argv)
125 /* Save a little bit of space below by omitting the 'else's. */ 127 /* Save a little bit of space below by omitting the 'else's. */
126 if (ch == 'C') { 128 if (ch == 'C') {
127 hd_applet: 129 hd_applet:
128 bb_dump_add(dumper, "\"%08.8_Ax\n\""); 130 bb_dump_add(dumper, "\"%08.8_Ax\n\""); // final address line after dump
129 bb_dump_add(dumper, "\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" "); 131 //------------------- "address " 8 * "xx " " " 8 * "xx "
130 bb_dump_add(dumper, "\" |\" 16/1 \"%_p\" \"|\\n\""); 132 bb_dump_add(dumper, "\"%08.8_ax \"8/1 \"%02x \"\" \"8/1 \"%02x \"");
133 //------------------- " |ASCII...........|\n"
134 bb_dump_add(dumper, "\" |\"16/1 \"%_p\"\"|\n\"");
131 } 135 }
132 if (ch == 'e') { 136 if (ch == 'e') {
133 bb_dump_add(dumper, optarg); 137 bb_dump_add(dumper, optarg);
@@ -158,7 +162,7 @@ int hexdump_main(int argc, char **argv)
158 162
159 if (!dumper->fshead) { 163 if (!dumper->fshead) {
160 bb_dump_add(dumper, add_first); 164 bb_dump_add(dumper, add_first);
161 bb_dump_add(dumper, "\"%07.7_ax \" 8/2 \"%04x \" \"\\n\""); 165 bb_dump_add(dumper, "\"%07.7_ax \"8/2 \"%04x \"\"\n\"");
162 } 166 }
163 167
164 argv += optind; 168 argv += optind;
diff --git a/util-linux/hexdump_xxd.c b/util-linux/hexdump_xxd.c
new file mode 100644
index 000000000..be4b4f354
--- /dev/null
+++ b/util-linux/hexdump_xxd.c
@@ -0,0 +1,146 @@
1/* vi: set sw=4 ts=4: */
2/*
3 * xxd implementation for busybox
4 *
5 * Copyright (c) 2017 Denys Vlasenko <vda.linux@gmail.com>
6 *
7 * Licensed under GPLv2, see file LICENSE in this source tree.
8 */
9//config:config XXD
10//config: bool "xxd"
11//config: default y
12//config: help
13//config: The xxd utility is used to display binary data in a readable
14//config: way that is comparable to the output from most hex editors.
15
16//applet:IF_XXD(APPLET_NOEXEC(xxd, xxd, BB_DIR_USR_BIN, BB_SUID_DROP, xxd))
17
18//kbuild:lib-$(CONFIG_XXD) += hexdump_xxd.o
19
20// $ xxd --version
21// xxd V1.10 27oct98 by Juergen Weigert
22// $ xxd --help
23// Usage:
24// xxd [options] [infile [outfile]]
25// or
26// xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]
27// Options:
28// -a toggle autoskip: A single '*' replaces nul-lines. Default off.
29// -b binary digit dump (incompatible with -ps,-i,-r). Default hex.
30// -c cols format <cols> octets per line. Default 16 (-i: 12, -ps: 30).
31// -E show characters in EBCDIC. Default ASCII.
32// -e little-endian dump (incompatible with -ps,-i,-r).
33// -g number of octets per group in normal output. Default 2 (-e: 4).
34// -i output in C include file style.
35// -l len stop after <len> octets.
36// -o off add <off> to the displayed file position.
37// -ps output in postscript plain hexdump style.
38// -r reverse operation: convert (or patch) hexdump into binary.
39// -r -s off revert with <off> added to file positions found in hexdump.
40// -s [+][-]seek start at <seek> bytes abs. (or +: rel.) infile offset.
41// -u use upper case hex letters.
42
43//usage:#define xxd_trivial_usage
44//usage: "[OPTIONS] [FILE]"
45//usage:#define xxd_full_usage "\n\n"
46//usage: "Hex dump FILE (or stdin)\n"
47//usage: "\n -g N Bytes per group"
48//usage: "\n -c N Bytes per line"
49//usage: "\n -p Show only hex bytes, assumes -c30"
50// exactly the same help text lines in hexdump and xxd:
51//usage: "\n -l LENGTH Show only first LENGTH bytes"
52//usage: "\n -s OFFSET Skip OFFSET bytes"
53// TODO: implement -r (see hexdump -R)
54
55#include "libbb.h"
56#include "dump.h"
57
58/* This is a NOEXEC applet. Be very careful! */
59
60int xxd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
61int xxd_main(int argc UNUSED_PARAM, char **argv)
62{
63 char buf[80];
64 dumper_t *dumper;
65 char *opt_l, *opt_s;
66 unsigned bytes = 2;
67 unsigned cols = 0;
68 unsigned opt;
69
70 dumper = alloc_dumper();
71
72#define OPT_l (1 << 0)
73#define OPT_s (1 << 1)
74#define OPT_a (1 << 2)
75#define OPT_p (1 << 3)
76 opt_complementary = "?1"; /* 1 argument max */
77 opt = getopt32(argv, "l:s:apg:+c:+", &opt_l, &opt_s, &bytes, &cols);
78 argv += optind;
79
80 dumper->dump_vflag = ALL;
81// if (opt & OPT_a)
82// dumper->dump_vflag = SKIPNUL; ..does not exist
83 if (opt & OPT_l) {
84 dumper->dump_length = xstrtou_range(
85 opt_l,
86 /*base:*/ 0,
87 /*lo:*/ 0, /*hi:*/ INT_MAX
88 );
89 }
90 if (opt & OPT_s) {
91 dumper->dump_skip = xstrtoull_range(
92 opt_s,
93 /*base:*/ 0,
94 /*lo:*/ 0, /*hi:*/ OFF_T_MAX
95 );
96 //BUGGY for /proc/version (unseekable?)
97 }
98
99 if (opt & OPT_p) {
100 if (cols == 0)
101 cols = 30;
102 bytes = cols; /* -p ignores -gN */
103 } else {
104 if (cols == 0)
105 cols = 16;
106 bb_dump_add(dumper, "\"%08.8_ax: \""); // "address: "
107 }
108
109 if (bytes < 1 || bytes >= cols) {
110 sprintf(buf, "%u/1 \"%%02x\"", cols); // cols * "xx"
111 bb_dump_add(dumper, buf);
112 }
113 else if (bytes == 1) {
114 sprintf(buf, "%u/1 \"%%02x \"", cols); // cols * "xx "
115 bb_dump_add(dumper, buf);
116 }
117 else {
118/* Format "print byte" with and without trailing space */
119#define BS "/1 \"%02x \""
120#define B "/1 \"%02x\""
121 unsigned i;
122 char *bigbuf = xmalloc(cols * (sizeof(BS)-1));
123 char *p = bigbuf;
124 for (i = 1; i <= cols; i++) {
125 if (i == cols || i % bytes)
126 p = stpcpy(p, B);
127 else
128 p = stpcpy(p, BS);
129 }
130 // for -g3, this results in B B BS B B BS... B = "xxxxxx xxxxxx .....xx"
131 // todo: can be more clever and use
132 // one 'bytes-1/1 "%02x"' format instead of many "B B B..." formats
133 //bb_error_msg("ADDED:'%s'", bigbuf);
134 bb_dump_add(dumper, bigbuf);
135 free(bigbuf);
136 }
137
138 if (!(opt & OPT_p)) {
139 sprintf(buf, "\" \"%u/1 \"%%_p\"\"\n\"", cols); // " ASCII\n"
140 bb_dump_add(dumper, buf);
141 } else {
142 bb_dump_add(dumper, "\"\n\"");
143 }
144
145 return bb_dump_dump(dumper, argv);
146}
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c
index 084a7f1e9..d65011a71 100644
--- a/util-linux/hwclock.c
+++ b/util-linux/hwclock.c
@@ -20,10 +20,6 @@
20//config: bool "Support long options (--hctosys,...)" 20//config: bool "Support long options (--hctosys,...)"
21//config: default y 21//config: default y
22//config: depends on HWCLOCK && LONG_OPTS 22//config: depends on HWCLOCK && LONG_OPTS
23//config: help
24//config: By default, the hwclock utility only uses short options. If you
25//config: are overly fond of its long options, such as --hctosys, --utc, etc)
26//config: then enable this option.
27//config: 23//config:
28//config:config FEATURE_HWCLOCK_ADJTIME_FHS 24//config:config FEATURE_HWCLOCK_ADJTIME_FHS
29//config: bool "Use FHS /var/lib/hwclock/adjtime" 25//config: bool "Use FHS /var/lib/hwclock/adjtime"
diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c
index 5816a208e..4a7a878ac 100644
--- a/util-linux/mkfs_ext2.c
+++ b/util-linux/mkfs_ext2.c
@@ -21,7 +21,8 @@
21//config: help 21//config: help
22//config: Alias to "mke2fs". 22//config: Alias to "mke2fs".
23 23
24//applet:IF_MKE2FS(APPLET_ODDNAME(mke2fs, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2)) 24// APPLET_ODDNAME:name main location suid_type help
25//applet:IF_MKE2FS( APPLET_ODDNAME(mke2fs, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2))
25//applet:IF_MKFS_EXT2(APPLET_ODDNAME(mkfs.ext2, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2)) 26//applet:IF_MKFS_EXT2(APPLET_ODDNAME(mkfs.ext2, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2))
26////////:IF_MKFS_EXT3(APPLET_ODDNAME(mkfs.ext3, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2)) 27////////:IF_MKFS_EXT3(APPLET_ODDNAME(mkfs.ext3, mkfs_ext2, BB_DIR_SBIN, BB_SUID_DROP, mkfs_ext2))
27 28
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c
index 912246b93..0dfe34705 100644
--- a/util-linux/mkfs_minix.c
+++ b/util-linux/mkfs_minix.c
@@ -80,6 +80,7 @@
80//config: this. If you enabled 'mkfs_minix' then you almost certainly want to 80//config: this. If you enabled 'mkfs_minix' then you almost certainly want to
81//config: be using the version 2 filesystem support. 81//config: be using the version 2 filesystem support.
82 82
83// APPLET_ODDNAME:name main location suid_type help
83//applet:IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, BB_DIR_SBIN, BB_SUID_DROP, mkfs_minix)) 84//applet:IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, BB_DIR_SBIN, BB_SUID_DROP, mkfs_minix))
84 85
85//kbuild:lib-$(CONFIG_MKFS_MINIX) += mkfs_minix.o 86//kbuild:lib-$(CONFIG_MKFS_MINIX) += mkfs_minix.o
diff --git a/util-linux/mkfs_vfat.c b/util-linux/mkfs_vfat.c
index ab70853a1..1fc943430 100644
--- a/util-linux/mkfs_vfat.c
+++ b/util-linux/mkfs_vfat.c
@@ -21,7 +21,8 @@
21//config: help 21//config: help
22//config: Alias to "mkdosfs". 22//config: Alias to "mkdosfs".
23 23
24//applet:IF_MKDOSFS(APPLET_ODDNAME(mkdosfs, mkfs_vfat, BB_DIR_SBIN, BB_SUID_DROP, mkfs_vfat)) 24// APPLET_ODDNAME:name main location suid_type help
25//applet:IF_MKDOSFS( APPLET_ODDNAME(mkdosfs, mkfs_vfat, BB_DIR_SBIN, BB_SUID_DROP, mkfs_vfat))
25//applet:IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, BB_DIR_SBIN, BB_SUID_DROP, mkfs_vfat)) 26//applet:IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, BB_DIR_SBIN, BB_SUID_DROP, mkfs_vfat))
26 27
27//kbuild:lib-$(CONFIG_MKDOSFS) += mkfs_vfat.o 28//kbuild:lib-$(CONFIG_MKDOSFS) += mkfs_vfat.o
diff --git a/util-linux/more.c b/util-linux/more.c
index d04c17f90..a032a1e7f 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -41,32 +41,33 @@
41#include "libbb.h" 41#include "libbb.h"
42#include "common_bufsiz.h" 42#include "common_bufsiz.h"
43 43
44/* Support for FEATURE_USE_TERMIOS */
45
46struct globals { 44struct globals {
47 int cin_fileno; 45 int tty_fileno;
46 unsigned terminal_width;
47 unsigned terminal_height;
48 struct termios initial_settings; 48 struct termios initial_settings;
49 struct termios new_settings;
50} FIX_ALIASING; 49} FIX_ALIASING;
51#define G (*(struct globals*)bb_common_bufsiz1) 50#define G (*(struct globals*)bb_common_bufsiz1)
52#define initial_settings (G.initial_settings)
53#define new_settings (G.new_settings )
54#define cin_fileno (G.cin_fileno )
55#define INIT_G() do { setup_common_bufsiz(); } while (0) 51#define INIT_G() do { setup_common_bufsiz(); } while (0)
56 52
57#define setTermSettings(fd, argp) \ 53static void get_wh(void)
58do { \ 54{
59 if (ENABLE_FEATURE_USE_TERMIOS) \ 55 /* never returns w, h <= 1 */
60 tcsetattr(fd, TCSANOW, argp); \ 56 get_terminal_width_height(G.tty_fileno, &G.terminal_width, &G.terminal_height);
61} while (0) 57 G.terminal_height -= 1;
62#define getTermSettings(fd, argp) tcgetattr(fd, argp) 58}
59
60static void tcsetattr_tty_TCSANOW(struct termios *settings)
61{
62 tcsetattr(G.tty_fileno, TCSANOW, settings);
63}
63 64
64static void gotsig(int sig UNUSED_PARAM) 65static void gotsig(int sig UNUSED_PARAM)
65{ 66{
66 /* bb_putchar_stderr doesn't use stdio buffering, 67 /* bb_putchar_stderr doesn't use stdio buffering,
67 * therefore it is safe in signal handler */ 68 * therefore it is safe in signal handler */
68 bb_putchar_stderr('\n'); 69 bb_putchar_stderr('\n');
69 setTermSettings(cin_fileno, &initial_settings); 70 tcsetattr_tty_TCSANOW(&G.initial_settings);
70 _exit(EXIT_FAILURE); 71 _exit(EXIT_FAILURE);
71} 72}
72 73
@@ -76,22 +77,16 @@ int more_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
76int more_main(int argc UNUSED_PARAM, char **argv) 77int more_main(int argc UNUSED_PARAM, char **argv)
77{ 78{
78 int c = c; /* for compiler */ 79 int c = c; /* for compiler */
79 int lines;
80 int input = 0; 80 int input = 0;
81 int spaces = 0; 81 int spaces = 0;
82 int please_display_more_prompt; 82 int please_display_more_prompt;
83 struct stat st; 83 FILE *tty;
84 FILE *file;
85 FILE *cin;
86 int len;
87 unsigned terminal_width;
88 unsigned terminal_height;
89 84
90 INIT_G(); 85 INIT_G();
91 86
92 /* Parse options */ 87 /* Parse options */
93 /* Accepted but ignored: */ 88 /* Accepted but ignored: */
94 /* -d Display help instead of ringing bell is pressed */ 89 /* -d Display help instead of ringing bell */
95 /* -f Count logical lines (IOW: long lines are not folded) */ 90 /* -f Count logical lines (IOW: long lines are not folded) */
96 /* -l Do not pause after any line containing a ^L (form feed) */ 91 /* -l Do not pause after any line containing a ^L (form feed) */
97 /* -s Squeeze blank lines into one */ 92 /* -s Squeeze blank lines into one */
@@ -104,29 +99,25 @@ int more_main(int argc UNUSED_PARAM, char **argv)
104 if (!isatty(STDOUT_FILENO)) 99 if (!isatty(STDOUT_FILENO))
105 return bb_cat(argv); 100 return bb_cat(argv);
106#if !ENABLE_PLATFORM_MINGW32 101#if !ENABLE_PLATFORM_MINGW32
107 cin = fopen_for_read(CURRENT_TTY); 102 tty = fopen_for_read(CURRENT_TTY);
108 if (!cin) 103 if (!tty)
109 return bb_cat(argv); 104 return bb_cat(argv);
110#else 105#else
111 cin = stdin; 106 tty = stdin;
112#endif 107#endif
113 108
114 if (ENABLE_FEATURE_USE_TERMIOS) { 109 G.tty_fileno = fileno(tty);
115 cin_fileno = fileno(cin); 110
116 getTermSettings(cin_fileno, &initial_settings); 111 /* Turn on unbuffered input; turn off echoing */
117 new_settings = initial_settings; 112 set_termios_to_raw(G.tty_fileno, &G.initial_settings, 0);
118 new_settings.c_lflag &= ~(ICANON | ECHO); 113 bb_signals(BB_FATAL_SIGS, gotsig);
119 new_settings.c_cc[VMIN] = 1;
120 new_settings.c_cc[VTIME] = 0;
121 setTermSettings(cin_fileno, &new_settings);
122 bb_signals(0
123 + (1 << SIGINT)
124 + (1 << SIGQUIT)
125 + (1 << SIGTERM)
126 , gotsig);
127 }
128 114
129 do { 115 do {
116 struct stat st;
117 FILE *file;
118 int len;
119 int lines;
120
130 file = stdin; 121 file = stdin;
131 if (*argv) { 122 if (*argv) {
132 file = fopen_or_warn(*argv, "r"); 123 file = fopen_or_warn(*argv, "r");
@@ -136,17 +127,20 @@ int more_main(int argc UNUSED_PARAM, char **argv)
136 st.st_size = 0; 127 st.st_size = 0;
137 fstat(fileno(file), &st); 128 fstat(fileno(file), &st);
138 129
139 please_display_more_prompt = 0; 130 get_wh();
140 /* never returns w, h <= 1 */
141 get_terminal_width_height(fileno(cin), &terminal_width, &terminal_height);
142 terminal_height -= 1;
143 131
132 please_display_more_prompt = 0;
144 len = 0; 133 len = 0;
145 lines = 0; 134 lines = 0;
146 while (spaces || (c = getc(file)) != EOF) { 135 for (;;) {
147 int wrap; 136 int wrap;
137
148 if (spaces) 138 if (spaces)
149 spaces--; 139 spaces--;
140 else {
141 c = getc(file);
142 if (c == EOF) break;
143 }
150 loop_top: 144 loop_top:
151 if (input != 'r' && please_display_more_prompt) { 145 if (input != 'r' && please_display_more_prompt) {
152 len = printf("--More-- "); 146 len = printf("--More-- ");
@@ -158,7 +152,6 @@ int more_main(int argc UNUSED_PARAM, char **argv)
158 (int) ((uoff_t)ftello(file) / d), 152 (int) ((uoff_t)ftello(file) / d),
159 st.st_size); 153 st.st_size);
160 } 154 }
161 fflush_all();
162 155
163 /* 156 /*
164 * We've just displayed the "--More--" prompt, so now we need 157 * We've just displayed the "--More--" prompt, so now we need
@@ -166,22 +159,23 @@ int more_main(int argc UNUSED_PARAM, char **argv)
166 */ 159 */
167 for (;;) { 160 for (;;) {
168#if !ENABLE_PLATFORM_MINGW32 161#if !ENABLE_PLATFORM_MINGW32
169 input = getc(cin); 162 fflush_all();
163 input = getc(tty);
170#else 164#else
171 input = _getch(); 165 input = _getch();
172#endif 166#endif
173 input = tolower(input); 167 input = tolower(input);
174 if (!ENABLE_FEATURE_USE_TERMIOS)
175 printf("\033[A"); /* cursor up */
176 /* Erase the last message */ 168 /* Erase the last message */
177 printf("\r%*s\r", len, ""); 169 printf("\r%*s\r", len, "");
178 170
171 if (input == 'q')
172 goto end;
179 /* Due to various multibyte escape 173 /* Due to various multibyte escape
180 * sequences, it's not ok to accept 174 * sequences, it's not ok to accept
181 * any input as a command to scroll 175 * any input as a command to scroll
182 * the screen. We only allow known 176 * the screen. We only allow known
183 * commands, else we show help msg. */ 177 * commands, else we show help msg. */
184 if (input == ' ' || input == '\n' || input == 'q' || input == 'r') 178 if (input == ' ' || input == '\n' || input == 'r')
185 break; 179 break;
186#if ENABLE_PLATFORM_MINGW32 180#if ENABLE_PLATFORM_MINGW32
187 if (input == '\r') 181 if (input == '\r')
@@ -193,15 +187,9 @@ int more_main(int argc UNUSED_PARAM, char **argv)
193 lines = 0; 187 lines = 0;
194 please_display_more_prompt = 0; 188 please_display_more_prompt = 0;
195 189
196 if (input == 'q')
197 goto end;
198
199 /* The user may have resized the terminal. 190 /* The user may have resized the terminal.
200 * Re-read the dimensions. */ 191 * Re-read the dimensions. */
201 if (ENABLE_FEATURE_USE_TERMIOS) { 192 get_wh();
202 get_terminal_width_height(cin_fileno, &terminal_width, &terminal_height);
203 terminal_height -= 1;
204 }
205 } 193 }
206 194
207 /* Crudely convert tabs into spaces, which are 195 /* Crudely convert tabs into spaces, which are
@@ -221,11 +209,11 @@ int more_main(int argc UNUSED_PARAM, char **argv)
221 * see if any characters have been hit in the _input_ stream. This 209 * see if any characters have been hit in the _input_ stream. This
222 * allows the user to quit while in the middle of a file. 210 * allows the user to quit while in the middle of a file.
223 */ 211 */
224 wrap = (++len > terminal_width); 212 wrap = (++len > G.terminal_width);
225 if (c == '\n' || wrap) { 213 if (c == '\n' || wrap) {
226 /* Then outputting this character 214 /* Then outputting this character
227 * will move us to a new line. */ 215 * will move us to a new line. */
228 if (++lines >= terminal_height || input == '\n') 216 if (++lines >= G.terminal_height || input == '\n')
229 please_display_more_prompt = 1; 217 please_display_more_prompt = 1;
230#if ENABLE_PLATFORM_MINGW32 218#if ENABLE_PLATFORM_MINGW32
231 if (input == '\r') 219 if (input == '\r')
@@ -249,6 +237,6 @@ int more_main(int argc UNUSED_PARAM, char **argv)
249 fflush_all(); 237 fflush_all();
250 } while (*argv && *++argv); 238 } while (*argv && *++argv);
251 end: 239 end:
252 setTermSettings(cin_fileno, &initial_settings); 240 tcsetattr_tty_TCSANOW(&G.initial_settings);
253 return 0; 241 return 0;
254} 242}
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 42962b859..f0245f714 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -90,7 +90,7 @@
90//config: 90//config:
91//config:config FEATURE_MOUNT_FLAGS 91//config:config FEATURE_MOUNT_FLAGS
92//config: depends on MOUNT 92//config: depends on MOUNT
93//config: bool "Support lots of -o flags in mount" 93//config: bool "Support lots of -o flags"
94//config: default y 94//config: default y
95//config: help 95//config: help
96//config: Without this, mount only supports ro/rw/remount. With this, it 96//config: Without this, mount only supports ro/rw/remount. With this, it
@@ -2312,7 +2312,7 @@ int mount_main(int argc UNUSED_PARAM, char **argv)
2312 bb_error_msg_and_die(bb_msg_you_must_be_root); 2312 bb_error_msg_and_die(bb_msg_you_must_be_root);
2313 2313
2314 // Does type match? (NULL matches always) 2314 // Does type match? (NULL matches always)
2315 if (!match_fstype(mtcur, fstype)) 2315 if (!fstype_matches(mtcur->mnt_type, fstype))
2316 continue; 2316 continue;
2317 2317
2318 // Skip noauto and swap anyway 2318 // Skip noauto and swap anyway
diff --git a/util-linux/nsenter.c b/util-linux/nsenter.c
index 6834292da..57b218dab 100644
--- a/util-linux/nsenter.c
+++ b/util-linux/nsenter.c
@@ -30,19 +30,19 @@
30//usage: "[OPTIONS] [PROG [ARGS]]" 30//usage: "[OPTIONS] [PROG [ARGS]]"
31//usage:#if ENABLE_FEATURE_NSENTER_LONG_OPTS 31//usage:#if ENABLE_FEATURE_NSENTER_LONG_OPTS
32//usage:#define nsenter_full_usage "\n" 32//usage:#define nsenter_full_usage "\n"
33//usage: "\n -t, --target=PID Target process to get namespaces from" 33//usage: "\n -t,--target PID Target process to get namespaces from"
34//usage: "\n -m, --mount[=FILE] Enter mount namespace" 34//usage: "\n -m,--mount[=FILE] Enter mount namespace"
35//usage: "\n -u, --uts[=FILE] Enter UTS namespace (hostname etc)" 35//usage: "\n -u,--uts[=FILE] Enter UTS namespace (hostname etc)"
36//usage: "\n -i, --ipc[=FILE] Enter System V IPC namespace" 36//usage: "\n -i,--ipc[=FILE] Enter System V IPC namespace"
37//usage: "\n -n, --net[=FILE] Enter network namespace" 37//usage: "\n -n,--net[=FILE] Enter network namespace"
38//usage: "\n -p, --pid[=FILE] Enter pid namespace" 38//usage: "\n -p,--pid[=FILE] Enter pid namespace"
39//usage: "\n -U, --user[=FILE] Enter user namespace" 39//usage: "\n -U,--user[=FILE] Enter user namespace"
40//usage: "\n -S, --setuid=UID Set uid in entered namespace" 40//usage: "\n -S,--setuid UID Set uid in entered namespace"
41//usage: "\n -G, --setgid=GID Set gid in entered namespace" 41//usage: "\n -G,--setgid GID Set gid in entered namespace"
42//usage: "\n --preserve-credentials Don't touch uids or gids" 42//usage: "\n --preserve-credentials Don't touch uids or gids"
43//usage: "\n -r, --root[=DIR] Set root directory" 43//usage: "\n -r,--root[=DIR] Set root directory"
44//usage: "\n -w, --wd[=DIR] Set working directory" 44//usage: "\n -w,--wd[=DIR] Set working directory"
45//usage: "\n -F, --no-fork Don't fork before exec'ing PROG" 45//usage: "\n -F,--no-fork Don't fork before exec'ing PROG"
46//usage:#else 46//usage:#else
47//usage:#define nsenter_full_usage "\n" 47//usage:#define nsenter_full_usage "\n"
48//usage: "\n -t PID Target process to get namespaces from" 48//usage: "\n -t PID Target process to get namespaces from"
diff --git a/util-linux/rdate.c b/util-linux/rdate.c
index 8dd784d3d..960df25d2 100644
--- a/util-linux/rdate.c
+++ b/util-linux/rdate.c
@@ -21,11 +21,11 @@
21//kbuild:lib-$(CONFIG_RDATE) += rdate.o 21//kbuild:lib-$(CONFIG_RDATE) += rdate.o
22 22
23//usage:#define rdate_trivial_usage 23//usage:#define rdate_trivial_usage
24//usage: "[-sp] HOST" 24//usage: "[-s/-p] HOST"
25//usage:#define rdate_full_usage "\n\n" 25//usage:#define rdate_full_usage "\n\n"
26//usage: "Get and possibly set system time from a remote HOST\n" 26//usage: "Set and print time from HOST using RFC 868\n"
27//usage: "\n -s Set system time (default)" 27//usage: "\n -s Only set system time"
28//usage: "\n -p Print time" 28//usage: "\n -p Only print time"
29 29
30#include "libbb.h" 30#include "libbb.h"
31 31
@@ -58,8 +58,22 @@ static time_t askremotedate(const char *host)
58 * the RFC 868 time 2,208,988,800 corresponds to 00:00 1 Jan 1970 GMT 58 * the RFC 868 time 2,208,988,800 corresponds to 00:00 1 Jan 1970 GMT
59 * Subtract the RFC 868 time to get Linux epoch. 59 * Subtract the RFC 868 time to get Linux epoch.
60 */ 60 */
61 61 nett = ntohl(nett) - RFC_868_BIAS;
62 return ntohl(nett) - RFC_868_BIAS; 62
63 if (sizeof(time_t) > 4) {
64 /* Now we have 32-bit lsb of a wider time_t
65 * Imagine that nett = 0x00000001,
66 * current time cur = 0x123ffffffff.
67 * Assuming our time is not some 40 years off,
68 * remote time must be 0x12400000001.
69 * Need to adjust out time by (int32_t)(nett - cur).
70 */
71 time_t cur = time(NULL);
72 int32_t adjust = (int32_t)(nett - (uint32_t)cur);
73 return cur + adjust;
74 }
75 /* This is not going to work, but what can we do */
76 return (time_t)nett;
63} 77}
64 78
65int rdate_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 79int rdate_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
@@ -73,11 +87,15 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
73 87
74 remote_time = askremotedate(argv[optind]); 88 remote_time = askremotedate(argv[optind]);
75 89
76 if (!(flags & 2)) { /* no -p (-s may be present) */ 90 /* Manpages of various Unixes are confusing. What happens is:
77 time_t current_time; 91 * (no opts) set and print time
92 * -s: set time ("do not print the time")
93 * -p: print time ("do not set, just print the remote time")
94 * -sp: print time (that's what we do, not sure this is right)
95 */
78 96
79 time(&current_time); 97 if (!(flags & 2)) { /* no -p (-s may be present) */
80 if (current_time == remote_time) 98 if (time(NULL) == remote_time)
81 bb_error_msg("current time matches remote time"); 99 bb_error_msg("current time matches remote time");
82 else 100 else
83 if (stime(&remote_time) < 0) 101 if (stime(&remote_time) < 0)
diff --git a/util-linux/rtcwake.c b/util-linux/rtcwake.c
index 54fc70583..b63164588 100644
--- a/util-linux/rtcwake.c
+++ b/util-linux/rtcwake.c
@@ -41,10 +41,10 @@
41//usage: "\n -a,--auto Read clock mode from adjtime" 41//usage: "\n -a,--auto Read clock mode from adjtime"
42//usage: "\n -l,--local Clock is set to local time" 42//usage: "\n -l,--local Clock is set to local time"
43//usage: "\n -u,--utc Clock is set to UTC time" 43//usage: "\n -u,--utc Clock is set to UTC time"
44//usage: "\n -d,--device=DEV Specify the RTC device" 44//usage: "\n -d,--device DEV Specify the RTC device"
45//usage: "\n -m,--mode=MODE Set sleep state (default: standby)" 45//usage: "\n -m,--mode MODE Set sleep state (default: standby)"
46//usage: "\n -s,--seconds=SEC Set timeout in SEC seconds from now" 46//usage: "\n -s,--seconds SEC Set timeout in SEC seconds from now"
47//usage: "\n -t,--time=TIME Set timeout to TIME seconds from epoch" 47//usage: "\n -t,--time TIME Set timeout to TIME seconds from epoch"
48//usage: ) 48//usage: )
49//usage: IF_NOT_LONG_OPTS( 49//usage: IF_NOT_LONG_OPTS(
50//usage: "\n -a Read clock mode from adjtime" 50//usage: "\n -a Read clock mode from adjtime"
diff --git a/util-linux/setarch.c b/util-linux/setarch.c
index ec473e9cb..e4124b044 100644
--- a/util-linux/setarch.c
+++ b/util-linux/setarch.c
@@ -31,6 +31,7 @@
31//config: Alias to "setarch linux64". 31//config: Alias to "setarch linux64".
32 32
33//applet:IF_SETARCH(APPLET(setarch, BB_DIR_BIN, BB_SUID_DROP)) 33//applet:IF_SETARCH(APPLET(setarch, BB_DIR_BIN, BB_SUID_DROP))
34// APPLET_ODDNAME:name main location suid_type help
34//applet:IF_LINUX32(APPLET_ODDNAME(linux32, setarch, BB_DIR_BIN, BB_SUID_DROP, linux32)) 35//applet:IF_LINUX32(APPLET_ODDNAME(linux32, setarch, BB_DIR_BIN, BB_SUID_DROP, linux32))
35//applet:IF_LINUX64(APPLET_ODDNAME(linux64, setarch, BB_DIR_BIN, BB_SUID_DROP, linux64)) 36//applet:IF_LINUX64(APPLET_ODDNAME(linux64, setarch, BB_DIR_BIN, BB_SUID_DROP, linux64))
36 37
diff --git a/util-linux/swaponoff.c b/util-linux/swaponoff.c
index b8f4e9447..313ea0ef9 100644
--- a/util-linux/swaponoff.c
+++ b/util-linux/swaponoff.c
@@ -41,7 +41,8 @@
41//config: help 41//config: help
42//config: This option enables the 'swapoff' utility. 42//config: This option enables the 'swapoff' utility.
43 43
44//applet:IF_SWAPON(APPLET_ODDNAME(swapon, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapon)) 44// APPLET_ODDNAME:name main location suid_type help
45//applet:IF_SWAPON( APPLET_ODDNAME(swapon, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapon))
45//applet:IF_SWAPOFF(APPLET_ODDNAME(swapoff, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapoff)) 46//applet:IF_SWAPOFF(APPLET_ODDNAME(swapoff, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapoff))
46 47
47//kbuild:lib-$(CONFIG_SWAPON) += swaponoff.o 48//kbuild:lib-$(CONFIG_SWAPON) += swaponoff.o
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 78eef57a5..c958fd552 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -125,8 +125,8 @@ int umount_main(int argc UNUSED_PARAM, char **argv)
125 } else { 125 } else {
126 setup_common_bufsiz(); 126 setup_common_bufsiz();
127 while (getmntent_r(fp, &me, bb_common_bufsiz1, COMMON_BUFSIZE)) { 127 while (getmntent_r(fp, &me, bb_common_bufsiz1, COMMON_BUFSIZE)) {
128 /* Match fstype if passed */ 128 /* Match fstype (fstype==NULL matches always) */
129 if (!match_fstype(&me, fstype)) 129 if (!fstype_matches(me.mnt_type, fstype))
130 continue; 130 continue;
131 m = xzalloc(sizeof(*m)); 131 m = xzalloc(sizeof(*m));
132 m->next = mtl; 132 m->next = mtl;
diff --git a/util-linux/unshare.c b/util-linux/unshare.c
index bbabeef55..52e8f1421 100644
--- a/util-linux/unshare.c
+++ b/util-linux/unshare.c
@@ -25,14 +25,14 @@
25//usage:#define unshare_trivial_usage 25//usage:#define unshare_trivial_usage
26//usage: "[OPTIONS] [PROG [ARGS]]" 26//usage: "[OPTIONS] [PROG [ARGS]]"
27//usage:#define unshare_full_usage "\n" 27//usage:#define unshare_full_usage "\n"
28//usage: "\n -m, --mount[=FILE] Unshare mount namespace" 28//usage: "\n -m,--mount[=FILE] Unshare mount namespace"
29//usage: "\n -u, --uts[=FILE] Unshare UTS namespace (hostname etc.)" 29//usage: "\n -u,--uts[=FILE] Unshare UTS namespace (hostname etc.)"
30//usage: "\n -i, --ipc[=FILE] Unshare System V IPC namespace" 30//usage: "\n -i,--ipc[=FILE] Unshare System V IPC namespace"
31//usage: "\n -n, --net[=FILE] Unshare network namespace" 31//usage: "\n -n,--net[=FILE] Unshare network namespace"
32//usage: "\n -p, --pid[=FILE] Unshare PID namespace" 32//usage: "\n -p,--pid[=FILE] Unshare PID namespace"
33//usage: "\n -U, --user[=FILE} Unshare user namespace" 33//usage: "\n -U,--user[=FILE] Unshare user namespace"
34//usage: "\n -f, --fork Fork before execing PROG" 34//usage: "\n -f,--fork Fork before execing PROG"
35//usage: "\n -r, --map-root-user Map current user to root (implies -u)" 35//usage: "\n -r,--map-root-user Map current user to root (implies -u)"
36//usage: "\n --mount-proc[=DIR] Mount /proc filesystem first (implies -m)" 36//usage: "\n --mount-proc[=DIR] Mount /proc filesystem first (implies -m)"
37//usage: "\n --propagation slave|shared|private|unchanged" 37//usage: "\n --propagation slave|shared|private|unchanged"
38//usage: "\n Modify mount propagation in mount namespace" 38//usage: "\n Modify mount propagation in mount namespace"
diff --git a/util-linux/volume_id/bcache.c b/util-linux/volume_id/bcache.c
index fd40eb081..334a341c3 100644
--- a/util-linux/volume_id/bcache.c
+++ b/util-linux/volume_id/bcache.c
@@ -10,14 +10,10 @@
10 10
11//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_BCACHE) += bcache.o 11//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_BCACHE) += bcache.o
12 12
13//config:
14//config:config FEATURE_VOLUMEID_BCACHE 13//config:config FEATURE_VOLUMEID_BCACHE
15//config: bool "bcache filesystem" 14//config: bool "bcache filesystem"
16//config: default y 15//config: default y
17//config: depends on VOLUMEID 16//config: depends on VOLUMEID
18//config: help
19//config: TODO
20//config:
21 17
22#include "volume_id_internal.h" 18#include "volume_id_internal.h"
23 19
diff --git a/util-linux/volume_id/btrfs.c b/util-linux/volume_id/btrfs.c
index e4dddf26d..338a48762 100644
--- a/util-linux/volume_id/btrfs.c
+++ b/util-linux/volume_id/btrfs.c
@@ -21,14 +21,10 @@
21 21
22//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_BTRFS) += btrfs.o 22//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_BTRFS) += btrfs.o
23 23
24//config:
25//config:config FEATURE_VOLUMEID_BTRFS 24//config:config FEATURE_VOLUMEID_BTRFS
26//config: bool "btrfs filesystem" 25//config: bool "btrfs filesystem"
27//config: default y 26//config: default y
28//config: depends on VOLUMEID 27//config: depends on VOLUMEID
29//config: help
30//config: TODO
31//config:
32 28
33#include "volume_id_internal.h" 29#include "volume_id_internal.h"
34 30
diff --git a/util-linux/volume_id/cramfs.c b/util-linux/volume_id/cramfs.c
index aeb7f20ac..c63223e2b 100644
--- a/util-linux/volume_id/cramfs.c
+++ b/util-linux/volume_id/cramfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_CRAMFS) += cramfs.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_CRAMFS) += cramfs.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_CRAMFS 23//config:config FEATURE_VOLUMEID_CRAMFS
25//config: bool "cramfs filesystem" 24//config: bool "cramfs filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/exfat.c b/util-linux/volume_id/exfat.c
index c3aa36804..7ed13a70e 100644
--- a/util-linux/volume_id/exfat.c
+++ b/util-linux/volume_id/exfat.c
@@ -20,7 +20,6 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_EXFAT) += exfat.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_EXFAT) += exfat.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_EXFAT 23//config:config FEATURE_VOLUMEID_EXFAT
25//config: bool "exFAT filesystem" 24//config: bool "exFAT filesystem"
26//config: default y 25//config: default y
@@ -29,7 +28,6 @@
29//config: exFAT (extended FAT) is a proprietary file system designed especially 28//config: exFAT (extended FAT) is a proprietary file system designed especially
30//config: for flash drives. It has many features from NTFS, but with less 29//config: for flash drives. It has many features from NTFS, but with less
31//config: overhead. exFAT is used on most SDXC cards for consumer electronics. 30//config: overhead. exFAT is used on most SDXC cards for consumer electronics.
32//config:
33 31
34#include "volume_id_internal.h" 32#include "volume_id_internal.h"
35 33
diff --git a/util-linux/volume_id/ext.c b/util-linux/volume_id/ext.c
index df39d9342..473b3229a 100644
--- a/util-linux/volume_id/ext.c
+++ b/util-linux/volume_id/ext.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_EXT) += ext.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_EXT) += ext.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_EXT 23//config:config FEATURE_VOLUMEID_EXT
25//config: bool "Ext filesystem" 24//config: bool "Ext filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33#include "bb_e2fs_defs.h" 29#include "bb_e2fs_defs.h"
diff --git a/util-linux/volume_id/f2fs.c b/util-linux/volume_id/f2fs.c
index bf0b66278..1d3bdae36 100644
--- a/util-linux/volume_id/f2fs.c
+++ b/util-linux/volume_id/f2fs.c
@@ -8,7 +8,6 @@
8 8
9//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_F2FS) += f2fs.o 9//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_F2FS) += f2fs.o
10 10
11//config:
12//config:config FEATURE_VOLUMEID_F2FS 11//config:config FEATURE_VOLUMEID_F2FS
13//config: bool "f2fs filesystem" 12//config: bool "f2fs filesystem"
14//config: default y 13//config: default y
@@ -18,7 +17,6 @@
18//config: which is adapted to newer forms of storage. F2FS also remedies some 17//config: which is adapted to newer forms of storage. F2FS also remedies some
19//config: known issues of the older log structured file systems, such as high 18//config: known issues of the older log structured file systems, such as high
20//config: cleaning overhead. 19//config: cleaning overhead.
21//config:
22 20
23#include "volume_id_internal.h" 21#include "volume_id_internal.h"
24 22
diff --git a/util-linux/volume_id/fat.c b/util-linux/volume_id/fat.c
index 476d500a6..bc3433daf 100644
--- a/util-linux/volume_id/fat.c
+++ b/util-linux/volume_id/fat.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_FAT) += fat.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_FAT) += fat.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_FAT 23//config:config FEATURE_VOLUMEID_FAT
25//config: bool "fat filesystem" 24//config: bool "fat filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/hfs.c b/util-linux/volume_id/hfs.c
index 8d34aaf68..78dae0790 100644
--- a/util-linux/volume_id/hfs.c
+++ b/util-linux/volume_id/hfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_HFS) += hfs.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_HFS) += hfs.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_HFS 23//config:config FEATURE_VOLUMEID_HFS
25//config: bool "hfs filesystem" 24//config: bool "hfs filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/iso9660.c b/util-linux/volume_id/iso9660.c
index 3848de453..23072f87c 100644
--- a/util-linux/volume_id/iso9660.c
+++ b/util-linux/volume_id/iso9660.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_ISO9660) += iso9660.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_ISO9660) += iso9660.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_ISO9660 23//config:config FEATURE_VOLUMEID_ISO9660
25//config: bool "iso9660 filesystem" 24//config: bool "iso9660 filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/jfs.c b/util-linux/volume_id/jfs.c
index a6eaff45b..543d90fe5 100644
--- a/util-linux/volume_id/jfs.c
+++ b/util-linux/volume_id/jfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_JFS) += jfs.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_JFS) += jfs.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_JFS 23//config:config FEATURE_VOLUMEID_JFS
25//config: bool "jfs filesystem" 24//config: bool "jfs filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/linux_raid.c b/util-linux/volume_id/linux_raid.c
index f20823a6e..0db6e8662 100644
--- a/util-linux/volume_id/linux_raid.c
+++ b/util-linux/volume_id/linux_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_LINUXRAID) += linux_raid.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_LINUXRAID) += linux_raid.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_LINUXRAID 23//config:config FEATURE_VOLUMEID_LINUXRAID
25//config: bool "linuxraid" 24//config: bool "linuxraid"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/linux_swap.c b/util-linux/volume_id/linux_swap.c
index 39470d48c..a35769dfc 100644
--- a/util-linux/volume_id/linux_swap.c
+++ b/util-linux/volume_id/linux_swap.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_LINUXSWAP) += linux_swap.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_LINUXSWAP) += linux_swap.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_LINUXSWAP 23//config:config FEATURE_VOLUMEID_LINUXSWAP
25//config: bool "linux swap filesystem" 24//config: bool "linux swap filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/luks.c b/util-linux/volume_id/luks.c
index 21cb26f51..4b80b7a6d 100644
--- a/util-linux/volume_id/luks.c
+++ b/util-linux/volume_id/luks.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_LUKS) += luks.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_LUKS) += luks.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_LUKS 23//config:config FEATURE_VOLUMEID_LUKS
25//config: bool "luks filesystem" 24//config: bool "luks filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/nilfs.c b/util-linux/volume_id/nilfs.c
index f3a9ef58d..ffe919f36 100644
--- a/util-linux/volume_id/nilfs.c
+++ b/util-linux/volume_id/nilfs.c
@@ -21,7 +21,6 @@
21 21
22//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_NILFS) += nilfs.o 22//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_NILFS) += nilfs.o
23 23
24//config:
25//config:config FEATURE_VOLUMEID_NILFS 24//config:config FEATURE_VOLUMEID_NILFS
26//config: bool "nilfs filesystem" 25//config: bool "nilfs filesystem"
27//config: default y 26//config: default y
@@ -37,7 +36,6 @@
37//config: SOX compliance logging, and so forth. It can serve as an alternative 36//config: SOX compliance logging, and so forth. It can serve as an alternative
38//config: filesystem for Linux desktop environment, or as a basis of advanced 37//config: filesystem for Linux desktop environment, or as a basis of advanced
39//config: storage appliances. 38//config: storage appliances.
40//config:
41 39
42#include "volume_id_internal.h" 40#include "volume_id_internal.h"
43 41
diff --git a/util-linux/volume_id/ntfs.c b/util-linux/volume_id/ntfs.c
index 46f687a56..bf85f7ed3 100644
--- a/util-linux/volume_id/ntfs.c
+++ b/util-linux/volume_id/ntfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_NTFS) += ntfs.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_NTFS) += ntfs.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_NTFS 23//config:config FEATURE_VOLUMEID_NTFS
25//config: bool "ntfs filesystem" 24//config: bool "ntfs filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/ocfs2.c b/util-linux/volume_id/ocfs2.c
index 415e0bf61..2dedac98b 100644
--- a/util-linux/volume_id/ocfs2.c
+++ b/util-linux/volume_id/ocfs2.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_OCFS2) += ocfs2.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_OCFS2) += ocfs2.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_OCFS2 23//config:config FEATURE_VOLUMEID_OCFS2
25//config: bool "ocfs2 filesystem" 24//config: bool "ocfs2 filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/reiserfs.c b/util-linux/volume_id/reiserfs.c
index 24979fb1c..369d4d9bb 100644
--- a/util-linux/volume_id/reiserfs.c
+++ b/util-linux/volume_id/reiserfs.c
@@ -21,14 +21,10 @@
21 21
22//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_REISERFS) += reiserfs.o 22//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_REISERFS) += reiserfs.o
23 23
24//config:
25//config:config FEATURE_VOLUMEID_REISERFS 24//config:config FEATURE_VOLUMEID_REISERFS
26//config: bool "Reiser filesystem" 25//config: bool "Reiser filesystem"
27//config: default y 26//config: default y
28//config: depends on VOLUMEID 27//config: depends on VOLUMEID
29//config: help
30//config: TODO
31//config:
32 28
33#include "volume_id_internal.h" 29#include "volume_id_internal.h"
34 30
diff --git a/util-linux/volume_id/romfs.c b/util-linux/volume_id/romfs.c
index 4754fdb37..95a65f9ef 100644
--- a/util-linux/volume_id/romfs.c
+++ b/util-linux/volume_id/romfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_ROMFS) += romfs.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_ROMFS) += romfs.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_ROMFS 23//config:config FEATURE_VOLUMEID_ROMFS
25//config: bool "romfs filesystem" 24//config: bool "romfs filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/squashfs.c b/util-linux/volume_id/squashfs.c
index 079b6cc31..6bba199cd 100644
--- a/util-linux/volume_id/squashfs.c
+++ b/util-linux/volume_id/squashfs.c
@@ -8,7 +8,6 @@
8 8
9//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_SQUASHFS) += squashfs.o 9//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_SQUASHFS) += squashfs.o
10 10
11//config:
12//config:config FEATURE_VOLUMEID_SQUASHFS 11//config:config FEATURE_VOLUMEID_SQUASHFS
13//config: bool "SquashFS filesystem" 12//config: bool "SquashFS filesystem"
14//config: default y 13//config: default y
@@ -18,7 +17,6 @@
18//config: intended for general read-only filesystem use and in constrained block 17//config: intended for general read-only filesystem use and in constrained block
19//config: device/memory systems (e.g. embedded systems) where low overhead is 18//config: device/memory systems (e.g. embedded systems) where low overhead is
20//config: needed. 19//config: needed.
21//config:
22 20
23#include "volume_id_internal.h" 21#include "volume_id_internal.h"
24 22
diff --git a/util-linux/volume_id/sysv.c b/util-linux/volume_id/sysv.c
index 7b4b5360b..cd4cd906b 100644
--- a/util-linux/volume_id/sysv.c
+++ b/util-linux/volume_id/sysv.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_SYSV) += sysv.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_SYSV) += sysv.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_SYSV 23//config:config FEATURE_VOLUMEID_SYSV
25//config: bool "sysv filesystem" 24//config: bool "sysv filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/ubifs.c b/util-linux/volume_id/ubifs.c
index 13604ec35..99b0aa830 100644
--- a/util-linux/volume_id/ubifs.c
+++ b/util-linux/volume_id/ubifs.c
@@ -8,7 +8,6 @@
8 8
9//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_UBIFS) += ubifs.o 9//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_UBIFS) += ubifs.o
10 10
11//config:
12//config:config FEATURE_VOLUMEID_UBIFS 11//config:config FEATURE_VOLUMEID_UBIFS
13//config: bool "UBIFS filesystem" 12//config: bool "UBIFS filesystem"
14//config: default y 13//config: default y
@@ -16,7 +15,6 @@
16//config: help 15//config: help
17//config: UBIFS (Unsorted Block Image File System) is a file 16//config: UBIFS (Unsorted Block Image File System) is a file
18//config: system for use with raw flash memory media. 17//config: system for use with raw flash memory media.
19//config:
20 18
21#include "volume_id_internal.h" 19#include "volume_id_internal.h"
22 20
diff --git a/util-linux/volume_id/udf.c b/util-linux/volume_id/udf.c
index 921454503..613c80c86 100644
--- a/util-linux/volume_id/udf.c
+++ b/util-linux/volume_id/udf.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_UDF) += udf.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_UDF) += udf.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_UDF 23//config:config FEATURE_VOLUMEID_UDF
25//config: bool "udf filesystem" 24//config: bool "udf filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_highpoint.c b/util-linux/volume_id/unused_highpoint.c
index 7231a1db2..4afa6d927 100644
--- a/util-linux/volume_id/unused_highpoint.c
+++ b/util-linux/volume_id/unused_highpoint.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_HIGHPOINTRAID) += highpoint.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_HIGHPOINTRAID) += highpoint.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_HIGHPOINTRAID 23//config:### config FEATURE_VOLUMEID_HIGHPOINTRAID
25//config:### bool "highpoint raid" 24//config:### bool "highpoint raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_hpfs.c b/util-linux/volume_id/unused_hpfs.c
index a87c89fb3..3e16dedbd 100644
--- a/util-linux/volume_id/unused_hpfs.c
+++ b/util-linux/volume_id/unused_hpfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_HPFS) += hpfs.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_HPFS) += hpfs.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_HPFS 23//config:### config FEATURE_VOLUMEID_HPFS
25//config:### bool "hpfs filesystem" 24//config:### bool "hpfs filesystem"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_isw_raid.c b/util-linux/volume_id/unused_isw_raid.c
index 851bd2f8f..fba99be58 100644
--- a/util-linux/volume_id/unused_isw_raid.c
+++ b/util-linux/volume_id/unused_isw_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_ISWRAID) += isw_raid.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_ISWRAID) += isw_raid.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_ISWRAID 23//config:### config FEATURE_VOLUMEID_ISWRAID
25//config:### bool "intel raid" 24//config:### bool "intel raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_lsi_raid.c b/util-linux/volume_id/unused_lsi_raid.c
index 52d68deab..9dd2b409c 100644
--- a/util-linux/volume_id/unused_lsi_raid.c
+++ b/util-linux/volume_id/unused_lsi_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_LSIRAID) += lsi_raid.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_LSIRAID) += lsi_raid.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_LSIRAID 23//config:### config FEATURE_VOLUMEID_LSIRAID
25//config:### bool "lsi raid" 24//config:### bool "lsi raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_lvm.c b/util-linux/volume_id/unused_lvm.c
index 08fa05243..5ad6d585c 100644
--- a/util-linux/volume_id/unused_lvm.c
+++ b/util-linux/volume_id/unused_lvm.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_LVM) += lvm.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_LVM) += lvm.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_LVM 23//config:### config FEATURE_VOLUMEID_LVM
25//config:### bool "lvm" 24//config:### bool "lvm"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_mac.c b/util-linux/volume_id/unused_mac.c
index a1a53d1fb..997d330a4 100644
--- a/util-linux/volume_id/unused_mac.c
+++ b/util-linux/volume_id/unused_mac.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MAC) += mac.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MAC) += mac.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_MAC 23//config:### config FEATURE_VOLUMEID_MAC
25//config:### bool "mac filesystem" 24//config:### bool "mac filesystem"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_minix.c b/util-linux/volume_id/unused_minix.c
index 50afd5c3e..443dbc272 100644
--- a/util-linux/volume_id/unused_minix.c
+++ b/util-linux/volume_id/unused_minix.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MINIX) += minix.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MINIX) += minix.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_MINIX 23//config:### config FEATURE_VOLUMEID_MINIX
25//config:### bool "minix filesystem" 24//config:### bool "minix filesystem"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_msdos.c b/util-linux/volume_id/unused_msdos.c
index 5ebaa3eef..f84c0f06f 100644
--- a/util-linux/volume_id/unused_msdos.c
+++ b/util-linux/volume_id/unused_msdos.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MSDOS) += msdos.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MSDOS) += msdos.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_MSDOS 23//config:### config FEATURE_VOLUMEID_MSDOS
25//config:### bool "msdos filesystem" 24//config:### bool "msdos filesystem"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_nvidia_raid.c b/util-linux/volume_id/unused_nvidia_raid.c
index d99a108f3..dfb54fa9d 100644
--- a/util-linux/volume_id/unused_nvidia_raid.c
+++ b/util-linux/volume_id/unused_nvidia_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_NVIDIARAID) += nvidia_raid.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_NVIDIARAID) += nvidia_raid.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_NVIDIARAID 23//config:### config FEATURE_VOLUMEID_NVIDIARAID
25//config:### bool "nvidia raid" 24//config:### bool "nvidia raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_promise_raid.c b/util-linux/volume_id/unused_promise_raid.c
index cebebe35f..d594de39c 100644
--- a/util-linux/volume_id/unused_promise_raid.c
+++ b/util-linux/volume_id/unused_promise_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_PROMISERAID) += promise_raid.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_PROMISERAID) += promise_raid.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_PROMISERAID 23//config:### config FEATURE_VOLUMEID_PROMISERAID
25//config:### bool "promise raid" 24//config:### bool "promise raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_silicon_raid.c b/util-linux/volume_id/unused_silicon_raid.c
index 40c8faa9e..886721b61 100644
--- a/util-linux/volume_id/unused_silicon_raid.c
+++ b/util-linux/volume_id/unused_silicon_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_SILICONRAID) += silicon_raid.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_SILICONRAID) += silicon_raid.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_SILICONRAID 23//config:### config FEATURE_VOLUMEID_SILICONRAID
25//config:### bool "silicon raid" 24//config:### bool "silicon raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_ufs.c b/util-linux/volume_id/unused_ufs.c
index d33c10fc4..78ef26ad4 100644
--- a/util-linux/volume_id/unused_ufs.c
+++ b/util-linux/volume_id/unused_ufs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_UFS) += ufs.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_UFS) += ufs.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_UFS 23//config:### config FEATURE_VOLUMEID_UFS
25//config:### bool "ufs filesystem" 24//config:### bool "ufs filesystem"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/unused_via_raid.c b/util-linux/volume_id/unused_via_raid.c
index 258f93a4f..f82626655 100644
--- a/util-linux/volume_id/unused_via_raid.c
+++ b/util-linux/volume_id/unused_via_raid.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_VIARAID) += via_raid.o 21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_VIARAID) += via_raid.o
22 22
23//config:
24//config:### config FEATURE_VOLUMEID_VIARAID 23//config:### config FEATURE_VOLUMEID_VIARAID
25//config:### bool "via raid" 24//config:### bool "via raid"
26//config:### default y 25//config:### default y
27//config:### depends on VOLUMEID 26//config:### depends on VOLUMEID
28//config:### help
29//config:### TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29
diff --git a/util-linux/volume_id/xfs.c b/util-linux/volume_id/xfs.c
index 5eefc201d..656d5bfcf 100644
--- a/util-linux/volume_id/xfs.c
+++ b/util-linux/volume_id/xfs.c
@@ -20,14 +20,10 @@
20 20
21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_XFS) += xfs.o 21//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_XFS) += xfs.o
22 22
23//config:
24//config:config FEATURE_VOLUMEID_XFS 23//config:config FEATURE_VOLUMEID_XFS
25//config: bool "xfs filesystem" 24//config: bool "xfs filesystem"
26//config: default y 25//config: default y
27//config: depends on VOLUMEID 26//config: depends on VOLUMEID
28//config: help
29//config: TODO
30//config:
31 27
32#include "volume_id_internal.h" 28#include "volume_id_internal.h"
33 29