Here’s an overview of Fink’s build process and its five phases. The build process always refers to one package description or, if the description has variants, to one of those variants. If a package description (or one variant) yields different packages (e.g. the php5.info package description yields the php5, php5-cgi, php5-cli, … packages) then all of these packages, called split-offs, are built in the same run of the build process.
Assuming that all the necessary source files are located under /sw/src orĀ FetchAltDir (fink.conf), they are unpacked, patched if needed, and compiled under the build directory. Files are ‘installed’ under the install directory, a temporary directory used by the following phase, Build, to create one or more (split-off) .deb package files based on the contents of the install directory.
The fink command has two options that let you inspect the contents of the build and install directories: -k or –keep-build-dir will keep the build directory after the build process ends, and -K or –keep-root-dir will keep the install (root) directory after the build process ends.
There are equivalent configuration options that can be used in fink.conf: KeepBuildDir and KeepRootDir. Be careful, though: keeping every build and install directory can fill your hard disk quickly!


It’d be good to add a step to the graphic indicating how some files are moved from root-base-pkg after ‘make install’ to root-splitoffN.
True. I’m thinking of writing another post covering split-offs and variants. Well, maybe two posts.