New OS, more pane! (Passenger preference pane v1.3)

Eloy Duran

As Snow Leopard was released, I saw lots of talk on the interwebs about the Passenger preference pane not working on the new kitten OS. Which frankly was to be expected, but unfortunately Apple had not supplied me with a developer seed. Maybe next time…

Oh by the way, fun fact! What I did find is that not having your application up-to-date for a new OS release is actually pretty good marketing stuff. The Passenger preference pane had about 380 watchers for a while, but during the last few days we (finally) reached 400 watchers! Thanks a lot guys! Can’t wait for the next OS upgrade so we can beat Passenger with their 776 watchers ;-).

Now where was I… Ah yes.

The pain involved in the update

So in order to help everybody out as soon as possible, I’ve created a version which will work on both PPC and Intel machines, as well as OS X 10.5 and 10.6. This means that it will want to load System Preferences.app in 32-bit mode. But since many preference panes currently need that, we didn’t deem it a show stopper.

The real problem in getting the Passenger preference pane to run in 64-bit mode would be that System Preferences.app wants to use the Objective-C garbage collector. And rightfully so. But the only way to support this easily would be to use MacRuby, which as of yet is not stable enough. But expect the next version of the preference pane to use MacRuby and be a happy 10.6 citizen.

One last note: Apple Help in a preference pane, ugh. As ironic as it may sound, there’s not much help out there, either in the form of documentation or on how to debug it. Expect a separate post on this.

Change goodies

  • Mac OS X 10.6 support, although still in 32-bit mode:
    • Bundle RubyCocoa.framework in the preference pane. (Ticket #2 & #8)
    • Made the Apple Help work on both 10.5 and 10.6.
  • Added a check at launch, which verifies if all your application hostnames are registered in the hosts database (Directory Services). If not, add them. Obviously this is especially handy for people upgrading from 10.5 to 10.6, but also comes in handy when editing vhosts by hand.
  • Added preference pane Info.plist keys so the help shows up in the Help menu.
  • Use proper capitalization for the Apache conf Directory directive.
  • When the user changes the path to an application, also replace this in the @user_defined_data string. (Ticket #4)
  • Various source cleanups.

If you’ve added your hostnames to /etc/hosts in the meantime, then you can safely remove those again as the preference pane will add these to the hosts database on startup.

You can track development and contribute on GitHub.

Please report any bugs you may find on the issue tracker.


You’re reading an archived weblog post that was originally published on our website.