]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
mkfs: drop hardcoded search path
authorMike Frysinger <vapier@gentoo.org>
Sun, 12 Apr 2015 09:06:51 +0000 (05:06 -0400)
committerKarel Zak <kzak@redhat.com>
Mon, 27 Apr 2015 08:28:44 +0000 (10:28 +0200)
Rather than maintain a hardcoded search path for looking up tools and
override the user's PATH env setting, respect whatever the user has.
This matches the convention of just about every other tool out there.

It might break on systems that don't have /sbin in their PATH and they
try to run /sbin/mkfs directly, but so be it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
disk-utils/mkfs.8
disk-utils/mkfs.c

index 9a5cdc016113869a9d1d992c92194499e36fabf3..02792601e2ec1dcdd602aea07da3a7a0561e097a 100644 (file)
@@ -29,20 +29,8 @@ In actuality,
 is simply a front-end for the various filesystem builders
 (\fBmkfs.\fIfstype\fR)
 available under Linux.
-The filesystem-specific builder is searched for in a number
-of directories, like perhaps
-.IR /sbin ,
-.IR /sbin/fs ,
-.IR /sbin/fs.d ,
-.IR /etc/fs ,
-.I /etc
-(the precise list is defined at compile time but at least
-contains
-.I /sbin
-and
-.IR /sbin/fs ),
-and finally in the directories
-listed in the PATH environment variable.
+The filesystem-specific builder is searched for via your PATH
+environment setting only.
 Please see the filesystem-specific builder manual pages for
 further details.
 .SH OPTIONS
index 08c4ef0b0b26486eee80ace2a19bee5d0e5c8c52..cf1a312d916bc8c49a71200611f7a005445851f2 100644 (file)
 #define DEFAULT_FSTYPE "ext2"
 #endif
 
-#define SEARCH_PATH    "PATH=" FS_SEARCH_PATH
-#define PROGNAME       "mkfs.%s"
-
-
 static void __attribute__ ((__noreturn__)) usage(FILE * out)
 {
        fputs(USAGE_HEADER, out);
@@ -78,7 +74,6 @@ int main(int argc, char **argv)
        char *progname;         /* name of executable to be called */
        char *fstype = NULL;
        int i, more = 0, verbose = 0;
-       char *oldpath, *newpath;
 
        enum { VERSION_OPTION = CHAR_MAX + 1 };
 
@@ -126,17 +121,7 @@ int main(int argc, char **argv)
        if (fstype == NULL)
                fstype = DEFAULT_FSTYPE;
 
-       /* Set PATH and program name */
-       oldpath = getenv("PATH");
-       if (!oldpath)
-               oldpath = "/bin";
-
-       newpath = xmalloc(strlen(oldpath) + sizeof(SEARCH_PATH) + 3);
-       sprintf(newpath, "%s:%s\n", SEARCH_PATH, oldpath);
-       putenv(newpath);
-
-       progname = xmalloc(sizeof(PROGNAME) + strlen(fstype) + 1);
-       sprintf(progname, PROGNAME, fstype);
+       xasprintf(&progname, "mkfs.%s", fstype);
        argv[--optind] = progname;
 
        if (verbose) {