Page MenuHomeFreeBSD

D49951.diff
No OneTemporary

D49951.diff

diff --git a/lib/libutil/Makefile b/lib/libutil/Makefile
--- a/lib/libutil/Makefile
+++ b/lib/libutil/Makefile
@@ -16,9 +16,10 @@
kinfo_getvmobject.c kld.c \
login_auth.c login_cap.c \
login_class.c login_crypt.c login_ok.c login_times.c login_tty.c \
+ mntopts.c \
pidfile.c property.c pty.c pw_scan.c pw_util.c quotafile.c \
realhostname.c stub.c trimdomain.c uucplock.c
-INCS= libutil.h login_cap.h
+INCS= libutil.h login_cap.h mntopts.h
CFLAGS+= -DNO__SCCSID
@@ -32,7 +33,8 @@
hexdump.3 humanize_number.3 kinfo_getallproc.3 kinfo_getfile.3 \
kinfo_getproc.3 kinfo_getvmmap.3 kinfo_getvmobject.3 kld.3 \
login_auth.3 login_cap.3 \
- login_class.3 login_ok.3 login_times.3 login_tty.3 pidfile.3 \
+ login_class.3 login_ok.3 login_times.3 login_tty.3 mntopts.3 \
+ pidfile.3 \
property.3 pty.3 quotafile.3 realhostname.3 realhostname_sa.3 \
_secure_path.3 trimdomain.3 uucplock.3 pw_util.3
MAN+= login.conf.5
@@ -54,6 +56,14 @@
login_times.3 in_ltms.3 \
login_times.3 in_lts.3 \
login_times.3 parse_lt.3
+MLINKS+=mntopts.3 getmntopts.3 \
+ mntopts.3 getmntpoint.3 \
+ mntopts.3 chkdoreload.3 \
+ mntopts.3 build_iovec.3 \
+ mntopts.3 build_iovec_argf.3 \
+ mntopts.3 free_iovec.3 \
+ mntopts.3 checkpath.3 \
+ mntopts.3 rmslashes.3
MLINKS+=pidfile.3 pidfile_close.3 \
pidfile.3 pidfile_fileno.3 \
pidfile.3 pidfile_open.3 \
diff --git a/sbin/mount/mntopts.h b/lib/libutil/mntopts.h
rename from sbin/mount/mntopts.h
rename to lib/libutil/mntopts.h
--- a/sbin/mount/mntopts.h
+++ b/lib/libutil/mntopts.h
@@ -29,6 +29,9 @@
* SUCH DAMAGE.
*/
+#ifndef _MNTOPTS_H_
+#define _MNTOPTS_H_
+
struct mntopt {
const char *m_option; /* option name */
int m_inverse; /* if a negative option, e.g. "atime" */
@@ -107,3 +110,5 @@
void build_iovec(struct iovec **iov, int *iovlen, const char *name, void *val, size_t len);
void build_iovec_argf(struct iovec **iov, int *iovlen, const char *name, const char *fmt, ...);
void free_iovec(struct iovec **iovec, int *iovlen);
+
+#endif /* !_MNTOPTS_H_ */
diff --git a/sbin/mount/mntopts.3 b/lib/libutil/mntopts.3
rename from sbin/mount/mntopts.3
rename to lib/libutil/mntopts.3
--- a/sbin/mount/mntopts.3
+++ b/lib/libutil/mntopts.3
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd January 19, 2023
+.Dd April 21, 2025
.Dt MNTOPTS 3
.Os
.Sh NAME
@@ -35,6 +35,8 @@
.Nm checkpath ,
.Nm rmslashes
.Nd "mount point operations"
+.Sh LIBRARY
+.Lb libutil
.Sh SYNOPSIS
.In mntopts.h
.Ft void
@@ -69,18 +71,6 @@
The
.Nm mntopts
functions support operations associated with a mount point.
-For historic reasons are in a file in the sources for the
-.Xr mount 8
-program.
-Thus, to access them the following lines need to be added to the
-.Nm Makefile
-of the program wanting to use them:
-.Bd -literal
-SRCS+= getmntopts.c
-MOUNT= ${SRCTOP}/sbin/mount
-CFLAGS+= -I${MOUNT}
-\&.PATH: ${MOUNT}
-.Ed
.Pp
The
.Fn getmntopts
@@ -326,7 +316,7 @@
entry.
This can be declared and used as follows:
.Bd -literal
-#include "mntopts.h"
+#include <mntopts.h>
struct mntopt mopts[] = {
MOPT_STDOPTS,
@@ -377,3 +367,11 @@
.Fn chkdoreload
functions were added in
.Fx 13.2 .
+.Pp
+Historically, these functions were found in getmntopts.c in the sources for the
+.Xr mount 8
+program.
+As of
+.Fx 15.0
+they are part of
+.Nm libutil .
diff --git a/sbin/mount/getmntopts.c b/lib/libutil/mntopts.c
rename from sbin/mount/getmntopts.c
rename to lib/libutil/mntopts.c
diff --git a/sbin/fsck/Makefile b/sbin/fsck/Makefile
--- a/sbin/fsck/Makefile
+++ b/sbin/fsck/Makefile
@@ -3,10 +3,7 @@
PACKAGE=runtime
PROG= fsck
SRCS= fsck.c fsutil.c preen.c
-SRCS+= getmntopts.c
MAN= fsck.8
-MOUNT= ${SRCTOP}/sbin/mount
-CFLAGS+= -I${MOUNT}
-.PATH: ${MOUNT}
+LIBADD= util
.include <bsd.prog.mk>
diff --git a/sbin/fsck_ffs/Makefile b/sbin/fsck_ffs/Makefile
--- a/sbin/fsck_ffs/Makefile
+++ b/sbin/fsck_ffs/Makefile
@@ -5,12 +5,12 @@
MAN= fsck_ffs.8
MLINKS= fsck_ffs.8 fsck_ufs.8 fsck_ffs.8 fsck_4.2bsd.8
SRCS= dir.c ea.c fsutil.c inode.c main.c pass1.c pass1b.c pass2.c pass3.c \
- pass4.c pass5.c setup.c suj.c utilities.c gjournal.c getmntopts.c \
+ pass4.c pass5.c setup.c suj.c utilities.c gjournal.c \
globs.c
-LIBADD= ufs
+LIBADD= ufs util
WARNS?= 2
-CFLAGS+= -I${.CURDIR} -I${.CURDIR:H}/mount
+CFLAGS+= -I${.CURDIR}
-.PATH: ${SRCTOP}/sys/ufs/ffs ${.CURDIR:H}/mount
+.PATH: ${SRCTOP}/sys/ufs/ffs
.include <bsd.prog.mk>
diff --git a/sbin/growfs/Makefile b/sbin/growfs/Makefile
--- a/sbin/growfs/Makefile
+++ b/sbin/growfs/Makefile
@@ -3,13 +3,10 @@
.include <src.opts.mk>
-.PATH: ${.CURDIR:H}/mount
-
PACKAGE=ufs
PROG= growfs
-SRCS= growfs.c getmntopts.c
+SRCS= growfs.c
MAN= growfs.8
-CFLAGS+=-I${.CURDIR:H}/mount
.if defined(GFSDBG)
SRCS+= debug.c
diff --git a/sbin/init/Makefile b/sbin/init/Makefile
--- a/sbin/init/Makefile
+++ b/sbin/init/Makefile
@@ -1,7 +1,6 @@
CONFGROUPS= CONFTTYS
PACKAGE=runtime
PROG= init
-SRCS= init.c getmntopts.c
MAN= init.8
PRECIOUSPROG=
INSTALLFLAGS=-b -B.bak
@@ -11,11 +10,6 @@
CONFTTYSNAME= ttys
CONFTTYS+= ttys
-# Needed for getmntopts.c
-MOUNT= ${SRCTOP}/sbin/mount
-CFLAGS+=-I${MOUNT}
-.PATH: ${MOUNT}
-
NO_SHARED?= YES
.include <bsd.prog.mk>
diff --git a/sbin/mksnap_ffs/Makefile b/sbin/mksnap_ffs/Makefile
--- a/sbin/mksnap_ffs/Makefile
+++ b/sbin/mksnap_ffs/Makefile
@@ -2,11 +2,10 @@
PACKAGE=ufs
PROG= mksnap_ffs
-SRCS= mksnap_ffs.c getmntopts.c
+LIBADD= util
MAN= mksnap_ffs.8
WARNS?= 2
-CFLAGS+=-I${.CURDIR:H}/mount
.if defined(NOSUID)
BINMODE=554
diff --git a/sbin/mount/Makefile b/sbin/mount/Makefile
--- a/sbin/mount/Makefile
+++ b/sbin/mount/Makefile
@@ -1,15 +1,7 @@
PACKAGE=runtime
PROG= mount
-SRCS= mount.c mount_fs.c getmntopts.c vfslist.c
-MAN= mntopts.3 mount.8
-MLINKS+= mntopts.3 getmntopts.3
-MLINKS+= mntopts.3 getmntpoint.3
-MLINKS+= mntopts.3 chkdoreload.3
-MLINKS+= mntopts.3 build_iovec.3
-MLINKS+= mntopts.3 build_iovec_argf.3
-MLINKS+= mntopts.3 free_iovec.3
-MLINKS+= mntopts.3 checkpath.3
-MLINKS+= mntopts.3 rmslashes.3
+SRCS= mount.c mount_fs.c vfslist.c
+MAN= mount.8
LIBADD= util xo
diff --git a/sbin/mount_cd9660/Makefile b/sbin/mount_cd9660/Makefile
--- a/sbin/mount_cd9660/Makefile
+++ b/sbin/mount_cd9660/Makefile
@@ -1,16 +1,10 @@
PACKAGE=runtime
PROG= mount_cd9660
-SRCS= mount_cd9660.c getmntopts.c
MAN= mount_cd9660.8
-LIBADD= kiconv
-
-MOUNT= ${.CURDIR:H}/mount
-CFLAGS+= -I${MOUNT}
+LIBADD= kiconv util
# Needs to be dynamically linked for optional dlopen() access to
# userland libiconv
NO_SHARED?= NO
-.PATH: ${MOUNT}
-
.include <bsd.prog.mk>
diff --git a/sbin/mount_fusefs/Makefile b/sbin/mount_fusefs/Makefile
--- a/sbin/mount_fusefs/Makefile
+++ b/sbin/mount_fusefs/Makefile
@@ -20,12 +20,7 @@
PACKAGE=runtime
PROG= mount_fusefs
-SRCS= mount_fusefs.c getmntopts.c
MAN8= mount_fusefs.8
-
-MOUNT= ${.CURDIR:H}/mount
-CFLAGS+= -I${MOUNT}
-
-.PATH: ${MOUNT}
+LIBADD= util
.include <bsd.prog.mk>
diff --git a/sbin/mount_msdosfs/Makefile b/sbin/mount_msdosfs/Makefile
--- a/sbin/mount_msdosfs/Makefile
+++ b/sbin/mount_msdosfs/Makefile
@@ -1,19 +1,10 @@
-#
-#
-
PACKAGE=runtime
PROG= mount_msdosfs
-SRCS= mount_msdosfs.c getmntopts.c
MAN= mount_msdosfs.8
-LIBADD= kiconv
-
-MOUNT= ${.CURDIR:H}/mount
-CFLAGS+= -I${MOUNT}
+LIBADD= kiconv util
# Needs to be dynamically linked for optional dlopen() access to
# userland libiconv
NO_SHARED?= NO
-.PATH: ${MOUNT}
-
.include <bsd.prog.mk>
diff --git a/sbin/mount_nfs/Makefile b/sbin/mount_nfs/Makefile
--- a/sbin/mount_nfs/Makefile
+++ b/sbin/mount_nfs/Makefile
@@ -1,12 +1,12 @@
PACKAGE=nfs
PROG= mount_nfs
-SRCS= mount_nfs.c getmntopts.c mounttab.c
+SRCS= mount_nfs.c mounttab.c
MAN= mount_nfs.8
+LIBADD= util
-MOUNT= ${.CURDIR:H}/mount
UMNTALL= ${SRCTOP}/usr.sbin/rpc.umntall
-CFLAGS+= -DNFS -I${MOUNT} -I${UMNTALL}
+CFLAGS+= -DNFS -I${UMNTALL}
-.PATH: ${MOUNT} ${UMNTALL}
+.PATH: ${UMNTALL}
.include <bsd.prog.mk>
diff --git a/sbin/mount_nullfs/Makefile b/sbin/mount_nullfs/Makefile
--- a/sbin/mount_nullfs/Makefile
+++ b/sbin/mount_nullfs/Makefile
@@ -1,11 +1,6 @@
PACKAGE=runtime
PROG= mount_nullfs
-SRCS= mount_nullfs.c getmntopts.c
MAN= mount_nullfs.8
-
-MOUNT= ${.CURDIR:H}/mount
-CFLAGS+=-I${MOUNT}
-
-.PATH: ${MOUNT}
+LIBADD= util
.include <bsd.prog.mk>
diff --git a/sbin/mount_udf/Makefile b/sbin/mount_udf/Makefile
--- a/sbin/mount_udf/Makefile
+++ b/sbin/mount_udf/Makefile
@@ -1,12 +1,7 @@
PACKAGE=runtime
PROG= mount_udf
-SRCS= mount_udf.c getmntopts.c
MAN= mount_udf.8
-LIBADD= kiconv
-
-MOUNT= ${.CURDIR:H}/mount
-CFLAGS+= -I${MOUNT} -I${SRCTOP}/sys
-.PATH: ${MOUNT}
+LIBADD= kiconv util
# Needs to be dynamically linked for optional dlopen() access to
# userland libiconv
diff --git a/sbin/mount_unionfs/Makefile b/sbin/mount_unionfs/Makefile
--- a/sbin/mount_unionfs/Makefile
+++ b/sbin/mount_unionfs/Makefile
@@ -1,11 +1,6 @@
PACKAGE=runtime
PROG= mount_unionfs
-SRCS= mount_unionfs.c getmntopts.c
MAN= mount_unionfs.8
-
-MOUNT= ${.CURDIR:H}/mount
-CFLAGS+=-I${MOUNT}
-
-.PATH: ${MOUNT}
+LIBADD= util
.include <bsd.prog.mk>
diff --git a/sbin/tunefs/Makefile b/sbin/tunefs/Makefile
--- a/sbin/tunefs/Makefile
+++ b/sbin/tunefs/Makefile
@@ -1,13 +1,8 @@
PACKAGE=ufs
PROG= tunefs
-SRCS= tunefs.c getmntopts.c
-LIBADD= ufs
+LIBADD= ufs util
MAN= tunefs.8
-MOUNT= ${SRCTOP}/sbin/mount
-CFLAGS+= -I${MOUNT}
-.PATH: ${MOUNT}
-
WARNS?= 3
.include <bsd.prog.mk>
diff --git a/tests/sys/fs/fusefs/Makefile b/tests/sys/fs/fusefs/Makefile
--- a/tests/sys/fs/fusefs/Makefile
+++ b/tests/sys/fs/fusefs/Makefile
@@ -55,7 +55,6 @@
.for p in ${GTESTS}
SRCS.$p+= ${p}.cc
-SRCS.$p+= getmntopts.c
SRCS.$p+= mockfs.cc
SRCS.$p+= utils.cc
.endfor
@@ -68,7 +67,6 @@
TEST_METADATA+= timeout=10
FUSEFS= ${SRCTOP}/sys/fs/fuse
-MOUNT= ${SRCTOP}/sbin/mount
# Suppress warnings that GCC generates for the libc++ and gtest headers.
CXXWARNFLAGS.gcc+= -Wno-placement-new -Wno-attributes
# Suppress Wcast-align for readdir.cc, because it is unavoidable when using
@@ -87,8 +85,6 @@
.endif
CXXFLAGS+= -I${SRCTOP}/tests
CXXFLAGS+= -I${FUSEFS}
-CXXFLAGS+= -I${MOUNT}
-.PATH: ${MOUNT}
LIBADD+= pthread
LIBADD+= gmock gtest
diff --git a/usr.sbin/autofs/Makefile b/usr.sbin/autofs/Makefile
--- a/usr.sbin/autofs/Makefile
+++ b/usr.sbin/autofs/Makefile
@@ -6,7 +6,6 @@
SRCS+= autounmountd.c
SRCS+= common.c
SRCS+= defined.c
-SRCS+= getmntopts.c
SRCS+= log.c
SRCS+= popen.c
SRCS+= token.l
@@ -18,15 +17,9 @@
LIBADD= util
-# Needed for getmntopts.c
-MOUNT= ${SRCTOP}/sbin/mount
-CFLAGS+=-I${MOUNT}
-
LINKS= ${BINDIR}/automountd ${BINDIR}/automount
LINKS+= ${BINDIR}/automountd ${BINDIR}/autounmountd
-.PATH: ${MOUNT}
-
SUBDIR= autofs
.include <bsd.prog.mk>
diff --git a/usr.sbin/mount_smbfs/Makefile b/usr.sbin/mount_smbfs/Makefile
--- a/usr.sbin/mount_smbfs/Makefile
+++ b/usr.sbin/mount_smbfs/Makefile
@@ -1,15 +1,12 @@
PROG= mount_smbfs
PACKAGE= smbutils
-SRCS= mount_smbfs.c getmntopts.c
MAN= mount_smbfs.8
-MOUNTDIR= ${SRCTOP}/sbin/mount
CONTRIBDIR= ${SRCTOP}/contrib/smbfs
-CFLAGS+= -DSMBFS -I${MOUNTDIR} -I${CONTRIBDIR}/include
+CFLAGS+= -DSMBFS -I${CONTRIBDIR}/include
-LIBADD= smb
+LIBADD= smb util
.PATH: ${CONTRIBDIR}/mount_smbfs
-.PATH: ${MOUNTDIR}
.include <bsd.prog.mk>
diff --git a/usr.sbin/mountd/Makefile b/usr.sbin/mountd/Makefile
--- a/usr.sbin/mountd/Makefile
+++ b/usr.sbin/mountd/Makefile
@@ -1,13 +1,8 @@
PROG= mountd
-SRCS= mountd.c getmntopts.c
MAN= exports.5 netgroup.5 mountd.8
-MOUNT= ${SRCTOP}/sbin/mount
-CFLAGS+= -I${MOUNT}
WARNS?= 2
-.PATH: ${MOUNT}
-
LIBADD= util
.include <bsd.prog.mk>

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 8, 9:56 AM (17 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31034447
Default Alt Text
D49951.diff (11 KB)

Event Timeline