summaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authorAlejandro Pulver <alepulver@FreeBSD.org>2008-02-16 18:13:23 +0000
committerAlejandro Pulver <alepulver@FreeBSD.org>2008-02-16 18:13:23 +0000
commitf5088429312d7dd5861a93a8f6a52a5bd26f4e66 (patch)
tree9c4795a8f2b08e6aa3ad901cd08464271487c063 /sysutils
parentFrom [1]: (diff)
- Update to version 1.2129.
- Change LOCK option to ON by default (as official build). - Remove pre-everything warning and conditional pkg-message about UBLIO (see below). - Add README.FreeBSD (introduction, known issues, bug reporting, ublio configuration, mounting at starup, ...) and mention in pkg-message.
Notes
Notes: svn path=/head/; revision=207370
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/fusefs-ntfs/Makefile28
-rw-r--r--sysutils/fusefs-ntfs/distinfo6
-rw-r--r--sysutils/fusefs-ntfs/files/README.FreeBSD136
-rw-r--r--sysutils/fusefs-ntfs/files/extra-patch-ublio19
-rw-r--r--sysutils/fusefs-ntfs/files/patch-Makefile.in11
-rw-r--r--sysutils/fusefs-ntfs/files/patch-configure27
-rw-r--r--sysutils/fusefs-ntfs/files/patch-src-Makefile.in24
-rw-r--r--sysutils/fusefs-ntfs/files/pkg-message.in50
-rw-r--r--sysutils/fusefs-ntfs/pkg-plist8
9 files changed, 205 insertions, 104 deletions
diff --git a/sysutils/fusefs-ntfs/Makefile b/sysutils/fusefs-ntfs/Makefile
index 8f903b6f0c43..92d0da1c8f1a 100644
--- a/sysutils/fusefs-ntfs/Makefile
+++ b/sysutils/fusefs-ntfs/Makefile
@@ -5,7 +5,7 @@
#
PORTNAME= ntfs
-PORTVERSION= 1.1120
+PORTVERSION= 1.2129
CATEGORIES= sysutils
MASTER_SITES= http://www.ntfs-3g.org/
PKGNAMEPREFIX= fusefs-
@@ -15,7 +15,7 @@ EXTRACT_SUFX= .tgz
MAINTAINER= alepulver@FreeBSD.org
COMMENT= Mount NTFS partitions (read/write) and disk images
-BUILD_DEPENDS= fusefs-libs>=2.6.0:${PORTSDIR}/sysutils/fusefs-libs
+BUILD_DEPENDS= fusefs-libs>=2.7.2:${PORTSDIR}/sysutils/fusefs-libs
LIB_DEPENDS= fuse.2:${PORTSDIR}/sysutils/fusefs-libs
RUN_DEPENDS= ${LOCALBASE}/modules/fuse.ko:${PORTSDIR}/sysutils/fusefs-kmod
@@ -25,10 +25,13 @@ CONFIGURE_ARGS= --exec-prefix=${PREFIX}
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL}
-OPTIONS= LOCK "Lock the device when mounting (avoids access)" off \
+OPTIONS= LOCK "Lock the device when mounting (avoids access)" on \
UBLIO "Enable user space cache for improved speed" on
-MAN8= ntfs-3g.8
+SUB_FILES= pkg-message
+DOCSDIR= ${PREFIX}/share/doc/ntfs-3g
+
+MAN8= ntfs-3g.8 ntfs-3g.probe.8
MLINKS= ntfs-3g.8 mount_ntfs-3g.8
.include <bsd.port.pre.mk>
@@ -45,15 +48,18 @@ CFLAGS+= -DUSE_LOCK
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ublio
LIB_DEPENDS+= ublio.1:${PORTSDIR}/devel/libublio
CFLAGS+= -DUSE_UBLIO
-SUB_FILES+= pkg-message
+.endif
+
+.if defined(NOPORTDOCS)
+post-patch:
+ @${REINPLACE_CMD} -Ee 's|^(install-data-am:) .*|\1|' \
+ ${WRKSRC}/Makefile.in
+.endif
post-install:
- @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
-.else
-pre-everything::
- @${ECHO_MSG}
- @${ECHO_MSG} "WARNING: FreeBSD does not have cache support for block devices. This will considerably reduce the performance of this application, please consider enabling the UBLIO option and following the indications in the post-installation message." | ${FMT}
- @${ECHO_MSG}
+.if !defined(NOPORTDOCS)
+ ${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${DOCSDIR}
.endif
+ @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
.include <bsd.port.post.mk>
diff --git a/sysutils/fusefs-ntfs/distinfo b/sysutils/fusefs-ntfs/distinfo
index b089f337db71..dd01dc604f9a 100644
--- a/sysutils/fusefs-ntfs/distinfo
+++ b/sysutils/fusefs-ntfs/distinfo
@@ -1,3 +1,3 @@
-MD5 (ntfs-3g-1.1120.tgz) = 9561f07a6a5faa0fb6615727c0003b26
-SHA256 (ntfs-3g-1.1120.tgz) = ebd934dc538fd2bc343bfdc6a1e7748fb5d2f472afa4df10b733b514d4b77a9c
-SIZE (ntfs-3g-1.1120.tgz) = 577005
+MD5 (ntfs-3g-1.2129.tgz) = 8dc058841779feb2ec2588c30fb28ad2
+SHA256 (ntfs-3g-1.2129.tgz) = 3101309eb31fec2cad160cbf67be181e3da3fcad5d6bfda621d1d752d378d801
+SIZE (ntfs-3g-1.2129.tgz) = 647786
diff --git a/sysutils/fusefs-ntfs/files/README.FreeBSD b/sysutils/fusefs-ntfs/files/README.FreeBSD
new file mode 100644
index 000000000000..7fe4bd941bff
--- /dev/null
+++ b/sysutils/fusefs-ntfs/files/README.FreeBSD
@@ -0,0 +1,136 @@
+==============================================================================
+NTFS-3G 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 NTFS-3G 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:
+
+NTFS-3G site: http://ntfs-3g.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 options: LOCK (to prevent access to the device by external
+programs than NTFS-3G 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 NTFS-3G 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-3g"
+instead of "ntfs", and the additional "late" parameter is required. Example:
+
+/dev/ad4s1 /wxp ntfs-3g rw,late 0 0
+
+==============================================================================
+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 ntfs-3g /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 NTFS-3G 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:
+
+NTFS-3G forum: http://forum.ntfs-3g.org/
+FreeBSD PRs: http://www.freebsd.org/send-pr.html
+
+==============================================================================
diff --git a/sysutils/fusefs-ntfs/files/extra-patch-ublio b/sysutils/fusefs-ntfs/files/extra-patch-ublio
index 137055869d3b..2c2ff026ad15 100644
--- a/sysutils/fusefs-ntfs/files/extra-patch-ublio
+++ b/sysutils/fusefs-ntfs/files/extra-patch-ublio
@@ -1,14 +1,13 @@
---- libntfs-3g/Makefile.in.orig Sat Aug 25 18:23:50 2007
-+++ libntfs-3g/Makefile.in Mon Sep 10 14:38:59 2007
-@@ -82,7 +82,7 @@
- am__installdirs = "$(DESTDIR)$(libdir)"
- libLTLIBRARIES_INSTALL = $(INSTALL)
- LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
--libntfs_3g_la_LIBADD =
+--- libntfs-3g/Makefile.in.orig Mon Jan 28 16:08:09 2008
++++ libntfs-3g/Makefile.in Fri Feb 8 15:58:37 2008
+@@ -249,6 +249,7 @@
+ libntfs_3g_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/include/ntfs-3g
+ libntfs_3g_la_LDFLAGS = -version-info $(LIBNTFS_3G_VERSION) -no-undefined
+ @FUSE_INTERNAL_TRUE@libntfs_3g_la_LIBADD = $(top_srcdir)/libfuse-lite/libfuse-lite.la
+libntfs_3g_la_LIBADD = -lublio
- am_libntfs_3g_la_OBJECTS = libntfs_3g_la-attrib.lo \
- libntfs_3g_la-attrlist.lo libntfs_3g_la-bitmap.lo \
- libntfs_3g_la-bootsect.lo libntfs_3g_la-collate.lo \
+ libntfs_3g_la_SOURCES = attrib.c attrlist.c bitmap.c bootsect.c \
+ collate.c compat.c compress.c debug.c device.c dir.c index.c \
+ inode.c lcnalloc.c logfile.c logging.c mft.c misc.c mst.c \
--- ./src/ntfs-3g.c.orig Sun Apr 15 20:52:01 2007
+++ ./src/ntfs-3g.c Mon Apr 30 14:12:57 2007
@@ -1603,7 +1603,11 @@
diff --git a/sysutils/fusefs-ntfs/files/patch-Makefile.in b/sysutils/fusefs-ntfs/files/patch-Makefile.in
deleted file mode 100644
index a8e9c7bb624c..000000000000
--- a/sysutils/fusefs-ntfs/files/patch-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig Wed Dec 6 01:08:22 2006
-+++ Makefile.in Wed Dec 6 01:08:30 2006
-@@ -18,7 +18,7 @@
- VPATH = @srcdir@
- pkgdatadir = $(datadir)/@PACKAGE@
- pkglibdir = $(libdir)/@PACKAGE@
--pkgincludedir = $(includedir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@-3g
- top_builddir = .
- am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
- INSTALL = @INSTALL@
diff --git a/sysutils/fusefs-ntfs/files/patch-configure b/sysutils/fusefs-ntfs/files/patch-configure
index 583950785751..1d2ee279f5e9 100644
--- a/sysutils/fusefs-ntfs/files/patch-configure
+++ b/sysutils/fusefs-ntfs/files/patch-configure
@@ -1,11 +1,20 @@
---- configure.orig Mon Jul 16 08:10:12 2007
-+++ configure Mon Jul 16 08:10:48 2007
-@@ -20038,7 +20038,7 @@
+--- configure.orig Mon Jan 28 16:08:03 2008
++++ configure Fri Feb 8 18:29:13 2008
+@@ -19836,7 +19836,7 @@
+ fi
+ ;;
+-darwin*|netbsd*)
++darwin*|netbsd*|freebsd*)
+ with_fuse="external"
+ ;;
+ freebsd*)
+@@ -23293,7 +23293,7 @@
+ fi
- case "$target_os" in
--linux*|darwin*|netbsd*)
-+linux*|darwin*|netbsd*|freebsd*)
-
-
- if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ # Settings
+-pkgconfigdir="\$(libdir)/pkgconfig"
++pkgconfigdir="\$(prefix)/libdata/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
diff --git a/sysutils/fusefs-ntfs/files/patch-src-Makefile.in b/sysutils/fusefs-ntfs/files/patch-src-Makefile.in
index c2352df82763..8928cb5a4e92 100644
--- a/sysutils/fusefs-ntfs/files/patch-src-Makefile.in
+++ b/sysutils/fusefs-ntfs/files/patch-src-Makefile.in
@@ -1,22 +1,20 @@
---- src/Makefile.in.orig Sat Aug 25 18:23:50 2007
-+++ src/Makefile.in Mon Sep 10 15:23:40 2007
-@@ -528,7 +528,7 @@
+--- src/Makefile.in.orig Mon Jan 28 16:08:09 2008
++++ src/Makefile.in Fri Feb 8 16:05:14 2008
+@@ -638,7 +638,7 @@
info-am:
--install-data-am: install-data-local install-man
-+install-data-am: install-man
+-install-data-am: install-data-local install-man \
++install-data-am: install-man \
+ install-rootbinPROGRAMS install-rootsbinDATA
install-exec-am: install-binPROGRAMS install-exec-local
- @$(NORMAL_INSTALL)
-@@ -590,8 +590,8 @@
- @RUN_LDCONFIG_TRUE@ $(LDCONFIG)
+@@ -696,7 +696,7 @@
install-exec-local:
-- $(INSTALL) -d $(DESTDIR)/sbin
-- $(LN_S) -f $(bindir)/ntfs-3g $(DESTDIR)/sbin/mount.ntfs-3g
-+ $(INSTALL) -d $(DESTDIR)/usr/sbin
-+ $(LN_S) -f $(bindir)/ntfs-3g $(DESTDIR)/usr/sbin/mount_ntfs-3g
+ $(INSTALL) -d "$(DESTDIR)$(rootsbindir)"
+- $(LN_S) -f "$(rootbindir)/ntfs-3g" "$(DESTDIR)$(rootsbindir)/mount.ntfs-3g"
++ $(LN_S) -f "$(rootbindir)/ntfs-3g" "/usr/sbin/mount_ntfs-3g"
install-data-local:
- $(INSTALL) -d $(DESTDIR)$(man8dir)
+ $(INSTALL) -d "$(DESTDIR)$(man8dir)"
diff --git a/sysutils/fusefs-ntfs/files/pkg-message.in b/sysutils/fusefs-ntfs/files/pkg-message.in
index dca459bd96cd..8294b7a9c301 100644
--- a/sysutils/fusefs-ntfs/files/pkg-message.in
+++ b/sysutils/fusefs-ntfs/files/pkg-message.in
@@ -1,52 +1,10 @@
==============================================================================
-NTFS-3G has been installed, and was built with UBLIO support.
+NTFS-3G has been installed, for information, known issues and how to report
+bugs see the FreeBSD README:
-The UBLIO layer is configured through environment variables, which are read
-when mounting the filesystem. The following are available:
+%%DOCSDIR%%/README.FreeBSD
-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 ntfs-3g /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. In that
-case, use "ntfs-3g" as the type and add the "late" parameter. Note that this
-requires fusefs_enable="YES" to be present in /etc/rc.conf.
-
-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.
-
-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.
-
-When doing many simultaneous file operations on FUSE and native (not FUSE)
-filesystems sometimes one of them fails: read(2) returns -1 and sets errno to
-EAGAIN. The greater UBLIO_BLOCKSIZE is, more chances this has to happen (this
-still has to be clarified).
+Also see the official README (but has some Linux specific parts).
==============================================================================
diff --git a/sysutils/fusefs-ntfs/pkg-plist b/sysutils/fusefs-ntfs/pkg-plist
index 64d172ef2d70..4bd3abbe0674 100644
--- a/sysutils/fusefs-ntfs/pkg-plist
+++ b/sysutils/fusefs-ntfs/pkg-plist
@@ -1,4 +1,5 @@
bin/ntfs-3g
+bin/ntfs-3g.probe
@exec ln -fs %D/%F /usr/sbin/mount_ntfs-3g
@unexec rm -f /usr/sbin/mount_ntfs-3g
include/ntfs-3g/attrib.h
@@ -20,6 +21,7 @@ include/ntfs-3g/lcnalloc.h
include/ntfs-3g/logfile.h
include/ntfs-3g/logging.h
include/ntfs-3g/mft.h
+include/ntfs-3g/misc.h
include/ntfs-3g/mst.h
include/ntfs-3g/ntfstime.h
include/ntfs-3g/runlist.h
@@ -32,5 +34,9 @@ include/ntfs-3g/volume.h
lib/libntfs-3g.a
lib/libntfs-3g.la
lib/libntfs-3g.so
-lib/libntfs-3g.so.16
+lib/libntfs-3g.so.21
+libdata/pkgconfig/libntfs-3g.pc
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm include/ntfs-3g