Lo, on Wednesday, March 12, Paul T. Graunke did write:
> I do think it would be good to be able to roll back after an "up"grade.
Agreed.
Another thing that we might be able to take from Debian's package system
(although perhaps not in the first release) is the ability to put a
package on hold. This way, if you hear through this mailing list or
some other source that a recently released upgrade for a particular
package is broken, you can put the package on hold, which leaves the
package installed but prevents it from being upgraded until you take it
back off hold.
> I think everyone agrees already, but having multiple versions of a library
> is a necessity.
Yes. The Linux folks have had to deal with this, although primarily
from a C/C++ standpoint. The typical trick is to put the soname/major
version number into the package name (e.g., libfoo3 v3.24 instead of
libfoo v3.24) and require that all versions of a library with the same
major version number be binary-compatible. Within each major version
number, there is exactly one most recent version that is installable.
This system allows you to track multiple major versions of a library
simultaneously, and they don't interfere. (There is, however, typically
only one version of libfoo-dev, which contains headers and static
libraries.)
We'd obviously need to adjust this slightly to work in a Scheme world,
and you get back to the same problem of how you enforce the restriction
on major version numbers, but it may be a step in the right direction.
Richard