Available Languages: | Deutsch | English | Español | Français | 日本語 (Nihongo) | Português | Русский (Russkiy) | 中文 (简) (Simplified Chinese) |

Fink User's Guide

This document gives an overview over all features of Fink. (The following older documents may offer a broader view: Installation, Usage and the ReadMe.rtf included in the binary distribution disk image.) Also check out the documentation section of the web site, it has some other useful documents beyond that.

Welcome to the Fink User's Guide. This guide covers first time installation and upgrade procedures for both the source and the binary distribution. Package installation and maintenance is covered as well.

Contents

1 Introduction

1.1 What is Fink?

Fink is a distribution of Unix Open Source software for Mac OS X and Darwin. It brings a wide range of free command-line and graphical software developed for Linux and similar operating systems to your Mac.

1.2 Requirements

In any case you will need:

If you intend to use the source distribution (see below), you will also need:

1.3 Supported Systems

Mac OS X 10.6 is the leading-edge platform, and is considered to be fully supported and tested, though as a newer operating system there are still some issues. Most of the developers run it, and those who are running 10.4 have 10.5 users test their work.

Mac OS X 10.5 is considered to be fully supported and tested, although there may still be stray compile problems with single packages. Many of the developers run it, and those who don't have 10.4 users test their work.

Mac OS X 10.4 will be deprecated soon. It is considered to be fully supported and tested.

1.4 Source vs. Binary

Software is written ("developed") in human-readable programming languages; this form is called the "source code". Before a computer can actually run a program, it must be transformed into low-level machine code instructions (unreadable by most humans). That process is called "compiling" and the resulting program is called "executable" or "binary". (The process is also referred to as "building", because it usually involves more steps than just compiling.)

When you buy commercial software you don't get to see the source code, though - companies treat it as a trade secret. You only get the ready-to-run executable, which means you have no way to modify the program or even find out what it actually does when it's run.

Not so with Open Source software. As the name implies, the source code is open for anyone to see and modify. In fact, most Open Source software is only distributed as source code by its authors, and you must compile it on your computer to get a program that can be run.

Fink lets you choose between the two models. The "source" distribution will download the original source, adapt it to Mac OS X and to Fink's policy, and compile it on your computer. That process is fully automated, but takes some time. The "binary" distribution on the other hand will download pre-compiled packages from the Fink site and install those, saving you the time for compiling. It is actually possible to mix the two models at will. The rest of this manual will show you how.

2 First Time Installation

During first time installation, a base system with the package management tools is installed on your machine. After that you must set up your shell environment to use the software installed by Fink. You only need to do this once; you can upgrade any Fink installation in place, without reinstalling. This is covered in the Upgrading chapter.

Once you have the package management tools installed, you can use them to install more software. This is covered in the Installing Packages chapter.

2.1 Installing the Binary Distribution

