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: Uninstall


Per Bothner <bothner@cygnus.com> writes:

> However, note that packages installed using a package manager
> normally install into /usr.  However, a GNU source package by
> default install into /usr/local, but may be installed elsewhere
> (such as /usr) depending on the --prefix configuration setting.
> That says that the locacation of the package database should be
> somewhere underneath $prefix (or $exec_prefix).

Most of the package managers I've seen will install stuff whereever it
wants to be installed.  The use of /usr is merely convention, like the
use of /usr/local.  Sometimes it's /opt instead.

> Now we just need a volunteer to study the RedHat and Debian
> package database formats (at least), come up with a design that
> fits both systems' needs, and then sell it to RedHat, Debian,
> Slackware, SuSe, ... and the appropriate Linux standards-setting
> groups ...  (The critical people to get on board are Debian, as
> most affiliated with GNU, and RedHat, as the most visible Linux
> distributor.  Plus of course the FSF (i.e Stallman), since we are
> talking about extending a new GNU standard.)

Ah, so you *only* want to solve the uninstall issue for Linux?
Me, I'd like to have it work on NetBSD as well, which has yet another
package system.  And there might even be people on non-free systems
who might like the SGI or Digital package systems used.


IMO, we *shouldn't* be tackling the issue of the One True Packaging
System.  Not for EGCS.  It's well outside the scope of the project.
I'd go so far as to say it's nearly irrelevant to the project.  If you
want to do it, fine, but make it a separate project.

If you want to have "make uninstall" work, how about installing in
some "standard" place in the gcc tree a list of files and directories
to be deleted, and maybe a script to actually delete them?  Then "make
uninstall" can look for and run that script.  (Updating a previously
installed tree makes this a little subtle, but not very.)

If the people packaging up EGCS sources or binaries for RedHat,
Debian, Digital UNIX, NetBSD, Irix, Windows, MacOS, SVR4, or other
systems want to interface to the native packaging system, let them
worry about it, and maybe even check something in to the tree to
support it.  For example, Debian package support is normally tucked
away under a "debian" directory at the top level, not too intrusive.
For other package systems without fancy build-package-from-source
schemes, we can just add some random makefile targets.  And if they're
parameterized like I did for the "taz" rule, when Cygnus next imports
code from EGCS, we'll easily get packaging rules for binutils and gdb
and other stuff too.

If you want to take the anti-hoarding stance, okay, we'll leave out
the package formats only supported by proprietary tools.

But don't dictate that if I want to be able to uninstall EGCS easily I
have to use RPMs on my NetBSD system.

Ken


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