This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Snapshot [dealing with old versions]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]