1 |
On Tue, 27 Dec 2005 19:27:01 +0100 Carsten Lohrke <carlo@g.o> |
2 |
wrote: |
3 |
| - We speak about ebuilds, which are installed and need to be |
4 |
| reinstalled. There is no version cycling (or I do not get what you're |
5 |
| after, please explain in that case). |
6 |
|
7 |
foo-1.0: DEPEND="=foo-2.0" |
8 |
foo-2.0: DEPEND="" |
9 |
foo-3.0: DEPEND="=foo-1.0" |
10 |
bar-1.0: DEPEND="=foo-1.0" |
11 |
baz-1.0: DEPEND="=foo-2.0 bar" |
12 |
moo-1.0: DEPEND="=foo-3.0 baz" |
13 |
|
14 |
# emerge moo -pv |
15 |
|
16 |
One solution for this particular case, assuming I didn't get confused |
17 |
and screw it up: |
18 |
|
19 |
[n] foo-2.0 |
20 |
[d] foo-1.0 |
21 |
[n] bar-1.0 |
22 |
[u] foo-2.0 |
23 |
[n] baz-1.0 |
24 |
[d] foo-1.0 |
25 |
[u] foo-3.0 |
26 |
[n] moo-1.0 |
27 |
|
28 |
Notice how we have to repeatedly upgrade and downgrade foo. |
29 |
|
30 |
| - Changed use flags will be processed by the normal dependency |
31 |
| calculation of the ebuilds to be rebuilt which may lead to additional |
32 |
| dependencies or blockers. It could also be that some ebuilds are |
33 |
| installed, which do not exist in the repository anymore. |
34 |
|
35 |
Again, you can get cycling. This one's even nastier, if you have |
36 |
various packages that DEPEND upon something built with [foo], various |
37 |
packages that DEPEND upon something built with [!foo] and upgrade / |
38 |
downgrade cycling on that package... |
39 |
|
40 |
| > you may find the PCP somewhat useful...) |
41 |
| |
42 |
| PCP - pretty colored potato? I don't know the abbreviation. Please |
43 |
| explain it and whatelse I miss in your eyes. |
44 |
|
45 |
Post's Correspondence Problem. It's a proven general case unsolvable |
46 |
problem that looks suspiciously similar to the general case "dependency |
47 |
resolution with cycling" situation... |
48 |
|
49 |
-- |
50 |
Ciaran McCreesh : Gentoo Developer (I can kill you with my brain) |
51 |
Mail : ciaranm at gentoo.org |
52 |
Web : http://dev.gentoo.org/~ciaranm |