blkid: new applet. We almost had everything needed for it already
No binary (build failed)
—
(log yok)
| @@ -80,6 +80,7 @@ USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) | |
| USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) | |
| USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) | |
| //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER)) | |
| + | USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | |
| USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | |
| USE_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat)) | |
| @@ -1098,6 +1098,11 @@ | |
| "\n -z Delete messages on server" \ | |
| "\n prog Run 'prog <message_file>' on message delivery" \ | |
| + | #define blkid_trivial_usage \ |
| + | "" |
| + | #define blkid_full_usage "\n\n" \ |
| + | "Print UUIDs of all filesystems." |
| + | |
| #define findfs_trivial_usage \ | |
| "LABEL=label or UUID=uuid" | |
| #define findfs_full_usage "\n\n" \ | |
| @@ -20,3 +20,4 @@ | |
| char *get_devname_from_label(const char *spec); | |
| char *get_devname_from_uuid(const char *spec); | |
| + | void display_uuid_cache(void); |
| @@ -5,6 +5,15 @@ | |
| menu "Linux System Utilities" | |
| + | config BLKID |
| + | bool "blkid" |
| + | default n |
| + | select VOLUMEID |
| + | help |
| + | Lists labels and UUIDs of all filesystems. |
| + | WARNING: |
| + | With all submodules selected, it will add ~8k to busybox. |
| + | |
| config DMESG | |
| bool "dmesg" | |
| default n | |
| @@ -156,9 +165,7 @@ config FINDFS | |
| default n | |
| select VOLUMEID | |
| help | |
| - | This is similar to the findfs program that is part of the e2fsprogs |
| - | package. However, the e2fsprogs version only support ext2/3. This |
| - | version supports those in addition to FAT, swap, and ReiserFS. |
| + | Prints the name of a filesystem with given laver or UUID. |
| WARNING: | |
| With all submodules selected, it will add ~8k to busybox. | |
| @@ -651,7 +658,7 @@ config FEATURE_MOUNT_LABEL | |
| select VOLUMEID | |
| help | |
| This allows for specifying a device by label or uuid, rather than by | |
| - | name. This feature utilizes the same functionality as findfs. |
| + | name. This feature utilizes the same functionality as blkid/findfs. |
| config FEATURE_MOUNT_NFS | |
| bool "Support mounting NFS file systems" | |
| @@ -5,6 +5,7 @@ | |
| # Licensed under the GPL v2, see the file LICENSE in this tarball. | |
| lib-y:= | |
| + | lib-$(CONFIG_BLKID) += blkid.o |
| lib-$(CONFIG_DMESG) += dmesg.o | |
| lib-$(CONFIG_FBSET) += fbset.o | |
| lib-$(CONFIG_FDFLUSH) += freeramdisk.o | |
| @@ -6,6 +6,7 @@ | |
| lib-y:= | |
| + | lib-$(CONFIG_BLKID) += get_devname.o |
| lib-$(CONFIG_FINDFS) += get_devname.o | |
| lib-$(CONFIG_FEATURE_MOUNT_LABEL) += get_devname.o | |
| @@ -374,24 +374,25 @@ get_spec_by_volume_label(const char *s, int *major, int *minor) | |
| { | |
| return get_spec_by_x(VOL, s, major, minor); | |
| } | |
| + | #endif // UNUSED |
| - | static int display_uuid_cache(void) |
| + | /* Used by blkid */ |
| + | void display_uuid_cache(void) |
| { | |
| struct uuidCache_s *u; | |
| - | size_t i; |
| uuidcache_init(); | |
| - | |
| u = uuidCache; | |
| while (u) { | |
| - | printf("%s %s %s\n", u->device, u->label, u->uc_uuid); |
| + | printf("%s:", u->device); |
| + | if (u->label[0]) |
| + | printf(" LABEL=\"%s\"", u->label); |
| + | if (u->uc_uuid[0]) |
| + | printf(" UUID=\"%s\"", u->uc_uuid); |
| + | bb_putchar('\n'); |
| u = u->next; | |
| } | |
| - | |
| - | return 0; |
| } | |
| - | #endif // UNUSED |
| - | |
| /* Used by mount and findfs */ | |