A few days ago, I was discussing Snow Leopard with a recent OSX convert. For the record, this person remains primarily a linux user — a stalwart patron of Fedora — but he had very recently acquired a unibody Macbook. As I am similarly a user of both linux and OSX, this came as music to my ears. Curious, I asked him to name the biggest flaw in his shiny new laptop.
It did not take long to get an answer, and the answer I got left me decidedly unsurprised. Having come from the linux world, he was disappointed with the state of package management on OSX. My thoughts exactly.
Now, before every random reader writes me off as an idiot and troll, let me qualify this opinion. Yes, I have heard of Macports (so had the person with whom I was conversing). Macports, as awesome as it is, has always seemed to me a bit too much of a hack, and at its best, a less than ideal solution. I miss the feeling of complete integration I get with something like pacman and Arch. These thoughts have only gained strength since the release of Snow Leopard, where half the programs I need will not install — not simply, anyway — under the macports system. Why, when I first open the beautiful packaging of an Apple computer, can I not begin to explore all manner of open source goodness? Why is there no native management system, along the lines of apt-get, yum, or pacman?
I will readily admit that these complaints fall well within the I want a pony mentality. But that said, what difficulties (or possibly, incentives) prevent Apple from establishing an official package management system? Is it simply not worth the time required to do so? Legal issues? I am young and ignorant, so quite honestly, I’d like to hear more experienced thoughts on the matter.
8 Comments
MacPorts really isn’t that hackish, IMHO. I, however, come from a FreeBSD background where the ports system is the defacto standard.
To me, Linux’s style of package management is hackish! Just remember that OS X comes from a BSD heritage and tends to lean in that direction.
On that note, aside from using MacPorts you can use Fink which provides a more Debian like package manager for binaries…
I am using fink to manage open source packages. Fink is a port of dpkg/apt, and you can run apt-get (and friends) from the command line, or use the GUI tool FinkCommander. (It’s similar to synaptic).
As a package manager, dpkg is hard to beat.
All software installs under /sw, and unless you screw up your PATH variable, no nasty conflicts with Apple-Provided perl, python, ruby and so on.
YMMV with Snow Leopard. All my experience is with Leopard and predecessors.
I don’t use Macports in addition, because two package managers (fink and Apple’s) are enough to deal with, and besides — “It Just Works”.
I’ve found Homebrew to be a pretty good system thus far. I switched away from MacPorts a couple of weeks back.
http://github.com/mxcl/homebrew
Fink is a mac port of apt/dpkg if you like that.
I used to use fink, but found it really lacking due to the way it handles dependencies (or quite possibly the way the mac package managers maintained their packages).
I now vastly prefer the way macports’ variants system works. It’s really awesome, especially when you start upgrading multiple packages that share dependencies and things “just work”.
Macports also has great integration with OSX in the form of the port load/unload commands and portfile syntax sugar for package managers to easily create “proper” launchd integration.
I use Yum on our production servers and although I don’t know it super-well, I don’t feel a big difference between Yum and Macports.
I do see a lot of people complain about macports, and for some reason none of them have resonated with me. Either I don’t know what I’m missing or people just don’t “get” Macports…
Try rudix. Packages properly done as .pkg, with the possibility to remove what you no longer need.
Also comes as static binaries – ie you don’t have to fight with various different libraries to run the application you need.
Yes I know there’s duplication of the library functions in the various binaries. Cry me a river – I have a 500 Gb hard drive.
Hard disk space comes so cheap now that having a binary 1 Mb bigger is far less inconvenient that caring about shared libs.
To me macports belongs to the past. I’m rudix only since snow leopard.
I would love to see better package management (ie standardized install, update and uninstall) baked in to OS X. I love MacPorts for development, but I’m also constantly trying new apps – and without using yet another third party app like AppDelete, getting clean uninstalls is definitely hit or miss.
I just wish Apple would throw it’s weight behind one of these options. I’ve given up on any of the package managers. Port and Fink just cause more trouble than they’re worth.
My theory now is to install everything as an official binary when available and otherwise to use pip and virtualenv for Python stuff.
Luckily, that works for me most of the time.
My biggest complaint on OS X is the complete inability to set a different font size for the UI, something that Linux and Windows have done for years.
Unless you’re a tween with 20/20 eyesight (or you’d like to retain your fine eyesight past your 30th birthday), I’d avoid OS X for this reason alone.
2 Trackbacks
[...] This post was mentioned on Twitter by Tech news. Tech news said: HNews: Ask HN: OSX Package Management http://bit.ly/1snVO4 [...]
[...] become the custom to lay down some hate. So here goes: Apple, you ought to implement a decent package management scheme. Some inconsistency with something I had installed (or worse, you put there) was messing [...]