1 |
>>>>> On Sat, 23 Apr 2011, Ciaran McCreesh wrote: |
2 |
|
3 |
> On Sat, 23 Apr 2011 16:47:37 +0200 |
4 |
> Chí-Thanh Christopher Nguyễn <chithanh@g.o> wrote: |
5 |
>> What I propose solves the problems that old-style virtuals |
6 |
>> introduce in dependency resolution. What other problems do they |
7 |
>> cause? |
8 |
|
9 |
> DEPEND=">=virtual/blah-2" |
10 |
|
11 |
> DEPEND="virtual/blah[foo]" |
12 |
|
13 |
> DEPEND="!virtual/that-i-provide" |
14 |
|
15 |
> PROVIDE="not-a/virtual" |
16 |
|
17 |
> best_version virtual/blah |
18 |
|
19 |
> The full VDB load required to figure out whether or not a virtual is |
20 |
> installed. |
21 |
|
22 |
Apart from these, information for old-style virtuals is decentralised: |
23 |
It's scattered over all packages providing the virtual, plus several |
24 |
virtuals files in profiles (in January, we had about 60 such files). |
25 |
|
26 |
Obviously it's difficult to keep track of this. When going through the |
27 |
remaining old-style virtuals, I've found examples for all of the |
28 |
following: |
29 |
|
30 |
- virtual provided by packages but not listed in profiles |
31 |
- virtual listed in profiles but not provided by any package |
32 |
- virtuals file in profiles listing a preferred package that doesn't |
33 |
provide the virtual |
34 |
- versioned package atoms for virtuals in profiles |
35 |
- virtual removed long time ago, but some packages still containing |
36 |
forgotten PROVIDE lines and blockers |
37 |
- virtual listed in profiles, but was converted to new-style long ago |
38 |
|
39 |
Besides, if you look at the history of profiles/base/virtuals, you'll |
40 |
see that the last old-style virtuals were added in 2006. I take this |
41 |
as an indication that there's no real need for them. |
42 |
|
43 |
Ulrich |