This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]