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 21 12:35, Corinna Vinschen wrote:
> On Aug 21 10:26, Corinna Vinschen wrote:
> > On Aug 20 23:21, Yaakov (Cygwin Ports) wrote:
> > > Corinna Vinschen wrote:
> > > > What if we add an "obsoletes:" line to setup.{ini,hint}?
> > > > [...]
> > > Any progress yet on this one?
> > 
> > Unfortunately not.  The package management in setup is written in some
> > sort of martial-arts C++, which I have trouble to follow through.  For
> > this and for the problem I describe in
> > 
> >
> > 
> > I would need help.
> Setup.exe apparently already understands package lists in setup.ini
> which start with "Replaces:" (upper case R), collects the information
> and stores it in an internal list, but then doesn't seem to use it
> later on.  Too bad.

IIUC, the ConnectedLoopFinder::visit() function is the core function
which creates the dependency order.  What I don't get is this: The
function starts with:

  if (!db.packages[nodeToVisit]->installed)
    /* Can't visit this node, and it is not less than any visted node */
    return db.packages.size() + 1;

So, it skips packages which are not installed?  What about packages
which are about to be installed the first time?  Isn't their "installed"
packageversion NULL and only "desired" is a vaild version?

And then, assuming a package is about to be uninstalled.  Doesn't that
package have a "desired" of NULL?  And shouldn't such a package be
skipped in the dependency tracking?

I don't see where "installed" is set to the "desired" packageversion
before the dependency tracking is called.  Can anybody help me to
understand this?


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]