Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Multiple package instances within a single package slot
Date: Fri, 04 Oct 2013 11:06:10
Message-Id: 524E9FFF.1040505@gmail.com
In Reply to: [gentoo-user] Multiple package instances within a single package slot by Alex Schuster
1 On 04/10/2013 12:50, Alex Schuster wrote:
2 > Hi there!
3 >
4 > Some may remember me from posting here often. But since a year, I have a
5 > new life, and much less time for sitting at my computer. Sigh. And my
6 > beloved Gentoo got a little outdated.
7 >
8 > So, a @world update does not work. I thought I give emerge -e @world a
9 > try, this should sort out the problems, but this also does not go well.
10 >
11 > I don't want to bother you with the whole lot of output emerge gives me,
12 > and just ask a specific question at the moment. I get the 'Multiple
13 > package instances within a single package slot have been pulled into the
14 > dependency graph, resulting in a slot conflict' message, and several
15 > affected packages. One example is claws:
16 >
17 > mail-client/claws-mail:0
18 >
19 > (mail-client/claws-mail-3.9.0-r1::gentoo, ebuild scheduled for merge)
20 > pulled in by ~mail-client/claws-mail-3.9.0 required by
21 > (mail-client/claws-mail-address_keeper-1.0.7::gentoo, ebuild scheduled
22 > for merge)
23 >
24 > (mail-client/claws-mail-3.9.2::gentoo, ebuild scheduled for merge)
25 > pulled in by (no parents that aren't satisfied by other packages in
26 > this slot)
27 >
28 > Looking at the ebuild, I see that claws-mail-address_keeper rdepends on
29 > claws-mail-3.9.0. But being on ~amd86, 3.9.2 would be current.
30
31 No, that is not the right assumption.
32
33 Portage doesn't guess what versions are dependencies, it reads the
34 ebuild and does exactly what the ebuild says.
35
36 The ebuild for claws-mail-address_keeper say it depends on
37 ~claws-mail-3.9.0, that means any revision of 3.9.0.
38
39 Portage *must not* decide to use 3.9.1 or 3.9.2, because the ebuild has
40 clearly told it not to.
41
42 The solution is to get the maintainer to bump the DEPENDS for that
43 plugin, or to use claws-mail-3.9.0, or to stop using that plugin.
44
45
46 emerge output is confusing. The last line you quoted is just portage
47 telling you that 3.9.2 would normally be the choice it would make, but
48 the lines above it says it's going to pick 3.9.0 instead,a nd why
49
50
51 >
52 > I can solve this by masking versions greater than 3.9.0. Two questions:
53
54 No you can't. That will just produce different blockers
55
56 >
57 > Why can't portage deal with this itself, and simply install the highest
58 > version that fulfills all requirements?
59
60
61 See above. It could deal with it if the ebuild didn't tell it something
62 different
63
64
65 >
66 > And how do I notice an update to claws-mail-address_keeper that would
67 > allow a newer version of claws-mail? Other than remembering those masks
68 > and go through them once in a while?
69
70 emerge -avuND world
71
72 will tell you when updates are available
73
74
75 >
76 > Similar problems happen with sys-boot/syslinux, pulled in by
77 > sys-boot/unetbootin, media-sound/jack-audio-connection-kit, pulled in by
78 > app-emulation/emul-linux-x86-soundlibs, and all dev-qt packages, where I
79 > did not yet figure out what to do.
80
81
82 Often with a box that is a while out of date, it is easier to just
83 unmerge blocking packages and add them back in. I've had this with Qt
84 more than once.
85
86
87
88 >
89 > I am running portage 2.2.7.
90 >
91 > Alex
92 >
93
94
95 --
96 Alan McKinnon
97 alan.mckinnon@×××××.com