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

Re: Auto install code



From: Jason Gunthorpe <jgg@gpu.srv.ualberta.ca>
> 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.

> As for your thoughts on status file preservation, I don't think that is
> terribly viable because versions will cease to exist in .deb from in the
> archive which makes going backwards impossible.

Yes, but you have the packages entire installed state, including the actual
files it installed, and you can back all of that up and restore it later
without the .deb . There are a few packages where pre-inst and post-inst
scripts are not idempotent and this would break.

	Thanks

	Bruce


Reply to: