Fink 0.25.0 Out

For the first time since early 2005, a new major version of “fink” the command-line program is out. Plenty of good development work has gone on in the 0.24 series, with lots of nice incremental updates, but a lot of really great stuff has gone into 0.25. While there are plenty of other neat engine things and additions, I’m going to focus here on the changes that users will be able to see.

Internals

Speed

Most noticeable right away is speed. The incremental indexer was pretty much
rewritten. You will not spend nearly as much time nowadays waiting for fink to
scan your info files for changes.

A lot of other smaller operations related to the index have been sped up as well. All
in all, fink is much faster. (Although I still would never call it “snappy”… <grin>)

Building

The buildlocks system has been rewritten, and should rarely get in your way anymore.
It is much smarter about adding and removing build locks, and can clean up after
itself much better.

Options

There are a number of new options for various things.

--log-output
Automatically log the output of package builds to a file. You can specify --logfile=/path/to/some/file to specify the location.
--maintainer
Enables “maintainer” mode, which does handy things for package maintainers, including automatic validation of both the info files and resultant deb files for any packages you’re building, and enables some other miscellaneous things like turning build-time warnings into errors, and enabling tests if the package supports it.
--trees and --exclude-trees
When performing an action with fink, only use packages in the specified tree(s). For example, if you have unstable enabled, but wish to install the stable version, you can run “fink install --trees=stable mypackage“. In addition, you can use the special-case trees “status” and “virtual” to refer to the dpkg database or fink virtual packages, respectively. The --exclude-trees flag does the same thing, only excludes specific trees.

Additionally, some existing fink command-line options have been upgraded or split off into separate programs.

dpkg-scanpackages
A convenience script to generate the apt Packages indexes so that local (or remote) clients can access locally-built binaries. This is invoked by the new automatic scanpackages feature.
fink cleanup
The fink cleanup command has gotten a much-needed overhaul. It’s now capable of cleaning out old .deb files, source files, and the dpkg database.

Configuration

A few additions have been made to the fink.conf configuration file to make things easier on you.

AutoScanPackages
If this option is set to “true” (the default), then whenever fink has completed building new binaries, it will automatically update apt-get’s indexes. Previously you had to run “fink scanpackages” to make your fink-built binaries available to apt.
Bzip2Path
You can specify the path to an alternate bzip2 command using this option. Normally you would use this if you want fink to use pbzip2 on a multiprocessor/multicore system to unpack archives. This will probably be expanded into a more generic configuration option for specifying system commands in the future.
NoAutoIndex
If you don’t edit info files locally on your system, you can set NoAutoIndex to “true” and avoid the index scan when you run the fink command. You can still force fink to update the cache by running fink index (and you can force it to ignore the cache and create an entirely new index by running fink index --full).
ScanRestrictivePackages
If AutoScanPackages is “true” and you are planning on making your apt repository public, you must enable this option to avoid making legally-restricted packages available.
SkipPrompts
You can specify a number of classifications of prompts for fink to automatically
accept the default. The currently available classifications are fetch (don’t ask when a mirror fails, accept the default to try another/give up) and virtualdep (don’t ask when fink has multiple packages that can satisfy a dependency, pick the default).

Conclusion

This has been a long time coming, and it’s good to see it finally out the door. Please try it out, and let us know if you hit any snags. A ton of things have changed under the covers, and while plenty of us have been using it daily for quite some time, you always find new bugs when the general public tries things you haven’t.

Happy finking!

Share on Facebook

1 comment to Fink 0.25.0 Out

  • I am very impressed with Fink 0.25. The speed increase in indexing and package scanning is phenomenal, and the new features are appreciated. My hat is off to you, and the rest of the Fink team. Thanks.