Re: Auto install code
On 14 Jan 1998 email@example.com wrote:
> From: Jason Gunthorpe <firstname.lastname@example.org>
> > Erm, I think you are looking at this differently. You see, I ment, if you
> > install libc6 and then IMMEDIATELY uninstall libc6 (ie without exiting
> > deity, actually doing an install or anything) then you will end up with
> > alot of to-be-broken packages.
> Oh. You need a list hanging off of libc6 of all of the packages
> for which automatic upgrade was requested as a result of upgrading libc6.
> If the libc6 upgrade is "withdrawn", traverse the list and withdraw the
> upgrades of all the packages in the list (and all of the packages that were
> upgraded because of those upgrades, recursively). Then re-check all
> dependencies so that you catch cases where package A and package B both
> request an upgrade of package C. I thought of using a reference count
> to do that, but it does not work in the case of circular dependency.
If you still have my original post that would be the 3rd option I belive.
It adds a new hidden state for package that might be confusing to the
user? It also doesn't cover the problems of un upgrading the dependancies
and so on... -IK-
There are a bunch of other issues relating to reversability of single
operations, perhaps we should decide if we want full reversability or not.
I think it would be fairly costly to implement and might make things
much more unexpected for the user....
I was thinking that perhaps this could be solved with an undo command and
leave operations as irreversable, but that is more of a compramise :<