Fink

Setting up Fink Git Access

Fink is developed via Git. This means that you can stay up to date between releases and always get the newest stuff. This page tells you how to set up an existing Fink installation for updating via git. The information on this page applies to Fink 0.43.x and later.

Fink Git Structure

Fink has several Git modules. The module fink-distributions (@Github) contains the package descriptions and patches for OS X 10.2 and above. There are other modules used by Fink developers, which anyone can view (@Github), but these are not interesting for most users.

Updating the Package Descriptions

In the past this was a bit tedious procedure; but in the current Fink versions, this is a very simple procedure. Just issue this command:

fink selfupdate-git

Fink will perform all necessary steps automatically for you. This includes retrieving the latest set of Package Descriptions, and updating a few essential core packages (among them the Fink package manager).

If you are behind a firewall consult FAQ 3.2.

After you have updated your package descriptions this way, you may want to update your packages to the latest available versions. You can do so by with the following command:

fink update-all

Updating the Package Manager

Note: As of September 20, 2001 it is no longer necessary to update the package manager separately; it is treated like any other package. It's still possible to update it directly from git, though this is usually only interesting for people creating packages or testing new features, not the average user.

The package manager must be updated through a separate directory and the inject.pl script. That script puts package descriptions and tarballs for the fink and base-files packages in your Fink tree and builds them.

For the first time procedure, you need a temporary directory (called tempdir in the example) which is empty (or at least doesn't contain a subdirectory named 'fink'). The procedure goes like this:

cd tempdir
git clone https://github.com/fink/fink.git
cd fink
./inject.pl

You could delete the temporary directory after the procedure, but if you leave it around, updating is easier the next time. The procedure for future updates is then:

cd tempdir/fink
git pull
./inject.pl