mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] package removal


From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] package removal
Date: Sat, 16 Jan 2010 13:45:18 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Marcel Wysocki <address@hidden> schrieb:
> i guess it would be useful to be able to remove
> installed packages together with their dependencies.

I'm not convinced that implementing this would
be a sensible thing. See below.

> all it would need would be the following:
> 
> during installation:
> 1) write down every file the package installs into
>     intalled/packagename
>     easiest way to achieve this would be a find
>     before and after installation

This still requires you to get the "make install"
right in the first place. However, if "make install"
works correctly, there's nothing wrong with simply
installing things over.

In my experience, when you get a package to work,
a subsequent "make clean && make" will work almost
always flawlessly.

The moments where this isn't the case are so rare that
they don't justify the hassle of implementing a package-
uninstall.

Also, there's another source of trouble: Accidently
overwriting existing files. This would still be hard
to detect with your proposed mechanism.

> during removal:
> 1) remove files listed in installed/packagename
>     as long as they are not listed in any other file in
>     installed/*
> 2) remove installed/packagename
> 3) check if package has dependencies
> 4) if it has jump to 1) and do the same
>     if not we are done

Note that in 1) you explicitly state that you don't
restore overwritten files.

> that way it would be easier to test changed to packages

If all you need is some kind of "undo", why don't you
simply make a copy of a prepared usr/ directory? What
you're describing here is just a more complicated approach
to save some disk space.

And if you're really out of disk space, you can simply
create the copy as a bunch of hard links (cp -l ...).
You can also put usr/ under version control. Mercurial
works very well here, and you'll see immediately what
files were install and even what files were overwritten.


There are many ways to achieve an "undo" which is are
easier to do _and_ which are more reliable than providing
a "package uninstall".


Greets,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR




reply via email to

[Prev in Thread] Current Thread [Next in Thread]