Props to Cupertino

ziggy on 2003-05-14T13:29:09

I just finished reading Nick Petreley's four part series on improving Linux Pacakge Management.

I'm not sure which came first. Apple's (er, NeXT's) ideas for .app bundles and frameworks, or Nick's possibly independant derivation of the same idea. Nick focuses on the brokenness of ld.so, ldconfig and ldd on Linux, and how a cross-platform dynamic linking package like GNU libtool can't factor out the differences between Linux distributions. Here are his last two conclusions from part 4 of the series:

7. Build a library cache for the application
Here is where we address the speed issue. The installation can take the end results of everything it discovered and create a cache file that speeds up the process of application load times.

8. Make a redo utility part of every package
Of course, when one creates a cache file, one introduces a possibility where the cache becomes out-of-date. Therefore, each package should include a redo utility that repeats the process of resolving dependencies as if it were installing the application for the first time. This would result in regenerating the library cache based on new information ? better libraries in better paths, for example. One might even want to add a cron job to the system that regenerates these cache files on a regular basis.

That smells a lot like update_prebinding and redo_prebinding. In fact, if someone were to implement his ideas for Linux, I bet it would walk and talk like OS X's handling of applications, libraries and frameworks....


.apps are old...

pdcawley on 2003-05-16T19:32:22

.apps have certainly been hanging around since at least NeXTSTEP 2 (first NeXTSTEP I programmed) and I think they were there in 1. I think .frameworks where around then too.

Re:.apps are old...

ziggy on 2003-05-16T19:44:25

Surely. Yet despite their age, they bear a striking resemblance to some major aspects of Petreley's idealized app packaging/library management solution for Linux. Funny, that. :-)

Perhaps next year he'll get a hankering for a registry done right: something that involves storing MIME types for a file out-of-band (in the filesystem, perhaps? a la BeFS or HFS+) or a dead simple command that always uses the right application to open a file (a la open).

It's just funny to see people like Petrely independantly derive an existing solution to a nasty problem.

Re:.apps are old...

pdcawley on 2003-05-18T17:47:21

When do you think he'll make the 'fat binary' connection?