This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [RFC] 1.7 Packaging: Obsolete packages
On Aug 22 03:53, Brian Dessent wrote:
> Corinna Vinschen wrote:
>
> > Something's obviously missing...
>
> Yes, I led you astray, sorry. That is going to purge absolutely
> everything that setup knows about packages. In order to get that back
> it would be necessary to re-parse setup.ini and re-scan the local
> package directory for its contents to see what's available.
That's what I had expected, actually. If the user goes back to the
root dir dialog, I don't quite care if the user's selections are
not remembered. I know, it's not overly good GUI design, but it
would have been at least better than what we have today.
> What's needed is rather than nuking the database, to undo the
> information about what versions are currently installed. This is rather
> dicey because each packagemeta contains a std::set of packageversions,
> each of which could have come from setup.ini, or from the parsing of the
> filename in installed.db. So we can't just remove everything from that
> set. But if you don't remove anything you'd leak (or end up with
> duplicates, or end up with nonsense versions) because the code in the
> installed.db reader (below) creates a new packageversion
> unconditionally. Really what we want to do is undo this:
>
> packageversion binary =
> cygpackage::createInstance (pkgname, inst, instsz, f.ver,
> package_installed,
> package_binary);
>
> pkg->add_version (binary);
> pkg->set_installed (binary);
> pkg->desired = pkg->installed;
>
> I think what might be required is to add another field to packageversion
> to denote whether it came from reading setup.ini or from reading
> installed.db. (Remember that it's possible that the installed version
> is not Curr nor Prev nor Exp, it could be anything.)
> [and lots of stuff]
Baeh. I'm not sure I can manage to implement that before my vacation.
Brian, do you have any spare cycles in the next couple of weeks?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat