This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Snapshot [dealing with old versions]
- To: egcs at cygnus dot com (egcs team)
- Subject: Re: Snapshot [dealing with old versions]
- From: Per Bothner <bothner at cygnus dot com>
- Date: Fri, 17 Oct 1997 13:23:03 -0700
Jeff <law@cygnus.com> writes:
> However, we do need to find some way to address the problem of stale
> files in the include installation directory. Until we do I highly
> recommend folks wipe it out before doing an install.
This is of course one of the problems a proper packaging system
takes care of. That is keep a list of files installed by a package;
when another version of the same package is installed, then the
old version is first de-installed.
My suggestion: Maintain a package deta-base in $exec_prefix/packages.
Each installed package (such as gcc) contains a file in that
directory specifying verious package information, plus a list of
files installed for that package, and whatever other information is
needed to unstall the package. 'make install' of gcc should check
if $exec_prefix/packages/gcc exists; if so it should first remove
the old version. Perhaps safer: refuse to install anything if there
is an older version, unless given some kind of "force" flag.
Note that the package database is in $exec_prefix/packages; that
directory contains all the information about packages installed
using that --prefix. Thus packages installed in /usr and those
installed in /usr/local would not conflict.
Note that this scheme is basically one half (third?) of a
package management system. For best results, we should
negotiate with Debian, RedHat et al for a common package
database format (with room for extensions), and make this be
an extension of the Linux file system standard. (Currently,
I believe Debian and RedHat can only support a single global
package database. My suggestion would require moving that to
/usr/packages, with other package databases being used if some
other --prefix is specified.)
--Per Bothner
Cygnus Solutions bothner@cygnus.com http://www.cygnus.com/~bothner