On 16 Jun 2003, [iso-8859-15] François Pons wrote:

> Stefan van der Eijk <[EMAIL PROTECTED]> writes:
>
> > Dependency example:
> > A Requires B
> > B Requires C
> > B Requires D
> > C Requires D
> > E Requires D
> >
> > urpme A would also suggest to remove B?
> > urpme A would also suggest to remove B and C?
> >
> > urpme A cannot remove B, C and D, since E depends on D.
> >
> > question is, how deep do you want this to go? Do you want to prune until you hit
> > a branch (ie E)?

Until there are no more packages that may be deinstalled. See below.

> There is features request to improve find_leaves in order to help cleaning
> system, this can be intergrated along with urpme so that some packages may be
> removed automatically.
>
> > I've been playing with this myself a bit. And decided to take a different
> > aproach:
> >
> > I made a list of packages that I want installed on my system, and then run a
> > script (http://eijk.homelinux.org/build/bin/min.sh) against it. The packages
> > that I can de-install will be printed to your screen (or with "./min.sh remove"
> > they will be removed). I am running into a limitation in urpmq with this script.
> > If you get have a Requires that can be satisfied by two Provides (automake,
> > webfetch, etc) then urpmq cannot figure out what the dependencies of these
> > packages actually are:
>
> I think you have a good approach, to avoid removing anything, I would like to
> add a file that describe packages that will not be uninstalled, by default this
> file could include basesystem alone, but removing it will be very dangerous.

So when you tell urpme "no, I want to keep package C", it will add C to
the list? This is what debfoster does, a tool that does this
auto-removing for debian systems. It only works well if you consistently
use the tool for all installs/deinstalls. So it would be very nice if this
gets integrated in urpmi. For urpmi/urpme it would mean:

urpmi a b c
-- install a/b/c and any required packages, current behavior
   add a, b, and c to the list of user-wanted packages, do not add
   packages that only get installed because a/b/c require them.

urpme a b c
-- remove packages a, b, and c, current behavior
   Remove a/b/c from the list.
   Then, if a flag (--auto-select ?) was given, remove
   (after asking) all packages that are not in the list or required by
   packages in the list.

To make this work really well, rpmdrake (and installer?) must also update
the list.


debfoster by default asks for every package it thinks can be deleted
"do you want to keep this package". This is annoying if you have a lot of
such packages, but also very safe.



    Christiaan



Reply via email to