further fink fun: resolution

I think my fink installation is now unwedged. The problem stemmed from mixing up the stable and unstable trees, as far as I can tell.

The package tree is subdivided into local, stable, and unstable, and the (un)stable trees are further divided into main and crypto.

[/Users/paul]:: more /sw/etc/fink.conf
# Fink configuration, initially created by bootstrap.pl
Basepath: /sw
RootMethod: sudo
#Trees: local/main stable/main stable/crypto local/bootstrap
Trees: local/main unstable/main unstable/crypto stable/main stable/crypto local/
bootstrap
Mirror-ctan: ftp://tug.ctan.org/tex-archive/
Mirror-gimp: ftp://ftp.gimp.org/pub
Mirror-gnome: ftp://ftp.gnome.org/pub/GNOME/
Mirror-gnu: ftp://ftp.gnu.org/gnu
MirrorContinent: nam
MirrorCountry: nam-us
ProxyPassiveFTP: true
Verbose: true

So I removed xfree86-base, using the suggestion I got from a new user on the fink-users list.

I ran sudo dpkg –remove –force-depends xfree86-base and then switched from using the unstable trees to just the stable and local (see the commented out line above).

I then installed an older version of xfree86-base with dpkg. That made X work again. As a side note, at no time during this ordeal did any of the fink-managed applications fail to work: the only one that failed was fink itself.

Then a test of fink selfupdate-cvs and fink update-all. The xfree86 version I installed was upgraded:

The following 4 packages will be installed or updated:
arts docbook-dtd wget xfree86-base
The following additional package will be installed:
qt3


And here’s what xfree86 looks like now:

[/sw/lib/perl5/darwin/auto]# fink list xfree86
Information about 1401 packages read in 44 seconds.


system-xfree86 4.2-1 Placeholder package for manually installe…
i xfree86-base 4.2.0-11 XFree86 libraries, utilities, clients and…
xfree86-rootles 4.2.0-11 XFree86 libraries, utilities, clients and…
xfree86-server 4.2.0-2 XFree86 display server (stable release)

There may still be some problem in the database in that fink still thinks it has Storable.pm installed and I have deinstalled it as well as removing it from the filesystem.

Hmm, I just told fink to remove it and this time, it shows it as uninstalled. Good.

I’ll have to wait a couple of days and a couple of CVS runs to see if this fixes it. But it looks good so far.

It looks like some way of enforcing database integrity and sane config files could improve fink’s robustness. Curious why fink’s config data isn’t in an XML/plist format: that might lend itself to more rigorous parsing (since xml parsing libs are installable with fink itself). There were some errors in my fink.conf file, as was pointed out, and perhaps that introduced the error.

Making the corrections to the fink.conf file weren’t enough to fix this, nor was removing xfree86-base by itself. Losing the unstable trees and then reinstalling xfree86-base, even an older version, did the trick. At the point I could reinstate the unstable trees and the updates would work as expected.