- add new applet rdev (Grant Erickson)
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 19 Aug 2008 11:28:52 +0000 (11:28 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 19 Aug 2008 11:28:52 +0000 (11:28 -0000)
- fixes and shrink (me)

include/applets.h
include/usage.h
scripts/defconfig
util-linux/Config.in
util-linux/Kbuild
util-linux/rdev.c [new file with mode: 0644]

index 27c118e681c983e732aaba61606818b8dab9c45a..2363e72cd069fc608cea4ad05f65917e03448a3d 100644 (file)
@@ -286,6 +286,7 @@ USE_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_NEVER, pwd))
 USE_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
+USE_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
 USE_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
index 1e05eabc6d60cb27d150e52d62fd10ef91476ee2..57a9f99b8aac46c5d359c20184b96c3801499832 100644 (file)
      "\n       -s      Set the system date and time (default)" \
      "\n       -p      Print the date and time" \
 
+#define rdev_trivial_usage \
+       ""
+#define rdev_full_usage "\n\n" \
+       "Print the device node associated with the filesystem mounted at '/'"
+#define rdev_example_usage \
+       "$ rdev\n" \
+       "/dev/mtdblock9 /\n"
+
 #define readahead_trivial_usage \
        "[FILE]..."
 #define readahead_full_usage "\n\n" \
index 404c50dbea00b88ed08b359d8d5f0586c7502ca6..a3e98a1ad44f157b6d0c9aa4abb9f205f2159a46 100644 (file)
@@ -520,6 +520,7 @@ CONFIG_FEATURE_MOUNT_FLAGS=y
 CONFIG_FEATURE_MOUNT_FSTAB=y
 CONFIG_PIVOT_ROOT=y
 CONFIG_RDATE=y
+CONFIG_RDEV=y
 CONFIG_READPROFILE=y
 CONFIG_RTCWAKE=y
 CONFIG_SCRIPT=y
index 7f61bf4d9515f37c623853f5f6e78950a7e97f57..2ba9f01665555d7645203306329b47682cb2dd8f 100644 (file)
@@ -707,6 +707,12 @@ config RDATE
          the RFC868 protocol, which is built into the inetd daemon on most
          systems.
 
+config RDEV
+       bool "rdev"
+       default n
+       help
+         Print the device node associated with the filesystem mounted at '/'.
+
 config READPROFILE
        bool "readprofile"
        default n
index c0c2db7017e76c571509584a6eeb0a36cc545f6b..38569c69b08f006a0a03370b06a0d3a25b32a844 100644 (file)
@@ -26,6 +26,7 @@ lib-$(CONFIG_MORE)              += more.o
 lib-$(CONFIG_MOUNT)             += mount.o
 lib-$(CONFIG_PIVOT_ROOT)        += pivot_root.o
 lib-$(CONFIG_RDATE)             += rdate.o
+lib-$(CONFIG_RDEV)              += rdev.o
 lib-$(CONFIG_READPROFILE)       += readprofile.o
 lib-$(CONFIG_RTCWAKE)           += rtcwake.o
 lib-$(CONFIG_SCRIPT)            += script.o
diff --git a/util-linux/rdev.c b/util-linux/rdev.c
new file mode 100644 (file)
index 0000000..33abd39
--- /dev/null
@@ -0,0 +1,24 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * rdev - print device node associated with a filesystem
+ *
+ * Copyright (c) 2008 Nuovation System Designs, LLC
+ *   Grant Erickson <gerickson@nuovations.com>
+ *
+ * Licensed under GPLv2, see file LICENSE in this tarball for details.
+ *
+ */
+
+#include "libbb.h"
+
+int rdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int rdev_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
+{
+       char const * const root_device = find_block_device("/");
+
+       if (root_device != NULL) {
+               printf("%s /\n", root_device);
+               return EXIT_SUCCESS;
+       }
+       return EXIT_FAILURE;
+}