fink install location

hazmat

Rusher of Din
Why is it that fink installs by default into /sw? I want to install it, but really hate having to make new root level directories unless absolutely necessary. I read at the fink site about not installing into already existing directories due to the risk of files getting overwritten, but I would prefer something like /usr/local/fink. Any reason not to do this?

Thanks.
 
from the installation docs at fink s website:

The source release must be installed from the command line, so open Terminal.app and change to the directory where you put the fink-0.x.x-full.tar.gz archive. The following command extracts the archive:

tar -xzf fink-0.x.x-full.tar.gz

That creates a directory with the same name as the archive. We'll just keep on using the placeholder fink-0.x.x-full here. Now, change into that directory and run the bootstrap script:

cd fink-0.x.x-full
./bootstrap.sh

The script will run some checks on your system and use sudo to become root - that will prompt you for your password. Then, the script will ask you for the installation path. Unless you have a good reason, you should use the default - /sw. Only that will allow you to install downloaded binary packages later on. Also, all examples use that path; be sure to substitute your actual path if you use a different one.

i downloaded the source, and tried it, and yes, it will prompt you to change the installation location right after you give it your password. default is /sw.

as for why or why not, it hardly seems to matter to me, what directory you put finks software into. maybe if it resides in /usr/local, that whole directory might get overwritten by an apple update? seems very unlikely to me, since that directory should be reserved for user installed programs... that directory is completely empty in clean OSX installation. personally i don t mind having an /sw directory, but i can imagine one instance where it would be very useful to install fink software under /usr/local/fink: if you are mounting your /usr/local over a network. then your fink installations will be the same across your network. i guess you could accomplish the same thing by also mounting /sw over the network, but that adds complication. meh.
 
I use a different directory because I like to keep my root disk partitions fairly small and install the big stuff on other disks.

This way my root dir is not cluttered. However, I only install from source then.

dani++
 
Hi there, from the fink FAQ's:

Q1.4: Why doesn't Fink install into /usr/local?

A: There are several reasons, but the common line is "because breakage will occur".

Reason One: Third-party software. /usr/local is the well-established place to put software that is not part of the system shipped by the original vendor. This means that it is a good place to put stuff. However, it also means that other people will put stuff there, too. Most install routines will just overwrite what's there - this also applies to dpkg. One can, of course, choose not to install third-party software in /usr/local. Unfortunately, most installers don't tell you beforehand what they will install where.

Reason Two: /usr/local/bin is in the default PATH. This means that your shell will find the install programs without additional measures. But it also means that you do have to take additional measures if you do not want to use the programs. In extreme cases, this can also affect the system itself - many parts depend on shell scripts.

Reason Three: The compiler tool chain searches /usr/local by default. The compiler searches /usr/local/include for header files and the linker searches /usr/local/lib for libraries. Again, this is sometimes a welcome convenience, but it's very hard to disable should the need arise. You can easily disable the compiler by putting a garbage file called stdio.h into /usr/local/include.

All that said, it is possible to install Fink into /usr/local. The installation script will warn you explicitly, but proceed once you acknowledge that you're doing this at your own risk.

You are on your own. So, don't complain later or blame fink if problems come out.

Fink doesn't install into /usr/local unless explicitly requested and doesn't require fiddling with /usr/bin/make or other system-provided commands. That makes it safer to use and reduces interference with Mac OS X and third-party packages to a minimum.

To have a separate folder where I keep all what's installed by fink it's for me a blessing, and keep things very tidy in my machine. And of course the biggest advantage is that if I feel I don't need fink anymore or I need to reinstall everything, it's extremely easy to uninstall, as it keeps all the things at one place (/sw).

sudo rm -rf /sw

Good luck to you.


Cheers...
 
Yes, but I have it the same way, but even neater I think. /usr/local/fink -> /usr/local/fink/bin , /usr/local/fink/etc , etc.
 
Yes, friend, you have reinvented the "wheel".

Anybody can do that.

but it seems there are reasons why they ask us to install in /sw.

or maybe, shall we think that the fink developers are plain idiots (and yes WE are smarter).

My advice, study the concept of fink a little longer, otherwise just install everything by hand.

I repeat, good luck to you.

Cheers...
 
Calm down. I never said anyone was an idiot or anyone was wrong. I read why they said to install into /sw. It seems because they would rather not have fink install into /usr/local/bin, /usr/local/etc/, etc. I installed as the prefix /usr/local/fink, so that is the root of fink. Nothing goes into anything underneath. According to the fink docs, where will that be a problem? If I missed something, I am more than happy to hear about it.
 
Back
Top