aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2025-04-22 21:50:19 +0000
committerBrooks Davis <brooks@FreeBSD.org>2025-04-22 21:51:42 +0000
commitcda23fc36d22bfa9d57d1a57c0daaeeb86bac94f (patch)
tree78bce56a59898f49754aa59a8a9944088fa53e8e
parent58426589030308cd632477d328b9536b1634c54d (diff)
-rw-r--r--lib/libutil/Makefile14
-rw-r--r--lib/libutil/mntopts.3 (renamed from sbin/mount/mntopts.3)26
-rw-r--r--lib/libutil/mntopts.c (renamed from sbin/mount/getmntopts.c)0
-rw-r--r--lib/libutil/mntopts.h (renamed from sbin/mount/mntopts.h)5
-rw-r--r--sbin/fsck/Makefile5
-rw-r--r--sbin/fsck_ffs/Makefile8
-rw-r--r--sbin/growfs/Makefile5
-rw-r--r--sbin/init/Makefile6
-rw-r--r--sbin/mksnap_ffs/Makefile3
-rw-r--r--sbin/mount/Makefile12
-rw-r--r--sbin/mount_cd9660/Makefile8
-rw-r--r--sbin/mount_fusefs/Makefile7
-rw-r--r--sbin/mount_msdosfs/Makefile11
-rw-r--r--sbin/mount_nfs/Makefile8
-rw-r--r--sbin/mount_nullfs/Makefile7
-rw-r--r--sbin/mount_udf/Makefile7
-rw-r--r--sbin/mount_unionfs/Makefile7
-rw-r--r--sbin/tunefs/Makefile7
-rw-r--r--tests/sys/fs/fusefs/Makefile4
-rw-r--r--usr.sbin/autofs/Makefile7
-rw-r--r--usr.sbin/mount_smbfs/Makefile7
-rw-r--r--usr.sbin/mountd/Makefile5
22 files changed, 51 insertions, 118 deletions
diff --git a/lib/libutil/Makefile b/lib/libutil/Makefile
index 8178d33b7ba8..0639745d08fc 100644
--- a/lib/libutil/Makefile
+++ b/lib/libutil/Makefile
@@ -16,9 +16,10 @@ SRCS= _secure_path.c auth.c cpuset.c expand_number.c flopen.c fparseln.c \
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 @@ MAN+= cpuset.3 expand_number.3 flopen.3 fparseln.3 ftime.3 getlocalbase.3 \
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 @@ MLINKS+=login_times.3 in_lt.3 login_times.3 in_ltm.3 \
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.3 b/lib/libutil/mntopts.3
index 74fca612479f..35f6d476fcec 100644
--- 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 @@ flag, would also have an
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 @@ and
.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
index 0912b1e1a306..0912b1e1a306 100644
--- a/sbin/mount/getmntopts.c
+++ b/lib/libutil/mntopts.c
diff --git a/sbin/mount/mntopts.h b/lib/libutil/mntopts.h
index dc1452097ed8..0027b8ca7155 100644
--- 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 @@ extern int getmnt_silent;
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/fsck/Makefile b/sbin/fsck/Makefile
index 3273ea730dc8..33ff4784a92b 100644
--- 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
index 7b0f0ed822bf..c6676007db2a 100644
--- a/sbin/fsck_ffs/Makefile
+++ b/sbin/fsck_ffs/Makefile
@@ -5,12 +5,12 @@ LINKS+= ${BINDIR}/fsck_ffs ${BINDIR}/fsck_4.2bsd
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
index 6fb1ba51db00..b5b3d99f287d 100644
--- 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
index 124a9f77dede..1fc9b633f664 100644
--- 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 @@ LIBADD= util crypt
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
index 591fd6adcc22..cf5079fdfa8e 100644
--- 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
index 9b5c9b9e593d..e2a3098813c4 100644
--- 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
index 3a8f9cd45cb4..9fa8e7436169 100644
--- 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
index 0c173bf1b687..e683b35f0c8a 100644
--- a/sbin/mount_fusefs/Makefile
+++ b/sbin/mount_fusefs/Makefile
@@ -20,12 +20,7 @@ DEBUG_FLAGS+= -DFUSE4BSD_VERSION="\"${F4BVERS}\""
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
index e01755b2fce2..50f07f175001 100644
--- 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
index 3e61a9f680e0..fb425106dd81 100644
--- 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
index 12e87308ed13..1844aa14b24f 100644
--- 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
index c41c051fc315..6506f6ba3985 100644
--- 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
index 2096386a3784..35e7e8fa75b7 100644
--- 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
index e236525557e1..4ea2219c8e03 100644
--- 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
index 06b82071fe31..4265f5b71dfa 100644
--- a/tests/sys/fs/fusefs/Makefile
+++ b/tests/sys/fs/fusefs/Makefile
@@ -55,7 +55,6 @@ GTESTS+= xattr
.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.nfs+= required_user="root"
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 @@ CXXWARNFLAGS+= -Wno-vla-cxx-extension
.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
index 2d0c1bcb8806..b32c617cfd56 100644
--- a/usr.sbin/autofs/Makefile
+++ b/usr.sbin/autofs/Makefile
@@ -6,7 +6,6 @@ SRCS+= automountd.c
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 @@ MAN= automount.8 automountd.8 autounmountd.8 auto_master.5
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
index 8bd1b0f34d99..857d475103d0 100644
--- 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
index e63b03bbfe45..ebc4d3438cc1 100644
--- 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>