Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] blocking package can't be found
Date: Thu, 10 Apr 2008 08:05:31
Message-Id: 200804101002.33271.alan.mckinnon@gmail.com
In Reply to: Re: [gentoo-user] blocking package can't be found by Dale
1 On Thursday 10 April 2008, Dale wrote:
2 > Alan McKinnon wrote:
3 > > On Wednesday 09 April 2008, Uwe Thiem wrote:
4 > >> Hi folks,
5 > >>
6 > >> emerge --update world tells me:
7 > >> [blocks B ] dev-util/gtk-doc-am (is blocking
8 > >> dev-util/gtk-doc-1.8-r2)
9 > >>
10 > >> emerge --unmerge gtk-doc-am tells me:
11 > >> --- Couldn't find 'gtk-doc-am' to unmerge.
12 > >>
13 > >> So let's be more specific:
14 > >> emerge --unmerge =dev-util/gtk-doc-am-1.10 tells me:
15 > >> --- Couldn't find '=dev-util/gtk-doc-am-1.10' to unmerge.
16 > >
17 > > emerge -C gtk-doc
18 > >
19 > > Look closely at the error message, it's like one of those optical
20 > > illusions where you don't quite get it first time :-)
21 >
22 > Well said. I'm still not sure I get it. I would have went to
23 > console and unmerged the whole lot and started over. LOL
24
25 hehe, emerge's output can be tricky to parse. Here's the long version:
26
27 In this line:
28 [blocks B ] dev-util/gtk-doc-am (is blocking
29 dev-util/gtk-doc-1.8-r2)
30
31 everything there comes out of the gtk-doc-am ebuild, including what it's
32 not happy with. This specific case says that gtk-doc-1.8-r2 is already
33 installed and gtk-doc-am will not merge itself while it's there.
34
35 The [blocks B ] bit says that gtk-doc-am is not already installed
36 (there isn't an R or U or D there at all) so there is nothing to
37 unmerge.
38
39 Usually with blockers, you have to unmerge the thing being blocked (in
40 brackets on the above line) first. Or, if you don't want that, don't
41 merge the main package, or mask it out.
42
43 The correct merge approach would be to build a suitable upgraded
44 gtk-doc, merge it (which unmerges the old one) and then merge
45 gtk-doc-am (on the assumption that gtk-doc-am is happy with the new
46 version of gtk-doc). For some reason portage can't do that this time,
47 probably build order, so it's telling the user to do it manually and
48 try again.
49
50 If you want to look deeper into what is going on, the solution is in the
51 ebuild. From /var/portage/dev-util/gtk-doc-am/gtk-doc-am-1.10.ebuild:
52
53 DEPEND="!<=dev-utils/gtk-doc-1.10"
54
55 Aha, so the only current version that will work is gtk-doc-1.10-r1. This
56 was probably revised to accomodate gtk-doc-am.
57
58 It gets even better.
59 From /var/portage/dev-util/gtk-doc/gtk-doc-1.8-r2.ebuild:
60 DEPEND="!dev-util/gtk-doc-am"
61
62 and from /var/portage/dev-util/gtk-doc/gtk-doc-1.10-r1.ebuild:
63 DEPEND="=dev-util/gtk-doc-am-${PV}
64
65 Now it all becomes clearer with a little reading between the lines. The
66 dev took gtk-doc and split it into two packages, to get the automake
67 (-am) stuff into it's own ebuild. But that will mean that gtk-doc-am
68 will trash files that gtk-doc put there. This is a collision and
69 portage won't do it. It's written to pass the buck to a human
70 instead :-)
71
72 --
73 Alan McKinnon
74 alan dot mckinnon at gmail dot com
75
76 --
77 gentoo-user@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-user] blocking package can't be found Dale <dalek1967@×××××××××.net>