I like to think that I understand why Apple does Software Updates the way they do. There are choices that have to be made, and it’s often better to err on the side of caution.
I wish that there were a system or process by which I could indicate that I wanted certain libraries left alone — or to more carefully examine what was going to be changed by the updates before they were installed.
Of course, if I were willing to invest more time in the process, then I could patch only the development servers first, see what broke, and run before-and-after diffs to see which files had changed, then apply those patches, and so on and so forth.
But I’m just trying to keep up to date, and most of what I do is not ‘five nines’ mission critical or anything like that.
So I run an update, then I see what it broke. Usually it’s PHP. Apple has written over PHP so… many… times. It’s always with a client library of MySQL that’s like 3.23. (Isn’t version 5 stable by now? It’s kind of sad.)
Anyway, so it makes me mad because even though I’ve written a compiler config script to simplify things, I have to re-run that, and usually there’s a newer, more patched version of PHP, so I say to myself, “Oh, I’ll just get that.” Except then I have to re-apply the stupid PDFlib patch, and of course there’s usually a newer version of that, and I have to download and compile it, then remember how the heck to copy the proper files into the PHP source tree so it’ll compile against the new library, yadda yadda. I’m currently watching that compile in another window…
I’m sure that there are probably much more efficient ways to do what I’m doing, and I fully realize that all I had to do was ‘sudo make install’ over again to just re-put my version of PHP back in place of the one Apple put there. So I guess that this process is a good thing because it forces me to update.
I just wish I could do it on my own time once in a while.
Side rant —
OS X has had this terrific ability to generate and read PDFs built in at a very low level for a long time now. If I were programming in Carbon or Cocoa I’m sure I could take advantage of that in my code. So why do I still need to download PDFlib, which is intentionally vague and cryptic about compiling the ‘Lite’ version, because they want me to buy the full version? Maybe if I looked around I could find some detailed instructions for telling PHP how to compile using some of that built in OS X functionality to produce PDF output, instead of PDFlib. Just a thought…