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 |