The binary distribution comes as a Mac OS X installer package (.pkg), wrapped in a disk image (.dmg). After downloading the disk image from the download page (you may have to use your browser's "Save Target as..." or "Download to Disk" function), double-click it to mount it. Open the "Fink 0.x.x Installer" disk icon that appears on your desktop (or wherever you downloaded it) after Disk Utility has verified the file. Inside you'll find some documentation and an installer package. Double-click the installer package and follow the instructions on screen.

You will be asked for an administrator password and shown some texts. Please read them - they may be more up-to-date than this user's guide. When the installer prompts you for a drive to install to, be sure to pick your system volume (the one on which you installed Mac OS X). If you pick the wrong volume, the install will proceed, but Fink won't work afterwards. When the installer is finished, proceed with the Setting Up Your Environment section.

2.2 Installing the Source Distribution

The source distribution comes as a standard Unix tarball (.tar.gz). It contains only the fink package manager and will download the source for packages on the fly. You can get it from the download page. Older versions of StuffIt Expander have difficuly with handling long file names, so if you have any problems you'll need to remove the folder it generates and follow the command-line instructions below.

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.27.x.tar.gz archive. Your web browser may have partially extracted the archive; in this case you will have fink-0.27.x.tar in your download directory, and you should skip the first command below. The following commands extract the archive:

gunzip fink-0.27.x.tar.gz
tar -xf fink-0.27.x.tar

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

cd fink-0.27.x
./bootstrap

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.

Next up is Fink configuration. You'll be asked for things like proxy and mirror settings and whether you want verbose messages. If you don't understand a question, just press return to accept the default choice. You can re-run this process later using the fink configure command.

When the bootstrap script has all the information it needs, it will start to download the source code for the base system and compile it. No further interaction should be necessary at this point. Don't worry if you see some packages being compiled twice. This is required because to build a binary package of the package manager, you first must have the package manager available.

When the bootstrap is finished, proceed with the Setting Up Your Environment section.

2.3 Setting Up Your Environment

To use the software installed in Fink's directory hierarchy, including the package management programs themselves, you must set your PATH environment variable (and some others) accordingly. Current Fink versions do this automatically, and typically you will just need to open a new Terminal.app window to ensure that these settings are applied. However, in some instances you will need to proceed manually.

In most cases, you can do this by entering the command

/sw/bin/pathsetup.sh

in a terminal window.

Note that for some older versions of fink the program was called pathsetup.command, and one could run it via open /sw/bin/pathsetup.command.

However, if this doesn't work for some reason, you can configure it manually. This will depend on the shell you are using, however. You can determine the shell you are using by opening a terminal and running the command:

echo $SHELL

If it says "csh" or "tcsh" in it, you are using the C shell. If it is bash, zsh, sh, or something similar, you are likely running a variant of the bourne shell.

Note that the init.sh and init.csh scripts also add /usr/X11R6/bin and /usr/X11R6/man to your PATH so you can use X11 when it is installed. Fink packages have the ability to add settings of their own, e.g. the qt package sets the QTDIR environment variable.

Once your environment is set up, you will need to grab package descriptions as per the Upgrading Fink chapter under Upgrading the Source Distribution, and then proceed to the Installing Packages chapter to see how you can install some actually useful packages using the various package management tools included in Fink.

3 Installing Packages

Now that you have something that can be called a Fink installation, this chapter shows you how to install the actual software packages you came for. Before we explain how to install packages using either the source or the binary distribution, some important notes that apply to both.

3.1 Installing Binary Packages with dselect

dselect is a program that lets you browse the list of available packages and select which ones you want installed. It runs inside Terminal.app, but takes over the whole "screen" and uses simple keyboard navigation. Like the other package management tools, dselect requires root privileges, so you should use sudo (from an account with administrator privileges):

sudo dselect

Note: dselect has known difficulties with the Mac OS X Terminal application. You should run the following commands before using it, or put them in the appropriate startup file (e.g. .cshrc / .profile):

bash users:

export TERM=xterm-color

tcsh users:

setenv TERM xterm-color

The main menu has several choices:

You'll spend most of your time with dselect in the package browser, reachable through the "[S]elect" menu item. Before dselect shows you the package list, it presents you with an introductory help screen. You can press 'k' to get a full listing of keyboard commands, or just Space to get to the package list.

You can move through the list using the up and down keys. Selections are made with '+' and '-'. When you select a package that needs some other packages, dselect will show you a sublist with the affected packages. In most cases you can just press Return to accept dselect's choices. You can also make adjustments in the sublist (e.g. to choose another alternative for a virtual package dependency), or press 'R' (i.e. Shift-R) to return to the previous state. Both the sublists and the main package list are left by pressing Return. When you're happy with your selections, leave the main list and use the "[I]nstall" menu item to actually install the packages.

3.2 Installing Binary Packages with apt-get

dselect doesn't actually download the packages itself. Instead, it runs apt to do the dirty work. If you prefer a pure command line interface, you can access the functions of apt directly, with the apt-get command.

Like with dselect, you must first download the current listing of available packages with this command:

sudo apt-get update

Like the "[U]pdate" menu item in dselect, this doesn't update the actual files on your computer, just apt's list of available packages. To install a package, you just give apt-get the name, like this:

sudo apt-get install lynx

If apt-get determines that the packages requires other packages to be installed, it will show you the list and ask for confirmation. It then downloads and installs the requested packages. Removing packages is just as easy:

sudo apt-get remove lynx

3.3 Installing Dependent Packages that are Unavailable in the Binary Distribution

Sometimes, when doing a binary install, you may get messages that a dependency can't be installed. e.g.:

Sorry, but the following packages have unmet
dependencies:
foo: Depends: bar (>= version) but it is
not installable
E: Sorry, broken packages

What has happened is that the package you are trying to install depends on another package that can't be distributed as a binary, due to licensing requirements. You must install the dependency from source (see the next section).

3.4 Installing Binary and Source Packages with fink

The fink tool will allow you to install packages that are not yet available in the binary distribution.

First of all, you'll need an appropriate version of the Developer Tools for your system. The latest version is available for free download after registration at http://connect.apple.com.

To get a list of packages that are available for installation from source, ask the fink tool:

fink list

The first column lists the installation state (blank for not installed, i for installed, (i) for installed but not the latest version), followed by the package name, the latest version, and a short description. You can ask for more information about a specific package using the "describe" command ("info" is an alias for this):

fink describe xmms

When you have found a package that you want to install, use the "install" command:

fink install wget-ssl

The fink command will first check if all necessary prerequisites ("dependencies") are present, and will ask you if it's okay to install them if some are missing. Then it goes ahead and downloads source code, unpacks it, patches it, compiles it, and installs the results on your system. This can take a long time. If you run into errors during that process, please first check the FAQ.

You can tell fink to try to download pre-compiled binary packages, if available, instead of building them. Just pass the --use-binary-dist (or -b) option to fink. This can save you a lot of time. E.g. calling

fink --use-binary-dist install wget-ssl

or

fink -b install wget-ssl

will first download all dependencies for wget-ssl that are available from the binary distribution and only build the remainder from source. This option can also be enabled permanently in the Fink configuration file (fink.conf) or by running the command fink configure.

More details about the fink tool are available in the chapter "Using the fink Tool from the Command Line".

3.5 Fink Commander

Fink Commander is an Aqua interface to both apt-get and the fink tool. The Binary menu lets you do operations on the binary distribution, and the Source menu does the same thing for the source distribution.

Fink Commander is included with the Fink binary installer. To download it separately (e.g. if you've bootstrapped Fink from source), or for additional information, visit the Fink Commander website.

3.6 Available versions

When you want to install a package, you should first check the package database and see if it is available at all through Fink. The available version(s) of the package will be shown in several rows of a table. These are:

3.7 Getting X11 Sorted Out

Many of the packages that are available via Fink require the installation of some form of X11. Because of this, one of the first things that is typically done is to choose an X11 implementation.

Since there are several X11 implementations available for Mac OS X (Apple's X11, XFree86, X.org) and several ways to install them (manually or via Fink), there are several alternative packages - one for each setup. Here is a list of the available X11 packages and installation methods:

For more information on installing and running X11, refer to the X11 on Darwin and Mac OS X document.

4 Upgrading Fink

This chapter covers the procedures used to update your Fink installation with the latest and greatest stuff.

4.1 Upgrading using Binary Packages

If you use the binary distribution exclusively, there is no separate upgrade procedure. Just ask the tool of your choice to get the latest package listing from the server and let it update all packages.

For dselect, it is sufficient to hit "[U]pdate", then "[I]nstall". Of course, you may want to run "[S]elect" in between to check the selections that were made and to find out about new packages.

For apt, run apt-get update to get the latest package list, then apt-get upgrade to update all packages that have new versions available.

For Fink Commander, select Binary->Update descriptions to update the package list, and then Binary->Dist-Upgrade packages to update to new versions.

For more information, see the Upgrade Matrix.

4.2 Upgrading the Source Distribution

If you use the source distribution the procedure consists of two steps. In the first step, you download the latest package descriptions to your computer. In the second step, these package descriptions are used to compile new packages; the actual source code is downloaded as needed.

The first step can be accomplished by running fink selfupdate. That command will check with the Fink website to see if a new point release is available, and will automatically download and install the package descriptions in that case. You also have the option to pull package descriptions directly from CVS or via rsync. CVS is a version-controlled repository where the package descriptions are stored and managed. Using CVS has the advantage that it is updated continuously, but the disadvantage that there is a single CVS server for Fink, and it can be unreliable if there is a lot of traffic. For this reason, it is recommended that general users go with rsync. There are multiple mirrors available for rsync, and the only disadvantage is that package descriptions take an hour or so to migrate to the rsync mirrors after they've been added to CVS.

(If you are having trouble upgrading a source installation, consult these special instructions.)

Once you have updated your package descriptions (no matter which way), you should update all packages at once with the command fink update-all.

To update the source distribution using Fink Commander, select Source->Selfupdate to download new package information files, and then Source->Update-all to update your outdated packages.

4.3 Mixing Binaries and Source

If you use precompiled binary packages for some packages and build others from source, you'll have to follow both sets of instructions above to upgrade your Fink installation. That is, first use dselect or apt-get to get the latest versions of the packages that are available as binaries, then use fink selfupdate and fink update-all to get the current package descriptions and to update the remaining packages.

You may use the UseBinaryDist option (settable via the --use-binary-dist (or -b) option or in the Fink configuration file) both source and binary descriptions will be updated if you call fink selfupdate. In this case you don't need a separate apt-get call anymore.

If you are using Fink Commander select Binary->Update descriptions to update the package list, and then Binary->Dist-Upgrade packages to update to new versions. After that do Source->Selfupdate to download new package information files, and then Source->Update-all (see previous sections for details).

5 The Fink Configuration File

This chapter explains the settings available in the Fink configuration file (fink.conf) and how they influence the behaviour of Fink, specifically the fink command-line tool (i.e. mainly working with the source distribution).

5.1 About fink.conf

When Fink is initially installed it prompts you for the answers to some questions to set up your configuration file, such as which mirrors you want to use for downloading files and how to acquire super-user rights. You can re-run this process by calling the fink configure command. In order to set some options, you may need to edit your fink.conf file by hand. In general, these options are meant for advanced users only.

The fink.conf file is located at /sw/etc/fink.conf, and can be edited in your favourite text editor. You will need super-user rights to edit it.

5.2 fink.conf syntax

Your fink.conf file consists of multiple lines, in the format:

OptionName: Value

Options are one per line, and the option name is separated from its value by a : and a single space. The contents of value depends on the option, but it is normally either a boolean ("True" or "False"), a string, or a list of strings delimited by a space. For example:

BooleanOption: True
StringOption: Something
ListOption: Option1 Option2 Option3

5.3 Required Settings

Some of the settings in the fink.conf file are mandatory. Without them Fink cannot function properly. The following settings belong to this category.

5.4 Optional User Settings

There are various optional settings which users can customize to change the behaviour of Fink.

5.5 Download Settings

There are various settings which influence the way Fink downloads package data.

5.6 Mirror Settings

Getting software from the Internet can be a tedious thing and often downloads are not as fast as we would like them to be. Mirror servers host copies of files available on other servers, but may have a faster connection to the Internet or be geographically closer to you, thus enabling you to download files faster. They also help reduce load on busy primary servers, for example ftp.gnu.org, and they provide an alternative should one server not be reachable.

In order for Fink to pick the best mirror for you, you must tell it which continent and which country you reside in. If downloads from one server fail, it will prompt you if you want to retry from the same mirror, a different mirror in the same country or continent, or a different mirror anywhere in the world.

The fink.conf file holds settings about which mirrors you would like to use.

5.7 Developer Settings

Some options in the fink.conf file are only useful to developers. We do not recommend that conventional Fink users modify them. The following options fall into this category.

5.8 Advanced Settings

There are some other options which may be useful, but require some knowledge to get right.

5.9 Managing apt's sources.list file

Fink actively manages the file /sw/etc/apt/sources.list which is used by apt to locate binary files for installation. The default sources.list file looks something like this, adjusted to match your Distribution and Trees:

# Local modifications should either go above this line, or at the end.
#
# Default APT sources configuration for Fink, written by the fink program

# Local package trees - packages built from source locally
# NOTE: this is automatically kept in sync with the Trees: line in 
# /sw/etc/fink.conf
# NOTE: run 'fink scanpackages' to update the corresponding Packages.gz files
deb file:/sw/fink local main
deb file:/sw/fink stable main crypto

# Official binary distribution: download location for packages
# from the latest release
deb http://us.dl.sourceforge.net/fink/direct_download 10.3/release main crypto

# Official binary distribution: download location for updated
# packages built between releases
deb http://us.dl.sourceforge.net/fink/direct_download 10.3/current main crypto

# Put local modifications to this file below this line, or at the top.

With this default file, apt-get first looks in your local installation for already-compiled binaries, and then looks in the official binary distribution. You can alter this by making entries at the beginning of the file (which will be searched first) or at the end of the file (which will be searched last).

If you change your Trees line or the Distribution you are using, fink will automatically modify the "default" portion of the file to correspond to the new values. Fink will, however, preserve any local modifications you have made to the file, provided that you confine your modifications to the top of the file (above the first default line) and the bottom of the file (below the last default line).

6 Using the fink Tool from the Command Line

6.1 Using the fink tool

The fink tool uses several suffix commands to work on packages from the source distribution. Some of them need at least one package name, but can handle several package names at once. You can specify just the package name (e.g. gimp), or a fully qualified name with a version number (e.g. gimp-1.2.1) or with both version and revision numbers (e.g. gimp-1.2.1-3). Fink will automatically choose the latest available version and revision when they are not specified. Others have different options.

What follows is a list of the commands for the fink tool:

6.2 Global options

There are some options, which apply to all fink commands. If you type fink --help you get the list of options:

(as of fink-0.26.0)

-h, --help - displays help text.

-q, --quiet - causes fink to be less verbose, opposite of --verbose. Overrides the Verbose flag in fink.conf.

-V, --version - display version information.

-v, --verbose - causes fink to be more verbose, opposite of --quiet. Overrides the Verbose field in fink.conf.

-y, --yes - assume default answer for all interactive questions.

-K, --keep-root-dir - Causes fink not to delete the root-[name]-[version]-[revision] directory in the Buildpath after building a package. Corresponds to the KeepRootDir field in fink.conf.

-k, --keep-build-dir - Causes fink not to delete the [name]-[version]-[revision] directory in the Buildpath after building a package. Corresponds to the KeepBuildDir field in fink.conf.

-b, --use-binary-dist - download pre-compiled packages from the binary distribution if available (e.g. to reduce compile time or disk usage). Note that this mode instructs fink to download the version it wants if that version is available for download; it does not cause fink to choose a version based on its binary availability. Corresponds to the UseBinaryDist flag in fink.conf.

--no-use-binary-dist - Don't use pre-compiled binary packages from the binary distribution, opposite of the --use-binary-dist flag. This is the default unless overridden by setting UseBinaryDist: true in the fink.conf configuration file.

--build-as-nobody - Drop to a non-root user when performing the unpack, patch, compile, and install phases. Note that packages built with this option may be non-functional. You should use this mode for package development and debugging only.

-m, --maintainer - (fink-0.25 and later) Perform actions useful to package maintainers: run validation on the .info file before building and on the .deb after building a package; turn certain build-time warnings into fatal errors; (fink-0.26 and later) run the test suites as specified in the field. This sets --tests and --validate to on.

--tests[=on|off|warn] - (fink-0.26.0 and later) Causes InfoTest fields to be activated and test suites specified via TestScript to be executed (see the Fink Packaging Manual). If no argument is given to this option or if the argument is on then failures in test suites will be considered fatal errors during builds. If the argument is warn then failures will be treated as warnings.

--validate[=on|off|warn] - Causes packages to be validated during a build. If no argument is given to this option or if the argument is on then validation failures will be considered fatal errors during builds. If the argument is warn then failures will be treated as warnings.

-l, --log-output - Save a copy of the terminal output during each package building process. By default, the file is stored in /tmp/fink-build-log_[name]-[version]-[revision]_[date]-[time] but one can use the --logfile flag to specify an alternate filename.

--no-log-output - Don't save a copy of the output during package-building, opposite of the --log-output flag. This is the default.

--logfile=filename - Save package build logs to the file filename instead of the default file (see the --log-output flag, which is implicitly set by the --logfile flag). You can use percent-expansion codes to include specific package information automatically. A complete list of percent-expanions is available in the Fink Packaging Manual; some common percent-expansions are:

-t, --trees=expr - Consider only packages in trees matching expr. The format of expr is a comma-delimited list of tree specifica- tions. Trees listed in fink.conf are compared against expr. Only those which match at least one tree specification are considered by fink, in the order of the first specifications which they match. If no --trees option is used, all trees listed in fink.conf are included in order. A tree specification may contain a slash (/) character, in which case it requires an exact match with a tree. Otherwise, it matches against the first path-element of a tree. For example, --trees=unstable/main would match only the unstable/main tree, while --trees=unstable would match both unstable/main and unstable/crypto. There exist magic tree specifications which can be included in expr:

Exclusion of (or failure to include) these magic trees is currently only supported for operations which do not install or remove packages.

-T, --exclude-trees=expr Consider only packages in trees not matching expr. The syntax of expr is the same as for --trees, including the magic tree specifications. However, matching trees are here excluded rather than included. Note that trees matching both --trees and --exclude-trees are excluded.

Examples of --trees and --exclude-trees:

Most of these options are self-explanatory. Many can also be set in the Fink configuration file (fink.conf) if you want to set them permanently and not just for that invocation of fink.

6.3 install

The install command is used to install packages. It downloads, configure, builds and installs the packages you name. It will also install required dependencies automatically, but will ask you for confirmation before it does so. Example:

fink install nedit

Reading package info...
Information about 131 packages read.
The following additional package will be installed:
 lesstif
Do you want to continue? [Y/n]

Use of the --use-binary-dist option with fink install can speed the build process for complicated packages by quite a lot.

Aliases for the install command: update, enable, activate, use (most of these for historic reasons).

6.4 remove

The remove command removes packages from the system by calling 'dpkg --remove'. The current default implementation has a flaw: it doesn't check dependencies itself but rather completely leaves that to the dpkg tool (usually this poses no problem, though).

The remove command only removes the actual package files, (excluding configuration files), but leaves the .deb compressed package file intact. This means that you can re-install the package later without going through the compile process again. If you need the disk space, you can remove the .deb from the /sw/fink/dists tree.

These flags can be used with the fink remove command

-h,--help             - Show the options which are available.
-r,--recursive        - Also remove packages that depend on the package(s) to
                        be removed (i.e. overcome the above-mentioned flaw).

Aliases: disable, deactivate, unuse, delete.

6.5 purge

The purge command purges packages from the system. This is the same as the remove command except that it removes configuration files as well.

This command takes the:

-h,--help
-r,--recursive

options.

6.6 update-all

This command updates all installed packages to the latest version. It does not need a package list, so you just type:

fink update-all

--use-binary-dist is also useful with this command.

6.7 list

This command produces a list of available packages, listing installation status, the latest version and a short description. If you call it without parameters, it will list all available packages. You can also pass a name or a shell pattern, and fink will list all packages that match.

The first column displays the installation state with the following meanings:

    not installed
 i  latest version is installed
(i) installed, but a newer version is available
 p  a virtual package provided by a package that is installed

The version column always lists the latest (highest) version known for the package, regardless of what version (if any) you have installed. To see all versions of a package available on your system, use the dumpinfo command.

There are also some flags for the fink list command

-h,--help
	  Show the options which are available.
-t,--tab
	  Output the list in a tab delimited format, useful for
	  running the output through a script.
-i,--installed
	  Show only those packages which are currently installed.
-o,--outdated
	  Show only those packages which are out of date.
-u,--uptodate
	  Show only packages which are up to date.
-n,--notinstalled
	  Show packages which are not currently installed.
-s expr,--section=expr
	  Show only packages in the sections matching the regular
	  expression expr.
-m expr,--maintainer=expr
          Show only packages with the maintainer  matching the
          regular expression expr.
-w=xyz,--width=xyz
	  Sets the width of the display you would like the output
	  formatted for. xyz is either a numeric value or auto.
	  auto will set the width based on the terminal width.
	  The default is auto.

Some usage examples:

fink list                 - list all packages
fink list bash            - check if bash is available and what version.
fink list --tab --outdated | cut -f 2     
                          - just list the names of the out of date packages.
fink list --section=kde   - list the packages in the kde section
fink list --maintainer=fink-devel
                          - list the packages with no maintainer
fink --trees=unstable list --maintainer=fink-devel
                          - list the packages with no maintainer, but only in the unstable tree.
fink list "gnome*"        - list all packages that start with 'gnome'

The quotes in the last example are necessary to stop the shell from interpreting the pattern itself.

6.8 apropos

This command behaves almost identical to fink list. The most notable difference is that fink apropos also searches the package descriptions to find packages. The second difference is that the search string must be supplied and is not optional.

fink apropos irc          - list all packages for which 'irc' 
			    occurs in the name or description.
fink apropos -s=kde irc   - the same as above, but restricted to 
			    packages from the kde section.

6.9 describe

This command displays a description of the package you name on the command line. Note that only a small part of the packages currently have a description.

Aliases: desc, description, info

6.10 plugins

List the (optional) plugins available to the fink program. Currently lists the notification mechanisms and the source-tarball checksum algorithms.

6.11 fetch

Downloads the named packages, but does not install them. This command will download the tarballs even if they were downloaded before.

The following flags can be used with the fetch command:

-h,--help		Show the options which are available.
-i,--ignore-restrictive	Do not fetch packages that are "License: Restrictive".
                      	Useful for mirrors, because some restrictive packages
                      	do not allow source mirroring.
-d,--dry-run		Just display information about the file(s) that would
			be downloaded for the package(s) to be fetched; do not
			actually download anything.
-r,--recursive		Also fetch packages that are dependencies of the
			package(s) to be fetched.

6.12 fetch-all

Downloads all package source files. Like fetch, this downloads the tarballs even when they were downloaded before.

These flags can be used with the fink fetch-all command:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.13 fetch-missing

Downloads all missing package source files. This command will only download files that are not present on the system.

These flags can be used with the fink fetch-missing command:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.14 build

Builds a package, but does not install it. As usual, the source tarballs are downloaded if they can not be found. The result of this command is an installable .deb package file, which you can quickly install later with the install command. This command will do nothing if the .deb already exists. Note that dependencies are still installed, not just built.

The --use-binary-dist option is applicable here.

6.15 rebuild

Builds a package (like the build command), but ignores and overwrites the existing .deb file. If the package is installed, the newly created .deb file will also be installed in the system via dpkg. Very useful during package development.

6.16 reinstall

Same as install, but will install the package via dpkg even when it is already installed. You can use this when you accidentally deleted package files or changed configuration files and want to get the default settings back.

6.17 configure

Reruns the fink configuration process. This will let you change your mirror sites and proxy settings, among others.

New in fink-0.26.0: This command will also let you turn on the unstable trees if desired.

6.18 selfupdate

This command automates the process of upgrading to a new Fink release. It checks the Fink website to see if a new version is available. It then downloads the package descriptions and updates the core packages, including fink itself. This command can upgrade to regular releases, but it can also setup your /sw/fink/dists directory tree for direct CVS or rsync updates, if you select one of those options the first time this command is run. This means that you then will be able to access the very latest revisions of all packages.

If the --use-binary-dist option is enabled, the list of available packages in the binary distribution is also updated.

6.19 selfupdate-rsync

Use this command to make fink selfupdate use rsync to update its package list.

This is the recommended way to update Fink when building from source.

Note: rsync updates only update the active trees (e.g. if unstable isn't turned on in fink.conf the list of unstable packages won't be updated.

6.20 selfupdate-cvs

Use this command to make fink selfupdate use CVS access to update its package list.

CVS updating is deprecated, except for developers and those people who are behind firewalls that disallow rsync.

6.21 index

Rebuilds the package cache. You should not normally need to execute this manually, as fink should auto-detect when it needs to be updated.

6.22 validate

This command performs various checks on .info and .deb files. Package maintainers should run this on their package descriptions and corresponding built packages before submitting them.

The following optional options may be used:

-h,--help            - Show the options which are available.
-p,--prefix          - Simulate an alternate Fink basepath prefix (%p) within
                      the files being validated.
--pedantic, --no-pedantic
                     - Control the display of nitpicky formatting warnings.
                      --pedantic is the default.

Aliases: check

6.23 scanpackages

Updates the apt-get database of debs; defaults to updating all of the trees, but may be restricted to a set of one or more trees given as arguments.

6.24 cleanup

Removes obsolete and temporary files. This can reclaim large amounts of disk space. One or more modes may be specified:

--debs               - Delete .deb files (compiled binary package archives)
                       corresponding to versions of packages that are neither
                       described by a package description (.info) file in the
                       currently-active trees nor presently installed.
--sources,--srcs     - Delete sources (tarballs, etc.) that are not used by
                       any package description (.info) file in the currently-
                       active trees.
--buildlocks, --bl   - Delete stale buildlock packages.
--dpkg-status        - Remove entries for packages that are not installed from
                       the dpkg "status" database.
--obsolete-packages  - Attempt to uninstall all installed packges that are
                       obsolete. (new in fink-0.26.0)
--all                - All of the above modes. (new in fink-0.26.0)

If no mode is specified, --debs --sources is the default action.

In addition, the following options may be used:

-k,--keep-src        - Move old source files to /sw/src/old/ instead of deleting them.
-d,--dry-run         - Print the names of the files that would be deleted, but
                       do not actually delete them.
-h,--help            - Show the modes and options which are available.

6.25 dumpinfo

Shows how fink parses parts of a package's .info file. Various fields and percent expansions will be displayed according to options as follows:

-h, --help           - Show the options which are available.
-a, --all            - Display all fields from the package description.
                       This is the default mode when no --field or
                       --percent flags are given.
-f fieldname,        - Display the given fieldname(s),
  --field=fieldname    in the order listed.
-p key,              - Display the given percent expansion key(s),
   --percent=key       in the order listed.
      

6.26 show-deps

Displays a human-readable list of the compile-time (build) and run- time (installation) dependencies of the listed package(s).


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2015 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.


Generated from $Fink: uguide.en.xml,v 1.56 2012/11/11 15:20:17 gecko2 Exp $