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

Re: udpkg wierdness



Joey Hess wrote:
> 
> Glenn McGrath wrote:
> > Glenn McGrath wrote:
> > >
> > >  Package: libmysqlclient9
> > >  Package: giflib3g
> > >  Package: gdict
> > >  Package: libpgsql2
> >
> > Now i see the conection, they are all both real and virtual packages,
> > i.e. each of the package names above are also in the Provides section of
> > another package.
> >
> > Is that ok according to policy ?
> 
> Yes, it is, and yes, I can see how udpkg would get that wrong!
> 

I really dont know the best way to fix this.

The situation is that we put all the package information into a binary
tree, and search for stuff using the package name.
Anything in either the Packages (for real packages) or Provides (for
virtual packages) field is a added to the tree as it is considered to be
a package.

We search the binary tree using the structs package name field, but the
problem package names occur twice (as virtual and real packages), so the
first search isnt neccessarily going to produce a correct result.

A few ways we can go

1) Dont add virtual packages to the tree.
2) Dont add virtual packages that are also real packages to the tree
3) Always search the tree to the end to find all the possible packages,
then find the real one from the short list (im not too sure how to do
multiple searched using tsearch).
4) keep virtual packages in a seperate tree.
5) other 

Too many choice for me to make up my mind, what do you all think ?



Glenn



Reply to: