Selfupdate methods: point, rsync, cvs

In Fink parlance, a distribution is a set of available packages which depends, amongst other things, on the trees defined in /sw/etc/fink.conf (local, stable, unstable) and the selfupdate method (point, rsync, cvs).

Fink defaults to the point selfupdate method in a brand new installation. The point distribution is the set of packages available when Fink last released a binary distribution. As these releases are not frequent, having a point distribution usually implies having outdated packages.

There are two alternative selfupdate methods that provide the latest packages: rsync and cvs. In the former method, fink selfupdate uses the rsync command to download packages descriptions from one of the rsync mirrors; in the latter, cvs is used to download package descriptions from

Choosing a selfupdate method

You should consider the following when choosing a selfupdate method:

  • whenever possible, use either rsync or cvs. They’ll get you up-to-date packages;
  • up-to-date packages are probably not available as official binaries. You’ll need to install Xcode to compile packages from source. You might want to check some unofficial binary distributions;
  • rsync is faster than cvs;
  • when a maintainer releases a new package it is readily available in the cvs distribution. In normal operation, new packages should reach the rsync mirrors in one hour at the latest;
  • firewalls might block rsync or cvs.

Note that when you switch from point to rsync/cvs your next selfupdate will take a while. Subsequent selfupdates should be significantly faster.

In order to switch to rsync, run

fink selfupdate-rsync

Or, if you want to use cvs, run

fink selfupdate-cvs

You can’t go back to the point distribution once you’ve switched to rsync/cvs.

After having changed the selfupdate method, run

fink update-all

to update your packages to their latest versions.

You only need to run selfupdate-rsync or selfupdate-cvs once. Fink remembers your choice and is going to use it in subsequent selfupdates.

Some Fink versions have a minor glitch that shows up when changing the selfupdate method. Please read this FAQ section.

Identifying which selfupdate method Fink is using

There are two ways to check what selfupdate method is being used in your Fink installation. If you run

fink –version | grep Distribution

and it shows something like

Distribution version: architecture (e.g. i386)

then Fink is using the point distribution. If either rsync or cvs is being used, then the command above outputs

Distribution version: selfupdate-cvs (or -rsync), timestamp of last update, OS X version, architecture.

The other possibility is to check the SelfUpdateMethod entry in /sw/etc/fink.conf.

Distribution version: i386

3 responses to “Selfupdate methods: point, rsync, cvs

  1. Thanks, a helpful explanation.

  2. Pingback: Fink Web site is down « Finkers: a blog about Fink

  3. Very good article on rsync. Here is one from around 1999 but still the very best rsync tutorial I’ve ever read. Explains it very well IMO:

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s