Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow to define install prefix manually #1

Closed
doits opened this issue Jul 22, 2011 · 26 comments
Assignees

Comments

@doits
Copy link

@doits doits commented Jul 22, 2011

hello,

I'd like to specify the install prefix of the libs etc. manually. Then this could be easily integrated into macports.

Now the prefix is hardcoded (I think) to "/usr/local". Would be great to have a variable in build.sh to define the prefix to something own.

Tried to replace the "/usr/local" with my own prefix ("/opt/local") in the two files "build.sh" and "fuse/libmacfuse.xcodeproj/project.pbxproj", but that seems not to be enough - still creating "/usr/local" prefix.

Regards,
Markus

@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented Jul 28, 2011

The prefix "/usr/local/" is indeed hardcoded in in several files not just in the build script. It would be possible make it more flexible but this will most likely lead to bigger problems. MacPorts currently patches MacFUSE to install parts of it in in its /opt/local hierarchy. The result is that C filesystems compiled against MacFUSE's libfuse will not work if not compiled and installed through MacPorts. That is certainly not optimal.

That said, I will be working on the build process for the next major release 2.4 and will take a look at it.

@ghost ghost assigned bfleischer Jul 28, 2011
@doits

This comment has been minimized.

Copy link
Author

@doits doits commented Jul 28, 2011

