On Saturday 14 Jun 2003 12:21 pm, Stefan van der Eijk wrote:
> >>>You suggesting to calculate it. These calculations can become very
> >>>complex. I would suggest to make a log. So if you urpmi foo, you also
> >>>have to install bar and blah. This results in a line in
> >>>/var/cache/urpmi/installlog: foo bar blah
> >>
> >>Q: What would the impact be if you install multiple packages with one
> >>urpmi command? "urpmi bla foo kitchensink" ?
> >>
> >>It would mean parsing the log to figure out what happened. IMHO what
> >>happened at one time is not relevant, the current state of the system
> >>is. If such an option is to be done then it should take place without
> >>logfiles or such.
> >
> >IMHO, urpm{i,e} are not suitable for this. Note that apt-get has the same
> >problem (not removing dependencies), and AFAIK Debian has a tool which
> >does do this, dselect.
> >
> >If this funtionality is in rpmdrake instead, then any packages that were
> >manually selected by the user would be listed with their deps, and when
> >they are removed, so would their deps ...
>
> IMHO, if it can be done in rpmdrake it should also be done in urpmi...
>
> Perhaps what's missing is the destinction between "end point" and
> "intermediate" packages (new terms). An "end point" package would
> provide functionality which is usefull to a user and users would be
> installing such packages. Example of an "end point" package would be
> evolution, postfix, mozilla. These "end points" depend on "intermidiate"
> packages (often: lib*). So, if an "end point" were to be removed, the
> system could check the dependency database and tell you which
> "intermidiate" packages can be removed (without removing any other "end
> points").
>
> >>>Now if urpme tries to uninstall foo it will read that line and will try
> >>>to uninstall those rpms, on request and only if no other apps have
> >>>grown dependent on them as well.
> >>
> >>urpme foo, would that deinstall bla and kitchensink as well? Or would
> >>multple log entries need to be made for every package that is installed
> >>from urpmi (different entry for bla, foo and kitchensink). What if they
> >>share dependencies? Where do you put what? What if you then remove
> >>"bla", a shared dep remains, and then remove "foo". That shared dep
> >>would need to go then too... Difficult.
> >>
> >>>This sounds like a much simpler and therefor safer solution. Most of
> >>>the time I know after 10 minutes of using an app whether I like it or
> >>>not ;)
> >>
> >>Sorry, it doesn't sound right to me...
> >
> >Well, if you assume a user is installing one main package at a time, then
> >it may be feasible ... otherwise not.
>
> Are such assumptions workable? Multiple packages can be installed with
> rpmdrake at one time.
>
> regards,
>
> StefanAnother flaw with the log file idea is that some users install packages with the rpm tool. Unless you patched the Mandrake version of rpm, these wouldn't get appended to the log file. In my opinion, urpme, when asked to remove a package, should look through each of it's dependencies, check they're not depended (is that a word?) on by anything else, and remove only those beginning with lib*. This would ensure that no other end point packages are removed (for example, you wouldn't want kdelibs to be removed when uninstalling kdepim) David Sansome
