[Pythonmac-SIG] fink vs DarwinPorts?

Bob Ippolito bob at redivi.com
Sat Feb 5 19:46:49 CET 2005


On Feb 5, 2005, at 10:18 AM, Michael Twomey wrote:

> On Sat, 5 Feb 2005 09:21:15 -0500, Bob Ippolito <bob at redivi.com> wrote:
>
>>> Another reason is that it is based on the debian apt packaging 
>>> system,
>>> so you have a very controlled build environment. Their .info package
>>> descriptions are succint and it is easy to roll your own packages.
>>
>> Controlled?!  By who?  Certainly not the user.
>
> When I say controlled I am coming from a linux packaging point of
> view. The builds are performed inside /sw/src and packages are
> assembled from there. Unless you have an utterly insane program whose
> source insists on dropping files all over the system during a build
> this makes it easy to control what goes into the package. Besides,
> writing .info files is fairly easy compared to deb info stuff or rpm
> build descriptions, only gentoo gives a nicer build description
> format.

darwinports uses an image based system where each individual package is 
installed to its own place.  When a particular port is activated, hard 
links are made to where they need to go so the rest of the system will 
see it.  deactivating a port simply removes these links.

Writing darwinports packages is easy too, so that's not a real point of 
difference.

> This is all a point of view, I like fink, it packages what I want
> neatly, it doesn't get in my way and I don't spend all my time
> re-compiling packages due to arbitrary changes (unlike gentoo, this
> strip pretty much summed up my experience,
> http://comic.escomposlinux.org/ecol-161-e.png). The fact that fink
> applies altivec patches to python numarray is another part of it which
> endears itself to me.

My problem with fink is basically their choice to use apt.  As a point 
of reference, I really don't like Debian either (though it is better 
than most of the other Linux distributions in my experience, but that 
doesn't say a whole lot).

Darwinports gives me the control I need with its flavors (essentially 
letting you build the package with custom flags, such as with or 
without X11 support for Vim).  I can build several of these and 
activate/deactivate them whenever I want.

If I don't want the entire world to be downloaded and installed when 
installing a simple utility or library.

Fink really gets in the way of my efforts to develop redistributable 
software in that it's dependency resolution is very naive and 
effectively installs its own OS (minus kernel and a very very small 
subset of the libraries that OS X ships with).  I don't want to 
distribute an OS with my applications, just the one or two libraries 
that are actually needed beyond what is included with the OS.  I am 
fine with letting Apple upgrade zlib at their own schedule.  I have no 
need to distribute applications with the absolute latest version of 
zlib, OpenSSL (and everything else) because I trust Apple (way more so 
than Fink) to upgrade the OS's version of zlib if there is an actual 
problem.

Darwinports does have its fair share of disadvantages too, but it's 
certainly a heck of a lot less annoying for what I do.

All that said, I don't trust either darwinports or fink do manage 
Python software.  I will use darwinports to build the dependencies for 
some things, and build the Python packages myself.  As far as Mac 
specific patches to Python software goes, I was the originator of them 
in many cases... so these "conveniences" don't really apply to me 
because I am building and hacking on these things myself anyway (and in 
these cases, both fink and darwinports would get in my way, which is 
another reason I don't use them for Python software).

-bob



More information about the Pythonmac-SIG mailing list