My intent is to integrate osxfuse into macports (I'd create a Portfile for this). From my perspective the only problem for now is that the prefix is not selectable, that's why I am asking about it. It does not mean the packaged dmg should use another prefix for people that install it without macports.

People who install it through macports nearly always install the filesystems through macports, too (most often the macports-macfuse installation is just a dependency of a filesystem someone wants to use through macports). So there shouldn't be any problem for both groups of people (macports and non-macports).

Glad to hear you'll take a look on the prefix-selection.

@stewartadam

This comment has been minimized.

Copy link

@stewartadam stewartadam commented Feb 25, 2013

Any progress on this? I would very much be interested in seeing this resolved so we can include it in Homebrew!

@Chip-McK

This comment has been minimized.

Copy link

@Chip-McK Chip-McK commented Mar 29, 2013

@firewing1
Does item Silent Installation of OSX Fuse in Google Group fourm https://groups.google.com/forum/#!forum/osxfuse-group answer your question?

@stewartadam

This comment has been minimized.

Copy link

@stewartadam stewartadam commented Mar 29, 2013

@Chip-McK, no unfortunately - this issue isn't that OSX Fuse cannot be bundled in another application's installer or that the target drive cannot be selected, but rather that the installation prefix is hardcoded so this makes it impossible to package place OSX Fuse in a location that would be suitable for use by Homebrew. Hopefully the updated packaging scripts will be out soon!

@trevor

This comment has been minimized.

Copy link

@trevor trevor commented Apr 9, 2013

👍 Looking forward to this fix and replacing fuse4x in Homebrew if this is where current developments are. It appears fuse4x hasn't seen an update in ~7 months, and fuse4x/sshfs longer than that

@johnae

This comment has been minimized.

Copy link

@johnae johnae commented Apr 12, 2013

Yes please fix this

@jessetane

This comment has been minimized.

Copy link

@jessetane jessetane commented Apr 14, 2013

+1 if it's possible not to hardcode the install prefix that would be great

@philbritton

This comment has been minimized.

Copy link

@philbritton philbritton commented Apr 28, 2013

+1

3 similar comments
@fgb

This comment has been minimized.

Copy link

@fgb fgb commented May 5, 2013

+1

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented May 16, 2013

+1

@junkblocker

This comment has been minimized.

Copy link

@junkblocker junkblocker commented May 22, 2013

+1

@HLFH

This comment has been minimized.

Copy link

@HLFH HLFH commented Jun 2, 2013

+1 OSXFUSE must be added :(

@speechkey

This comment has been minimized.

Copy link

@speechkey speechkey commented Jun 4, 2013

+1

@samueljohn

This comment has been minimized.

Copy link

@samueljohn samueljohn commented Jun 13, 2013

Hello from Homebrew!
We'd ❤️ to include osxfuse into hombrew (enabling truecrypt etc.).

We are longing for this issue to be fixed!

@Jell

This comment has been minimized.

Copy link

@Jell Jell commented Jun 29, 2013

+1!

@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented Jul 9, 2013

@samueljohn I started working on an osxfuse formula and took some clues from the existing fuse4x formula but have a question regarding the prefix. Maybe you (or anyone else here) are able to help.

The osxfuse prefix would be /usr/local/Cellar/osxfuse/2.6.0, correct? When building libosxfuse using ./configure ... --prefix=#{prefix} ... followed by make and make install libosxfuse would end up with the following id (otool -L): /usr/local/Cellar/osxfuse/2.6.0/usr/local/lib/libosxfuse.2.dylib

Then every program linking against /usr/local/lib/libosxfuse.2.dylib would actually be linked against /usr/local/Cellar/osxfuse/2.6.0/usr/local/lib/libosxfuse.2.dylib. What happens when the user updates osxfuse to version 2.6.1? Are all formulas depending on osxfuse rebuilt for version 2.6.1?

@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented Jul 9, 2013

bfleischer added a commit that referenced this issue Jul 9, 2013
Addresses issue #1: allow to define install prefix manually
@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented Jul 10, 2013

I've created a formula for osxfuse 2.6.0. For now you can install osxfuse by running:

brew install "https://raw.github.com/bfleischer/homebrew/osxfuse/Library/Formula/osxfuse.rb"
@HLFH

This comment has been minimized.

Copy link

@HLFH HLFH commented Jul 11, 2013

Thanks !

@CyberCastle

This comment has been minimized.

Copy link

@CyberCastle CyberCastle commented Jul 14, 2013

@bfleischer : Thanks you !!!!!!

Can you enable the MacFUSE compatibility layer in homebrew target, please? NTFS-3G requires MacFUSE.

Greetings

@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented Jul 15, 2013

@CyberCastle I would prefer not adding the MacFUSE compatibility layer. As far as I know ntfs-3g simply requires a FUSE installation. It should not matter whether this is MacFUSE, osxfuse or Fuse4X. The ntfs-3g formula might need some tweaking, though.

@CyberCastle

This comment has been minimized.

Copy link

@CyberCastle CyberCastle commented Jul 15, 2013

@bfleischer: Ok, thanks you for quick reply.

I will continue investigating how to compile NTFS-3G, using OSXFUSE.

Greetings

@samueljohn

This comment has been minimized.

Copy link

@samueljohn samueljohn commented Jul 15, 2013

@bfleischer thanks for attacking this issue!
Glad you asked about the Cellar location and updates: Homebrew installs into the Cellar as you have written, but for other formulae, they should never link against formulae in that Cellar dir but use the symlinked $(brew --prefix)/opt/osxfuse/lib/.... The idea of the $(brew --prefix)/opt/<formulaname> always pointing to the installed and linked version assures that minor version updates work without recompiling all other depending formulae.

If another formula in homebrew specifies depends_on 'osxfuse' homebrew will setup the -L and -I paths such that opt/osxfuse will be used and not the Cellar directories directly.

If the formula is not marked as keg_only, it will be linked to $(brew --prefix), too.

@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented Jul 18, 2013

@samueljohn Thanks. I've opened a pull request Homebrew/legacy-homebrew#21318.

@bfleischer

This comment has been minimized.

Copy link
Member

@bfleischer bfleischer commented May 16, 2015

I've completely rewritten the build script for version 3 of FUSE for OS X. The new build system contains a new target for package managers like Homebrew or MacPorts. This should eliminate the need for patching the osxfuse build script (as MacPorts did the last time I checked).

Please note that for now version 2.x remains the latest stable release. Once version 3 become the stable release the following commands should work for Homebrew and MacPorts.

Homebrew

./build.sh -v 5 -t packagemanager -a build -- --library-prefix="${prefix}"
./build.sh -v 5 -t packagemanager -a install -- "${prefix}"

MacPorts

./build.sh -v 5 --build-directory="${workpath}" -t packagemanager -a build -- \
           [-a i386] [-a x86_64] \
           --framework-prefix="${prefix}" \
           --fsbundle-prefix="${prefix}" \
           --library-prefix="${prefix}"
./build.sh -v 5 -t packagemanager -a install -- "${destroot}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.