blob: e71c72934d2f21859bb38216a795accf150423fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription>
Test for rebuild slot operator in 'any-of' (or '||') RDEPEND.
This particular example breaks in the following way:
Suppose we have Two packages installed:
- not-broken/pkg1-subslot-0
- ebuld-test/RDEPEND-any-of-slotop-0
In this case the
RDEPEND="|| ( =not-broken/pkg1-subslot-0:= =not-broken/pkg1-subslot-1:= )"
gets expanded by portage to the following vdb entry:
RDEPEND="|| ( =not-broken/pkg1-subslot-0:0/0= =not-broken/pkg1-subslot-1:= )"
Note the second unexpanded alternative.
Then to trigger a bug we need to try to update depend only:
emerge -1 not-broken/pkg1-subslot
Portage can not figure out update path from this case:
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
not-broken/pkg1-subslot:0
(not-broken/pkg1-subslot-1:0/1::test_repo, ebuild scheduled for merge) pulled in by
not-broken/pkg1-subslot (Argument)
=not-broken/pkg1-subslot-1:= required by (ebuild-test/RDEPEND-any-of-slotop:0/0::test_repo, installed)
^ ^^
(not-broken/pkg1-subslot-0:0/0::test_repo, installed) pulled in by
=not-broken/pkg1-subslot-0:0/0= required by (ebuild-test/RDEPEND-any-of-slotop:0/0::test_repo, installed)
^
</longdescription>
</pkgmetadata>
|