Date: Sun, 14 Oct 2007 14:50:02 GMT From: Eugene Grosbein <eugen@grosbein.pp.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/111978: [patch] make syspath list for mount(8) configurable at runtime Message-ID: <200710141450.l9EEo2mx008815@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/111978; it has been noted by GNATS.
From: Eugene Grosbein <eugen@grosbein.pp.ru>
To: bug-followup@freebsd.org
Cc:
Subject: Re: bin/111978: [patch] make syspath list for mount(8) configurable at runtime
Date: Sun, 14 Oct 2007 22:42:05 +0800
Hi!
Here is the same patch for 7.0-PRERELEASE:
--- sbin/mount/mount.8.orig 2007-06-25 13:06:54.000000000 +0800
+++ sbin/mount/mount.8 2007-10-14 18:00:42.000000000 +0800
@@ -342,7 +342,7 @@
.Nm
to execute the equivalent of:
.Bd -literal -offset indent
-/sbin/mount_unionfs -b /sys $HOME/sys
+mount_unionfs -b /sys $HOME/sys
.Ed
.Pp
Additional options specific to file system types
@@ -351,7 +351,7 @@
.Fl t
option below)
may be described in the manual pages for the associated
-.Pa /sbin/mount_ Ns Sy XXX
+.Pa mount_ Ns Sy XXX
utilities.
.It Fl p
Print mount information in
@@ -426,12 +426,12 @@
will not call
.Xr nmount 2
directly and will instead attempt to execute a program in
-.Pa /sbin/mount_ Ns Sy XXX
+.Pa mount_ Ns Sy XXX
where
.Sy XXX
is replaced by the file system type name.
For example, nfs file systems are mounted by the program
-.Pa /sbin/mount_nfs .
+.Pa mount_nfs .
.Pp
Most file systems will be dynamically loaded by the kernel
if not already present, and if the kernel module is available.
@@ -476,6 +476,15 @@
(See
.Xr issetugid 2
for more information.)
+.It Ev SYSPATH
+If the environment variable
+.Ev SYSPATH
+is set, it is used as colon-separated list of paths to search for
+.Pa mount_ Ns Sy XXX
+utilities (see
+.Fl t
+option description). If it is not set, default value /sbin:/usr/sbin
+is assumed.
.El
.Sh FILES
.Bl -tag -width /etc/fstab -compact
--- sbin/mount/mount.c.orig 2007-06-25 13:06:54.000000000 +0800
+++ sbin/mount/mount.c 2007-10-14 18:09:27.000000000 +0800
@@ -152,6 +152,7 @@
{
pid_t pid;
int status;
+ char *syspath;
switch (pid = fork()) {
case -1: /* Error. */
@@ -159,10 +160,12 @@
exit (1);
case 0: /* Child. */
/* Go find an executable. */
- execvP(execname, _PATH_SYSPATH, argv);
+ if ((syspath = getenv("SYSPATH")) == NULL)
+ syspath = _PATH_SYSPATH;
+ execvP(execname, syspath, argv);
if (errno == ENOENT) {
warn("exec %s not found in %s", execname,
- _PATH_SYSPATH);
+ syspath);
}
exit(1);
default: /* Parent. */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710141450.l9EEo2mx008815>
