On Sat, 24 May 2008, Alon Bar-Lev wrote:
> The attached patch does the followings:
>
> 1. Add --enable-mount-helper, default enabled on linux.
> 2. Trivial fixup casing in --disable-device-default-io-ops
> 3. Add --with-rootfs drop the uses of none standard exec-prefix, lib and
> core utils will be installed here, default /
> 4. Warn fuse none rootfs only if rootfs is /
> 5. Dependency of sbin.
> 6. As it is none standard to install anything out side of prefix, added
> DISTCHECK_HACK=1 environment that "make distcheck" works
>
> Please review.
Thanks Alon. This is actually more and better than what I've asked :-)
I think the --with-rootfs is a nice solution.
It's commited with two minor changes:
1. The explanation comment about the need for using rootfs stayed.
2. $(MKDIR_P) is replaced with $(mkdir_p). The former requires too
new automake (people do use and patch the build process even on
2.4. kernel environments).
Thanks again,
Szaka
> Index: configure.ac
> ===================================================================
> RCS file: /cvsroot/ntfs-3g/ntfs-3g/configure.ac,v
> retrieving revision 1.65
> diff -u -B -r1.65 configure.ac
> --- configure.ac 24 May 2008 15:49:56 -0000 1.65
> +++ configure.ac 24 May 2008 18:30:42 -0000
> @@ -73,6 +73,18 @@
> )
>
> AC_ARG_ENABLE(
> + [mount-helper],
> + [AC_HELP_STRING([--enable-mount-helper], [install mount helper
> @<:@default=enabled for linux@:>@])],
> + ,
> + [
> + case "${target_os}" in
> + linux*) enable_mount_helper="yes" ;;
> + *) enable_mount_helper="no" ;;
> + esac
> + ]
> +)
> +
> +AC_ARG_ENABLE(
> [ldconfig],
> [AC_HELP_STRING([--disable-ldconfig], [do not update dynamic linker
> cache using ldconfig])],
> ,
> @@ -95,11 +107,18 @@
>
> AC_ARG_ENABLE(
> [device-default-io-ops],
> - [AC_HELP_STRING([--disable-device-default-io-ops], [Install default IO
> ops])],
> + [AC_HELP_STRING([--disable-device-default-io-ops], [install default IO
> ops])],
> ,
> [enable_device_default_io_ops="yes"]
> )
>
> +AC_ARG_WITH(
> + [rootfs],
> + [AC_HELP_STRING([--with-rootfs=DIR], [rootfs location
> @<:@default=/@:>@])],
> + ,
> + [with_rootfs="/"]
> +)
> +
> # pthread_rwlock_t requires _GNU_SOURCE
> AC_GNU_SOURCE
>
> @@ -289,22 +308,17 @@
> test "${enable_really_static}" = "yes" && enable_library="no"
> test "${enable_library}" = "no" && enable_ldconfig="no"
>
> -# Settings
> +if test "x${DISTCHECK_HACK}" != "x"; then
> + with_rootfs=`echo "${prefix}" | sed "s#NONE#${ac_default_prefix}#"`
> + enable_mount_helper="no"
> + enable_ldconfig="no"
> +fi
> +
> +rootbindir="${with_rootfs}/bin"
> +rootsbindir="${with_rootfs}/sbin"
> +rootlibdir="${with_rootfs}/lib${libdir##*/lib}"
> pkgconfigdir="\$(libdir)/pkgconfig"
> ntfs3gincludedir="\$(includedir)/ntfs-3g"
> -# Executables should be installed to the root filesystem, otherwise
> -# automounting NTFS volumes can fail during boot if the driver binaries
> -# and their dependencies are on an unmounted partition. Use --exec-prefix
> -# to override this.
> -if test "x${exec_prefix}" = "xNONE"; then
> - rootbindir="/bin"
> - rootsbindir="/sbin"
> - rootlibdir="/lib${libdir##*/lib}"
> -else
> - rootbindir="\$(bindir)"
> - rootsbindir="\$(sbindir)"
> - rootlibdir="\$(libdir)"
> -fi
> AC_SUBST([pkgconfigdir])
> AC_SUBST([ntfs3gincludedir])
> AC_SUBST([rootbindir])
> @@ -320,6 +334,7 @@
> AM_CONDITIONAL([RUN_LDCONFIG], [test "${enable_ldconfig}" = "yes"])
> AM_CONDITIONAL([REALLYSTATIC], [test "${enable_really_static}" = "yes"])
> AM_CONDITIONAL([INSTALL_LIBRARY], [test "${enable_library}" = "yes"])
> +AM_CONDITIONAL([ENABLE_MOUNT_HELPER], [test "${enable_mount_helper}" =
> "yes"])
>
> # workaround for <autoconf-2.60
> if test -z "${docdir}"; then
> @@ -343,7 +358,7 @@
> ])
> AC_OUTPUT
>
> -if test "${with_fuse}" = "external"; then
> +if test "${with_fuse}" = "external" -a "${with_rootfs}" = "/"; then
> if ! echo "x$FUSE_LIB_PATH" | grep -- "x-L/lib" > /dev/null; then
> cat <<EOF
> ****************************************************************************
> Index: src/Makefile.am
> ===================================================================
> RCS file: /cvsroot/ntfs-3g/ntfs-3g/src/Makefile.am,v
> retrieving revision 1.12
> diff -u -B -r1.12 Makefile.am
> --- src/Makefile.am 24 May 2008 17:37:46 -0000 1.12
> +++ src/Makefile.am 24 May 2008 18:30:43 -0000
> @@ -37,13 +37,17 @@
> $(LDCONFIG)
> endif
>
> -install-exec-local:
> - $(INSTALL) -d "$(DESTDIR)/sbin"
> +if ENABLE_MOUNT_HELPER
> +install-exec-local: install-rootbinPROGRAMS
> + $(MKDIR_P) "$(DESTDIR)/sbin"
> $(LN_S) -f "$(rootbindir)/ntfs-3g" "$(DESTDIR)/sbin/mount.ntfs-3g"
> +endif
>
> install-data-local: install-man8
> $(LN_S) -f ntfs-3g.8 "$(DESTDIR)$(man8dir)/mount.ntfs-3g.8"
>
> uninstall-local:
> - $(RM) -f "$(DESTDIR)/sbin/mount.ntfs-3g"
> $(RM) -f "$(DESTDIR)$(man8dir)/mount.ntfs-3g.8"
> +if ENABLE_MOUNT_HELPER
> + $(RM) -f "$(DESTDIR)/sbin/mount.ntfs-3g"
> +endif
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> ntfs-3g-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel
>
--
NTFS-3G: http://ntfs-3g.org
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel