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>
is simply a front-end for the various filesystem builders
(\fBmkfs.\fIfstype\fR)
available under Linux.
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
Please see the filesystem-specific builder manual pages for
further details.
.SH OPTIONS
#define DEFAULT_FSTYPE "ext2"
#endif
#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);
static void __attribute__ ((__noreturn__)) usage(FILE * out)
{
fputs(USAGE_HEADER, out);
char *progname; /* name of executable to be called */
char *fstype = NULL;
int i, more = 0, verbose = 0;
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 };
enum { VERSION_OPTION = CHAR_MAX + 1 };
if (fstype == NULL)
fstype = DEFAULT_FSTYPE;
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) {
argv[--optind] = progname;
if (verbose) {