Um freie Software unter Mac OS X auf Unix-Manier zu installieren und zu verwalten, gibt es eine Reihe von Möglichkeiten. Ich bin über alle davon frustriert.

MacPorts

Die Paketkollektion von MacPorts wäre ja noch halbwegs akzeptabel. Leider ist MacPorts nicht in der Lage, bei Abhängigkeiten zwischen benötige libfoo und benötige libfoo zwischen den Versionen 1.2.0 und 1.3.99 zu unterscheiden, was die Möglichkeit, mehrere Versionen nebeneinander zu installieren, völlig sinnlos macht. Sie stört sogar, weil sie einen dazu zwingt, bei jedem Upgrade sowohl -f (force) als auch -u (uninstall inactive versions) anzugeben, da sonst die alten Versionen nicht gelöscht werden können, wenn von den zu aktualisierenden Paketen irgendwelche anderen Pakete abhängig sind. Was aber dafür die Fehlerbehandlung bei Abhängigkeitsproblemen deaktiviert. Was bescheuert ist.

Und wenn man dann ein einziges Mal vergessen hat, bei einem Upgrade -u anzugeben, hat man eine Menge alter Versionen installiert, die Platz verschwenden und zu nichts zu gebrauchen sind. Dafür wird man sie dann aber auch nicht so einfach wieder los, außer man geht manuell durch die Liste aller installierten Pakete, schreibt sich die Doppelinstallationen auf und löscht sie nachher (natürlich mit -f, denn man kann ja keine Paketversionen deinstallieren, die noch gebraucht werden könnten -- auch wenn noch zwanzig weitere Versionen vom selben Paket installiert sind).

Es ist ein Kompromiß! It may be slow, but it's hard to use!

Fink

Fink besteht aus dpkg und einer Sammlung von veralteten Softwarepaketen. Es wäre ja toll, wenn die Software wenigstens als Binärpakete zur Verfügung stünde, aber nicht einmal das ist bei den meisten Paketen der Fall. Man muß also doch wieder alles selbst kompilieren, und dies schlägt ziemlich oft fehl, weil die Quellpakete irgendwelche Fehler haben.

Wundervoll.

Gentoo/Alt

Prefixed Portage ist eigentlich ja ein sehr angenehmes System. Im Gegensatz zu Fink und MacPorts hat es einen Abhängigkeitenauflösungsmechanismus, der nicht völlig hirnrissig ist oder in der Hälfte aller Fälle die Hände über den Kopf wirft und um Hilfe schreit. Dafür kann man kaum ein Paket damit installieren, weil ungefähr 99,7% aller Ports in Portage nicht auf Prefixed Portage ausgelegt sind und bei der Installation die Hände über den Kopf werfen und um Hilfe schreien.

pkgsrc

NetBSDs pkgsrc-System ist das einzige der genannten Systeme, mit dem man halbwegs vernünftig arbeiten kann. Es hat kein Klicki-Bunti-Interface wie MacPorts und Fink, aber wenigstens stürzt es nicht alle zehn Minuten ab oder wirft Teile von Paketen quer durchs Dateisystem, von wo man sie nicht mehr wegbekommt. Außerdem sind die Ports in der WIP-Variante des Portbaumes durchaus akzeptabel aktuell. Dafür weiß man nie, worauf man sich bei WIP-Ports einläßt. Manchmal lassen sie sich nicht kompilieren. Die Quote ist allerdings besser als bei allen anderen Systemen außer MacPorts, und im Gegensatz zu Letzterem funktioniert pkgsrc wenigstens grundsätzlich.

Worauf man bei pkgsrc verzichten muß, sind Mac-OS-spezifische Pakete. Doch wer steigt schon auf Mac OS um, um dann die speziellen Features von Mac OS auszunutzen? Jedenfalls niemand, der auf die Idee kommt, pkgsrc zu verwenden, richtig?