[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
world management and patches
I'd like to find out how other sites deal with incorporating patches to
layered products into their site worlds. I've been asking Customer
Support for advice, but so far haven't received anything I think we can
use; I just sent them a version of this message a few minutes ago.
Let me describe the way we do things here. Maybe you'll have a
suggestion for a better way, but this system has been working pretty
well for a few years.
Every couple of months, I boot the Symbolics Genera distribution, load
in the various systems that we want to have in all our Lisp Machines
(Symbolics IP-TCP, ILA NFS, MIT X-Windows, the TMC site system), and
save this incremental world; this is the "TMC base world". All other
worlds are made by booting the TMC base world, loading the
application-specific software (Symbolics Color, Symbolics C, TMC
development software), and saving that.
When I receive (or write myself) a patch to one of the systems that is
loaded in the TMC base world, I turn it into a patch to the TMC site
system. When our machines cold boot, they always load patches to this
system, so they are always up to date in those systems.
But what can I do about other systems, such as Color and C? I can't
make these patches to the TMC system, because not everyone who has the
TMC system loaded has the Color system loaded. Patches to C can't even
be loaded without C being loaded, because the C patches contain
references to packages that don't even exist until C is loaded. And
even if I could load the patches, it would be useless, because someone
making a new C band would load the C system after having loading TMC
patches, so the patches would be overwritten by the buggy versions in
the C system.
What I need is a way to put these patches somewhere and tell the system
"if anyone loads the C system, and the version number is less than
XX.YY, AUTOMATICALLY load these patches afterward."
So, what do other sites do about such patches?