Herewith the unexpurgated diary of my simultaneously rebuilding my Mac environment from scratch, and moving to Leopard. This is partly just for my own benefit, so I don’t forget the important steps, but may be of mild interest to others who carry a heavy OSS load on their Macs, and may prove a mildly useful in someone’s search results down the line.
Back Story · What happened was, I was installing Leopard on Black Beauty, my 13" MacBook, when the world ended. Apple dropped the ball. (WTF did I spend Sun’s money on AppleCare for?) So I went over to NCIX and picked up a 160G 7200RPM Seagate. Nice place, NCIX; I’d go back.
Hardware · It turns out that replacing a MacBook disk drive is a doddle; it took me like ten minutes end-to-end, and I’m no hardware wizard. So if anyone is finding their disk filling up, go ahead and upgrade yourself, it’s a snap. It’s a really elegant piece of design in there.
What to Restore ·
In the interim, I’d stitched my life back together on my old 15" PowerBook,
which felt heavy and klunky and slow and was totally useless with Adobe
Lightroom. Once I’d got the MacBook pieced back together, and OS X installed,
I could have FireWire’d ’em together and replicated one onto the other with
Migration Assistant. But I decided not to; I’d replicated each of my Macs
onto the next, dating back to 2003, and whereas my home directory is
reasonably clean, the system was cluttered up with all sorts of stuff I’d
installed and wasn’t using, or semi-uninstalled.
Also, my open-source ecosystem was a witches’ brew of Fink and DarwinPorts and
hand-built stuff in
Half the time I had no idea what instance of Perl or Ruby or ImageMagick or
whatever was actually being used. And furthermore, I knew that a lot of that
code was probably PowerPC binaries running through Rosetta.
So, I decided to bring over just my home directory from the PowerBook and rebuild my OSS environment from scratch.
Installer Can’t See New Disk · The only glitch with installing Leopard was that after booting from the CD, the installer couldn’t see my new disk. Fortunately, the installer has a “Disk Utility”, and it could see that Seagate 148G (Huh!? I paid for 160!) disk. Unfortunately, it didn’t have a “Format” button. Fortunately, it did have an “Erase” button, which gets you a standard Format-this-disk menu. I guess some Human-Factors genius at Apple decided that the pain avoided by people not realizing that formatting a disk erases it as a side-effect was greater than the pain experienced by people who can’t find the “Format” button.
Anyhow, formatting the disk took just a few seconds.
Copying Over with Migration Assistant ·
I was assuming I’d just plug the old PowerBook into the MacBook and boot in
FireWire-disk mode (hold down the “T” key at power-on), and use
tar or something to get my data.
But it turns out that Migration Assistant is actually pretty flexible, it was happy to copy over my data and a few system settings, like networks and sharing, without taking any of the other System stuff.
There was one fly in the ointment. I got everything plugged in, logged in, fired up Migration Assistant, it looked at the new disk and said “Sure, I can copy over Tim Bray, but there’s already an account of that name here.” It gave me a few options: choose a new name, restore somewhere else, and what I really wanted, just overwrite the existing Tim Bray. But that was greyed out, without any indication of why. I decided that it might be a problem that I was currently logged in as myself, so I created another account named “Backup” with admin privileges, logged into that, and then everything went fine. It took two or three hours to bring over my fifty-odd gig of data.
Compilers and Build Tools · If you want to do anything with software, you’ll need compilers and linkers and libraries and so on. To get them, after you’ve installed Leopard you have to look in the “Extra Software” folder on the install DVD and install something called “Xcode Tools”.
Leopard Has More Stuff ·
On previous releases of OS X, the built-in versions of Perl and Ruby and so
on were pathetically out-of-date, so I’d been building them from source.
Leopard comes with Ruby 1.8.6 and Perl 5.8.8; on impulse
I typed “cpan” at the shell and, wonder of wonders, there was a nice
cpan> prompt looking at me. Hey, it has gem too.
Fink or MacPorts? · One should be enough. I poked around and there’s not a slam-dunk winner, but more people seemed to be leaning to MacPorts, so I went that way. So I went there and installed ImageMagick, aspell, and aspell-dict-en, no fuss, no muss, but no hurry either. The amount of code that MacPorts has to assemble to build ImageMagick in particular is mind-boggling.
The mantras you need to learn to install any particular “fooball” are as follows. First, find out what packages there are:
port list | grep -i fooball
sudo port install fooball-v5
You’re done, but you do have to munge your path to know about
I noticed that the
Downloads Page has a nice
.dmg with two packages; one for
MySQL itself and another to set up auto-start on boot. Cool.
That doesn’t give you libraries though, so if you try to install
DBD::mysql, it’ll whine. For that to work, I had to go get a
and do the
Distant Laughter · Do you hear it? That’d be Mark Pilgrim laughing at me for being such a fuckwit as to not be on Ubuntu, on which basically none of this work is necessary.
Hey, Adobe · I needed to get Lightroom again. I poked around in my mail archives and found the original mail from Adobe from when I bought it back in March; the download link still worked, and my serial number was right there, so I had Lightroom up and running in no time. Imagine, commercial software that’s almost as convenient as Open Source! What a concept.
Happy Ending · With the new disk, I have 74G free... wow! And the reconstituted MacBook is really a lot faster than both the PowerBook and than it used to be, pre-rebuild. There’s no way to tell what combination of Leopard and the faster disk and the cleaned-up OSS ecosystem produced this result, but I’m enjoying it.