Advanced - 1. Running your own Binary Distribution Server
This section describes a method for workgroups of more than one Fink installation to use a central build server ("master") that distributes binary packages to all clients in the group.
Install Fink at
/sw(default basepath, use a symlink if necessary).
- Build packages as usual. They don't necessarily have to be installed, just built.
fink scanpackageswhenever your set of built packages has changed. This will make fink generate apt indexes for all of your enabled trees.
As an alternative you could run
fink cleanupwhich will clean all obsolete src and binary packages.
scanpackageswill be called at the end of the cleaning process.
Start a web server: E.g. enable "Personal Web Sharing" in the Sharing section
of System Preferences. Then set up httpd to serve your
/sw/finkdirectory by adding the following lines to your
Alias /fink /sw/fink <Directory /sw/fink> Options Indexes FollowSymLinks </Directory>
sudo /usr/sbin/apachectl gracefulto (re)start your web server.
Remember to re-run
fink scanpackages (or
cleanup) whenever you build/update packages on the "master"
server to make them available to your remote machines.
You could also create a user 'fink' and add the above lines to
If you use the apache2 package from Fink adjust the paths above accordingly.
Install Fink at
fink configureand enable the option to download packages from the binary distribution. ("UseBinaryDist: true" in the
/sw/etc/apt/sources.list, and add the lines representing your Fink trees. For example, if the IP address of your build box is 192.168.42.7, you need to add:
deb http://192.168.42.7/fink stable main crypto deb http://192.168.42.7/fink unstable main crypto deb http://192.168.42.7/fink local main
fink selfupdate. You should see something like:
... Hit http://192.168.42.7 stable/main Packages Hit http://192.168.42.7 stable/main Release Hit http://192.168.42.7 stable/crypto Packages ...towards the end of the update process (if the verbose level is >= 1).
fink update-all or
<package> will now download the necessary packages as
binaries from the "master" server if available.
- Your "master" server needs to use the lowest version of X11 that you're using on all of the clients, i.e. if any of the client machines uses Apple's X11, the "master" server must use it too.
- In order to save space on your build machine, you can remove packages that are only build-dependencies (i.e. not needed to run anything). The
debfosterpackage provides a nice way to do this. Be careful not to remove essential packages, such as
This documentation is adapted in part from "Sharing the Fink" by RangerRick. Thanks!