> > > If the ncurses guys are going to keep blowing off binary compatibility,
> > > then perhaps we should not mess with ncurses at all.
> > I suspect, especially now that we've got the package load spread around
> > more, that Debian will be able to keep up. 
> I'm just concerned that this is a losing battle.  It might be fine for
> static libraries, but for shared libraries to be effective they need to
> remain compatible from one version to the next.
>[...]
> This is going to be a big problem for Linux binary compatibility between
> distributions.

Seems that dpkg should presently be able to handle this, as far as
package installation goes, via the dependency mechanism, presuming
that the distribution includes all the version-numbered ncurses
libraries which are still package dependency targets, and packages
are careful about declaring dependencies on them.  (Hmmmm.. MSDOS
filenaming for the multiple ncurses libs will need to include
versioning info).

It seems to me that the the sequence would go something like this:

1.  User initially installs debain-x.y-z, including one or more essential
    version numbered ncurses libs, and packages depending on various
    of these libs.

2.  Package upgrades remove dependencies on some of these installed
    ncurses libs, as packages migrate to newer versions.  User probably
    uses naked dpkg to install upgrades, because dselect [I]nstall is
    very slow when installing individual packages.

3.  User somehow (how?) becomes aware that some of his installed ncurses
    libs have become free of dependencies.

4.  User says something like "dpkg --remove --force-essential list_of_libs".
    Libraries in list_of_libs which are free of dependencies are removed.
    Libraries in list_of_libs which are not free of dependencies are
    not removed.  I don't really like the idea of users needing to
    use dpkg --force-things routinely, though.  Perhaps this should
    be front-ended through dselect.  There might be a new section
    for essential libs, and dselect could try to remove any of those
    which are free of dependencies during periodic user system
    housekeeping.

Note that there's at least one tool, cfengine, which can be used
to automate housekeeping such as this.  I've seen another tool,
Linuxconf, recently announced in c.o.l-announce which might be used
as well.  If housekeeping like this is done periodically, it might
remove the need for the user to become aware of ncurses libs which
have become dependency-free.

Reply via email to