mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-24 04:33:24 +00:00
- Update to version 2.0.0 with write support, add README partially mirrored
from similar port sysutils/fusefs-ntfs (other parts taken as well). - Update pkg-descr and pkg-message. PR: ports/126439 Approved by: miwi
This commit is contained in:
parent
b435439949
commit
cf12848ad4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=218481
@ -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>
|
||||
|
@ -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
|
||||
|
150
sysutils/ntfsprogs/files/README.FreeBSD
Normal file
150
sysutils/ntfsprogs/files/README.FreeBSD
Normal file
@ -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
|
||||
|
||||
==============================================================================
|
14
sysutils/ntfsprogs/files/patch-libntfs-device_io.c
Normal file
14
sysutils/ntfsprogs/files/patch-libntfs-device_io.c
Normal file
@ -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
|
||||
|
||||
/*
|
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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).
|
||||
Linux-NTFS has been installed, for information, known issues and how to report
|
||||
bugs see the FreeBSD README (describes FUSE and UBLIO options):
|
||||
|
||||
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".
|
||||
%%DOCSDIR%%/README.FreeBSD
|
||||
|
||||
Also see the official README (platform independent).
|
||||
|
||||
==============================================================================
|
||||
|
@ -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:
|
||||
|
||||
ntfsmount: fast, reliable, read/write, userspace.
|
||||
ntfsprogs: various tools for managing ntfs, namely mkntfs, ntfsresize,
|
||||
ntfsclone, ntfsfix, ntfsundelete, ntfswipe and ntfsdecrypt.
|
||||
|
||||
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.
|
||||
|
||||
WWW: http://www.linux-ntfs.org/
|
||||
|
||||
- Florent Thoumie
|
||||
flz@xbsd.org
|
||||
|
@ -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%%
|
||||
|
Loading…
Reference in New Issue
Block a user