I’m making progress with all the tricky bits of the upgrade. As I anticipated, it was mainly things that had made changes in the magic hidden secret system folders that ceased functioning, including some of my own bits and pieces.
I’ll use this entry to (a) tell you what I did in case you need it and (b) make a record for myself. Before doing that, though, I’ll mention that the Mac OS X Hints site is a treasury of tips contributed by a lot of folk going through the installation process, and a great deal of information there was helpful.
An example was this neat tip which I acted on. A hidden option for the Dock makes hidden applications ghost out in the dock:
defaults write com.apple.dock showhidden -bool true
Last year and early this year I went to quite a bit of trouble to get sendmail working nicely and securely in conjunction with Mail.app. All that has gone out the window, because Panther runs Postfix instead. I know nothing at all about Postfix, except that apparently it’s easier to configure (which wouldn’t be hard) and much more secure (ditto). I’ve found a bit of a discussion here and here, and I can report that after an Archive and Install, it just seems to work. Going out to the terminal, I can send (using the Unix mail command) from any local account to any local account, and from any local account to any external account. Unsurprisingly, return mail didn’t work, but that was the mail exchange at my ISP refusing delivery more than anything else. I can’t set up Mail.app to work with this, but I think that if I reinstall qpopper I’ll get over that.
Once I got that far, I decided to put mail aside for the moment and get other things working again. The only other things I did were remove my old TickleSendmail startup item, and I also removed BroadbandOptimizer while I was in the neighbourhood. Both are cached somewhere in case I need them again. Also, in my travels, I found this interesting article which seems to suggest that I can get Mail.app to provide automagic encryption and signing via SSL. Thinking is in progress.
Getting MySQL up and running was easier than I expected. I simply recovered the old /Library/MySQL directory, and reinstalled the symbolic link from /usr/local/mysql to /Library/MySQL, and everything worked. Sweet. About halfway through testing, while I was trying to remember the root password, I wondered if the data was backed up. Fortunately, I’d taken to doing weekly dumps via /etc/weekly.local:
echo “Dumping movabletype database”
DUMP=/Users/??????/Documents/WWW/mt.database.backup
touch $DUMP
/usr/local/mysql/bin/mysqldump -uroot -p????? movabletype > $DUMP
gzip -9f $DUMP
chown ?????:staff ${DUMP}.gz
so I wasn’t worried about completely borking MySQL
MovableType was a bit of a pain. I new from reading this and this that I would need to reinstall the perl DBD::mysql bundle again. I ran up cpan, tried, and it fell over because various developer tools weren’t available. I installed XCode and the rest of the developer tools, and remembered my previous problem with head just in time. I tried to install DBD::mysql, and it failed. I installed DBI. I tried to install DBD::mysql, and it failed. I removed the MySQL root password. I tried to install DBD::mysql, and it failed a lot further on. I did a make clean, banged my head on the desk, and tried again. It failed. I did a force install, then went googling, where I found these comments. Not knowing enough about perl, I relied on this test, and everything seems to be working again.
I next recovered all the altered files from the old /etc/httpd/ to the new location, and miriabilis, MovableType works again. Sort of. Previously I was publishing this blog to my .Mac homepage location by mounting the iDisk from within Finder, then telling MovableType to write files directly to /Volumes/rhook/Sites/blog. About six weeks ago, the behaviour of this changed, and it started asking for an account and password before proceding. Now it doesn’t work at all. There seems to be some fairly deep magic going on in here, related to the facility within Panther to locally cache the iDisk. A bit of investigation shows that the local cache is mounted under /Volumes/iDisk, and the WebDAV iDisk is still mounted under /Volumes/rhook. Directly writing into the latter seems like a bad idea, as there appears to be all sorts of strange magic going on to get mirroring working, quite apart from security problems (which is what MT seems to be burping on).
iDisk mirroring is managed by a new daemon called MirrorAgent. The logs for this beast are in ~/Library/Logs, and it’s fairly enlightening to watch those logs to see what’s going on. The main thing of interest for my MT needs is that changes written from the Unix level to /Volumes/iDisk are correctly mirrored to the real iDisk when the agent wakes up. There are two problems here, though. First problem is that there doesn’t seem to be a way to trigger the agent from the command line, although various actions in the Finder do trigger it. More importantly is that MT is run as the www user, which doesn’t have write privileges into the appropriate directory. I can appropriately chmod and chown the directories and files, and get it to work, but those changes go away the next time I log in.
A tentative solution is to write into ~/Sites, and have some mechanism for syncing from there to /Volumes/iDisk/Sites. Thinking is in progress, and at the moment that synching process is called “manual drag and drop”.
I did notice one weirdness related to this: the webdavd daemon reports its activity to the system log with a UTC date/time, not the local date/time. Suffice to say that this was momentarily very confusing.
There were a few other items that I recovered from /etc, although there were fewer than I expected: csh.login, firewall.conf, httpd/, motd, profile and weekly.local. I altered /etc/sshd_config to set UsePrivilegeSeparation to “yes” (it had been hashed out). I did not (yet) install the hack to /etc/rc that I’d added to Jaguar on 17th July 2003:
/usr/sbin/sysctl -w kern.maxvnodes=36032
I noticed that PGP 8.0 was not working, but a quick hunt around revealed an 8.03 upgrade that was Panther compliant. I removed all trace of the old PGP, reinstalled, and almost everything is working. The PGP Mail.app plugin bundle seems to be non-functioning, so a little bit of thinking is required there to see what’s going on. Incidentally, the installer from PGP is a very good example of how to make a decent installer. It wasn’t compressed needlessly, it had lots of documentation (including a list of what was going to be installed and where), it was a very simple process, and it clearly preserved the corporate image. I wish more publishers did this sort of thing.
There are still a few things I need to do. Fink may have ceased functioning, I just haven’t tested it. Scanning no longer works, I’ll have to remove all the old scanning stuff I can find and try reinstalling. Now that there’s a whizz-bang font tool, I’ll rationalise all my typefaces by grouping them sensibly, and making sure they are stored in sensible places (and disable most of the foreign-language typefaces). Thinking of foreign-languages, I might need to teach Jaguar that I don’t need support for as many languages as it’s offering, since I speak neither Cherokee nor Swahili.
I’ve re-enabled a number of login items for my account, and I’ll have to investigate them more fully. One or more are quite slow to start, making the initial login fairly slow. I also want to investigate this hint in a bit of detail, since there are a lot of logs around that could do with cleaning up. Speaking of which, the new Console application seriously rocks, revealing all sorts of logs in one place. It’s a lot more convenient than cracking open the terminal to look at the logs!
I really quite like the new Finder interface, UI quibbles aside. It does a nice job of making locations less computer-centric and more semantic, and as a result I’ll move most of the applications I’d tucked in my home directory back to the main /Applications folder.