homebrew-core/Formula/ntfs-3g.rb
Bruno Santos 8a3c43c9e0 ntfs-3g: add support script and instructions for automounting
The support script will set the permissions for the current logged in
user, otherwise it will set them for the user that installed ntfs-3g.
The automount support script is based on the information provided at
http://fernandoff.posterous.com/ntfs-write-support-on-osx-lion-with-ntfs-3g-f

Closes Homebrew/homebrew#10959.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2012-03-17 11:42:33 -05:00

100 lines
3.4 KiB
Ruby

require 'formula'
class Ntfs3g < Formula
homepage 'http://www.tuxera.com/community/ntfs-3g-download/'
url 'http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2012.1.15.tgz'
md5 '341acae00a290cab9b00464db65015cc'
depends_on 'pkg-config' => :build
depends_on 'fuse4x'
def patches
# From macports:
# http://trunk/dports/fuse/ntfs-3g/files/patch-configure.diff
# Modify configure such that it does not modify the default PKG_CONFIG_PATH
{ :p0 => DATA }
end
def install
# Workaround for hardcoded /sbin in ntfsprogs
inreplace "ntfsprogs/Makefile.in", "/sbin", sbin
ENV.append "LDFLAGS", "-lintl"
args = ["--disable-debug",
"--disable-dependency-tracking",
"--prefix=#{prefix}",
"--exec-prefix=#{prefix}",
"--mandir=#{man}",
"--disable-library",
"--with-fuse=external"]
system "./configure", *args
system "make"
system "make install"
# Install a script that can be used to enable automount
File.open("#{sbin}/mount_ntfs", File::CREAT|File::TRUNC|File::RDWR, 0755) do |f|
f.puts <<-EOS.undent
#!/bin/bash
VOLUME_NAME="${@:$#}"
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
USER_ID=#{Process.uid}
GROUP_ID=#{Process.gid}
if [ `/usr/bin/stat -f %u /dev/console` -ne 0 ]; then
USER_ID=`/usr/bin/stat -f %u /dev/console`
GROUP_ID=`/usr/bin/stat -f %g /dev/console`
fi
#{bin}/ntfs-3g \\
-o volname="${VOLUME_NAME}" \\
-o local \\
-o noappledouble \\
-o negative_vncache \\
-o auto_xattr \\
-o auto_cache \\
-o noatime \\
-o windows_names \\
-o user_xattr \\
-o inherit \\
-o uid=$USER_ID \\
-o gid=$GROUP_ID \\
-o allow_other \\
"$@" >> /var/log/mount-ntfs-3g.log 2>&1
exit $?;
EOS
end
end
def caveats
<<-EOS.undent
To replace the default Mac OSX automounter:
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
sudo ln -s #{sbin}/mount_ntfs /sbin/mount_ntfs
The automount will set the permissions for the current logged in user,
otherwise it will set them for the user that installed ntfs-3g.
The automount support script is based on the information provided at
http://fernandoff.posterous.com/ntfs-write-support-on-osx-lion-with-ntfs-3g-f
Remember to install the fuse4x kernel extension as the root user.
Instructions are found here:
brew info fuse4x-kext
EOS
end
end
__END__
--- configure.orig 2011-08-02 19:13:55.000000000 -0400
+++ configure 2011-08-02 19:14:14.000000000 -0400
@@ -20530,9 +20530,6 @@
test "x${PKG_CONFIG}" = "xno" && { { echo "$as_me:$LINENO: error: pkg-config wasn't found! Please install from your vendor, or see http://pkg-config.freedesktop.org/wiki/" >&5
echo "$as_me: error: pkg-config wasn't found! Please install from your vendor, or see http://pkg-config.freedesktop.org/wiki/" >&2;}
{ (exit 1); exit 1; }; }
- # Libraries often install their metadata .pc files in directories
- # not searched by pkg-config. Let's workaround this.
- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/lib/pkgconfig:/usr/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/usr/share/pkgconfig:/usr/local/lib/pkgconfig:$prefix/lib/pkgconfig:/opt/gnome/share/pkgconfig:/usr/local/share/pkgconfig
pkg_failed=no
{ echo "$as_me:$LINENO: checking for FUSE_MODULE" >&5