diff --git a/configure.ac b/configure.ac index e30c8df33..8af42e435 100644 --- a/configure.ac +++ b/configure.ac @@ -697,7 +697,7 @@ AM_CONDITIONAL(BUILD_LOSETUP, test "x$build_losetup" = xyes) AC_ARG_ENABLE([libmount-mount], - AS_HELP_STRING([--enable-libmount-mount], [link mount(8) with libmount (EXPERIMENTAL)]), + AS_HELP_STRING([--enable-libmount-mount], [link old mount(8) with libmount]), [], enable_libmount_mount=no ) UL_BUILD_INIT([libmount_mount]) @@ -709,6 +709,18 @@ fi AM_CONDITIONAL(BUILD_LIBMOUNT_MOUNT, test "x$build_libmount_mount" = xyes) +AC_ARG_ENABLE([new-mount], + AS_HELP_STRING([--enable-new-mount], [build new pure libmount based mount(8) (EXPERIMENTAL)]), + [], enable_new_mount=no +) +UL_BUILD_INIT([new_mount]) +UL_REQUIRES_BUILD([new_mount], [libmount]) +if test "x$build_new_mount" = xyes; then + AM_CONDITIONAL(BUILD_MOUNT, [false]) +fi +AM_CONDITIONAL(BUILD_NEW_MOUNT, test "x$build_new_mount" = xyes) + + AC_ARG_ENABLE([fsck], AS_HELP_STRING([--disable-fsck], [do not build fsck]), [], enable_fsck=check @@ -1180,7 +1192,6 @@ libmount/src/Makefile libmount/src/libmount.h libmount/docs/Makefile libmount/docs/version.xml -libmount/samples/Makefile libuuid/uuid.pc libuuid/Makefile libuuid/man/Makefile diff --git a/libmount/Makefile.am b/libmount/Makefile.am index dbe131789..5f7ca4ca5 100644 --- a/libmount/Makefile.am +++ b/libmount/Makefile.am @@ -1,6 +1,6 @@ include $(top_srcdir)/config/include-Makefile.am -SUBDIRS = src samples +SUBDIRS = src if ENABLE_GTK_DOC SUBDIRS += docs diff --git a/libmount/samples/.gitignore b/libmount/samples/.gitignore deleted file mode 100644 index 33dbb1785..000000000 --- a/libmount/samples/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -mount -umount diff --git a/libmount/samples/Makefile.am b/libmount/samples/Makefile.am deleted file mode 100644 index a8c001f7d..000000000 --- a/libmount/samples/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -include $(top_srcdir)/config/include-Makefile.am - -AM_CPPFLAGS += -I$(ul_libmount_incdir) -AM_LDFLAGS += $(ul_libmount_la) - -noinst_PROGRAMS = mount umount - -mount_SOURCES = mount.c \ - $(top_srcdir)/lib/env.c \ - $(top_srcdir)/lib/xgetpass.c \ - $(top_srcdir)/lib/strutils.c - -umount_SOURCES = umount.c $(top_srcdir)/lib/env.c - diff --git a/sys-utils/.gitignore b/sys-utils/.gitignore index 909e7c4e4..38e8874b3 100644 --- a/sys-utils/.gitignore +++ b/sys-utils/.gitignore @@ -19,6 +19,7 @@ lscpu mips32.8 mips64.8 mips.8 +mount mountpoint parisc32.8 parisc64.8 @@ -43,5 +44,6 @@ swapon switch_root tunelp unshare +umount x86_64.8 chcpu diff --git a/sys-utils/Makefile.am b/sys-utils/Makefile.am index 43eb8ca42..cf910247a 100644 --- a/sys-utils/Makefile.am +++ b/sys-utils/Makefile.am @@ -52,6 +52,29 @@ prlimit_SOURCES = prlimit.c $(top_srcdir)/lib/strutils.c \ $(top_srcdir)/lib/tt.c endif + +if BUILD_NEW_MOUNT +# +# The original (stable) mount is in mount/ directory +# -- temporary we share man pages +# +bin_PROGRAMS += mount umount +dist_man_MANS += ../mount/fstab.5 ../mount/mount.8 ../mount/umount.8 + +mount_SOURCES = mount.c \ + $(top_srcdir)/lib/env.c \ + $(top_srcdir)/lib/xgetpass.c \ + $(top_srcdir)/lib/strutils.c + +mount_LDADD = $(ul_libmount_la) +mount_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir) + +umount_SOURCES = umount.c $(top_srcdir)/lib/env.c +umount_LDADD = $(ul_libmount_la) +umount_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir) +endif + + if BUILD_SWAPON sbin_PROGRAMS += swapon dist_man_MANS += swapoff.8 swapon.8 @@ -164,6 +187,12 @@ $(SETARCH_MAN_LINKS): install-exec-hook: if BUILD_SWAPON cd $(DESTDIR)$(sbindir) && ln -sf swapon swapoff +endif +if BUILD_NEW_MOUNT +if MAKEINSTALL_DO_SETUID + chmod 4755 $(DESTDIR)$(bindir)/mount + chmod 4755 $(DESTDIR)$(bindir)/umount +endif endif for I in $(SETARCH_LINKS); do \ cd $(DESTDIR)$(usrbin_execdir) && ln -sf setarch $$I ; \ diff --git a/libmount/samples/mount.c b/sys-utils/mount.c similarity index 100% rename from libmount/samples/mount.c rename to sys-utils/mount.c diff --git a/libmount/samples/umount.c b/sys-utils/umount.c similarity index 100% rename from libmount/samples/umount.c rename to sys-utils/umount.c diff --git a/tools/config-gen.d/devel-new-mount.conf b/tools/config-gen.d/devel-new-mount.conf new file mode 100644 index 000000000..528c5e31a --- /dev/null +++ b/tools/config-gen.d/devel-new-mount.conf @@ -0,0 +1,8 @@ +include:all.conf +include:audit.conf +include:selinux.conf +include:static.conf + +--enable-gtk-doc +--enable-new-mount +--with-utempter