aboutsummaryrefslogtreecommitdiff
path: root/sysutils/ntfsprogs
diff options
context:
space:
mode:
authorAlejandro Pulver <alepulver@FreeBSD.org>2008-08-13 03:00:56 +0000
committerAlejandro Pulver <alepulver@FreeBSD.org>2008-08-13 03:00:56 +0000
commitcf12848ad4376355947a3bbfde6c8e5e8ed27149 (patch)
tree98208cd6705a8e0b6820f9f8d69fa663aa3c2a9b /sysutils/ntfsprogs
parentb4354399494ed241cc599cd08fdb23d9b60e4e44 (diff)
downloadports-cf12848ad4376355947a3bbfde6c8e5e8ed27149.tar.gz
ports-cf12848ad4376355947a3bbfde6c8e5e8ed27149.zip
Notes
Diffstat (limited to 'sysutils/ntfsprogs')
-rw-r--r--sysutils/ntfsprogs/Makefile85
-rw-r--r--sysutils/ntfsprogs/distinfo6
-rw-r--r--sysutils/ntfsprogs/files/README.FreeBSD150
-rw-r--r--sysutils/ntfsprogs/files/patch-libntfs-device_io.c14
-rw-r--r--sysutils/ntfsprogs/files/patch-libntfs-unix_io.c67
-rw-r--r--sysutils/ntfsprogs/files/patch-ntfsprogs-Makefile.in20
-rw-r--r--sysutils/ntfsprogs/files/pkg-message.in15
-rw-r--r--sysutils/ntfsprogs/pkg-descr18
-rw-r--r--sysutils/ntfsprogs/pkg-plist19
9 files changed, 263 insertions, 131 deletions
diff --git a/sysutils/ntfsprogs/Makefile b/sysutils/ntfsprogs/Makefile
index 68b885127deb..e4644b9679da 100644
--- a/sysutils/ntfsprogs/Makefile
+++ b/sysutils/ntfsprogs/Makefile
@@ -6,66 +6,38 @@
#
PORTNAME= ntfsprogs
-PORTVERSION= 1.13.1
-PORTREVISION= 5
+PORTVERSION= 2.0.0
CATEGORIES= sysutils
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITES= SF
MASTER_SITE_SUBDIR= linux-ntfs
MAINTAINER= farrokhi@FreeBSD.org
COMMENT= Utilities and library to manipulate NTFS partitions
-WANT_GNOME= yes
+BUILD_DEPENDS= fusefs-libs>2.5:${PORTSDIR}/sysutils/fusefs-libs
+
+USE_GNOME= pkgconfig
+USE_BZIP2= yes
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --program-transform-name=""
-CONFIGURE_ENV= PKG_CONFIG=${LOCALBASE}/bin/pkg-config \
- CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL}
-OPTIONS= FUSE "Compile with Fuse interface" off \
- GNOMEVFS2 "Install GnomeVFS 2.0 libntfs interface" off \
- LOCK "Lock the device when mounting (avoids access)" off \
- UBLIO "Enable user space cache for improved speed" on
+OPTIONS= GNOMEVFS2 "Install GnomeVFS 2.0 libntfs interface" off \
+ LOCK "Lock the device when mounting (avoids access)" on \
+ UBLIO "Enable user space cache for improved speed" on \
+ UUID "Generate DCE compliant UUIDs" off
-MAN8= libntfs-gnomevfs.8 \
- mkntfs.8 \
- ntfscat.8 \
- ntfsclone.8 \
- ntfscluster.8 \
- ntfscmp.8 \
- ntfscp.8 \
- ntfsfix.8 \
- ntfsinfo.8 \
- ntfslabel.8 \
- ntfsls.8 \
- ntfsmount.8 \
- ntfsprogs.8 \
- ntfsresize.8 \
- ntfsundelete.8
+MAN8= libntfs.8 libntfs-gnomevfs.8 mkntfs.8 \
+ ntfscat.8 ntfsclone.8 ntfscluster.8 ntfscmp.8 \
+ ntfscp.8 ntfsfix.8 ntfsinfo.8 ntfslabel.8 ntfsls.8 ntfsmount.8 \
+ ntfsprogs.8 ntfsresize.8 ntfsundelete.8
+MLINKS= ntfsmount.8 mount_ntfs-fuse.8
-MLINKS= mkntfs.8 mkfs.ntfs.8
+SUB_FILES= pkg-message
.include <bsd.port.pre.mk>
-.if defined(WITH_FUSE) || defined(WITH_UBLIO)
-SUB_FILES+= pkg-message
-
-post-install:
- @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
-.endif
-
-.if defined(WITH_FUSE)
-CONFIGURE_ARGS+=--enable-fuse-module
-PLIST_SUB+= FUSE=""
-USE_GNOME+= pkgconfig
-BUILD_DEPENDS+= fusefs-libs>2.5:${PORTSDIR}/sysutils/fusefs-libs
-MLINKS+= ntfsmount.8 mount_ntfs-fuse.8
-.else
-CONFIGURE_ARGS+=--disable-fuse-module
-PLIST_SUB+= FUSE="@comment "
-.endif
-
.if defined(WITH_GNOMEVFS2)
CONFIGURE_ARGS+=--enable-gnome-vfs
USE_GNOME= gnomevfs2
@@ -79,6 +51,13 @@ PLIST_SUB+= GNOMEVFS2="@comment "
CFLAGS+= -DUSE_LOCK
.endif
+.if defined(WITH_UUID)
+LIB_DEPENDS+= uuid.1:${PORTSDIR}/misc/e2fsprogs-libuuid
+CONFIGURE_ARGS+=--enable-uuid
+.else
+CONFIGURE_ARGS+=--disable-uuid
+.endif
+
.if defined(WITH_UBLIO)
LIB_DEPENDS+= ublio.1:${PORTSDIR}/devel/libublio
CFLAGS+= -DUSE_UBLIO
@@ -89,16 +68,18 @@ pre-everything::
@${ECHO_MSG}
.endif
-post-patch:
- @${REINPLACE_CMD} -e 's|$$(DESTDIR)/sbin|$$(DESTDIR)/${PREFIX}/sbin|' \
- ${WRKSRC}/ntfsprogs/Makefile.in
- @${REINPLACE_CMD} -e \
- 's|$$(libdir)/\(gnome-vfs-2.0/modules\)|${LOCALBASE}/lib/\1|; \
- s|$$(sysconfdir)/\(gnome-vfs-2.0/modules\)|${LOCALBASE}/etc/\1|' \
- ${WRKSRC}/libntfs/Makefile.in
.if defined(WITH_UBLIO)
+post-patch:
@${REINPLACE_CMD} -e 's|^libntfs_la_LIBADD =|& -lublio|' \
${WRKSRC}/libntfs/Makefile.in
.endif
+post-install:
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
+ ${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${DOCSDIR}
+.endif
+ @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
+
.include <bsd.port.post.mk>
diff --git a/sysutils/ntfsprogs/distinfo b/sysutils/ntfsprogs/distinfo
index 7c38e0e5d3f1..5805567aa27f 100644
--- a/sysutils/ntfsprogs/distinfo
+++ b/sysutils/ntfsprogs/distinfo
@@ -1,3 +1,3 @@
-MD5 (ntfsprogs-1.13.1.tar.gz) = 23160eb8d34abe3d2a88cd6d054faa47
-SHA256 (ntfsprogs-1.13.1.tar.gz) = d89f90e6b565d6fc0ebaf190799ea40fc1e25329dd120dff0c85db65f9af42b6
-SIZE (ntfsprogs-1.13.1.tar.gz) = 870260
+MD5 (ntfsprogs-2.0.0.tar.bz2) = 2b39dece8897bc748f4ab4c40ec7699e
+SHA256 (ntfsprogs-2.0.0.tar.bz2) = ad36e19706c7303b10aa0a9bf2c2dd0309b91cd0171f1c9eb361d94a85017432
+SIZE (ntfsprogs-2.0.0.tar.bz2) = 678114
diff --git a/sysutils/ntfsprogs/files/README.FreeBSD b/sysutils/ntfsprogs/files/README.FreeBSD
new file mode 100644
index 000000000000..c2f5c74ac7c6
--- /dev/null
+++ b/sysutils/ntfsprogs/files/README.FreeBSD
@@ -0,0 +1,150 @@
+==============================================================================
+Linux-NTFS README for the FreeBSD port
+==============================================================================
+
+1. Introduction
+2. Port specific notes
+3. Mounting at startup with /etc/fstab
+4. Ublio configuration
+5. Known issues
+6. Reporting bugs
+
+==============================================================================
+1. Introduction
+==============================================================================
+
+The Linux-NTFS project provides a read/write filesystem driver for NTFS. It uses
+the FUSE library (a OS independent library to create filesystem drivers), more
+precisely FUSE's library with fuse4bsd's kernel module (port of the kernel
+dependent part of FUSE). For more information see:
+
+Linux-NTFS site: http://www.linux-ntfs.org/
+FUSE site: http://fuse.sourceforge.net/
+fuse4bsd site: http://fuse4bsd.creo.hu/
+
+==============================================================================
+2. Port specific notes
+==============================================================================
+
+The port has a patch to align read/write operations to the media block size
+(required on FreeBSD).
+
+The port has 2 related options: LOCK (to prevent access to the device by
+external programs than ntfsmount once mounted, default on Linux) and UBLIO
+(use a user space cache library, see devel/libublio, not required on Linux).
+
+The reason for using UBLIO is that FreeBSD removed support for block devices,
+being them now character devices. The former ones had a cache, and Linux-NTFS
+was optimized for it (Linux still uses them). The same happens on Mac OS X
+(based on FreeBSD 5). So using UBLIO both improves performance (~10 times
+faster), and reduces disk load.
+
+==============================================================================
+3. Mounting at startup with /etc/fstab
+==============================================================================
+
+To mount at startup you need to have the following line in /etc/rc.conf:
+
+fusefs_enable="YES"
+
+And add the appropiate line to /etc/fstab: the filesystem should be
+"ntfs-fuse" instead of "ntfs", and the additional "late" parameter is
+required. Example:
+
+/dev/ad4s1 /wxp ntfs-fuse rw,late 0 0
+
+Note that in FreeBSD 7.x, mount(8) has a fixed (hard coded) list of external
+mount_XXX programs that can be called, so to make this work you have to do one
+of the following:
+
+1. Rename /sbin/mount_ntfs, symlink ntfsmount as the former, and use just
+ "ntfs" as the type in /etc/fstab.
+ # mv /sbin/mount_ntfs /sbin/mount_ntfs-kern
+ # ln -s /usr/sbin/mount_ntfs-fuse /usr/sbin/mount_ntfs
+2. Apply a patch to src/sbin/mount/mount.c to add "ntfs-fuse" as a valid type.
+3. Apply a patch to src/sbin/mount/mount.c to make it work like in 6.x (better
+ than the previous one as will allow any external type). It can be found at:
+ http://people.freebsd.org/~alepulver/current-7.0-mount.diff
+
+==============================================================================
+4. Ublio configuration
+==============================================================================
+
+The UBLIO layer is configured through environment variables, which are read
+when mounting the filesystem. The following are available:
+
+NTFS_USE_UBLIO - Enable the UBLIO cache.
+UBLIO_BLOCKSIZE - Actual reads/writes will be multiples of this quantity.
+UBLIO_ITEMS - Number of cache entries, each of UBLIO_BLOCKSIZE length.
+UBLIO_GRACE - Number of times a cache entry will refuse being recycled.
+UBLIO_SYNC_IO - If enabled, all writes will be immediatly executed.
+
+To give an idea about tuning, here are the default values with some notes
+(they are only based on some simple benchmarks, and may be wrong):
+
+NTFS_USE_UBLIO - 1. Disabling it drastically decreases performance.
+UBLIO_BLOCKSIZE - 262144 (256KB). Larger improves reading/writing speed of
+ large files, and smaller makes filesystem operations
+ (creation, deletion, moving, find(1)) perform faster.
+ Try 2/4MB and 512/256KB for the different approaches. Note
+ that after that points performance descreases again.
+UBLIO_ITEMS - 64. Higher increases speed of filesystem operations. Try 128.
+UBLIO_GRACE - 32. Makes the cache items have more chances to be reused.
+UBLIO_SYNC_IO - 0. If enabled, highly decreases writing speed, but the data
+ is immediatly written to the disk.
+
+For example (improves performance over large files, but read below):
+
+# env UBLIO_BLOCKSIZE=2097152 ntfsmount /dev/ad0s1 /mnt
+
+Alternatively these variables could be set in the shell startup file. For
+example if you are using it in /etc/fstab add them to /etc/profile. If you use
+it as a user, instead, editing the shell startup in HOME is enough.
+
+Note that higher values for UBLIO_BLOCKSIZE and UBLIO_ITEMS increase the
+memory usage by their product in bytes. For example, if you set it to 1MB it
+would consume 64MB. To decrease it to 16MB you could set UBLIO_BLOCKSIZE to
+256KB (currently this is the default). Small values like 4096 can be used and
+also perform fine.
+
+It is also possible to enforce block aligned I/O on regular files by setting
+the FORCE_ALIGNED_IO variable (it will be set to 512 bytes), but this is only
+useful for testing purposes and in practice has no use.
+
+==============================================================================
+5. Known issues
+==============================================================================
+
+When reading/writting the same file repeatedly while doing many simultaneous
+operations on different files sometimes the former one fails: read(2) returns
+-1 and sets errno to EAGAIN. This is because of a difference between the FUSE
+kernel implementation in Linux and FreeBSD, and is being worked on. An example
+scenario would be playing a song in XMMS, while building many ports, which
+could cause XMMS skip the song. Another observed problem is the current
+directory not being found, but entering again would work. The details are
+described in fuse4bsd (sysutils/fusefs-kmod) documentation (Linux access is
+path based while FreeBSD is vnode based, which may be reused).
+
+==============================================================================
+6. Reporting bugs
+==============================================================================
+
+About the port itself, you can ask the maintainer (preferable) and/or in the
+ports@FreeBSD.org mailing list.
+
+About general NTFS problems (corruptions, etc) ask in the Linux-NTFS forum
+(see below).
+
+But often (even on Linux, 50% of the issues are related to these) the problems
+reside on the FUSE implementation (the library itself, or fuse4bsd portion).
+
+For reporting kernel panics, see:
+
+http://fuse.sourceforge.net/wiki/index.php/DebugFreeBSDPanicsHowto
+
+And you can report them to the fuse4bsd author (preferable), or here:
+
+Linux-NTFS forum: http://forum.linux-ntfs.org/
+FreeBSD PRs: http://www.freebsd.org/send-pr.html
+
+==============================================================================
diff --git a/sysutils/ntfsprogs/files/patch-libntfs-device_io.c b/sysutils/ntfsprogs/files/patch-libntfs-device_io.c
new file mode 100644
index 000000000000..5ae783f17f0f
--- /dev/null
+++ b/sysutils/ntfsprogs/files/patch-libntfs-device_io.c
@@ -0,0 +1,14 @@
+--- libntfs/device_io.c.orig 2007-09-26 15:28:34.000000000 -0300
++++ libntfs/device_io.c 2008-08-10 20:27:34.000000000 -0300
+@@ -28,11 +28,6 @@
+ /* On Cygwin; use Win32 low level device operations. */
+ #include "win32_io.c"
+
+-#elif defined(__FreeBSD__)
+-
+-/* On FreeBSD; need to use sector aligned i/o. */
+-#include "freebsd_io.c"
+-
+ #else
+
+ /*
diff --git a/sysutils/ntfsprogs/files/patch-libntfs-unix_io.c b/sysutils/ntfsprogs/files/patch-libntfs-unix_io.c
index a31fd9b78deb..befe6aa3fe63 100644
--- a/sysutils/ntfsprogs/files/patch-libntfs-unix_io.c
+++ b/sysutils/ntfsprogs/files/patch-libntfs-unix_io.c
@@ -1,5 +1,5 @@
---- libntfs/unix_io.c.orig Fri Feb 3 23:42:42 2006
-+++ libntfs/unix_io.c Mon Sep 10 17:56:18 2007
+--- ./libntfs/unix_io.c.orig 2007-09-26 15:28:34.000000000 -0300
++++ ./libntfs/unix_io.c 2008-08-10 17:44:16.000000000 -0300
@@ -54,19 +54,112 @@
#include <linux/fd.h>
#endif
@@ -114,7 +114,7 @@
/**
* ntfs_device_unix_io_open - Open a device and lock it exclusively
* @dev:
-@@ -78,30 +171,87 @@
+@@ -78,24 +171,76 @@
*/
static int ntfs_device_unix_io_open(struct ntfs_device *dev, int flags)
{
@@ -128,7 +128,6 @@
- int err;
+ struct unix_filehandle *ufh;
+ int err = 0;
-+ int is_special = 0;
+#if USE_UBLIO
+ struct ublio_param up;
+ int use_ublio = 0;
@@ -139,14 +138,13 @@
errno = EBUSY;
return -1;
}
-- if (!(dev->d_private = malloc(sizeof(int))))
-+
-+ if (S_ISBLK(sbuf.st_mode) || S_ISCHR(sbuf.st_mode))
-+ is_special = 1;
+- if (!(dev->d_private = ntfs_malloc(sizeof(int))))
+
+ ufh = malloc(sizeof(*ufh));
+ if (!ufh)
return -1;
+- *(int*)dev->d_private = open(dev->d_name, flags);
+- if (*(int*)dev->d_private == -1) {
+ dev->d_private = ufh;
+#if USE_ALIGNED_IO
+ ufh->fd = -1;
@@ -155,15 +153,6 @@
+ ufh->media_size = 0;
+#endif
+
- /*
- * Open the device/file obtaining the file descriptor for exclusive
- * access (but only if mounting r/w).
- */
-- if ((flags & O_RDWR) == O_RDWR)
-+ if (!is_special && (flags & O_RDWR) == O_RDWR)
- flags |= O_EXCL;
-- *(int*)dev->d_private = open(dev->d_name, flags);
-- if (*(int*)dev->d_private == -1) {
+ ufh->fd = open(dev->d_name, flags);
+ if (ufh->fd == -1) {
err = errno;
@@ -172,7 +161,6 @@
/* Setup our read-only flag. */
if ((flags & O_RDWR) != O_RDWR)
NDevSetReadOnly(dev);
-+
+#if USE_UBLIO
+ ufh->ublio_fh = NULL;
+ if ((xenv = getenv("NTFS_USE_UBLIO")) &&
@@ -207,7 +195,7 @@
/* Acquire exclusive (mandatory) lock on the whole device. */
memset(&flk, 0, sizeof(flk));
if (NDevReadOnly(dev))
-@@ -110,7 +260,21 @@
+@@ -104,7 +249,21 @@
flk.l_type = F_WRLCK;
flk.l_whence = SEEK_SET;
flk.l_start = flk.l_len = 0LL;
@@ -228,10 +216,10 @@
+#if USE_LOCK
+ if (!NDevBlock(dev) && fcntl(DEV_FD(dev), F_SETLK, &flk)) {
err = errno;
- ntfs_log_debug("ntfs_device_unix_io_open: Could not lock %s for %s\n",
- dev->d_name, NDevReadOnly(dev) ? "reading" : "writing");
-@@ -119,6 +283,16 @@
- "close %s", dev->d_name);
+ ntfs_log_debug("ntfs_device_unix_io_open: Could not lock %s "
+ "for %s\n", dev->d_name, NDevReadOnly(dev) ?
+@@ -114,6 +273,16 @@
+ "Could not close %s", dev->d_name);
goto err_out;
}
+#endif
@@ -247,7 +235,7 @@
/* Determine if device is a block device or not, ignoring errors. */
if (!fstat(DEV_FD(dev), &sbuf) && S_ISBLK(sbuf.st_mode))
NDevSetBlock(dev);
-@@ -142,7 +316,10 @@
+@@ -137,7 +306,10 @@
*/
static int ntfs_device_unix_io_close(struct ntfs_device *dev)
{
@@ -258,7 +246,7 @@
if (!NDevOpen(dev)) {
errno = EBADF;
-@@ -150,14 +327,20 @@
+@@ -145,14 +317,20 @@
}
if (NDevDirty(dev))
fsync(DEV_FD(dev));
@@ -280,7 +268,7 @@
/* Close the file descriptor and clear our open flag. */
if (close(DEV_FD(dev)))
return -1;
-@@ -180,10 +363,235 @@
+@@ -175,9 +353,234 @@
static s64 ntfs_device_unix_io_seek(struct ntfs_device *dev, s64 offset,
int whence)
{
@@ -317,8 +305,8 @@
+#else
return lseek(DEV_FD(dev), offset, whence);
+#endif
-+}
-+
+ }
+
+#if USE_ALIGNED_IO
+
+#if USE_UBLIO
@@ -400,9 +388,9 @@
+ if (nr > count)
+ nr = count;
+ return nr;
- }
-
- /**
++}
++
++/**
+ * aligned_pwrite - Perform an aligned positioned write from the device
+ */
+static s64 aligned_pwrite(struct ntfs_device *dev, void *buf, s64 count, s64 offset)
@@ -512,11 +500,10 @@
+
+#endif
+
-+/**
+ /**
* ntfs_device_unix_io_read - Read from the device, from the current location
* @dev:
- * @buf:
-@@ -196,6 +604,29 @@
+@@ -191,6 +594,29 @@
static s64 ntfs_device_unix_io_read(struct ntfs_device *dev, void *buf,
s64 count)
{
@@ -546,7 +533,7 @@
return read(DEV_FD(dev), buf, count);
}
-@@ -217,6 +648,28 @@
+@@ -212,6 +638,28 @@
return -1;
}
NDevSetDirty(dev);
@@ -575,7 +562,7 @@
return write(DEV_FD(dev), buf, count);
}
-@@ -234,6 +687,13 @@
+@@ -229,6 +677,13 @@
static s64 ntfs_device_unix_io_pread(struct ntfs_device *dev, void *buf,
s64 count, s64 offset)
{
@@ -586,10 +573,10 @@
+ return ublio_pread(DEV_HANDLE(dev)->ublio_fh, buf, count,
+ offset);
+#endif
- return ntfs_pread(dev, offset, count, buf);
+ return pread(DEV_FD(dev), buf, count, offset);
}
-@@ -256,6 +716,13 @@
+@@ -251,6 +706,13 @@
return -1;
}
NDevSetDirty(dev);
@@ -600,10 +587,10 @@
+ return ublio_pwrite(DEV_HANDLE(dev)->ublio_fh, (void *)buf,
+ count, offset);
+#endif
- return ntfs_pwrite(dev, offset, count, buf);
+ return pwrite(DEV_FD(dev), buf, count, offset);
}
-@@ -269,8 +736,17 @@
+@@ -264,8 +726,17 @@
*/
static int ntfs_device_unix_io_sync(struct ntfs_device *dev)
{
diff --git a/sysutils/ntfsprogs/files/patch-ntfsprogs-Makefile.in b/sysutils/ntfsprogs/files/patch-ntfsprogs-Makefile.in
index 30d5a3d5d44c..e435a238832a 100644
--- a/sysutils/ntfsprogs/files/patch-ntfsprogs-Makefile.in
+++ b/sysutils/ntfsprogs/files/patch-ntfsprogs-Makefile.in
@@ -1,19 +1,21 @@
---- ntfsprogs/Makefile.in.orig Wed Jun 21 05:41:46 2006
-+++ ntfsprogs/Makefile.in Mon Sep 10 15:47:08 2007
-@@ -914,13 +914,14 @@
+--- ntfsprogs/Makefile.in.orig 2007-09-28 19:12:39.000000000 -0300
++++ ntfsprogs/Makefile.in 2008-08-10 20:53:50.000000000 -0300
+@@ -1072,15 +1072,12 @@
install-exec-hook:
$(INSTALL) -d $(DESTDIR)/sbin
+- $(LN_S) -f $(sbindir)/mkntfs $(DESTDIR)/sbin/mkfs.ntfs
+-@ENABLE_FUSE_TRUE@ $(LN_S) -f $(bindir)/ntfsmount $(DESTDIR)/sbin/mount.ntfs-fuse
+-@ENABLE_FUSE_TRUE@ $(LN_S) -f $(bindir)/ntfsmount $(DESTDIR)/sbin/mount.fuse.ntfs
+ $(INSTALL) -d $(DESTDIR)/usr/sbin
- $(LN_S) -f $(sbindir)/mkntfs $(DESTDIR)/sbin/mkfs.ntfs
--@ENABLE_FUSE_MODULE_TRUE@ $(LN_S) -f $(bindir)/ntfsmount $(DESTDIR)/sbin/mount.ntfs-fuse
-+@ENABLE_FUSE_MODULE_TRUE@ $(LN_S) -f $(bindir)/ntfsmount $(DESTDIR)/usr/sbin/mount_ntfs-fuse
++@ENABLE_FUSE_TRUE@ $(LN_S) -f $(bindir)/ntfsmount $(DESTDIR)/usr/sbin/mount_ntfs-fuse
install-data-hook:
$(INSTALL) -d $(DESTDIR)$(man8dir)
- $(LN_S) -f mkntfs.8 $(DESTDIR)$(man8dir)/mkfs.ntfs.8
--@ENABLE_FUSE_MODULE_TRUE@ $(LN_S) -f ntfsmount.8 $(DESTDIR)$(man8dir)/mount.ntfs-fuse.8
-+@ENABLE_FUSE_MODULE_TRUE@ $(LN_S) -f ntfsmount.8 $(DESTDIR)$(man8dir)/mount_ntfs-fuse.8
+- $(LN_S) -f mkntfs.8 $(DESTDIR)$(man8dir)/mkfs.ntfs.8
+-@ENABLE_FUSE_TRUE@ $(LN_S) -f ntfsmount.8 $(DESTDIR)$(man8dir)/mount.ntfs-fuse.8
+-@ENABLE_FUSE_TRUE@ $(LN_S) -f ntfsmount.8 $(DESTDIR)$(man8dir)/mount.fuse.ntfs.8
++@ENABLE_FUSE_TRUE@ $(LN_S) -f ntfsmount.8 $(DESTDIR)$(man8dir)/mount_ntfs-fuse.8
uninstall-local:
$(RM) -f $(DESTDIR)/sbin/mkfs.ntfs
diff --git a/sysutils/ntfsprogs/files/pkg-message.in b/sysutils/ntfsprogs/files/pkg-message.in
index 5ce938b93120..a620ce0e6403 100644
--- a/sysutils/ntfsprogs/files/pkg-message.in
+++ b/sysutils/ntfsprogs/files/pkg-message.in
@@ -1,13 +1,10 @@
==============================================================================
-If UBLIO (cache for improving performance) was enabled, see the following to
-know more about it: "ports/sysutils/fusefs-ntfs/files/pkg-message.in" (only
-the relevant parts).
-
-If FUSE (mount support) was enabled, note that there is no write capability
-and does not allow to browse directories with programs like the GTK+ file
-browser, Midnight Commander, etc. So for mounting it's better to use
-"sysutils/fusefs-ntfs". Note that the mount(8) filesystem type installed by
-this port is called "ntfs-fuse".
+Linux-NTFS has been installed, for information, known issues and how to report
+bugs see the FreeBSD README (describes FUSE and UBLIO options):
+
+%%DOCSDIR%%/README.FreeBSD
+
+Also see the official README (platform independent).
==============================================================================
diff --git a/sysutils/ntfsprogs/pkg-descr b/sysutils/ntfsprogs/pkg-descr
index 02f028d7f666..e9acce13c795 100644
--- a/sysutils/ntfsprogs/pkg-descr
+++ b/sysutils/ntfsprogs/pkg-descr
@@ -1,12 +1,12 @@
-The goals of this project are: create a new Linux kernel driver for the NTFS
-file system (v1.2 and later 3.0), user space utilities (e.g. format, ntfs
-check, etc.) and a library to avoid code duplication and provide access to
-NTFS to other GPLed programs.
+The goals of the Linux-NTFS project are to develop reliable and full feature
+access to NTFS by the Linux kernel driver and by a user space driver
+(ntfsmount), and to provide a wide collection of NTFS utilities and a
+developer's library for other GPLed programs. We have already achieved a lot,
+with high quality results. Includes the following:
-It includes a read-only fusefs driver to mount NTFS volumes, but a read-write
-version exists in sysutils/fusefs-ntfs. They can be installed simultaneously.
+ntfsmount: fast, reliable, read/write, userspace.
+ntfsprogs: various tools for managing ntfs, namely mkntfs, ntfsresize,
+ ntfsclone, ntfsfix, ntfsundelete, ntfswipe and ntfsdecrypt.
-WWW: http://www.linux-ntfs.org/
-- Florent Thoumie
-flz@xbsd.org
+WWW: http://www.linux-ntfs.org/
diff --git a/sysutils/ntfsprogs/pkg-plist b/sysutils/ntfsprogs/pkg-plist
index a0b23a937c2e..0546a159d624 100644
--- a/sysutils/ntfsprogs/pkg-plist
+++ b/sysutils/ntfsprogs/pkg-plist
@@ -4,9 +4,9 @@ bin/ntfscmp
bin/ntfsfix
bin/ntfsinfo
bin/ntfsls
-%%FUSE%%bin/ntfsmount
-%%FUSE%%@exec ln -fs %D/%F /usr/sbin/mount_ntfs-fuse
-%%FUSE%%@unexec rm -f /usr/sbin/mount_ntfs-fuse
+bin/ntfsmount
+@exec ln -fs %D/%F /usr/sbin/mount_ntfs-fuse
+@unexec rm -f /usr/sbin/mount_ntfs-fuse
include/ntfs/attrib.h
include/ntfs/attrlist.h
include/ntfs/bitmap.h
@@ -14,14 +14,15 @@ include/ntfs/bootsect.h
include/ntfs/collate.h
include/ntfs/compat.h
include/ntfs/compress.h
+include/ntfs/crypto.h
include/ntfs/debug.h
include/ntfs/device.h
include/ntfs/device_io.h
include/ntfs/dir.h
-include/ntfs/index.h
include/ntfs/endians.h
include/ntfs/gnome-vfs-method.h
include/ntfs/gnome-vfs-module.h
+include/ntfs/index.h
include/ntfs/inode.h
include/ntfs/layout.h
include/ntfs/lcnalloc.h
@@ -31,11 +32,9 @@ include/ntfs/logging.h
include/ntfs/mft.h
include/ntfs/mst.h
include/ntfs/ntfstime.h
-include/ntfs/rich.h
include/ntfs/runlist.h
include/ntfs/security.h
include/ntfs/support.h
-include/ntfs/tree.h
include/ntfs/types.h
include/ntfs/unistr.h
include/ntfs/version.h
@@ -43,17 +42,19 @@ include/ntfs/volume.h
lib/libntfs.a
lib/libntfs.la
lib/libntfs.so
-lib/libntfs.so.9
+lib/libntfs.so.10
sbin/mkntfs
-sbin/mkfs.ntfs
sbin/ntfsclone
sbin/ntfscp
sbin/ntfslabel
sbin/ntfsresize
sbin/ntfsundelete
-@dirrm include/ntfs
%%GNOMEVFS2%%etc/gnome-vfs-2.0/modules/libntfs.conf
%%GNOMEVFS2%%lib/gnome-vfs-2.0/modules/libntfs-gnomevfs.a
%%GNOMEVFS2%%lib/gnome-vfs-2.0/modules/libntfs-gnomevfs.la
%%GNOMEVFS2%%lib/gnome-vfs-2.0/modules/libntfs-gnomevfs.so
%%GNOMEVFS2%%lib/gnome-vfs-2.0/modules/libntfs-gnomevfs.so.1
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
+@dirrm include/ntfs
+%%PORTDOCS%%@dirrm %%DOCSDIR%%