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