>>>>> On Sat, 23 Apr 2011, Ciaran McCreesh wrote: > On Sat, 23 Apr 2011 16:47:37 +0200 > Chí-Thanh Christopher Nguyễn <[email protected]> wrote: >> What I propose solves the problems that old-style virtuals >> introduce in dependency resolution. What other problems do they >> cause?
> DEPEND=">=virtual/blah-2" > DEPEND="virtual/blah[foo]" > DEPEND="!virtual/that-i-provide" > PROVIDE="not-a/virtual" > best_version virtual/blah > The full VDB load required to figure out whether or not a virtual is > installed. Apart from these, information for old-style virtuals is decentralised: It's scattered over all packages providing the virtual, plus several virtuals files in profiles (in January, we had about 60 such files). Obviously it's difficult to keep track of this. When going through the remaining old-style virtuals, I've found examples for all of the following: - virtual provided by packages but not listed in profiles - virtual listed in profiles but not provided by any package - virtuals file in profiles listing a preferred package that doesn't provide the virtual - versioned package atoms for virtuals in profiles - virtual removed long time ago, but some packages still containing forgotten PROVIDE lines and blockers - virtual listed in profiles, but was converted to new-style long ago Besides, if you look at the history of profiles/base/virtuals, you'll see that the last old-style virtuals were added in 2006. I take this as an indication that there's no real need for them. Ulrich
