make e2label and findfs optional

This commit is contained in:
Mike Frysinger 2005-09-24 05:55:03 +00:00
parent 9ac178ab40
commit a1c6a57fea
3 changed files with 26 additions and 6 deletions

View File

@ -25,15 +25,25 @@ config CONFIG_MKE2FS
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
config CONFIG_TUNE2FS config CONFIG_TUNE2FS
bool "tune2fs (and e2label/findfs)" bool "tune2fs"
default n default n
help help
tune2fs allows the system administrator to adjust various tunable tune2fs allows the system administrator to adjust various tunable
filesystem parameters on Linux ext2/ext3 filesystems. filesystem parameters on Linux ext2/ext3 filesystems.
config CONFIG_E2LABEL
bool "e2label"
default n
depends on CONFIG_TUNE2FS
help
e2label will display or change the filesystem label on the ext2 e2label will display or change the filesystem label on the ext2
filesystem located on device. filesystem located on device.
config CONFIG_FINDFS
bool "findfs"
default n
depends on CONFIG_TUNE2FS
help
findfs will search the disks in the system looking for a filesystem findfs will search the disks in the system looking for a filesystem
which has a label matching label or a UUID equal to uuid. which has a label matching label or a UUID equal to uuid.

View File

@ -375,7 +375,7 @@ err:
exit(1); exit(1);
} }
#ifdef CONFIG_E2LABEL
static void parse_e2label_options(int argc, char ** argv) static void parse_e2label_options(int argc, char ** argv)
{ {
if ((argc < 2) || (argc > 3)) if ((argc < 2) || (argc > 3))
@ -393,6 +393,7 @@ static void parse_e2label_options(int argc, char ** argv)
} else } else
print_label++; print_label++;
} }
#endif
static time_t parse_time(char *str) static time_t parse_time(char *str)
{ {
@ -613,6 +614,7 @@ static void parse_tune2fs_options(int argc, char **argv)
bb_error_msg_and_die("Unable to resolve '%s'", argv[optind]); bb_error_msg_and_die("Unable to resolve '%s'", argv[optind]);
} }
#ifdef CONFIG_FINDFS
static void do_findfs(int argc, char **argv) static void do_findfs(int argc, char **argv)
{ {
char *dev; char *dev;
@ -624,8 +626,9 @@ static void do_findfs(int argc, char **argv)
if (!dev) if (!dev)
bb_error_msg_and_die("Unable to resolve '%s'", argv[1]); bb_error_msg_and_die("Unable to resolve '%s'", argv[1]);
puts(dev); puts(dev);
exit(0); return 0;
} }
#endif
int tune2fs_main(int argc, char **argv) int tune2fs_main(int argc, char **argv)
{ {
@ -633,13 +636,20 @@ int tune2fs_main(int argc, char **argv)
ext2_filsys fs; ext2_filsys fs;
struct ext2_super_block *sb; struct ext2_super_block *sb;
io_manager io_ptr; io_manager io_ptr;
#if defined(CONFIG_FINDFS) || defined(CONFIG_E2LABEL)
char *program_name = basename(argv[0]); char *program_name = basename(argv[0]);
#endif
#ifdef CONFIG_FINDFS
if (strcmp(program_name, "findfs") == 0) if (strcmp(program_name, "findfs") == 0)
do_findfs(argc, argv); return do_findfs(argc, argv);
#endif
#ifdef CONFIG_E2LABEL
if (strcmp(program_name, "e2label") == 0) if (strcmp(program_name, "e2label") == 0)
parse_e2label_options(argc, argv); parse_e2label_options(argc, argv);
else else
#endif
parse_tune2fs_options(argc, argv); parse_tune2fs_options(argc, argv);
io_ptr = unix_io_manager; io_ptr = unix_io_manager;

View File

@ -182,7 +182,7 @@
#ifdef CONFIG_DUMPLEASES #ifdef CONFIG_DUMPLEASES
APPLET(dumpleases, dumpleases_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) APPLET(dumpleases, dumpleases_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)
#endif #endif
#ifdef CONFIG_TUNE2FS #ifdef CONFIG_E2LABEL
APPLET_NOUSAGE("e2label", tune2fs_main, _BB_DIR_SBIN, _BB_SUID_NEVER) APPLET_NOUSAGE("e2label", tune2fs_main, _BB_DIR_SBIN, _BB_SUID_NEVER)
#endif #endif
#ifdef CONFIG_ECHO #ifdef CONFIG_ECHO
@ -227,7 +227,7 @@
#ifdef CONFIG_FIND #ifdef CONFIG_FIND
APPLET(find, find_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) APPLET(find, find_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)
#endif #endif
#ifdef CONFIG_TUNE2FS #ifdef CONFIG_FINDFS
APPLET_NOUSAGE("findfs", tune2fs_main, _BB_DIR_SBIN, _BB_SUID_NEVER) APPLET_NOUSAGE("findfs", tune2fs_main, _BB_DIR_SBIN, _BB_SUID_NEVER)
#endif #endif
#ifdef CONFIG_FOLD #ifdef CONFIG_FOLD