From 7fc8a03f89cd99d744b2fef7e217b840e79111af Mon Sep 17 00:00:00 2001 From: Anatol Pomozov Date: Wed, 7 Mar 2012 14:52:30 -0800 Subject: [PATCH] fuse4x: Update to 0.9.0 Closes Homebrew/homebrew#10768. Signed-off-by: Charlie Sharpsteen --- Formula/fuse4x-kext.rb | 28 ++++++++++++++++++++++------ Formula/fuse4x.rb | 5 +++-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Formula/fuse4x-kext.rb b/Formula/fuse4x-kext.rb index 97a1afcd3c..e410772152 100644 --- a/Formula/fuse4x-kext.rb +++ b/Formula/fuse4x-kext.rb @@ -6,8 +6,8 @@ end class Fuse4xKext < Formula homepage 'http://fuse4x.org/' - url 'https://github.com/fuse4x/kext.git', :tag => "fuse4x_0_8_14" - version "0.8.14" + url 'https://github.com/fuse4x/kext.git', :tag => "fuse4x_0_9_0" + version "0.9.0" def install ENV.delete('CC') @@ -20,6 +20,7 @@ class Fuse4xKext < Formula "-alltargets", "MACOSX_DEPLOYMENT_TARGET=#{MACOS_VERSION}", "SYMROOT=build", + "GCC_PREPROCESSOR_DEFINITIONS='FUSE4X_DISABLE_MACFUSE_MODE'", # Build a 32-bit kernel extension on Leopard and a fat binary for Snow # Leopard/Lion. "ARCHS=i386 #{'x86_64' if MacOS.prefer_64_bit?}", 'ONLY_ACTIVE_ARCH=NO' @@ -33,23 +34,38 @@ class Fuse4xKext < Formula end def caveats - <<-EOS.undent + message = <<-EOS.undent In order for FUSE-based filesystems to work, the fuse4x kernel extension must be installed by the root user: - sudo cp -rfX #{kext_prefix}/fuse4x.kext /System/Library/Extensions - sudo chmod +s /System/Library/Extensions/fuse4x.kext/Support/load_fuse4x + sudo cp -rfX #{kext_prefix}/fuse4x.kext /Library/Extensions + sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x If upgrading from a previous version of Fuse4x, the old kernel extension will need to be unloaded before performing the steps listed above. First, check that no FUSE-based filesystems are running: - mount | grep fuse4x + mount -t fuse4x Unmount all FUSE filesystems and then unload the kernel extension: sudo kextunload -b org.fuse4x.kext.fuse4x EOS + + # In fuse4x version 0.9.0 the kext has been moved from /System to /Library to match + # filesystem layout convention from Apple. + # Check if the user has fuse4x kext in the old location. + # Remove this check Q4 2012 when it become clear that everyone migrated to 0.9.0+ + if File.exists?('/System/Library/Extensions/fuse4x.kext/') + message += <<-EOS.undent + You have older version of fuse4x installed. Please remove it by running: + + sudo rm -rf /System/Library/Extensions/fuse4x.kext/ + + EOS + end + + return message end end diff --git a/Formula/fuse4x.rb b/Formula/fuse4x.rb index 017bef5c25..67b50da66c 100644 --- a/Formula/fuse4x.rb +++ b/Formula/fuse4x.rb @@ -2,8 +2,8 @@ require 'formula' class Fuse4x < Formula homepage 'http://fuse4x.org/' - url 'https://github.com/fuse4x/fuse.git', :tag => "fuse4x_0_8_14" - version "0.8.14" + url 'https://github.com/fuse4x/fuse.git', :tag => "fuse4x_0_9_0" + version "0.9.0" depends_on 'gettext' depends_on 'fuse4x-kext' @@ -19,6 +19,7 @@ class Fuse4x < Formula system "autoreconf", "--force", "--install" + ENV.append_to_cflags "-D_DARWIN_USE_64_BIT_INODE" # force 64bit inodes on 10.5. On 10.6+ this is no-op. system "./configure", "--disable-dependency-tracking", "--disable-debug", "--disable-static", "--prefix=#{prefix}" system "make install" end